/*
 * Code generated by Microsoft (R) AutoRest Code Generator.
 * Changes may cause incorrect behavior and will be lost if the code is
 * regenerated.
 */

import * as moment from "moment";


/**
 * @class
 * Initializes a new instance of the ExportConfiguration class.
 * @constructor
 * Export configuration
 *
 * @member {string} [resourceName] The resource name on azure
 * @member {string} [resourceGroup] The resource group name on azure
 * @member {string} type Polymorphic Discriminator
 */
export interface ExportConfiguration {
  resourceName?: string;
  resourceGroup?: string;
  type: string;
}

/**
 * @class
 * Initializes a new instance of the ExportConfigurationResult class.
 * @constructor
 * Export configuration result
 *
 * @member {string} id Export configuration id
 * @member {string} exportType Target resource type of export configuration.
 * Possible values include: 'BlobStorage', 'AppInsights'
 * @member {string} creationTime Creation time in ISO 8601 format
 * @member {string} [lastRunTime] Latest time in ISO 8601 format when export
 * completed successfully
 * @member {string} state State of the export job. Possible values include:
 * 'Enabled', 'Disabled', 'Pending', 'Deleted', 'Invalid'
 * @member {string} [stateInfo] Additional information about export
 * configuration state
 * @member {string} [resourceGroup] resource group for the storage account/App
 * Insights resource
 * @member {string} [resourceName] Storage accout or Appinsights resource name
 * @member {object} [exportConfiguration]
 * @member {string} [exportConfiguration.resourceName] The resource name on
 * azure
 * @member {string} [exportConfiguration.resourceGroup] The resource group name
 * on azure
 * @member {string} [exportConfiguration.type] Polymorphic Discriminator
 */
export interface ExportConfigurationResult {
  id: string;
  exportType: string;
  creationTime: string;
  lastRunTime?: string;
  state: string;
  stateInfo?: string;
  resourceGroup?: string;
  resourceName?: string;
  exportConfiguration?: ExportConfiguration;
}

/**
 * @class
 * Initializes a new instance of the ExportConfigurationListResult class.
 * @constructor
 * List of export configurations
 *
 * @member {array} values
 * @member {number} [total] the total count of exports
 * @member {string} [nextLink]
 */
export interface ExportConfigurationListResult {
  values: ExportConfigurationResult[];
  total?: number;
  nextLink?: string;
}
