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';
  
  /**
   * Export configuration result
   *
   */
  class ExportConfigurationResult {
    /**
     * Create a ExportConfigurationResult.
     * @property {string} id Export configuration id
     * @property {string} exportType Target resource type of export
     * configuration. Possible values include: 'BlobStorage', 'AppInsights'
     * @property {string} creationTime Creation time in ISO 8601 format
     * @property {string} [lastRunTime] Latest time in ISO 8601 format when
     * export completed successfully
     * @property {array} [exportEntities]
     * @property {string} state State of the export job. Possible values include:
     * 'Enabled', 'Disabled', 'Pending', 'Deleted', 'Invalid'
     * @property {string} [stateInfo] Additional information about export
     * configuration state
     * @property {string} [resourceGroup] resource group for the storage
     * account/App Insights resource
     * @property {string} [resourceName] Storage accout or Appinsights resource
     * name
     * @property {object} [exportConfiguration]
     * @property {array} [exportConfiguration.exportEntities]
     * @property {string} [exportConfiguration.resourceName] The resource name on
     * azure
     * @property {string} [exportConfiguration.resourceGroup] The resource group
     * name on azure
     * @property {string} [exportConfiguration.type] Polymorphic Discriminator
     */
    constructor() {
    }
  
    /**
     * Defines the metadata of ExportConfigurationResult
     *
     * @returns {object} metadata of ExportConfigurationResult
     *
     */
    mapper() {
      return {
        required: false,
        serializedName: 'ExportConfigurationResult',
        type: {
          name: 'Composite',
          className: 'ExportConfigurationResult',
          modelProperties: {
            id: {
              required: true,
              serializedName: 'id',
              type: {
                name: 'String'
              }
            },
            exportType: {
              required: true,
              serializedName: 'export_type',
              type: {
                name: 'Enum',
                allowedValues: [ 'BlobStorage', 'AppInsights' ]
              }
            },
            creationTime: {
              required: true,
              serializedName: 'creation_time',
              type: {
                name: 'String'
              }
            },
            lastRunTime: {
              required: false,
              serializedName: 'last_run_time',
              type: {
                name: 'String'
              }
            },
            exportEntities: {
              required: false,
              serializedName: 'export_entities',
              type: {
                name: 'Sequence',
                element: {
                    required: false,
                    serializedName: 'ExportEntityElementType',
                    type: {
                      name: 'Enum',
                      allowedValues: [ 'crashes', 'errors', 'attachments' ]
                    }
                }
              }
            },
            state: {
              required: true,
              serializedName: 'state',
              type: {
                name: 'Enum',
                allowedValues: [ 'Enabled', 'Disabled', 'Pending', 'Deleted', 'Invalid' ]
              }
            },
            stateInfo: {
              required: false,
              serializedName: 'state_info',
              type: {
                name: 'String'
              }
            },
            resourceGroup: {
              required: false,
              serializedName: 'resource_group',
              type: {
                name: 'String'
              }
            },
            resourceName: {
              required: false,
              serializedName: 'resource_name',
              type: {
                name: 'String'
              }
            },
            exportConfiguration: {
              required: false,
              serializedName: 'export_configuration',
              type: {
                name: 'Composite',
                polymorphicDiscriminator: {
                  serializedName: 'type',
                  clientName: 'type'
                },
                uberParent: 'ExportConfiguration',
                className: 'ExportConfiguration'
              }
            }
          }
        }
      };
    }
  }
  
  module.exports = ExportConfigurationResult;
  