text: /*
   * 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';
  
  /**
   * The error object. As per Microsoft One API guidelines -
   * https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.
   *
   */
  class ErrorModel {
    /**
     * Create a ErrorModel.
     * @property {string} code One of a server-defined set of error codes.
     * Possible values include: 'BadArgument', 'Forbidden', 'NotFound',
     * 'KbNotFound', 'Unauthorized', 'Unspecified', 'EndpointKeysError',
     * 'QuotaExceeded', 'QnaRuntimeError', 'SKULimitExceeded',
     * 'OperationNotFound', 'ServiceError', 'ValidationFailure',
     * 'ExtractionFailure'
     * @property {string} [message] A human-readable representation of the error.
     * @property {string} [target] The target of the error.
     * @property {array} [details] An array of details about specific errors that
     * led to this reported error.
     * @property {object} [innerError] An object containing more specific
     * information than the current object about the error.
     * @property {string} [innerError.code] A more specific error code than was
     * provided by the containing error.
     * @property {object} [innerError.innerError] An object containing more
     * specific information than the current object about the error.
     */
    constructor() {
    }
  
    /**
     * Defines the metadata of ErrorModel
     *
     * @returns {object} metadata of ErrorModel
     *
     */
    mapper() {
      return {
        required: false,
        serializedName: 'Error',
        type: {
          name: 'Composite',
          className: 'ErrorModel',
          modelProperties: {
            code: {
              required: true,
              serializedName: 'code',
              type: {
                name: 'String'
              }
            },
            message: {
              required: false,
              serializedName: 'message',
              type: {
                name: 'String'
              }
            },
            target: {
              required: false,
              serializedName: 'target',
              type: {
                name: 'String'
              }
            },
            details: {
              required: false,
              serializedName: 'details',
              type: {
                name: 'Sequence',
                element: {
                    required: false,
                    serializedName: 'ErrorModelElementType',
                    type: {
                      name: 'Composite',
                      className: 'ErrorModel'
                    }
                }
              }
            },
            innerError: {
              required: false,
              serializedName: 'innerError',
              type: {
                name: 'Composite',
                className: 'InnerErrorModel'
              }
            }
          }
        }
      };
    }
  }
  
  module.exports = ErrorModel;
  