/*
 * Copyright (c) Microsoft Corporation. All rights reserved.
 * Licensed under the MIT License. See License.txt in the project root for
 * license information.
 * 
 * Code generated by Microsoft (R) AutoRest Code Generator.
 * Changes may cause incorrect behavior and will be lost if the code is
 * regenerated.
 */

'use strict';

/**
 * @class
 * Initializes a new instance of the JobStateAuditRecord class.
 * @constructor
 * The Data Lake Analytics job state audit records for tracking the lifecycle
 * of a job.
 *
 * @member {string} [newState] the new state the job is in.
 * 
 * @member {date} [timeStamp] the time stamp that the state change took place.
 * 
 * @member {string} [requestedByUser] the user who requests the change.
 * 
 * @member {string} [details]  the details of the audit log.
 * 
 */
function JobStateAuditRecord() {
}

/**
 * Defines the metadata of JobStateAuditRecord
 *
 * @returns {object} metadata of JobStateAuditRecord
 *
 */
JobStateAuditRecord.prototype.mapper = function () {
  return {
    required: false,
    serializedName: 'JobStateAuditRecord',
    type: {
      name: 'Composite',
      className: 'JobStateAuditRecord',
      modelProperties: {
        newState: {
          required: false,
          readOnly: true,
          serializedName: 'newState',
          type: {
            name: 'String'
          }
        },
        timeStamp: {
          required: false,
          readOnly: true,
          serializedName: 'timeStamp',
          type: {
            name: 'DateTime'
          }
        },
        requestedByUser: {
          required: false,
          readOnly: true,
          serializedName: 'requestedByUser',
          type: {
            name: 'String'
          }
        },
        details: {
          required: false,
          readOnly: true,
          serializedName: 'details',
          type: {
            name: 'String'
          }
        }
      }
    }
  };
};

module.exports = JobStateAuditRecord;
