/* * 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. */ import { BaseResource } from 'ms-rest-azure'; import { CloudError } from 'ms-rest-azure'; import * as moment from 'moment'; export { BaseResource } from 'ms-rest-azure'; export { CloudError } from 'ms-rest-azure'; /** * @class * Initializes a new instance of the AppServiceCertificate class. * @constructor * Key Vault container for a certificate that is purchased through Azure. * * @member {string} [keyVaultId] Key Vault resource Id. * @member {string} [keyVaultSecretName] Key Vault secret name. * @member {string} [provisioningState] Status of the Key Vault secret. * Possible values include: 'Initialized', 'WaitingOnCertificateOrder', * 'Succeeded', 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', * 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', * 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', * 'Unknown' */ export interface AppServiceCertificate { keyVaultId?: string; keyVaultSecretName?: string; readonly provisioningState?: string; } /** * @class * Initializes a new instance of the Resource class. * @constructor * Azure resource. This resource is tracked in Azure Resource Manager * * @member {string} [id] Resource Id. * @member {string} [name] Resource Name. * @member {string} [kind] Kind of resource. * @member {string} location Resource Location. * @member {string} [type] Resource type. * @member {object} [tags] Resource tags. */ export interface Resource extends BaseResource { readonly id?: string; readonly name?: string; kind?: string; location: string; readonly type?: string; tags?: { [propertyName: string]: string }; } /** * @class * Initializes a new instance of the AppServiceCertificateResource class. * @constructor * Key Vault container ARM resource for a certificate that is purchased through * Azure. * * @member {string} [keyVaultId] Key Vault resource Id. * @member {string} [keyVaultSecretName] Key Vault secret name. * @member {string} [provisioningState] Status of the Key Vault secret. * Possible values include: 'Initialized', 'WaitingOnCertificateOrder', * 'Succeeded', 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', * 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', * 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', * 'Unknown' */ export interface AppServiceCertificateResource extends Resource { keyVaultId?: string; keyVaultSecretName?: string; readonly provisioningState?: string; } /** * @class * Initializes a new instance of the CertificateDetails class. * @constructor * SSL certificate details. * * @member {number} [version] Certificate Version. * @member {string} [serialNumber] Certificate Serial Number. * @member {string} [thumbprint] Certificate Thumbprint. * @member {string} [subject] Certificate Subject. * @member {date} [notBefore] Date Certificate is valid from. * @member {date} [notAfter] Date Certificate is valid to. * @member {string} [signatureAlgorithm] Certificate Signature algorithm. * @member {string} [issuer] Certificate Issuer. * @member {string} [rawData] Raw certificate data. */ export interface CertificateDetails { readonly version?: number; readonly serialNumber?: string; readonly thumbprint?: string; readonly subject?: string; readonly notBefore?: Date; readonly notAfter?: Date; readonly signatureAlgorithm?: string; readonly issuer?: string; readonly rawData?: string; } /** * @class * Initializes a new instance of the AppServiceCertificateOrder class. * @constructor * SSL certificate purchase order. * * @member {object} [certificates] State of the Key Vault secret. * @member {string} [distinguishedName] Certificate distinguished name. * @member {string} [domainVerificationToken] Domain verification token. * @member {number} [validityInYears] Duration in years (must be between 1 and * 3). Default value: 1 . * @member {number} [keySize] Certificate key size. Default value: 2048 . * @member {string} productType Certificate product type. Possible values * include: 'StandardDomainValidatedSsl', 'StandardDomainValidatedWildCardSsl' * @member {boolean} [autoRenew] true if the certificate should be * automatically renewed when it expires; otherwise, false. * Default value: true . * @member {string} [provisioningState] Status of certificate order. Possible * values include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Deleting' * @member {string} [status] Current order status. Possible values include: * 'Pendingissuance', 'Issued', 'Revoked', 'Canceled', 'Denied', * 'Pendingrevocation', 'PendingRekey', 'Unused', 'Expired', 'NotSubmitted' * @member {object} [signedCertificate] Signed certificate. * @member {number} [signedCertificate.version] Certificate Version. * @member {string} [signedCertificate.serialNumber] Certificate Serial Number. * @member {string} [signedCertificate.thumbprint] Certificate Thumbprint. * @member {string} [signedCertificate.subject] Certificate Subject. * @member {date} [signedCertificate.notBefore] Date Certificate is valid from. * @member {date} [signedCertificate.notAfter] Date Certificate is valid to. * @member {string} [signedCertificate.signatureAlgorithm] Certificate * Signature algorithm. * @member {string} [signedCertificate.issuer] Certificate Issuer. * @member {string} [signedCertificate.rawData] Raw certificate data. * @member {string} [csr] Last CSR that was created for this order. * @member {object} [intermediate] Intermediate certificate. * @member {number} [intermediate.version] Certificate Version. * @member {string} [intermediate.serialNumber] Certificate Serial Number. * @member {string} [intermediate.thumbprint] Certificate Thumbprint. * @member {string} [intermediate.subject] Certificate Subject. * @member {date} [intermediate.notBefore] Date Certificate is valid from. * @member {date} [intermediate.notAfter] Date Certificate is valid to. * @member {string} [intermediate.signatureAlgorithm] Certificate Signature * algorithm. * @member {string} [intermediate.issuer] Certificate Issuer. * @member {string} [intermediate.rawData] Raw certificate data. * @member {object} [root] Root certificate. * @member {number} [root.version] Certificate Version. * @member {string} [root.serialNumber] Certificate Serial Number. * @member {string} [root.thumbprint] Certificate Thumbprint. * @member {string} [root.subject] Certificate Subject. * @member {date} [root.notBefore] Date Certificate is valid from. * @member {date} [root.notAfter] Date Certificate is valid to. * @member {string} [root.signatureAlgorithm] Certificate Signature algorithm. * @member {string} [root.issuer] Certificate Issuer. * @member {string} [root.rawData] Raw certificate data. * @member {string} [serialNumber] Current serial number of the certificate. * @member {date} [lastCertificateIssuanceTime] Certificate last issuance time. * @member {date} [expirationTime] Certificate expiration time. * @member {boolean} [isPrivateKeyExternal] true if private key is * external; otherwise, false. * @member {array} [appServiceCertificateNotRenewableReasons] Reasons why App * Service Certificate is not renewable at the current moment. * @member {date} [nextAutoRenewalTimeStamp] Time stamp when the certificate * would be auto renewed next */ export interface AppServiceCertificateOrder extends Resource { certificates?: { [propertyName: string]: AppServiceCertificate }; distinguishedName?: string; readonly domainVerificationToken?: string; validityInYears?: number; keySize?: number; productType: string; autoRenew?: boolean; readonly provisioningState?: string; readonly status?: string; readonly signedCertificate?: CertificateDetails; csr?: string; readonly intermediate?: CertificateDetails; readonly root?: CertificateDetails; readonly serialNumber?: string; readonly lastCertificateIssuanceTime?: Date; readonly expirationTime?: Date; readonly isPrivateKeyExternal?: boolean; readonly appServiceCertificateNotRenewableReasons?: string[]; readonly nextAutoRenewalTimeStamp?: Date; } /** * @class * Initializes a new instance of the ProxyOnlyResource class. * @constructor * Azure proxy only resource. This resource is not tracked by Azure Resource * Manager. * * @member {string} [id] Resource Id. * @member {string} [name] Resource Name. * @member {string} [kind] Kind of resource. * @member {string} [type] Resource type. */ export interface ProxyOnlyResource extends BaseResource { readonly id?: string; readonly name?: string; kind?: string; readonly type?: string; } /** * @class * Initializes a new instance of the AppServiceCertificateOrderPatchResource class. * @constructor * ARM resource for a certificate order that is purchased through Azure. * * @member {object} [certificates] State of the Key Vault secret. * @member {string} [distinguishedName] Certificate distinguished name. * @member {string} [domainVerificationToken] Domain verification token. * @member {number} [validityInYears] Duration in years (must be between 1 and * 3). Default value: 1 . * @member {number} [keySize] Certificate key size. Default value: 2048 . * @member {string} productType Certificate product type. Possible values * include: 'StandardDomainValidatedSsl', 'StandardDomainValidatedWildCardSsl' * @member {boolean} [autoRenew] true if the certificate should be * automatically renewed when it expires; otherwise, false. * Default value: true . * @member {string} [provisioningState] Status of certificate order. Possible * values include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Deleting' * @member {string} [status] Current order status. Possible values include: * 'Pendingissuance', 'Issued', 'Revoked', 'Canceled', 'Denied', * 'Pendingrevocation', 'PendingRekey', 'Unused', 'Expired', 'NotSubmitted' * @member {object} [signedCertificate] Signed certificate. * @member {number} [signedCertificate.version] Certificate Version. * @member {string} [signedCertificate.serialNumber] Certificate Serial Number. * @member {string} [signedCertificate.thumbprint] Certificate Thumbprint. * @member {string} [signedCertificate.subject] Certificate Subject. * @member {date} [signedCertificate.notBefore] Date Certificate is valid from. * @member {date} [signedCertificate.notAfter] Date Certificate is valid to. * @member {string} [signedCertificate.signatureAlgorithm] Certificate * Signature algorithm. * @member {string} [signedCertificate.issuer] Certificate Issuer. * @member {string} [signedCertificate.rawData] Raw certificate data. * @member {string} [csr] Last CSR that was created for this order. * @member {object} [intermediate] Intermediate certificate. * @member {number} [intermediate.version] Certificate Version. * @member {string} [intermediate.serialNumber] Certificate Serial Number. * @member {string} [intermediate.thumbprint] Certificate Thumbprint. * @member {string} [intermediate.subject] Certificate Subject. * @member {date} [intermediate.notBefore] Date Certificate is valid from. * @member {date} [intermediate.notAfter] Date Certificate is valid to. * @member {string} [intermediate.signatureAlgorithm] Certificate Signature * algorithm. * @member {string} [intermediate.issuer] Certificate Issuer. * @member {string} [intermediate.rawData] Raw certificate data. * @member {object} [root] Root certificate. * @member {number} [root.version] Certificate Version. * @member {string} [root.serialNumber] Certificate Serial Number. * @member {string} [root.thumbprint] Certificate Thumbprint. * @member {string} [root.subject] Certificate Subject. * @member {date} [root.notBefore] Date Certificate is valid from. * @member {date} [root.notAfter] Date Certificate is valid to. * @member {string} [root.signatureAlgorithm] Certificate Signature algorithm. * @member {string} [root.issuer] Certificate Issuer. * @member {string} [root.rawData] Raw certificate data. * @member {string} [serialNumber] Current serial number of the certificate. * @member {date} [lastCertificateIssuanceTime] Certificate last issuance time. * @member {date} [expirationTime] Certificate expiration time. * @member {boolean} [isPrivateKeyExternal] true if private key is * external; otherwise, false. * @member {array} [appServiceCertificateNotRenewableReasons] Reasons why App * Service Certificate is not renewable at the current moment. * @member {date} [nextAutoRenewalTimeStamp] Time stamp when the certificate * would be auto renewed next */ export interface AppServiceCertificateOrderPatchResource extends ProxyOnlyResource { certificates?: { [propertyName: string]: AppServiceCertificate }; distinguishedName?: string; readonly domainVerificationToken?: string; validityInYears?: number; keySize?: number; productType: string; autoRenew?: boolean; readonly provisioningState?: string; readonly status?: string; readonly signedCertificate?: CertificateDetails; csr?: string; readonly intermediate?: CertificateDetails; readonly root?: CertificateDetails; readonly serialNumber?: string; readonly lastCertificateIssuanceTime?: Date; readonly expirationTime?: Date; readonly isPrivateKeyExternal?: boolean; readonly appServiceCertificateNotRenewableReasons?: string[]; readonly nextAutoRenewalTimeStamp?: Date; } /** * @class * Initializes a new instance of the AppServiceCertificatePatchResource class. * @constructor * Key Vault container ARM resource for a certificate that is purchased through * Azure. * * @member {string} [keyVaultId] Key Vault resource Id. * @member {string} [keyVaultSecretName] Key Vault secret name. * @member {string} [provisioningState] Status of the Key Vault secret. * Possible values include: 'Initialized', 'WaitingOnCertificateOrder', * 'Succeeded', 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', * 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', * 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', * 'Unknown' */ export interface AppServiceCertificatePatchResource extends ProxyOnlyResource { keyVaultId?: string; keyVaultSecretName?: string; readonly provisioningState?: string; } /** * @class * Initializes a new instance of the CertificateEmail class. * @constructor * SSL certificate email. * * @member {string} [emailId] Email id. * @member {date} [timeStamp] Time stamp. */ export interface CertificateEmail extends ProxyOnlyResource { emailId?: string; timeStamp?: Date; } /** * @class * Initializes a new instance of the CertificateOrderAction class. * @constructor * Certificate order action. * * @member {string} [actionType] Action type. Possible values include: * 'CertificateIssued', 'CertificateOrderCanceled', 'CertificateOrderCreated', * 'CertificateRevoked', 'DomainValidationComplete', 'FraudDetected', * 'OrgNameChange', 'OrgValidationComplete', 'SanDrop', 'FraudCleared', * 'CertificateExpired', 'CertificateExpirationWarning', * 'FraudDocumentationRequired', 'Unknown' * @member {date} [createdAt] Time at which the certificate action was * performed. */ export interface CertificateOrderAction extends ProxyOnlyResource { readonly actionType?: string; readonly createdAt?: Date; } /** * @class * Initializes a new instance of the ReissueCertificateOrderRequest class. * @constructor * Class representing certificate reissue request. * * @member {number} [keySize] Certificate Key Size. * @member {number} [delayExistingRevokeInHours] Delay in hours to revoke * existing certificate after the new certificate is issued. * @member {string} [csr] Csr to be used for re-key operation. * @member {boolean} [isPrivateKeyExternal] Should we change the ASC type (from * managed private key to external private key and vice versa). */ export interface ReissueCertificateOrderRequest extends ProxyOnlyResource { keySize?: number; delayExistingRevokeInHours?: number; csr?: string; isPrivateKeyExternal?: boolean; } /** * @class * Initializes a new instance of the RenewCertificateOrderRequest class. * @constructor * Class representing certificate renew request. * * @member {number} [keySize] Certificate Key Size. * @member {string} [csr] Csr to be used for re-key operation. * @member {boolean} [isPrivateKeyExternal] Should we change the ASC type (from * managed private key to external private key and vice versa). */ export interface RenewCertificateOrderRequest extends ProxyOnlyResource { keySize?: number; csr?: string; isPrivateKeyExternal?: boolean; } /** * @class * Initializes a new instance of the SiteSeal class. * @constructor * Site seal * * @member {string} html HTML snippet */ export interface SiteSeal { html: string; } /** * @class * Initializes a new instance of the SiteSealRequest class. * @constructor * Site seal request. * * @member {boolean} [lightTheme] If true use the light color * theme for site seal; otherwise, use the default color theme. * @member {string} [locale] Locale of site seal. */ export interface SiteSealRequest { lightTheme?: boolean; locale?: string; } /** * @class * Initializes a new instance of the VnetRoute class. * @constructor * Virtual Network route contract used to pass routing information for a * Virtual Network. * * @member {string} [startAddress] The starting address for this route. This * may also include a CIDR notation, in which case the end address must not be * specified. * @member {string} [endAddress] The ending address for this route. If the * start address is specified in CIDR notation, this must be omitted. * @member {string} [routeType] The type of route this is: * DEFAULT - By default, every app has routes to the local address ranges * specified by RFC1918 * INHERITED - Routes inherited from the real Virtual Network routes * STATIC - Static route set on the app only * * These values will be used for syncing an app's routes with those from a * Virtual Network. Possible values include: 'DEFAULT', 'INHERITED', 'STATIC' */ export interface VnetRoute extends ProxyOnlyResource { startAddress?: string; endAddress?: string; routeType?: string; } /** * @class * Initializes a new instance of the VnetInfo class. * @constructor * Virtual Network information contract. * * @member {string} [vnetResourceId] The Virtual Network's resource ID. * @member {string} [certThumbprint] The client certificate thumbprint. * @member {buffer} [certBlob] A certificate file (.cer) blob containing the * public key of the private key used to authenticate a * Point-To-Site VPN connection. * @member {array} [routes] The routes that this Virtual Network connection * uses. * @member {boolean} [resyncRequired] true if a resync is * required; otherwise, false. * @member {string} [dnsServers] DNS servers to be used by this Virtual * Network. This should be a comma-separated list of IP addresses. */ export interface VnetInfo extends ProxyOnlyResource { vnetResourceId?: string; readonly certThumbprint?: string; certBlob?: Buffer; readonly routes?: VnetRoute[]; readonly resyncRequired?: boolean; dnsServers?: string; } /** * @class * Initializes a new instance of the VnetGateway class. * @constructor * The Virtual Network gateway contract. This is used to give the Virtual * Network gateway access to the VPN package. * * @member {string} [vnetName] The Virtual Network name. * @member {string} vpnPackageUri The URI where the VPN package can be * downloaded. */ export interface VnetGateway extends ProxyOnlyResource { vnetName?: string; vpnPackageUri: string; } /** * @class * Initializes a new instance of the User class. * @constructor * User crendentials used for publishing activity. * * @member {string} publishingUserName Username used for publishing. * @member {string} [publishingPassword] Password used for publishing. * @member {string} [publishingPasswordHash] Password hash used for publishing. * @member {string} [publishingPasswordHashSalt] Password hash salt used for * publishing. * @member {string} [scmUri] Url of SCM site. */ export interface User extends ProxyOnlyResource { publishingUserName: string; publishingPassword?: string; publishingPasswordHash?: string; publishingPasswordHashSalt?: string; scmUri?: string; } /** * @class * Initializes a new instance of the Snapshot class. * @constructor * A snapshot of an app. * * @member {string} [time] The time the snapshot was taken. */ export interface Snapshot extends ProxyOnlyResource { readonly time?: string; } /** * @class * Initializes a new instance of the ResourceMetricAvailability class. * @constructor * Metrics availability and retention. * * @member {string} [timeGrain] Time grain . * @member {string} [retention] Retention period for the current time grain. */ export interface ResourceMetricAvailability { readonly timeGrain?: string; readonly retention?: string; } /** * @class * Initializes a new instance of the ResourceMetricDefinition class. * @constructor * Metadata for the metrics. * * @member {string} [unit] Unit of the metric. * @member {string} [primaryAggregationType] Primary aggregation type. * @member {array} [metricAvailabilities] List of time grains supported for the * metric together with retention period. * @member {string} [resourceUri] Resource URI. * @member {object} [properties] Resource metric definition properties. */ export interface ResourceMetricDefinition extends ProxyOnlyResource { readonly unit?: string; readonly primaryAggregationType?: string; readonly metricAvailabilities?: ResourceMetricAvailability[]; readonly resourceUri?: string; readonly properties?: { [propertyName: string]: string }; } /** * @class * Initializes a new instance of the PushSettings class. * @constructor * Push settings for the App. * * @member {boolean} isPushEnabled Gets or sets a flag indicating whether the * Push endpoint is enabled. * @member {string} [tagWhitelistJson] Gets or sets a JSON string containing a * list of tags that are whitelisted for use by the push registration endpoint. * @member {string} [tagsRequiringAuth] Gets or sets a JSON string containing a * list of tags that require user authentication to be used in the push * registration endpoint. * Tags can consist of alphanumeric characters and the following: * '_', '@', '#', '.', ':', '-'. * Validation should be performed at the PushRequestHandler. * @member {string} [dynamicTagsJson] Gets or sets a JSON string containing a * list of dynamic tags that will be evaluated from user claims in the push * registration endpoint. */ export interface PushSettings extends ProxyOnlyResource { isPushEnabled: boolean; tagWhitelistJson?: string; tagsRequiringAuth?: string; dynamicTagsJson?: string; } /** * @class * Initializes a new instance of the Identifier class. * @constructor * A domain specific resource identifier. * * @member {string} [identifierId] String representation of the identity. */ export interface Identifier extends ProxyOnlyResource { identifierId?: string; } /** * @class * Initializes a new instance of the HybridConnectionKey class. * @constructor * Hybrid Connection key contract. This has the send key name and value for a * Hybrid Connection. * * @member {string} [sendKeyName] The name of the send key. * @member {string} [sendKeyValue] The value of the send key. */ export interface HybridConnectionKey extends ProxyOnlyResource { readonly sendKeyName?: string; readonly sendKeyValue?: string; } /** * @class * Initializes a new instance of the HybridConnection class. * @constructor * Hybrid Connection contract. This is used to configure a Hybrid Connection. * * @member {string} [serviceBusNamespace] The name of the Service Bus * namespace. * @member {string} [relayName] The name of the Service Bus relay. * @member {string} [relayArmUri] The ARM URI to the Service Bus relay. * @member {string} [hostname] The hostname of the endpoint. * @member {number} [port] The port of the endpoint. * @member {string} [sendKeyName] The name of the Service Bus key which has * Send permissions. This is used to authenticate to Service Bus. * @member {string} [sendKeyValue] The value of the Service Bus key. This is * used to authenticate to Service Bus. In ARM this key will not be returned * normally, use the POST /listKeys API instead. * @member {string} [serviceBusSuffix] The suffix for the service bus endpoint. * By default this is .servicebus.windows.net */ export interface HybridConnection extends ProxyOnlyResource { serviceBusNamespace?: string; relayName?: string; relayArmUri?: string; hostname?: string; port?: number; sendKeyName?: string; sendKeyValue?: string; serviceBusSuffix?: string; } /** * @class * Initializes a new instance of the DeletedSite class. * @constructor * A deleted app. * * @member {number} [deletedSiteId] Numeric id for the deleted site * @member {string} [deletedTimestamp] Time in UTC when the app was deleted. * @member {string} [subscription] Subscription containing the deleted site * @member {string} [resourceGroup] ResourceGroup that contained the deleted * site * @member {string} [deletedSiteName] Name of the deleted site * @member {string} [slot] Slot of the deleted site * @member {string} [deletedSiteKind] Kind of site that was deleted * @member {string} [geoRegionName] Geo Region of the deleted site */ export interface DeletedSite extends ProxyOnlyResource { readonly deletedSiteId?: number; readonly deletedTimestamp?: string; readonly subscription?: string; readonly resourceGroup?: string; readonly deletedSiteName?: string; readonly slot?: string; readonly deletedSiteKind?: string; readonly geoRegionName?: string; } /** * @class * Initializes a new instance of the ManagedServiceIdentity class. * @constructor * Managed service identity. * * @member {string} [type] Type of managed service identity. Possible values * include: 'SystemAssigned', 'UserAssigned' * @member {string} [tenantId] Tenant of managed service identity. * @member {string} [principalId] Principal Id of managed service identity. * @member {array} [identityIds] Array of UserAssigned managed service * identities. */ export interface ManagedServiceIdentity { type?: string; readonly tenantId?: string; readonly principalId?: string; identityIds?: string[]; } /** * @class * Initializes a new instance of the SlotSwapStatus class. * @constructor * The status of the last successfull slot swap operation. * * @member {date} [timestampUtc] The time the last successful slot swap * completed. * @member {string} [sourceSlotName] The source slot of the last swap * operation. * @member {string} [destinationSlotName] The destination slot of the last swap * operation. */ export interface SlotSwapStatus { readonly timestampUtc?: Date; readonly sourceSlotName?: string; readonly destinationSlotName?: string; } /** * @class * Initializes a new instance of the CloningInfo class. * @constructor * Information needed for cloning operation. * * @member {uuid} [correlationId] Correlation ID of cloning operation. This ID * ties multiple cloning operations * together to use the same snapshot. * @member {boolean} [overwrite] true to overwrite destination * app; otherwise, false. * @member {boolean} [cloneCustomHostNames] true to clone custom * hostnames from source app; otherwise, false. * @member {boolean} [cloneSourceControl] true to clone source * control from source app; otherwise, false. * @member {string} sourceWebAppId ARM resource ID of the source app. App * resource ID is of the form * /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} * for production slots and * /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} * for other slots. * @member {string} [hostingEnvironment] App Service Environment. * @member {object} [appSettingsOverrides] Application setting overrides for * cloned app. If specified, these settings override the settings cloned * from source app. Otherwise, application settings from source app are * retained. * @member {boolean} [configureLoadBalancing] true to configure * load balancing for source and destination app. * @member {string} [trafficManagerProfileId] ARM resource ID of the Traffic * Manager profile to use, if it exists. Traffic Manager resource ID is of the * form * /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. * @member {string} [trafficManagerProfileName] Name of Traffic Manager profile * to create. This is only needed if Traffic Manager profile does not already * exist. */ export interface CloningInfo { correlationId?: string; overwrite?: boolean; cloneCustomHostNames?: boolean; cloneSourceControl?: boolean; sourceWebAppId: string; hostingEnvironment?: string; appSettingsOverrides?: { [propertyName: string]: string }; configureLoadBalancing?: boolean; trafficManagerProfileId?: string; trafficManagerProfileName?: string; } /** * @class * Initializes a new instance of the HostingEnvironmentProfile class. * @constructor * Specification for an App Service Environment to use for this resource. * * @member {string} [id] Resource ID of the App Service Environment. * @member {string} [name] Name of the App Service Environment. * @member {string} [type] Resource type of the App Service Environment. */ export interface HostingEnvironmentProfile { id?: string; readonly name?: string; readonly type?: string; } /** * @class * Initializes a new instance of the IpSecurityRestriction class. * @constructor * IP security restriction on an app. * * @member {string} ipAddress IP address the security restriction is valid for. * It can be in form of pure ipv4 address (required SubnetMask property) or * CIDR notation such as ipv4/mask (leading bit match). For CIDR, * SubnetMask property must not be specified. * @member {string} [subnetMask] Subnet mask for the range of IP addresses the * restriction is valid for. * @member {string} [action] Allow or Deny access for this IP range. * @member {string} [tag] Defines what this IP filter will be used for. This is * to support IP filtering on proxies. Possible values include: 'Default', * 'XffProxy' * @member {number} [priority] Priority of IP restriction rule. * @member {string} [name] IP restriction rule name. * @member {string} [description] IP restriction rule description. */ export interface IpSecurityRestriction { ipAddress: string; subnetMask?: string; action?: string; tag?: string; priority?: number; name?: string; description?: string; } /** * @class * Initializes a new instance of the ApiDefinitionInfo class. * @constructor * Information about the formal API definition for the app. * * @member {string} [url] The URL of the API definition. */ export interface ApiDefinitionInfo { url?: string; } /** * @class * Initializes a new instance of the CorsSettings class. * @constructor * Cross-Origin Resource Sharing (CORS) settings for the app. * * @member {array} [allowedOrigins] Gets or sets the list of origins that * should be allowed to make cross-origin * calls (for example: http://example.com:12345). Use "*" to allow all. */ export interface CorsSettings { allowedOrigins?: string[]; } /** * @class * Initializes a new instance of the AutoHealCustomAction class. * @constructor * Custom action to be executed * when an auto heal rule is triggered. * * @member {string} [exe] Executable to be run. * @member {string} [parameters] Parameters for the executable. */ export interface AutoHealCustomAction { exe?: string; parameters?: string; } /** * @class * Initializes a new instance of the AutoHealActions class. * @constructor * Actions which to take by the auto-heal module when a rule is triggered. * * @member {string} [actionType] Predefined action to be taken. Possible values * include: 'Recycle', 'LogEvent', 'CustomAction' * @member {object} [customAction] Custom action to be taken. * @member {string} [customAction.exe] Executable to be run. * @member {string} [customAction.parameters] Parameters for the executable. * @member {string} [minProcessExecutionTime] Minimum time the process must * execute * before taking the action */ export interface AutoHealActions { actionType?: string; customAction?: AutoHealCustomAction; minProcessExecutionTime?: string; } /** * @class * Initializes a new instance of the SlowRequestsBasedTrigger class. * @constructor * Trigger based on request execution time. * * @member {string} [timeTaken] Time taken. * @member {number} [count] Request Count. * @member {string} [timeInterval] Time interval. */ export interface SlowRequestsBasedTrigger { timeTaken?: string; count?: number; timeInterval?: string; } /** * @class * Initializes a new instance of the StatusCodesBasedTrigger class. * @constructor * Trigger based on status code. * * @member {number} [status] HTTP status code. * @member {number} [subStatus] Request Sub Status. * @member {number} [win32Status] Win32 error code. * @member {number} [count] Request Count. * @member {string} [timeInterval] Time interval. */ export interface StatusCodesBasedTrigger { status?: number; subStatus?: number; win32Status?: number; count?: number; timeInterval?: string; } /** * @class * Initializes a new instance of the RequestsBasedTrigger class. * @constructor * Trigger based on total requests. * * @member {number} [count] Request Count. * @member {string} [timeInterval] Time interval. */ export interface RequestsBasedTrigger { count?: number; timeInterval?: string; } /** * @class * Initializes a new instance of the AutoHealTriggers class. * @constructor * Triggers for auto-heal. * * @member {object} [requests] A rule based on total requests. * @member {number} [requests.count] Request Count. * @member {string} [requests.timeInterval] Time interval. * @member {number} [privateBytesInKB] A rule based on private bytes. * @member {array} [statusCodes] A rule based on status codes. * @member {object} [slowRequests] A rule based on request execution time. * @member {string} [slowRequests.timeTaken] Time taken. * @member {number} [slowRequests.count] Request Count. * @member {string} [slowRequests.timeInterval] Time interval. */ export interface AutoHealTriggers { requests?: RequestsBasedTrigger; privateBytesInKB?: number; statusCodes?: StatusCodesBasedTrigger[]; slowRequests?: SlowRequestsBasedTrigger; } /** * @class * Initializes a new instance of the AutoHealRules class. * @constructor * Rules that can be defined for auto-heal. * * @member {object} [triggers] Conditions that describe when to execute the * auto-heal actions. * @member {object} [triggers.requests] A rule based on total requests. * @member {number} [triggers.requests.count] Request Count. * @member {string} [triggers.requests.timeInterval] Time interval. * @member {number} [triggers.privateBytesInKB] A rule based on private bytes. * @member {array} [triggers.statusCodes] A rule based on status codes. * @member {object} [triggers.slowRequests] A rule based on request execution * time. * @member {string} [triggers.slowRequests.timeTaken] Time taken. * @member {number} [triggers.slowRequests.count] Request Count. * @member {string} [triggers.slowRequests.timeInterval] Time interval. * @member {object} [actions] Actions to be executed when a rule is triggered. * @member {string} [actions.actionType] Predefined action to be taken. * Possible values include: 'Recycle', 'LogEvent', 'CustomAction' * @member {object} [actions.customAction] Custom action to be taken. * @member {string} [actions.customAction.exe] Executable to be run. * @member {string} [actions.customAction.parameters] Parameters for the * executable. * @member {string} [actions.minProcessExecutionTime] Minimum time the process * must execute * before taking the action */ export interface AutoHealRules { triggers?: AutoHealTriggers; actions?: AutoHealActions; } /** * @class * Initializes a new instance of the SiteLimits class. * @constructor * Metric limits set on an app. * * @member {number} [maxPercentageCpu] Maximum allowed CPU usage percentage. * @member {number} [maxMemoryInMb] Maximum allowed memory usage in MB. * @member {number} [maxDiskSizeInMb] Maximum allowed disk size usage in MB. */ export interface SiteLimits { maxPercentageCpu?: number; maxMemoryInMb?: number; maxDiskSizeInMb?: number; } /** * @class * Initializes a new instance of the RampUpRule class. * @constructor * Routing rules for ramp up testing. This rule allows to redirect static * traffic % to a slot or to gradually change routing % based on performance. * * @member {string} [actionHostName] Hostname of a slot to which the traffic * will be redirected if decided to. E.g. myapp-stage.azurewebsites.net. * @member {number} [reroutePercentage] Percentage of the traffic which will be * redirected to ActionHostName. * @member {number} [changeStep] In auto ramp up scenario this is the step to * to add/remove from ReroutePercentage until it reaches * MinReroutePercentage or MaxReroutePercentage. Site * metrics are checked every N minutes specificed in * ChangeIntervalInMinutes. * Custom decision algorithm can be provided in TiPCallback site extension * which URL can be specified in ChangeDecisionCallbackUrl. * @member {number} [changeIntervalInMinutes] Specifies interval in mimuntes to * reevaluate ReroutePercentage. * @member {number} [minReroutePercentage] Specifies lower boundary above which * ReroutePercentage will stay. * @member {number} [maxReroutePercentage] Specifies upper boundary below which * ReroutePercentage will stay. * @member {string} [changeDecisionCallbackUrl] Custom decision algorithm can * be provided in TiPCallback site extension which URL can be specified. See * TiPCallback site extension for the scaffold and contracts. * https://www.siteextensions.net/packages/TiPCallback/ * @member {string} [name] Name of the routing rule. The recommended name would * be to point to the slot which will receive the traffic in the experiment. */ export interface RampUpRule { actionHostName?: string; reroutePercentage?: number; changeStep?: number; changeIntervalInMinutes?: number; minReroutePercentage?: number; maxReroutePercentage?: number; changeDecisionCallbackUrl?: string; name?: string; } /** * @class * Initializes a new instance of the Experiments class. * @constructor * Routing rules in production experiments. * * @member {array} [rampUpRules] List of ramp-up rules. */ export interface Experiments { rampUpRules?: RampUpRule[]; } /** * @class * Initializes a new instance of the VirtualDirectory class. * @constructor * Directory for virtual application. * * @member {string} [virtualPath] Path to virtual application. * @member {string} [physicalPath] Physical path. */ export interface VirtualDirectory { virtualPath?: string; physicalPath?: string; } /** * @class * Initializes a new instance of the VirtualApplication class. * @constructor * Virtual application in an app. * * @member {string} [virtualPath] Virtual path. * @member {string} [physicalPath] Physical path. * @member {boolean} [preloadEnabled] true if preloading is * enabled; otherwise, false. * @member {array} [virtualDirectories] Virtual directories for virtual * application. */ export interface VirtualApplication { virtualPath?: string; physicalPath?: string; preloadEnabled?: boolean; virtualDirectories?: VirtualDirectory[]; } /** * @class * Initializes a new instance of the HandlerMapping class. * @constructor * The IIS handler mappings used to define which handler processes HTTP * requests with certain extension. * For example, it is used to configure php-cgi.exe process to handle all HTTP * requests with *.php extension. * * @member {string} [extension] Requests with this extension will be handled * using the specified FastCGI application. * @member {string} [scriptProcessor] The absolute path to the FastCGI * application. * @member {string} [argumentsProperty] Command-line arguments to be passed to * the script processor. */ export interface HandlerMapping { extension?: string; scriptProcessor?: string; argumentsProperty?: string; } /** * @class * Initializes a new instance of the SiteMachineKey class. * @constructor * MachineKey of an app. * * @member {string} [validation] MachineKey validation. * @member {string} [validationKey] Validation key. * @member {string} [decryption] Algorithm used for decryption. * @member {string} [decryptionKey] Decryption key. */ export interface SiteMachineKey { validation?: string; validationKey?: string; decryption?: string; decryptionKey?: string; } /** * @class * Initializes a new instance of the ConnStringInfo class. * @constructor * Database connection string information. * * @member {string} [name] Name of connection string. * @member {string} [connectionString] Connection string value. * @member {string} [type] Type of database. Possible values include: 'MySql', * 'SQLServer', 'SQLAzure', 'Custom', 'NotificationHub', 'ServiceBus', * 'EventHub', 'ApiHub', 'DocDb', 'RedisCache', 'PostgreSQL' */ export interface ConnStringInfo { name?: string; connectionString?: string; type?: string; } /** * @class * Initializes a new instance of the AzureStorageInfoValue class. * @constructor * Azure Files or Blob Storage access information value for dictionary storage. * * @member {string} [type] Type of storage. Possible values include: * 'AzureFiles', 'AzureBlob' * @member {string} [accountName] Name of the storage account. * @member {string} [shareName] Name of the file share (container name, for * Blob storage). * @member {string} [accessKey] Access key for the storage account. * @member {string} [mountPath] Path to mount the storage within the site's * runtime environment. * @member {string} [state] State of the storage account. Possible values * include: 'Ok', 'InvalidCredentials', 'InvalidShare' */ export interface AzureStorageInfoValue { type?: string; accountName?: string; shareName?: string; accessKey?: string; mountPath?: string; readonly state?: string; } /** * @class * Initializes a new instance of the NameValuePair class. * @constructor * Name value pair. * * @member {string} [name] Pair name. * @member {string} [value] Pair value. */ export interface NameValuePair { name?: string; value?: string; } /** * @class * Initializes a new instance of the SiteConfig class. * @constructor * Configuration of an App Service app. * * @member {number} [numberOfWorkers] Number of workers. * @member {array} [defaultDocuments] Default documents. * @member {string} [netFrameworkVersion] .NET Framework version. Default * value: 'v4.6' . * @member {string} [phpVersion] Version of PHP. * @member {string} [pythonVersion] Version of Python. * @member {string} [nodeVersion] Version of Node.js. * @member {string} [linuxFxVersion] Linux App Framework and version * @member {string} [windowsFxVersion] Xenon App Framework and version * @member {boolean} [requestTracingEnabled] true if request * tracing is enabled; otherwise, false. * @member {date} [requestTracingExpirationTime] Request tracing expiration * time. * @member {boolean} [remoteDebuggingEnabled] true if remote * debugging is enabled; otherwise, false. * @member {string} [remoteDebuggingVersion] Remote debugging version. * @member {boolean} [httpLoggingEnabled] true if HTTP logging is * enabled; otherwise, false. * @member {number} [logsDirectorySizeLimit] HTTP logs directory size limit. * @member {boolean} [detailedErrorLoggingEnabled] true if * detailed error logging is enabled; otherwise, false. * @member {string} [publishingUsername] Publishing user name. * @member {array} [appSettings] Application settings. * @member {object} [azureStorageAccounts] User-provided Azure storage * accounts. * @member {array} [connectionStrings] Connection strings. * @member {object} [machineKey] Site MachineKey. * @member {string} [machineKey.validation] MachineKey validation. * @member {string} [machineKey.validationKey] Validation key. * @member {string} [machineKey.decryption] Algorithm used for decryption. * @member {string} [machineKey.decryptionKey] Decryption key. * @member {array} [handlerMappings] Handler mappings. * @member {string} [documentRoot] Document root. * @member {string} [scmType] SCM type. Possible values include: 'None', * 'Dropbox', 'Tfs', 'LocalGit', 'GitHub', 'CodePlexGit', 'CodePlexHg', * 'BitbucketGit', 'BitbucketHg', 'ExternalGit', 'ExternalHg', 'OneDrive', * 'VSO' * @member {boolean} [use32BitWorkerProcess] true to use 32-bit * worker process; otherwise, false. * @member {boolean} [webSocketsEnabled] true if WebSocket is * enabled; otherwise, false. * @member {boolean} [alwaysOn] true if Always On is enabled; * otherwise, false. * @member {string} [javaVersion] Java version. * @member {string} [javaContainer] Java container. * @member {string} [javaContainerVersion] Java container version. * @member {string} [appCommandLine] App command line to launch. * @member {string} [managedPipelineMode] Managed pipeline mode. Possible * values include: 'Integrated', 'Classic' * @member {array} [virtualApplications] Virtual applications. * @member {string} [loadBalancing] Site load balancing. Possible values * include: 'WeightedRoundRobin', 'LeastRequests', 'LeastResponseTime', * 'WeightedTotalTraffic', 'RequestHash' * @member {object} [experiments] This is work around for polymophic types. * @member {array} [experiments.rampUpRules] List of ramp-up rules. * @member {object} [limits] Site limits. * @member {number} [limits.maxPercentageCpu] Maximum allowed CPU usage * percentage. * @member {number} [limits.maxMemoryInMb] Maximum allowed memory usage in MB. * @member {number} [limits.maxDiskSizeInMb] Maximum allowed disk size usage in * MB. * @member {boolean} [autoHealEnabled] true if Auto Heal is * enabled; otherwise, false. * @member {object} [autoHealRules] Auto Heal rules. * @member {object} [autoHealRules.triggers] Conditions that describe when to * execute the auto-heal actions. * @member {object} [autoHealRules.triggers.requests] A rule based on total * requests. * @member {number} [autoHealRules.triggers.requests.count] Request Count. * @member {string} [autoHealRules.triggers.requests.timeInterval] Time * interval. * @member {number} [autoHealRules.triggers.privateBytesInKB] A rule based on * private bytes. * @member {array} [autoHealRules.triggers.statusCodes] A rule based on status * codes. * @member {object} [autoHealRules.triggers.slowRequests] A rule based on * request execution time. * @member {string} [autoHealRules.triggers.slowRequests.timeTaken] Time taken. * @member {number} [autoHealRules.triggers.slowRequests.count] Request Count. * @member {string} [autoHealRules.triggers.slowRequests.timeInterval] Time * interval. * @member {object} [autoHealRules.actions] Actions to be executed when a rule * is triggered. * @member {string} [autoHealRules.actions.actionType] Predefined action to be * taken. Possible values include: 'Recycle', 'LogEvent', 'CustomAction' * @member {object} [autoHealRules.actions.customAction] Custom action to be * taken. * @member {string} [autoHealRules.actions.customAction.exe] Executable to be * run. * @member {string} [autoHealRules.actions.customAction.parameters] Parameters * for the executable. * @member {string} [autoHealRules.actions.minProcessExecutionTime] Minimum * time the process must execute * before taking the action * @member {string} [tracingOptions] Tracing options. * @member {string} [vnetName] Virtual Network name. * @member {object} [cors] Cross-Origin Resource Sharing (CORS) settings. * @member {array} [cors.allowedOrigins] Gets or sets the list of origins that * should be allowed to make cross-origin * calls (for example: http://example.com:12345). Use "*" to allow all. * @member {object} [push] Push endpoint settings. * @member {boolean} [push.isPushEnabled] Gets or sets a flag indicating * whether the Push endpoint is enabled. * @member {string} [push.tagWhitelistJson] Gets or sets a JSON string * containing a list of tags that are whitelisted for use by the push * registration endpoint. * @member {string} [push.tagsRequiringAuth] Gets or sets a JSON string * containing a list of tags that require user authentication to be used in the * push registration endpoint. * Tags can consist of alphanumeric characters and the following: * '_', '@', '#', '.', ':', '-'. * Validation should be performed at the PushRequestHandler. * @member {string} [push.dynamicTagsJson] Gets or sets a JSON string * containing a list of dynamic tags that will be evaluated from user claims in * the push registration endpoint. * @member {object} [apiDefinition] Information about the formal API definition * for the app. * @member {string} [apiDefinition.url] The URL of the API definition. * @member {string} [autoSwapSlotName] Auto-swap slot name. * @member {boolean} [localMySqlEnabled] true to enable local * MySQL; otherwise, false. Default value: false . * @member {number} [managedServiceIdentityId] Managed Service Identity Id * @member {number} [xManagedServiceIdentityId] Explicit Managed Service * Identity Id * @member {array} [ipSecurityRestrictions] IP security restrictions. * @member {boolean} [http20Enabled] Http20Enabled: configures a web site to * allow clients to connect over http2.0. Default value: true . * @member {string} [minTlsVersion] MinTlsVersion: configures the minimum * version of TLS required for SSL requests. Possible values include: '1.0', * '1.1', '1.2' * @member {string} [ftpsState] State of FTP / FTPS service. Possible values * include: 'AllAllowed', 'FtpsOnly', 'Disabled' * @member {number} [reservedInstanceCount] Number of reserved instances. * This setting only applies to the Consumption Plan */ export interface SiteConfig { numberOfWorkers?: number; defaultDocuments?: string[]; netFrameworkVersion?: string; phpVersion?: string; pythonVersion?: string; nodeVersion?: string; linuxFxVersion?: string; windowsFxVersion?: string; requestTracingEnabled?: boolean; requestTracingExpirationTime?: Date; remoteDebuggingEnabled?: boolean; remoteDebuggingVersion?: string; httpLoggingEnabled?: boolean; logsDirectorySizeLimit?: number; detailedErrorLoggingEnabled?: boolean; publishingUsername?: string; appSettings?: NameValuePair[]; azureStorageAccounts?: { [propertyName: string]: AzureStorageInfoValue }; connectionStrings?: ConnStringInfo[]; readonly machineKey?: SiteMachineKey; handlerMappings?: HandlerMapping[]; documentRoot?: string; scmType?: string; use32BitWorkerProcess?: boolean; webSocketsEnabled?: boolean; alwaysOn?: boolean; javaVersion?: string; javaContainer?: string; javaContainerVersion?: string; appCommandLine?: string; managedPipelineMode?: string; virtualApplications?: VirtualApplication[]; loadBalancing?: string; experiments?: Experiments; limits?: SiteLimits; autoHealEnabled?: boolean; autoHealRules?: AutoHealRules; tracingOptions?: string; vnetName?: string; cors?: CorsSettings; push?: PushSettings; apiDefinition?: ApiDefinitionInfo; autoSwapSlotName?: string; localMySqlEnabled?: boolean; managedServiceIdentityId?: number; xManagedServiceIdentityId?: number; ipSecurityRestrictions?: IpSecurityRestriction[]; http20Enabled?: boolean; minTlsVersion?: string; ftpsState?: string; reservedInstanceCount?: number; } /** * @class * Initializes a new instance of the HostNameSslState class. * @constructor * SSL-enabled hostname. * * @member {string} [name] Hostname. * @member {string} [sslState] SSL type. Possible values include: 'Disabled', * 'SniEnabled', 'IpBasedEnabled' * @member {string} [virtualIP] Virtual IP address assigned to the hostname if * IP based SSL is enabled. * @member {string} [thumbprint] SSL certificate thumbprint. * @member {boolean} [toUpdate] Set to true to update existing * hostname. * @member {string} [hostType] Indicates whether the hostname is a standard or * repository hostname. Possible values include: 'Standard', 'Repository' */ export interface HostNameSslState { name?: string; sslState?: string; virtualIP?: string; thumbprint?: string; toUpdate?: boolean; hostType?: string; } /** * @class * Initializes a new instance of the Site class. * @constructor * A web app, a mobile app backend, or an API app. * * @member {string} [state] Current state of the app. * @member {array} [hostNames] Hostnames associated with the app. * @member {string} [repositorySiteName] Name of the repository site. * @member {string} [usageState] State indicating whether the app has exceeded * its quota usage. Read-only. Possible values include: 'Normal', 'Exceeded' * @member {boolean} [enabled] true if the app is enabled; * otherwise, false. Setting this value to false disables the app * (takes the app offline). * @member {array} [enabledHostNames] Enabled hostnames for the app.Hostnames * need to be assigned (see HostNames) AND enabled. Otherwise, * the app is not served on those hostnames. * @member {string} [availabilityState] Management information availability * state for the app. Possible values include: 'Normal', 'Limited', * 'DisasterRecoveryMode' * @member {array} [hostNameSslStates] Hostname SSL states are used to manage * the SSL bindings for app's hostnames. * @member {string} [serverFarmId] Resource ID of the associated App Service * plan, formatted as: * "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". * @member {boolean} [reserved] true if reserved; otherwise, * false. Default value: false . * @member {boolean} [isXenon] Obsolete: Hyper-V sandbox. Default value: false * . * @member {boolean} [hyperV] Hyper-V sandbox. Default value: false . * @member {date} [lastModifiedTimeUtc] Last time the app was modified, in UTC. * Read-only. * @member {object} [siteConfig] Configuration of the app. * @member {number} [siteConfig.numberOfWorkers] Number of workers. * @member {array} [siteConfig.defaultDocuments] Default documents. * @member {string} [siteConfig.netFrameworkVersion] .NET Framework version. * @member {string} [siteConfig.phpVersion] Version of PHP. * @member {string} [siteConfig.pythonVersion] Version of Python. * @member {string} [siteConfig.nodeVersion] Version of Node.js. * @member {string} [siteConfig.linuxFxVersion] Linux App Framework and version * @member {string} [siteConfig.windowsFxVersion] Xenon App Framework and * version * @member {boolean} [siteConfig.requestTracingEnabled] true if * request tracing is enabled; otherwise, false. * @member {date} [siteConfig.requestTracingExpirationTime] Request tracing * expiration time. * @member {boolean} [siteConfig.remoteDebuggingEnabled] true if * remote debugging is enabled; otherwise, false. * @member {string} [siteConfig.remoteDebuggingVersion] Remote debugging * version. * @member {boolean} [siteConfig.httpLoggingEnabled] true if HTTP * logging is enabled; otherwise, false. * @member {number} [siteConfig.logsDirectorySizeLimit] HTTP logs directory * size limit. * @member {boolean} [siteConfig.detailedErrorLoggingEnabled] true * if detailed error logging is enabled; otherwise, false. * @member {string} [siteConfig.publishingUsername] Publishing user name. * @member {array} [siteConfig.appSettings] Application settings. * @member {object} [siteConfig.azureStorageAccounts] User-provided Azure * storage accounts. * @member {array} [siteConfig.connectionStrings] Connection strings. * @member {object} [siteConfig.machineKey] Site MachineKey. * @member {string} [siteConfig.machineKey.validation] MachineKey validation. * @member {string} [siteConfig.machineKey.validationKey] Validation key. * @member {string} [siteConfig.machineKey.decryption] Algorithm used for * decryption. * @member {string} [siteConfig.machineKey.decryptionKey] Decryption key. * @member {array} [siteConfig.handlerMappings] Handler mappings. * @member {string} [siteConfig.documentRoot] Document root. * @member {string} [siteConfig.scmType] SCM type. Possible values include: * 'None', 'Dropbox', 'Tfs', 'LocalGit', 'GitHub', 'CodePlexGit', 'CodePlexHg', * 'BitbucketGit', 'BitbucketHg', 'ExternalGit', 'ExternalHg', 'OneDrive', * 'VSO' * @member {boolean} [siteConfig.use32BitWorkerProcess] true to * use 32-bit worker process; otherwise, false. * @member {boolean} [siteConfig.webSocketsEnabled] true if * WebSocket is enabled; otherwise, false. * @member {boolean} [siteConfig.alwaysOn] true if Always On is * enabled; otherwise, false. * @member {string} [siteConfig.javaVersion] Java version. * @member {string} [siteConfig.javaContainer] Java container. * @member {string} [siteConfig.javaContainerVersion] Java container version. * @member {string} [siteConfig.appCommandLine] App command line to launch. * @member {string} [siteConfig.managedPipelineMode] Managed pipeline mode. * Possible values include: 'Integrated', 'Classic' * @member {array} [siteConfig.virtualApplications] Virtual applications. * @member {string} [siteConfig.loadBalancing] Site load balancing. Possible * values include: 'WeightedRoundRobin', 'LeastRequests', 'LeastResponseTime', * 'WeightedTotalTraffic', 'RequestHash' * @member {object} [siteConfig.experiments] This is work around for polymophic * types. * @member {array} [siteConfig.experiments.rampUpRules] List of ramp-up rules. * @member {object} [siteConfig.limits] Site limits. * @member {number} [siteConfig.limits.maxPercentageCpu] Maximum allowed CPU * usage percentage. * @member {number} [siteConfig.limits.maxMemoryInMb] Maximum allowed memory * usage in MB. * @member {number} [siteConfig.limits.maxDiskSizeInMb] Maximum allowed disk * size usage in MB. * @member {boolean} [siteConfig.autoHealEnabled] true if Auto * Heal is enabled; otherwise, false. * @member {object} [siteConfig.autoHealRules] Auto Heal rules. * @member {object} [siteConfig.autoHealRules.triggers] Conditions that * describe when to execute the auto-heal actions. * @member {object} [siteConfig.autoHealRules.triggers.requests] A rule based * on total requests. * @member {number} [siteConfig.autoHealRules.triggers.requests.count] Request * Count. * @member {string} [siteConfig.autoHealRules.triggers.requests.timeInterval] * Time interval. * @member {number} [siteConfig.autoHealRules.triggers.privateBytesInKB] A rule * based on private bytes. * @member {array} [siteConfig.autoHealRules.triggers.statusCodes] A rule based * on status codes. * @member {object} [siteConfig.autoHealRules.triggers.slowRequests] A rule * based on request execution time. * @member {string} [siteConfig.autoHealRules.triggers.slowRequests.timeTaken] * Time taken. * @member {number} [siteConfig.autoHealRules.triggers.slowRequests.count] * Request Count. * @member {string} * [siteConfig.autoHealRules.triggers.slowRequests.timeInterval] Time interval. * @member {object} [siteConfig.autoHealRules.actions] Actions to be executed * when a rule is triggered. * @member {string} [siteConfig.autoHealRules.actions.actionType] Predefined * action to be taken. Possible values include: 'Recycle', 'LogEvent', * 'CustomAction' * @member {object} [siteConfig.autoHealRules.actions.customAction] Custom * action to be taken. * @member {string} [siteConfig.autoHealRules.actions.customAction.exe] * Executable to be run. * @member {string} [siteConfig.autoHealRules.actions.customAction.parameters] * Parameters for the executable. * @member {string} [siteConfig.autoHealRules.actions.minProcessExecutionTime] * Minimum time the process must execute * before taking the action * @member {string} [siteConfig.tracingOptions] Tracing options. * @member {string} [siteConfig.vnetName] Virtual Network name. * @member {object} [siteConfig.cors] Cross-Origin Resource Sharing (CORS) * settings. * @member {array} [siteConfig.cors.allowedOrigins] Gets or sets the list of * origins that should be allowed to make cross-origin * calls (for example: http://example.com:12345). Use "*" to allow all. * @member {object} [siteConfig.push] Push endpoint settings. * @member {boolean} [siteConfig.push.isPushEnabled] Gets or sets a flag * indicating whether the Push endpoint is enabled. * @member {string} [siteConfig.push.tagWhitelistJson] Gets or sets a JSON * string containing a list of tags that are whitelisted for use by the push * registration endpoint. * @member {string} [siteConfig.push.tagsRequiringAuth] Gets or sets a JSON * string containing a list of tags that require user authentication to be used * in the push registration endpoint. * Tags can consist of alphanumeric characters and the following: * '_', '@', '#', '.', ':', '-'. * Validation should be performed at the PushRequestHandler. * @member {string} [siteConfig.push.dynamicTagsJson] Gets or sets a JSON * string containing a list of dynamic tags that will be evaluated from user * claims in the push registration endpoint. * @member {object} [siteConfig.apiDefinition] Information about the formal API * definition for the app. * @member {string} [siteConfig.apiDefinition.url] The URL of the API * definition. * @member {string} [siteConfig.autoSwapSlotName] Auto-swap slot name. * @member {boolean} [siteConfig.localMySqlEnabled] true to enable * local MySQL; otherwise, false. * @member {number} [siteConfig.managedServiceIdentityId] Managed Service * Identity Id * @member {number} [siteConfig.xManagedServiceIdentityId] Explicit Managed * Service Identity Id * @member {array} [siteConfig.ipSecurityRestrictions] IP security * restrictions. * @member {boolean} [siteConfig.http20Enabled] Http20Enabled: configures a web * site to allow clients to connect over http2.0 * @member {string} [siteConfig.minTlsVersion] MinTlsVersion: configures the * minimum version of TLS required for SSL requests. Possible values include: * '1.0', '1.1', '1.2' * @member {string} [siteConfig.ftpsState] State of FTP / FTPS service. * Possible values include: 'AllAllowed', 'FtpsOnly', 'Disabled' * @member {number} [siteConfig.reservedInstanceCount] Number of reserved * instances. * This setting only applies to the Consumption Plan * @member {array} [trafficManagerHostNames] Azure Traffic Manager hostnames * associated with the app. Read-only. * @member {boolean} [scmSiteAlsoStopped] true to stop SCM (KUDU) * site when the app is stopped; otherwise, false. The default is * false. Default value: false . * @member {string} [targetSwapSlot] Specifies which deployment slot this app * will swap into. Read-only. * @member {object} [hostingEnvironmentProfile] App Service Environment to use * for the app. * @member {string} [hostingEnvironmentProfile.id] Resource ID of the App * Service Environment. * @member {string} [hostingEnvironmentProfile.name] Name of the App Service * Environment. * @member {string} [hostingEnvironmentProfile.type] Resource type of the App * Service Environment. * @member {boolean} [clientAffinityEnabled] true to enable client * affinity; false to stop sending session affinity cookies, which * route client requests in the same session to the same instance. Default is * true. * @member {boolean} [clientCertEnabled] true to enable client * certificate authentication (TLS mutual authentication); otherwise, * false. Default is false. * @member {boolean} [hostNamesDisabled] true to disable the * public hostnames of the app; otherwise, false. * If true, the app is only accessible via API management process. * @member {string} [outboundIpAddresses] List of IP addresses that the app * uses for outbound connections (e.g. database access). Includes VIPs from * tenants that site can be hosted with current settings. Read-only. * @member {string} [possibleOutboundIpAddresses] List of IP addresses that the * app uses for outbound connections (e.g. database access). Includes VIPs from * all tenants. Read-only. * @member {number} [containerSize] Size of the function container. * @member {number} [dailyMemoryTimeQuota] Maximum allowed daily memory-time * quota (applicable on dynamic apps only). * @member {date} [suspendedTill] App suspended till in case memory-time quota * is exceeded. * @member {number} [maxNumberOfWorkers] Maximum number of workers. * This only applies to Functions container. * @member {object} [cloningInfo] If specified during app creation, the app is * cloned from a source app. * @member {uuid} [cloningInfo.correlationId] Correlation ID of cloning * operation. This ID ties multiple cloning operations * together to use the same snapshot. * @member {boolean} [cloningInfo.overwrite] true to overwrite * destination app; otherwise, false. * @member {boolean} [cloningInfo.cloneCustomHostNames] true to * clone custom hostnames from source app; otherwise, false. * @member {boolean} [cloningInfo.cloneSourceControl] true to * clone source control from source app; otherwise, false. * @member {string} [cloningInfo.sourceWebAppId] ARM resource ID of the source * app. App resource ID is of the form * /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} * for production slots and * /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} * for other slots. * @member {string} [cloningInfo.hostingEnvironment] App Service Environment. * @member {object} [cloningInfo.appSettingsOverrides] Application setting * overrides for cloned app. If specified, these settings override the settings * cloned * from source app. Otherwise, application settings from source app are * retained. * @member {boolean} [cloningInfo.configureLoadBalancing] true to * configure load balancing for source and destination app. * @member {string} [cloningInfo.trafficManagerProfileId] ARM resource ID of * the Traffic Manager profile to use, if it exists. Traffic Manager resource * ID is of the form * /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. * @member {string} [cloningInfo.trafficManagerProfileName] Name of Traffic * Manager profile to create. This is only needed if Traffic Manager profile * does not already exist. * @member {string} [resourceGroup] Name of the resource group the app belongs * to. Read-only. * @member {boolean} [isDefaultContainer] true if the app is a * default container; otherwise, false. * @member {string} [defaultHostName] Default hostname of the app. Read-only. * @member {object} [slotSwapStatus] Status of the last deployment slot swap * operation. * @member {date} [slotSwapStatus.timestampUtc] The time the last successful * slot swap completed. * @member {string} [slotSwapStatus.sourceSlotName] The source slot of the last * swap operation. * @member {string} [slotSwapStatus.destinationSlotName] The destination slot * of the last swap operation. * @member {boolean} [httpsOnly] HttpsOnly: configures a web site to accept * only https requests. Issues redirect for * http requests * @member {object} [identity] * @member {string} [identity.type] Type of managed service identity. Possible * values include: 'SystemAssigned', 'UserAssigned' * @member {string} [identity.tenantId] Tenant of managed service identity. * @member {string} [identity.principalId] Principal Id of managed service * identity. * @member {array} [identity.identityIds] Array of UserAssigned managed service * identities. */ export interface Site extends Resource { readonly state?: string; readonly hostNames?: string[]; readonly repositorySiteName?: string; readonly usageState?: string; enabled?: boolean; readonly enabledHostNames?: string[]; readonly availabilityState?: string; hostNameSslStates?: HostNameSslState[]; serverFarmId?: string; reserved?: boolean; isXenon?: boolean; hyperV?: boolean; readonly lastModifiedTimeUtc?: Date; siteConfig?: SiteConfig; readonly trafficManagerHostNames?: string[]; scmSiteAlsoStopped?: boolean; readonly targetSwapSlot?: string; hostingEnvironmentProfile?: HostingEnvironmentProfile; clientAffinityEnabled?: boolean; clientCertEnabled?: boolean; hostNamesDisabled?: boolean; readonly outboundIpAddresses?: string; readonly possibleOutboundIpAddresses?: string; containerSize?: number; dailyMemoryTimeQuota?: number; readonly suspendedTill?: Date; readonly maxNumberOfWorkers?: number; cloningInfo?: CloningInfo; readonly resourceGroup?: string; readonly isDefaultContainer?: boolean; readonly defaultHostName?: string; readonly slotSwapStatus?: SlotSwapStatus; httpsOnly?: boolean; identity?: ManagedServiceIdentity; } /** * @class * Initializes a new instance of the Capability class. * @constructor * Describes the capabilities/features allowed for a specific SKU. * * @member {string} [name] Name of the SKU capability. * @member {string} [value] Value of the SKU capability. * @member {string} [reason] Reason of the SKU capability. */ export interface Capability { name?: string; value?: string; reason?: string; } /** * @class * Initializes a new instance of the SkuCapacity class. * @constructor * Description of the App Service plan scale options. * * @member {number} [minimum] Minimum number of workers for this App Service * plan SKU. * @member {number} [maximum] Maximum number of workers for this App Service * plan SKU. * @member {number} [default] Default number of workers for this App Service * plan SKU. * @member {string} [scaleType] Available scale configurations for an App * Service plan. */ export interface SkuCapacity { minimum?: number; maximum?: number; default?: number; scaleType?: string; } /** * @class * Initializes a new instance of the SkuDescription class. * @constructor * Description of a SKU for a scalable resource. * * @member {string} [name] Name of the resource SKU. * @member {string} [tier] Service tier of the resource SKU. * @member {string} [size] Size specifier of the resource SKU. * @member {string} [family] Family code of the resource SKU. * @member {number} [capacity] Current number of instances assigned to the * resource. * @member {object} [skuCapacity] Min, max, and default scale values of the * SKU. * @member {number} [skuCapacity.minimum] Minimum number of workers for this * App Service plan SKU. * @member {number} [skuCapacity.maximum] Maximum number of workers for this * App Service plan SKU. * @member {number} [skuCapacity.default] Default number of workers for this * App Service plan SKU. * @member {string} [skuCapacity.scaleType] Available scale configurations for * an App Service plan. * @member {array} [locations] Locations of the SKU. * @member {array} [capabilities] Capabilities of the SKU, e.g., is traffic * manager enabled? */ export interface SkuDescription { name?: string; tier?: string; size?: string; family?: string; capacity?: number; skuCapacity?: SkuCapacity; locations?: string[]; capabilities?: Capability[]; } /** * @class * Initializes a new instance of the AppServicePlan class. * @constructor * App Service plan. * * @member {string} [workerTierName] Target worker tier assigned to the App * Service plan. * @member {string} [status] App Service plan status. Possible values include: * 'Ready', 'Pending', 'Creating' * @member {string} [subscription] App Service plan subscription. * @member {string} [adminSiteName] App Service plan administration site. * @member {object} [hostingEnvironmentProfile] Specification for the App * Service Environment to use for the App Service plan. * @member {string} [hostingEnvironmentProfile.id] Resource ID of the App * Service Environment. * @member {string} [hostingEnvironmentProfile.name] Name of the App Service * Environment. * @member {string} [hostingEnvironmentProfile.type] Resource type of the App * Service Environment. * @member {number} [maximumNumberOfWorkers] Maximum number of instances that * can be assigned to this App Service plan. * @member {string} [geoRegion] Geographical location for the App Service plan. * @member {boolean} [perSiteScaling] If true, apps assigned to * this App Service plan can be scaled independently. * If false, apps assigned to this App Service plan will scale to * all instances of the plan. Default value: false . * @member {number} [maximumElasticWorkerCount] Maximum number of total workers * allowed for this ElasticScaleEnabled App Service Plan * @member {number} [numberOfSites] Number of apps assigned to this App Service * plan. * @member {boolean} [isSpot] If true, this App Service Plan owns * spot instances. * @member {date} [spotExpirationTime] The time when the server farm expires. * Valid only if it is a spot server farm. * @member {date} [freeOfferExpirationTime] The time when the server farm free * offer expires. * @member {string} [resourceGroup] Resource group of the App Service plan. * @member {boolean} [reserved] If Linux app service plan true, * false otherwise. Default value: false . * @member {boolean} [isXenon] Obsolete: If Hyper-V container app service plan * true, false otherwise. Default value: false . * @member {boolean} [hyperV] If Hyper-V container app service plan * true, false otherwise. Default value: false . * @member {number} [targetWorkerCount] Scaling worker count. * @member {number} [targetWorkerSizeId] Scaling worker size ID. * @member {string} [provisioningState] Provisioning state of the App Service * Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', * 'InProgress', 'Deleting' * @member {object} [sku] * @member {string} [sku.name] Name of the resource SKU. * @member {string} [sku.tier] Service tier of the resource SKU. * @member {string} [sku.size] Size specifier of the resource SKU. * @member {string} [sku.family] Family code of the resource SKU. * @member {number} [sku.capacity] Current number of instances assigned to the * resource. * @member {object} [sku.skuCapacity] Min, max, and default scale values of the * SKU. * @member {number} [sku.skuCapacity.minimum] Minimum number of workers for * this App Service plan SKU. * @member {number} [sku.skuCapacity.maximum] Maximum number of workers for * this App Service plan SKU. * @member {number} [sku.skuCapacity.default] Default number of workers for * this App Service plan SKU. * @member {string} [sku.skuCapacity.scaleType] Available scale configurations * for an App Service plan. * @member {array} [sku.locations] Locations of the SKU. * @member {array} [sku.capabilities] Capabilities of the SKU, e.g., is traffic * manager enabled? */ export interface AppServicePlan extends Resource { workerTierName?: string; readonly status?: string; readonly subscription?: string; adminSiteName?: string; hostingEnvironmentProfile?: HostingEnvironmentProfile; readonly maximumNumberOfWorkers?: number; readonly geoRegion?: string; perSiteScaling?: boolean; maximumElasticWorkerCount?: number; readonly numberOfSites?: number; isSpot?: boolean; spotExpirationTime?: Date; freeOfferExpirationTime?: Date; readonly resourceGroup?: string; reserved?: boolean; isXenon?: boolean; hyperV?: boolean; targetWorkerCount?: number; targetWorkerSizeId?: number; readonly provisioningState?: string; sku?: SkuDescription; } /** * @class * Initializes a new instance of the DefaultErrorResponseErrorDetailsItem class. * @constructor * Detailed errors. * * @member {string} [code] Standardized string to programmatically identify the * error. * @member {string} [message] Detailed error description and debugging * information. * @member {string} [target] Detailed error description and debugging * information. */ export interface DefaultErrorResponseErrorDetailsItem { readonly code?: string; readonly message?: string; readonly target?: string; } /** * @class * Initializes a new instance of the DefaultErrorResponseError class. * @constructor * Error model. * * @member {string} [code] Standardized string to programmatically identify the * error. * @member {string} [message] Detailed error description and debugging * information. * @member {string} [target] Detailed error description and debugging * information. * @member {array} [details] * @member {string} [innererror] More information to debug error. */ export interface DefaultErrorResponseError { readonly code?: string; readonly message?: string; readonly target?: string; details?: DefaultErrorResponseErrorDetailsItem[]; readonly innererror?: string; } /** * @class * Initializes a new instance of the DefaultErrorResponse class. * @constructor * App Service error response. * * @member {object} [error] Error model. * @member {string} [error.code] Standardized string to programmatically * identify the error. * @member {string} [error.message] Detailed error description and debugging * information. * @member {string} [error.target] Detailed error description and debugging * information. * @member {array} [error.details] * @member {string} [error.innererror] More information to debug error. */ export interface DefaultErrorResponse { readonly error?: DefaultErrorResponseError; } /** * @class * Initializes a new instance of the NameIdentifier class. * @constructor * Identifies an object. * * @member {string} [name] Name of the object. */ export interface NameIdentifier { name?: string; } /** * @class * Initializes a new instance of the LogSpecification class. * @constructor * Log Definition of a single resource metric. * * @member {string} [name] * @member {string} [displayName] * @member {string} [blobDuration] */ export interface LogSpecification { name?: string; displayName?: string; blobDuration?: string; } /** * @class * Initializes a new instance of the MetricAvailability class. * @constructor * Retention policy of a resource metric. * * @member {string} [timeGrain] * @member {string} [blobDuration] */ export interface MetricAvailability { timeGrain?: string; blobDuration?: string; } /** * @class * Initializes a new instance of the Dimension class. * @constructor * Dimension of a resource metric. For e.g. instance specific HTTP requests for * a web app, * where instance name is dimension of the metric HTTP request * * @member {string} [name] * @member {string} [displayName] * @member {string} [internalName] * @member {boolean} [toBeExportedForShoebox] */ export interface Dimension { name?: string; displayName?: string; internalName?: string; toBeExportedForShoebox?: boolean; } /** * @class * Initializes a new instance of the MetricSpecification class. * @constructor * Definition of a single resource metric. * * @member {string} [name] * @member {string} [displayName] * @member {string} [displayDescription] * @member {string} [unit] * @member {string} [aggregationType] * @member {boolean} [supportsInstanceLevelAggregation] * @member {boolean} [enableRegionalMdmAccount] * @member {string} [sourceMdmAccount] * @member {string} [sourceMdmNamespace] * @member {string} [metricFilterPattern] * @member {boolean} [fillGapWithZero] * @member {boolean} [isInternal] * @member {array} [dimensions] * @member {string} [category] * @member {array} [availabilities] */ export interface MetricSpecification { name?: string; displayName?: string; displayDescription?: string; unit?: string; aggregationType?: string; supportsInstanceLevelAggregation?: boolean; enableRegionalMdmAccount?: boolean; sourceMdmAccount?: string; sourceMdmNamespace?: string; metricFilterPattern?: string; fillGapWithZero?: boolean; isInternal?: boolean; dimensions?: Dimension[]; category?: string; availabilities?: MetricAvailability[]; } /** * @class * Initializes a new instance of the ServiceSpecification class. * @constructor * Resource metrics service provided by Microsoft.Insights resource provider. * * @member {array} [metricSpecifications] * @member {array} [logSpecifications] */ export interface ServiceSpecification { metricSpecifications?: MetricSpecification[]; logSpecifications?: LogSpecification[]; } /** * @class * Initializes a new instance of the CsmOperationDescriptionProperties class. * @constructor * Properties available for a Microsoft.Web resource provider operation. * * @member {object} [serviceSpecification] * @member {array} [serviceSpecification.metricSpecifications] * @member {array} [serviceSpecification.logSpecifications] */ export interface CsmOperationDescriptionProperties { serviceSpecification?: ServiceSpecification; } /** * @class * Initializes a new instance of the CsmOperationDisplay class. * @constructor * Meta data about operation used for display in portal. * * @member {string} [provider] * @member {string} [resource] * @member {string} [operation] * @member {string} [description] */ export interface CsmOperationDisplay { provider?: string; resource?: string; operation?: string; description?: string; } /** * @class * Initializes a new instance of the CsmOperationDescription class. * @constructor * Description of an operation available for Microsoft.Web resource provider. * * @member {string} [name] * @member {object} [display] * @member {string} [display.provider] * @member {string} [display.resource] * @member {string} [display.operation] * @member {string} [display.description] * @member {string} [origin] * @member {object} [properties] * @member {object} [properties.serviceSpecification] * @member {array} [properties.serviceSpecification.metricSpecifications] * @member {array} [properties.serviceSpecification.logSpecifications] */ export interface CsmOperationDescription { name?: string; display?: CsmOperationDisplay; origin?: string; properties?: CsmOperationDescriptionProperties; } /** * @class * Initializes a new instance of the Address class. * @constructor * Address information for domain registration. * * @member {string} address1 First line of an Address. * @member {string} [address2] The second line of the Address. Optional. * @member {string} city The city for the address. * @member {string} country The country for the address. * @member {string} postalCode The postal code for the address. * @member {string} state The state or province for the address. */ export interface Address { address1: string; address2?: string; city: string; country: string; postalCode: string; state: string; } /** * @class * Initializes a new instance of the Contact class. * @constructor * Contact information for domain registration. If 'Domain Privacy' option is * not selected then the contact information is made publicly available through * the Whois * directories as per ICANN requirements. * * @member {object} [addressMailing] Mailing address. * @member {string} [addressMailing.address1] First line of an Address. * @member {string} [addressMailing.address2] The second line of the Address. * Optional. * @member {string} [addressMailing.city] The city for the address. * @member {string} [addressMailing.country] The country for the address. * @member {string} [addressMailing.postalCode] The postal code for the * address. * @member {string} [addressMailing.state] The state or province for the * address. * @member {string} email Email address. * @member {string} [fax] Fax number. * @member {string} [jobTitle] Job title. * @member {string} nameFirst First name. * @member {string} nameLast Last name. * @member {string} [nameMiddle] Middle name. * @member {string} [organization] Organization contact belongs to. * @member {string} phone Phone number. */ export interface Contact { addressMailing?: Address; email: string; fax?: string; jobTitle?: string; nameFirst: string; nameLast: string; nameMiddle?: string; organization?: string; phone: string; } /** * @class * Initializes a new instance of the HostName class. * @constructor * Details of a hostname derived from a domain. * * @member {string} [name] Name of the hostname. * @member {array} [siteNames] List of apps the hostname is assigned to. This * list will have more than one app only if the hostname is pointing to a * Traffic Manager. * @member {string} [azureResourceName] Name of the Azure resource the hostname * is assigned to. If it is assigned to a Traffic Manager then it will be the * Traffic Manager name otherwise it will be the app name. * @member {string} [azureResourceType] Type of the Azure resource the hostname * is assigned to. Possible values include: 'Website', 'TrafficManager' * @member {string} [customHostNameDnsRecordType] Type of the DNS record. * Possible values include: 'CName', 'A' * @member {string} [hostNameType] Type of the hostname. Possible values * include: 'Verified', 'Managed' */ export interface HostName { name?: string; siteNames?: string[]; azureResourceName?: string; azureResourceType?: string; customHostNameDnsRecordType?: string; hostNameType?: string; } /** * @class * Initializes a new instance of the DomainPurchaseConsent class. * @constructor * Domain purchase consent object, representing acceptance of applicable legal * agreements. * * @member {array} [agreementKeys] List of applicable legal agreement keys. * This list can be retrieved using ListLegalAgreements API under * TopLevelDomain resource. * @member {string} [agreedBy] Client IP address. * @member {date} [agreedAt] Timestamp when the agreements were accepted. */ export interface DomainPurchaseConsent { agreementKeys?: string[]; agreedBy?: string; agreedAt?: Date; } /** * @class * Initializes a new instance of the Domain class. * @constructor * Information about a domain. * * @member {object} contactAdmin Administrative contact. * @member {object} [contactAdmin.addressMailing] Mailing address. * @member {string} [contactAdmin.addressMailing.address1] First line of an * Address. * @member {string} [contactAdmin.addressMailing.address2] The second line of * the Address. Optional. * @member {string} [contactAdmin.addressMailing.city] The city for the * address. * @member {string} [contactAdmin.addressMailing.country] The country for the * address. * @member {string} [contactAdmin.addressMailing.postalCode] The postal code * for the address. * @member {string} [contactAdmin.addressMailing.state] The state or province * for the address. * @member {string} [contactAdmin.email] Email address. * @member {string} [contactAdmin.fax] Fax number. * @member {string} [contactAdmin.jobTitle] Job title. * @member {string} [contactAdmin.nameFirst] First name. * @member {string} [contactAdmin.nameLast] Last name. * @member {string} [contactAdmin.nameMiddle] Middle name. * @member {string} [contactAdmin.organization] Organization contact belongs * to. * @member {string} [contactAdmin.phone] Phone number. * @member {object} contactBilling Billing contact. * @member {object} [contactBilling.addressMailing] Mailing address. * @member {string} [contactBilling.addressMailing.address1] First line of an * Address. * @member {string} [contactBilling.addressMailing.address2] The second line of * the Address. Optional. * @member {string} [contactBilling.addressMailing.city] The city for the * address. * @member {string} [contactBilling.addressMailing.country] The country for the * address. * @member {string} [contactBilling.addressMailing.postalCode] The postal code * for the address. * @member {string} [contactBilling.addressMailing.state] The state or province * for the address. * @member {string} [contactBilling.email] Email address. * @member {string} [contactBilling.fax] Fax number. * @member {string} [contactBilling.jobTitle] Job title. * @member {string} [contactBilling.nameFirst] First name. * @member {string} [contactBilling.nameLast] Last name. * @member {string} [contactBilling.nameMiddle] Middle name. * @member {string} [contactBilling.organization] Organization contact belongs * to. * @member {string} [contactBilling.phone] Phone number. * @member {object} contactRegistrant Registrant contact. * @member {object} [contactRegistrant.addressMailing] Mailing address. * @member {string} [contactRegistrant.addressMailing.address1] First line of * an Address. * @member {string} [contactRegistrant.addressMailing.address2] The second line * of the Address. Optional. * @member {string} [contactRegistrant.addressMailing.city] The city for the * address. * @member {string} [contactRegistrant.addressMailing.country] The country for * the address. * @member {string} [contactRegistrant.addressMailing.postalCode] The postal * code for the address. * @member {string} [contactRegistrant.addressMailing.state] The state or * province for the address. * @member {string} [contactRegistrant.email] Email address. * @member {string} [contactRegistrant.fax] Fax number. * @member {string} [contactRegistrant.jobTitle] Job title. * @member {string} [contactRegistrant.nameFirst] First name. * @member {string} [contactRegistrant.nameLast] Last name. * @member {string} [contactRegistrant.nameMiddle] Middle name. * @member {string} [contactRegistrant.organization] Organization contact * belongs to. * @member {string} [contactRegistrant.phone] Phone number. * @member {object} contactTech Technical contact. * @member {object} [contactTech.addressMailing] Mailing address. * @member {string} [contactTech.addressMailing.address1] First line of an * Address. * @member {string} [contactTech.addressMailing.address2] The second line of * the Address. Optional. * @member {string} [contactTech.addressMailing.city] The city for the address. * @member {string} [contactTech.addressMailing.country] The country for the * address. * @member {string} [contactTech.addressMailing.postalCode] The postal code for * the address. * @member {string} [contactTech.addressMailing.state] The state or province * for the address. * @member {string} [contactTech.email] Email address. * @member {string} [contactTech.fax] Fax number. * @member {string} [contactTech.jobTitle] Job title. * @member {string} [contactTech.nameFirst] First name. * @member {string} [contactTech.nameLast] Last name. * @member {string} [contactTech.nameMiddle] Middle name. * @member {string} [contactTech.organization] Organization contact belongs to. * @member {string} [contactTech.phone] Phone number. * @member {string} [registrationStatus] Domain registration status. Possible * values include: 'Active', 'Awaiting', 'Cancelled', 'Confiscated', * 'Disabled', 'Excluded', 'Expired', 'Failed', 'Held', 'Locked', 'Parked', * 'Pending', 'Reserved', 'Reverted', 'Suspended', 'Transferred', 'Unknown', * 'Unlocked', 'Unparked', 'Updated', 'JsonConverterFailed' * @member {string} [provisioningState] Domain provisioning state. Possible * values include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Deleting' * @member {array} [nameServers] Name servers. * @member {boolean} [privacy] true if domain privacy is enabled * for this domain; otherwise, false. * @member {date} [createdTime] Domain creation timestamp. * @member {date} [expirationTime] Domain expiration timestamp. * @member {date} [lastRenewedTime] Timestamp when the domain was renewed last * time. * @member {boolean} [autoRenew] true if the domain should be * automatically renewed; otherwise, false. Default value: true . * @member {boolean} [readyForDnsRecordManagement] true if Azure * can assign this domain to App Service apps; otherwise, false. * This value will be true if domain registration status is active * and * it is hosted on name servers Azure has programmatic access to. * @member {array} [managedHostNames] All hostnames derived from the domain and * assigned to Azure resources. * @member {object} consent Legal agreement consent. * @member {array} [consent.agreementKeys] List of applicable legal agreement * keys. This list can be retrieved using ListLegalAgreements API under * TopLevelDomain resource. * @member {string} [consent.agreedBy] Client IP address. * @member {date} [consent.agreedAt] Timestamp when the agreements were * accepted. * @member {array} [domainNotRenewableReasons] Reasons why domain is not * renewable. * @member {string} [dnsType] Current DNS type. Possible values include: * 'AzureDns', 'DefaultDomainRegistrarDns' * @member {string} [dnsZoneId] Azure DNS Zone to use * @member {string} [targetDnsType] Target DNS type (would be used for * migration). Possible values include: 'AzureDns', 'DefaultDomainRegistrarDns' * @member {string} [authCode] */ export interface Domain extends Resource { contactAdmin: Contact; contactBilling: Contact; contactRegistrant: Contact; contactTech: Contact; readonly registrationStatus?: string; readonly provisioningState?: string; readonly nameServers?: string[]; privacy?: boolean; readonly createdTime?: Date; readonly expirationTime?: Date; readonly lastRenewedTime?: Date; autoRenew?: boolean; readonly readyForDnsRecordManagement?: boolean; readonly managedHostNames?: HostName[]; consent: DomainPurchaseConsent; readonly domainNotRenewableReasons?: string[]; dnsType?: string; dnsZoneId?: string; targetDnsType?: string; authCode?: string; } /** * @class * Initializes a new instance of the DomainAvailablilityCheckResult class. * @constructor * Domain availablility check result. * * @member {string} [name] Name of the domain. * @member {boolean} [available] true if domain can be purchased * using CreateDomain API; otherwise, false. * @member {string} [domainType] Valid values are Regular domain: Azure will * charge the full price of domain registration, SoftDeleted: Purchasing this * domain will simply restore it and this operation will not cost anything. * Possible values include: 'Regular', 'SoftDeleted' */ export interface DomainAvailablilityCheckResult { name?: string; available?: boolean; domainType?: string; } /** * @class * Initializes a new instance of the DomainControlCenterSsoRequest class. * @constructor * Single sign-on request information for domain management. * * @member {string} [url] URL where the single sign-on request is to be made. * @member {string} [postParameterKey] Post parameter key. * @member {string} [postParameterValue] Post parameter value. Client should * use 'application/x-www-form-urlencoded' encoding for this value. */ export interface DomainControlCenterSsoRequest { readonly url?: string; readonly postParameterKey?: string; readonly postParameterValue?: string; } /** * @class * Initializes a new instance of the DomainOwnershipIdentifier class. * @constructor * Domain ownership Identifier. * * @member {string} [ownershipId] Ownership Id. */ export interface DomainOwnershipIdentifier extends ProxyOnlyResource { ownershipId?: string; } /** * @class * Initializes a new instance of the DomainPatchResource class. * @constructor * ARM resource for a domain. * * @member {object} contactAdmin Administrative contact. * @member {object} [contactAdmin.addressMailing] Mailing address. * @member {string} [contactAdmin.addressMailing.address1] First line of an * Address. * @member {string} [contactAdmin.addressMailing.address2] The second line of * the Address. Optional. * @member {string} [contactAdmin.addressMailing.city] The city for the * address. * @member {string} [contactAdmin.addressMailing.country] The country for the * address. * @member {string} [contactAdmin.addressMailing.postalCode] The postal code * for the address. * @member {string} [contactAdmin.addressMailing.state] The state or province * for the address. * @member {string} [contactAdmin.email] Email address. * @member {string} [contactAdmin.fax] Fax number. * @member {string} [contactAdmin.jobTitle] Job title. * @member {string} [contactAdmin.nameFirst] First name. * @member {string} [contactAdmin.nameLast] Last name. * @member {string} [contactAdmin.nameMiddle] Middle name. * @member {string} [contactAdmin.organization] Organization contact belongs * to. * @member {string} [contactAdmin.phone] Phone number. * @member {object} contactBilling Billing contact. * @member {object} [contactBilling.addressMailing] Mailing address. * @member {string} [contactBilling.addressMailing.address1] First line of an * Address. * @member {string} [contactBilling.addressMailing.address2] The second line of * the Address. Optional. * @member {string} [contactBilling.addressMailing.city] The city for the * address. * @member {string} [contactBilling.addressMailing.country] The country for the * address. * @member {string} [contactBilling.addressMailing.postalCode] The postal code * for the address. * @member {string} [contactBilling.addressMailing.state] The state or province * for the address. * @member {string} [contactBilling.email] Email address. * @member {string} [contactBilling.fax] Fax number. * @member {string} [contactBilling.jobTitle] Job title. * @member {string} [contactBilling.nameFirst] First name. * @member {string} [contactBilling.nameLast] Last name. * @member {string} [contactBilling.nameMiddle] Middle name. * @member {string} [contactBilling.organization] Organization contact belongs * to. * @member {string} [contactBilling.phone] Phone number. * @member {object} contactRegistrant Registrant contact. * @member {object} [contactRegistrant.addressMailing] Mailing address. * @member {string} [contactRegistrant.addressMailing.address1] First line of * an Address. * @member {string} [contactRegistrant.addressMailing.address2] The second line * of the Address. Optional. * @member {string} [contactRegistrant.addressMailing.city] The city for the * address. * @member {string} [contactRegistrant.addressMailing.country] The country for * the address. * @member {string} [contactRegistrant.addressMailing.postalCode] The postal * code for the address. * @member {string} [contactRegistrant.addressMailing.state] The state or * province for the address. * @member {string} [contactRegistrant.email] Email address. * @member {string} [contactRegistrant.fax] Fax number. * @member {string} [contactRegistrant.jobTitle] Job title. * @member {string} [contactRegistrant.nameFirst] First name. * @member {string} [contactRegistrant.nameLast] Last name. * @member {string} [contactRegistrant.nameMiddle] Middle name. * @member {string} [contactRegistrant.organization] Organization contact * belongs to. * @member {string} [contactRegistrant.phone] Phone number. * @member {object} contactTech Technical contact. * @member {object} [contactTech.addressMailing] Mailing address. * @member {string} [contactTech.addressMailing.address1] First line of an * Address. * @member {string} [contactTech.addressMailing.address2] The second line of * the Address. Optional. * @member {string} [contactTech.addressMailing.city] The city for the address. * @member {string} [contactTech.addressMailing.country] The country for the * address. * @member {string} [contactTech.addressMailing.postalCode] The postal code for * the address. * @member {string} [contactTech.addressMailing.state] The state or province * for the address. * @member {string} [contactTech.email] Email address. * @member {string} [contactTech.fax] Fax number. * @member {string} [contactTech.jobTitle] Job title. * @member {string} [contactTech.nameFirst] First name. * @member {string} [contactTech.nameLast] Last name. * @member {string} [contactTech.nameMiddle] Middle name. * @member {string} [contactTech.organization] Organization contact belongs to. * @member {string} [contactTech.phone] Phone number. * @member {string} [registrationStatus] Domain registration status. Possible * values include: 'Active', 'Awaiting', 'Cancelled', 'Confiscated', * 'Disabled', 'Excluded', 'Expired', 'Failed', 'Held', 'Locked', 'Parked', * 'Pending', 'Reserved', 'Reverted', 'Suspended', 'Transferred', 'Unknown', * 'Unlocked', 'Unparked', 'Updated', 'JsonConverterFailed' * @member {string} [provisioningState] Domain provisioning state. Possible * values include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Deleting' * @member {array} [nameServers] Name servers. * @member {boolean} [privacy] true if domain privacy is enabled * for this domain; otherwise, false. * @member {date} [createdTime] Domain creation timestamp. * @member {date} [expirationTime] Domain expiration timestamp. * @member {date} [lastRenewedTime] Timestamp when the domain was renewed last * time. * @member {boolean} [autoRenew] true if the domain should be * automatically renewed; otherwise, false. Default value: true . * @member {boolean} [readyForDnsRecordManagement] true if Azure * can assign this domain to App Service apps; otherwise, false. * This value will be true if domain registration status is active * and * it is hosted on name servers Azure has programmatic access to. * @member {array} [managedHostNames] All hostnames derived from the domain and * assigned to Azure resources. * @member {object} consent Legal agreement consent. * @member {array} [consent.agreementKeys] List of applicable legal agreement * keys. This list can be retrieved using ListLegalAgreements API under * TopLevelDomain resource. * @member {string} [consent.agreedBy] Client IP address. * @member {date} [consent.agreedAt] Timestamp when the agreements were * accepted. * @member {array} [domainNotRenewableReasons] Reasons why domain is not * renewable. * @member {string} [dnsType] Current DNS type. Possible values include: * 'AzureDns', 'DefaultDomainRegistrarDns' * @member {string} [dnsZoneId] Azure DNS Zone to use * @member {string} [targetDnsType] Target DNS type (would be used for * migration). Possible values include: 'AzureDns', 'DefaultDomainRegistrarDns' * @member {string} [authCode] */ export interface DomainPatchResource extends ProxyOnlyResource { contactAdmin: Contact; contactBilling: Contact; contactRegistrant: Contact; contactTech: Contact; readonly registrationStatus?: string; readonly provisioningState?: string; readonly nameServers?: string[]; privacy?: boolean; readonly createdTime?: Date; readonly expirationTime?: Date; readonly lastRenewedTime?: Date; autoRenew?: boolean; readonly readyForDnsRecordManagement?: boolean; readonly managedHostNames?: HostName[]; consent: DomainPurchaseConsent; readonly domainNotRenewableReasons?: string[]; dnsType?: string; dnsZoneId?: string; targetDnsType?: string; authCode?: string; } /** * @class * Initializes a new instance of the DomainRecommendationSearchParameters class. * @constructor * Domain recommendation search parameters. * * @member {string} [keywords] Keywords to be used for generating domain * recommendations. * @member {number} [maxDomainRecommendations] Maximum number of * recommendations. */ export interface DomainRecommendationSearchParameters { keywords?: string; maxDomainRecommendations?: number; } /** * @class * Initializes a new instance of the TldLegalAgreement class. * @constructor * Legal agreement for a top level domain. * * @member {string} agreementKey Unique identifier for the agreement. * @member {string} title Agreement title. * @member {string} content Agreement details. * @member {string} [url] URL where a copy of the agreement details is hosted. */ export interface TldLegalAgreement { agreementKey: string; title: string; content: string; url?: string; } /** * @class * Initializes a new instance of the TopLevelDomain class. * @constructor * A top level domain object. * * @member {boolean} [privacy] If true, then the top level domain * supports domain privacy; otherwise, false. */ export interface TopLevelDomain extends ProxyOnlyResource { privacy?: boolean; } /** * @class * Initializes a new instance of the TopLevelDomainAgreementOption class. * @constructor * Options for retrieving the list of top level domain legal agreements. * * @member {boolean} [includePrivacy] If true, then the list of * agreements will include agreements for domain privacy as well; otherwise, * false. * @member {boolean} [forTransfer] If true, then the list of * agreements will include agreements for domain transfer as well; otherwise, * false. */ export interface TopLevelDomainAgreementOption { includePrivacy?: boolean; forTransfer?: boolean; } /** * @class * Initializes a new instance of the Certificate class. * @constructor * SSL certificate for an app. * * @member {string} [friendlyName] Friendly name of the certificate. * @member {string} [subjectName] Subject name of the certificate. * @member {array} [hostNames] Host names the certificate applies to. * @member {buffer} [pfxBlob] Pfx blob. * @member {string} [siteName] App name. * @member {string} [selfLink] Self link. * @member {string} [issuer] Certificate issuer. * @member {date} [issueDate] Certificate issue Date. * @member {date} [expirationDate] Certificate expriration date. * @member {string} password Certificate password. * @member {string} [thumbprint] Certificate thumbprint. * @member {boolean} [valid] Is the certificate valid?. * @member {buffer} [cerBlob] Raw bytes of .cer file * @member {string} [publicKeyHash] Public key hash. * @member {object} [hostingEnvironmentProfile] Specification for the App * Service Environment to use for the certificate. * @member {string} [hostingEnvironmentProfile.id] Resource ID of the App * Service Environment. * @member {string} [hostingEnvironmentProfile.name] Name of the App Service * Environment. * @member {string} [hostingEnvironmentProfile.type] Resource type of the App * Service Environment. * @member {string} [keyVaultId] Key Vault Csm resource Id. * @member {string} [keyVaultSecretName] Key Vault secret name. * @member {string} [keyVaultSecretStatus] Status of the Key Vault secret. * Possible values include: 'Initialized', 'WaitingOnCertificateOrder', * 'Succeeded', 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', * 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', * 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', * 'Unknown' * @member {string} [serverFarmId] Resource ID of the associated App Service * plan, formatted as: * "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". */ export interface Certificate extends Resource { readonly friendlyName?: string; readonly subjectName?: string; hostNames?: string[]; pfxBlob?: Buffer; readonly siteName?: string; readonly selfLink?: string; readonly issuer?: string; readonly issueDate?: Date; readonly expirationDate?: Date; password: string; readonly thumbprint?: string; readonly valid?: boolean; readonly cerBlob?: Buffer; readonly publicKeyHash?: string; readonly hostingEnvironmentProfile?: HostingEnvironmentProfile; keyVaultId?: string; keyVaultSecretName?: string; readonly keyVaultSecretStatus?: string; serverFarmId?: string; } /** * @class * Initializes a new instance of the CertificatePatchResource class. * @constructor * ARM resource for a certificate. * * @member {string} [friendlyName] Friendly name of the certificate. * @member {string} [subjectName] Subject name of the certificate. * @member {array} [hostNames] Host names the certificate applies to. * @member {buffer} [pfxBlob] Pfx blob. * @member {string} [siteName] App name. * @member {string} [selfLink] Self link. * @member {string} [issuer] Certificate issuer. * @member {date} [issueDate] Certificate issue Date. * @member {date} [expirationDate] Certificate expriration date. * @member {string} password Certificate password. * @member {string} [thumbprint] Certificate thumbprint. * @member {boolean} [valid] Is the certificate valid?. * @member {buffer} [cerBlob] Raw bytes of .cer file * @member {string} [publicKeyHash] Public key hash. * @member {object} [hostingEnvironmentProfile] Specification for the App * Service Environment to use for the certificate. * @member {string} [hostingEnvironmentProfile.id] Resource ID of the App * Service Environment. * @member {string} [hostingEnvironmentProfile.name] Name of the App Service * Environment. * @member {string} [hostingEnvironmentProfile.type] Resource type of the App * Service Environment. * @member {string} [keyVaultId] Key Vault Csm resource Id. * @member {string} [keyVaultSecretName] Key Vault secret name. * @member {string} [keyVaultSecretStatus] Status of the Key Vault secret. * Possible values include: 'Initialized', 'WaitingOnCertificateOrder', * 'Succeeded', 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', * 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', * 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', * 'Unknown' * @member {string} [serverFarmId] Resource ID of the associated App Service * plan, formatted as: * "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". */ export interface CertificatePatchResource extends ProxyOnlyResource { readonly friendlyName?: string; readonly subjectName?: string; hostNames?: string[]; pfxBlob?: Buffer; readonly siteName?: string; readonly selfLink?: string; readonly issuer?: string; readonly issueDate?: Date; readonly expirationDate?: Date; password: string; readonly thumbprint?: string; readonly valid?: boolean; readonly cerBlob?: Buffer; readonly publicKeyHash?: string; readonly hostingEnvironmentProfile?: HostingEnvironmentProfile; keyVaultId?: string; keyVaultSecretName?: string; readonly keyVaultSecretStatus?: string; serverFarmId?: string; } /** * @class * Initializes a new instance of the VirtualNetworkProfile class. * @constructor * Specification for using a Virtual Network. * * @member {string} [id] Resource id of the Virtual Network. * @member {string} [name] Name of the Virtual Network (read-only). * @member {string} [type] Resource type of the Virtual Network (read-only). * @member {string} [subnet] Subnet within the Virtual Network. */ export interface VirtualNetworkProfile { id?: string; readonly name?: string; readonly type?: string; subnet?: string; } /** * @class * Initializes a new instance of the WorkerPool class. * @constructor * Worker pool of an App Service Environment. * * @member {number} [workerSizeId] Worker size ID for referencing this worker * pool. * @member {string} [computeMode] Shared or dedicated app hosting. Possible * values include: 'Shared', 'Dedicated', 'Dynamic' * @member {string} [workerSize] VM size of the worker pool instances. * @member {number} [workerCount] Number of instances in the worker pool. * @member {array} [instanceNames] Names of all instances in the worker pool * (read only). */ export interface WorkerPool { workerSizeId?: number; computeMode?: string; workerSize?: string; workerCount?: number; readonly instanceNames?: string[]; } /** * @class * Initializes a new instance of the VirtualIPMapping class. * @constructor * Virtual IP mapping. * * @member {string} [virtualIP] Virtual IP address. * @member {number} [internalHttpPort] Internal HTTP port. * @member {number} [internalHttpsPort] Internal HTTPS port. * @member {boolean} [inUse] Is virtual IP mapping in use. */ export interface VirtualIPMapping { virtualIP?: string; internalHttpPort?: number; internalHttpsPort?: number; inUse?: boolean; } /** * @class * Initializes a new instance of the StampCapacity class. * @constructor * Stamp capacity information. * * @member {string} [name] Name of the stamp. * @member {number} [availableCapacity] Available capacity (# of machines, * bytes of storage etc...). * @member {number} [totalCapacity] Total capacity (# of machines, bytes of * storage etc...). * @member {string} [unit] Name of the unit. * @member {string} [computeMode] Shared/dedicated workers. Possible values * include: 'Shared', 'Dedicated', 'Dynamic' * @member {string} [workerSize] Size of the machines. Possible values include: * 'Small', 'Medium', 'Large', 'D1', 'D2', 'D3', 'Default' * @member {number} [workerSizeId] Size ID of machines: * 0 - Small * 1 - Medium * 2 - Large * @member {boolean} [excludeFromCapacityAllocation] If true, it * includes basic apps. * Basic apps are not used for capacity allocation. * @member {boolean} [isApplicableForAllComputeModes] true if * capacity is applicable for all apps; otherwise, false. * @member {string} [siteMode] Shared or Dedicated. * @member {boolean} [isLinux] Is this a linux stamp capacity */ export interface StampCapacity { name?: string; availableCapacity?: number; totalCapacity?: number; unit?: string; computeMode?: string; workerSize?: string; workerSizeId?: number; excludeFromCapacityAllocation?: boolean; isApplicableForAllComputeModes?: boolean; siteMode?: string; isLinux?: boolean; } /** * @class * Initializes a new instance of the NetworkAccessControlEntry class. * @constructor * Network access control entry. * * @member {string} [action] Action object. Possible values include: 'Permit', * 'Deny' * @member {string} [description] Description of network access control entry. * @member {number} [order] Order of precedence. * @member {string} [remoteSubnet] Remote subnet. */ export interface NetworkAccessControlEntry { action?: string; description?: string; order?: number; remoteSubnet?: string; } /** * @class * Initializes a new instance of the AppServiceEnvironment class. * @constructor * Description of an App Service Environment. * * @member {string} name Name of the App Service Environment. * @member {string} location Location of the App Service Environment, e.g. * "West US". * @member {string} [provisioningState] Provisioning state of the App Service * Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', * 'InProgress', 'Deleting' * @member {string} [status] Current status of the App Service Environment. * Possible values include: 'Preparing', 'Ready', 'Scaling', 'Deleting' * @member {string} [vnetName] Name of the Virtual Network for the App Service * Environment. * @member {string} [vnetResourceGroupName] Resource group of the Virtual * Network. * @member {string} [vnetSubnetName] Subnet of the Virtual Network. * @member {object} virtualNetwork Description of the Virtual Network. * @member {string} [virtualNetwork.id] Resource id of the Virtual Network. * @member {string} [virtualNetwork.name] Name of the Virtual Network * (read-only). * @member {string} [virtualNetwork.type] Resource type of the Virtual Network * (read-only). * @member {string} [virtualNetwork.subnet] Subnet within the Virtual Network. * @member {string} [internalLoadBalancingMode] Specifies which endpoints to * serve internally in the Virtual Network for the App Service Environment. * Possible values include: 'None', 'Web', 'Publishing' * @member {string} [multiSize] Front-end VM size, e.g. "Medium", "Large". * @member {number} [multiRoleCount] Number of front-end instances. * @member {array} workerPools Description of worker pools with worker size * IDs, VM sizes, and number of workers in each pool. * @member {number} [ipsslAddressCount] Number of IP SSL addresses reserved for * the App Service Environment. * @member {string} [databaseEdition] Edition of the metadata database for the * App Service Environment, e.g. "Standard". * @member {string} [databaseServiceObjective] Service objective of the * metadata database for the App Service Environment, e.g. "S0". * @member {number} [upgradeDomains] Number of upgrade domains of the App * Service Environment. * @member {string} [subscriptionId] Subscription of the App Service * Environment. * @member {string} [dnsSuffix] DNS suffix of the App Service Environment. * @member {string} [lastAction] Last deployment action on the App Service * Environment. * @member {string} [lastActionResult] Result of the last deployment action on * the App Service Environment. * @member {string} [allowedMultiSizes] List of comma separated strings * describing which VM sizes are allowed for front-ends. * @member {string} [allowedWorkerSizes] List of comma separated strings * describing which VM sizes are allowed for workers. * @member {number} [maximumNumberOfMachines] Maximum number of VMs in the App * Service Environment. * @member {array} [vipMappings] Description of IP SSL mapping for the App * Service Environment. * @member {array} [environmentCapacities] Current total, used, and available * worker capacities. * @member {array} [networkAccessControlList] Access control list for * controlling traffic to the App Service Environment. * @member {boolean} [environmentIsHealthy] True/false indicating whether the * App Service Environment is healthy. * @member {string} [environmentStatus] Detailed message about with results of * the last check of the App Service Environment. * @member {string} [resourceGroup] Resource group of the App Service * Environment. * @member {number} [frontEndScaleFactor] Scale factor for front-ends. * @member {number} [defaultFrontEndScaleFactor] Default Scale Factor for * FrontEnds. * @member {string} [apiManagementAccountId] API Management Account associated * with the App Service Environment. * @member {boolean} [suspended] true if the App Service * Environment is suspended; otherwise, false. The environment can * be suspended, e.g. when the management endpoint is no longer available * (most likely because NSG blocked the incoming traffic). * @member {boolean} [dynamicCacheEnabled] True/false indicating whether the * App Service Environment is suspended. The environment can be suspended e.g. * when the management endpoint is no longer available * (most likely because NSG blocked the incoming traffic). * @member {array} [clusterSettings] Custom settings for changing the behavior * of the App Service Environment. * @member {array} [userWhitelistedIpRanges] User added ip ranges to whitelist * on ASE db * @member {boolean} [hasLinuxWorkers] Flag that displays whether an ASE has * linux workers or not * @member {string} [sslCertKeyVaultId] Key Vault ID for ILB App Service * Environment default SSL certificate * @member {string} [sslCertKeyVaultSecretName] Key Vault Secret Name for ILB * App Service Environment default SSL certificate */ export interface AppServiceEnvironment { name: string; location: string; readonly provisioningState?: string; readonly status?: string; vnetName?: string; vnetResourceGroupName?: string; vnetSubnetName?: string; virtualNetwork: VirtualNetworkProfile; internalLoadBalancingMode?: string; multiSize?: string; multiRoleCount?: number; workerPools: WorkerPool[]; ipsslAddressCount?: number; readonly databaseEdition?: string; readonly databaseServiceObjective?: string; readonly upgradeDomains?: number; readonly subscriptionId?: string; dnsSuffix?: string; readonly lastAction?: string; readonly lastActionResult?: string; readonly allowedMultiSizes?: string; readonly allowedWorkerSizes?: string; readonly maximumNumberOfMachines?: number; readonly vipMappings?: VirtualIPMapping[]; readonly environmentCapacities?: StampCapacity[]; networkAccessControlList?: NetworkAccessControlEntry[]; readonly environmentIsHealthy?: boolean; readonly environmentStatus?: string; readonly resourceGroup?: string; frontEndScaleFactor?: number; readonly defaultFrontEndScaleFactor?: number; apiManagementAccountId?: string; suspended?: boolean; dynamicCacheEnabled?: boolean; clusterSettings?: NameValuePair[]; userWhitelistedIpRanges?: string[]; hasLinuxWorkers?: boolean; sslCertKeyVaultId?: string; sslCertKeyVaultSecretName?: string; } /** * @class * Initializes a new instance of the LocalizableString class. * @constructor * Localizable string object containing the name and a localized value. * * @member {string} [value] Non-localized name. * @member {string} [localizedValue] Localized name. */ export interface LocalizableString { value?: string; localizedValue?: string; } /** * @class * Initializes a new instance of the CsmUsageQuota class. * @constructor * Usage of the quota resource. * * @member {string} [unit] Units of measurement for the quota resourse. * @member {date} [nextResetTime] Next reset time for the resource counter. * @member {number} [currentValue] The current value of the resource counter. * @member {number} [limit] The resource limit. * @member {object} [name] Quota name. * @member {string} [name.value] Non-localized name. * @member {string} [name.localizedValue] Localized name. */ export interface CsmUsageQuota { unit?: string; nextResetTime?: Date; currentValue?: number; limit?: number; name?: LocalizableString; } /** * @class * Initializes a new instance of the ErrorEntity class. * @constructor * Body of the error response returned from the API. * * @member {string} [extendedCode] Type of error. * @member {string} [messageTemplate] Message template. * @member {array} [parameters] Parameters for the template. * @member {array} [innerErrors] Inner errors. * @member {string} [code] Basic error code. * @member {string} [message] Any details of the error. */ export interface ErrorEntity { extendedCode?: string; messageTemplate?: string; parameters?: string[]; innerErrors?: ErrorEntity[]; code?: string; message?: string; } /** * @class * Initializes a new instance of the Operation class. * @constructor * An operation on a resource. * * @member {string} [id] Operation ID. * @member {string} [name] Operation name. * @member {string} [status] The current status of the operation. Possible * values include: 'InProgress', 'Failed', 'Succeeded', 'TimedOut', 'Created' * @member {array} [errors] Any errors associate with the operation. * @member {date} [createdTime] Time when operation has started. * @member {date} [modifiedTime] Time when operation has been updated. * @member {date} [expirationTime] Time when operation will expire. * @member {uuid} [geoMasterOperationId] Applicable only for stamp operation * ids. */ export interface Operation { id?: string; name?: string; status?: string; errors?: ErrorEntity[]; createdTime?: Date; modifiedTime?: Date; expirationTime?: Date; geoMasterOperationId?: string; } /** * @class * Initializes a new instance of the ResourceMetricName class. * @constructor * Name of a metric for any resource . * * @member {string} [value] metric name value. * @member {string} [localizedValue] Localized metric name value. */ export interface ResourceMetricName { readonly value?: string; readonly localizedValue?: string; } /** * @class * Initializes a new instance of the ResourceMetricProperty class. * @constructor * Resource metric property. * * @member {string} [key] Key for resource metric property. * @member {string} [value] Value of pair. */ export interface ResourceMetricProperty { key?: string; value?: string; } /** * @class * Initializes a new instance of the ResourceMetricValue class. * @constructor * Value of resource metric. * * @member {string} [timestamp] Value timestamp. * @member {number} [average] Value average. * @member {number} [minimum] Value minimum. * @member {number} [maximum] Value maximum. * @member {number} [total] Value total. * @member {number} [count] Value count. * @member {array} [properties] Resource metric properties collection. */ export interface ResourceMetricValue { readonly timestamp?: string; readonly average?: number; readonly minimum?: number; readonly maximum?: number; readonly total?: number; readonly count?: number; readonly properties?: ResourceMetricProperty[]; } /** * @class * Initializes a new instance of the ResourceMetric class. * @constructor * Object representing a metric for any resource . * * @member {object} [name] Name of metric. * @member {string} [name.value] metric name value. * @member {string} [name.localizedValue] Localized metric name value. * @member {string} [unit] Metric unit. * @member {string} [timeGrain] Metric granularity. E.g PT1H, PT5M, P1D * @member {date} [startTime] Metric start time. * @member {date} [endTime] Metric end time. * @member {string} [resourceId] Metric resource Id. * @member {string} [id] Resource Id. * @member {array} [metricValues] Metric values. * @member {array} [properties] Resource metric properties collection. */ export interface ResourceMetric { readonly name?: ResourceMetricName; readonly unit?: string; readonly timeGrain?: string; readonly startTime?: Date; readonly endTime?: Date; readonly resourceId?: string; readonly id?: string; readonly metricValues?: ResourceMetricValue[]; readonly properties?: ResourceMetricProperty[]; } /** * @class * Initializes a new instance of the Solution class. * @constructor * Class Representing Solution for problems detected. * * @member {number} [id] Solution Id. * @member {string} [displayName] Display Name of the solution * @member {number} [order] Order of the solution. * @member {string} [description] Description of the solution * @member {string} [type] Type of Solution. Possible values include: * 'QuickSolution', 'DeepInvestigation', 'BestPractices' * @member {array} [data] Solution Data. * @member {array} [metadata] Solution Metadata. */ export interface Solution { id?: number; displayName?: string; order?: number; description?: string; type?: string; data?: NameValuePair[][]; metadata?: NameValuePair[][]; } /** * @class * Initializes a new instance of the DetectorAbnormalTimePeriod class. * @constructor * Class representing Abnormal Time Period detected. * * @member {date} [startTime] Start time of the corelated event * @member {date} [endTime] End time of the corelated event * @member {string} [message] Message describing the event * @member {string} [source] Represents the name of the Detector * @member {number} [priority] Represents the rank of the Detector * @member {array} [metaData] Downtime metadata * @member {string} [type] Represents the type of the Detector. Possible values * include: 'ServiceIncident', 'AppDeployment', 'AppCrash', * 'RuntimeIssueDetected', 'AseDeployment', 'UserIssue', 'PlatformIssue', * 'Other' * @member {array} [solutions] List of proposed solutions */ export interface DetectorAbnormalTimePeriod { startTime?: Date; endTime?: Date; message?: string; source?: string; priority?: number; metaData?: NameValuePair[][]; type?: string; solutions?: Solution[]; } /** * @class * Initializes a new instance of the AbnormalTimePeriod class. * @constructor * Class representing Abnormal Time Period identified in diagnosis * * @member {date} [startTime] Start time of the downtime * @member {date} [endTime] End time of the downtime * @member {array} [events] List of Possible Cause of downtime * @member {array} [solutions] List of proposed solutions */ export interface AbnormalTimePeriod { startTime?: Date; endTime?: Date; events?: DetectorAbnormalTimePeriod[]; solutions?: Solution[]; } /** * @class * Initializes a new instance of the DetectorDefinition class. * @constructor * Class representing detector definition * * @member {string} [displayName] Display name of the detector * @member {string} [description] Description of the detector * @member {number} [rank] Detector Rank * @member {boolean} [isEnabled] Flag representing whether detector is enabled * or not. */ export interface DetectorDefinition extends ProxyOnlyResource { readonly displayName?: string; readonly description?: string; readonly rank?: number; readonly isEnabled?: boolean; } /** * @class * Initializes a new instance of the DiagnosticMetricSample class. * @constructor * Class representing Diagnostic Metric * * @member {date} [timestamp] Time at which metric is measured * @member {string} [roleInstance] Role Instance. Null if this counter is not * per instance * This is returned and should be whichever instance name we desire to be * returned * i.e. CPU and Memory return RDWORKERNAME (LargeDed..._IN_0) * where RDWORKERNAME is Machine name below and RoleInstance name in * parenthesis * @member {number} [total] Total value of the metric. If multiple measurements * are made this will have sum of all. * @member {number} [maximum] Maximum of the metric sampled during the time * period * @member {number} [minimum] Minimum of the metric sampled during the time * period * @member {boolean} [isAggregated] Whether the values are aggregates across * all workers or not */ export interface DiagnosticMetricSample { timestamp?: Date; roleInstance?: string; total?: number; maximum?: number; minimum?: number; isAggregated?: boolean; } /** * @class * Initializes a new instance of the DiagnosticMetricSet class. * @constructor * Class representing Diagnostic Metric information * * @member {string} [name] Name of the metric * @member {string} [unit] Metric's unit * @member {date} [startTime] Start time of the period * @member {date} [endTime] End time of the period * @member {string} [timeGrain] Presented time grain. Supported grains at the * moment are PT1M, PT1H, P1D * @member {array} [values] Collection of metric values for the selected period * based on the * {Microsoft.Web.Hosting.Administration.DiagnosticMetricSet.TimeGrain} */ export interface DiagnosticMetricSet { name?: string; unit?: string; startTime?: Date; endTime?: Date; timeGrain?: string; values?: DiagnosticMetricSample[]; } /** * @class * Initializes a new instance of the DataSource class. * @constructor * Class representing data source used by the detectors * * @member {array} [instructions] Instrunctions if any for the data source * @member {array} [dataSourceUri] Datasource Uri Links */ export interface DataSource { instructions?: string[]; dataSourceUri?: NameValuePair[]; } /** * @class * Initializes a new instance of the ResponseMetaData class. * @constructor * @member {object} [dataSource] Source of the Data * @member {array} [dataSource.instructions] Instrunctions if any for the data * source * @member {array} [dataSource.dataSourceUri] Datasource Uri Links */ export interface ResponseMetaData { dataSource?: DataSource; } /** * @class * Initializes a new instance of the AnalysisData class. * @constructor * Class Representing Detector Evidence used for analysis * * @member {string} [source] Name of the Detector * @member {object} [detectorDefinition] Detector Definition * @member {string} [detectorDefinition.displayName] Display name of the * detector * @member {string} [detectorDefinition.description] Description of the * detector * @member {number} [detectorDefinition.rank] Detector Rank * @member {boolean} [detectorDefinition.isEnabled] Flag representing whether * detector is enabled or not. * @member {array} [metrics] Source Metrics * @member {array} [data] Additional Source Data * @member {object} [detectorMetaData] Detector Meta Data * @member {object} [detectorMetaData.dataSource] Source of the Data * @member {array} [detectorMetaData.dataSource.instructions] Instrunctions if * any for the data source * @member {array} [detectorMetaData.dataSource.dataSourceUri] Datasource Uri * Links */ export interface AnalysisData { source?: string; detectorDefinition?: DetectorDefinition; metrics?: DiagnosticMetricSet[]; data?: NameValuePair[][]; detectorMetaData?: ResponseMetaData; } /** * @class * Initializes a new instance of the AnalysisDefinition class. * @constructor * Definition of Analysis * * @member {string} [description] Description of the Analysis */ export interface AnalysisDefinition extends ProxyOnlyResource { readonly description?: string; } /** * @class * Initializes a new instance of the DataTableResponseColumn class. * @constructor * Column definition * * @member {string} [columnName] Name of the column * @member {string} [dataType] Data type which looks like 'String' or 'Int32'. * @member {string} [columnType] Column Type */ export interface DataTableResponseColumn { columnName?: string; dataType?: string; columnType?: string; } /** * @class * Initializes a new instance of the DataTableResponseObject class. * @constructor * Data Table which defines columns and raw row values * * @member {string} [tableName] Name of the table * @member {array} [columns] List of columns with data types * @member {array} [rows] Raw row values */ export interface DataTableResponseObject { tableName?: string; columns?: DataTableResponseColumn[]; rows?: string[][]; } /** * @class * Initializes a new instance of the DetectorInfo class. * @constructor * Definition of Detector * * @member {string} [description] Short description of the detector and its * purpose * @member {string} [category] Support Category * @member {string} [subCategory] Support Sub Category * @member {string} [supportTopicId] Support Topic Id */ export interface DetectorInfo { readonly description?: string; readonly category?: string; readonly subCategory?: string; readonly supportTopicId?: string; } /** * @class * Initializes a new instance of the Rendering class. * @constructor * Instructions for rendering the data * * @member {string} [type] Rendering Type. Possible values include: 'NoGraph', * 'Table', 'TimeSeries', 'TimeSeriesPerInstance' * @member {string} [title] Title of data * @member {string} [description] Description of the data that will help it be * interpreted */ export interface Rendering { type?: string; title?: string; description?: string; } /** * @class * Initializes a new instance of the DiagnosticData class. * @constructor * Set of data with rendering instructions * * @member {object} [table] Data in table form * @member {string} [table.tableName] Name of the table * @member {array} [table.columns] List of columns with data types * @member {array} [table.rows] Raw row values * @member {object} [renderingProperties] Properties that describe how the * table should be rendered * @member {string} [renderingProperties.type] Rendering Type. Possible values * include: 'NoGraph', 'Table', 'TimeSeries', 'TimeSeriesPerInstance' * @member {string} [renderingProperties.title] Title of data * @member {string} [renderingProperties.description] Description of the data * that will help it be interpreted */ export interface DiagnosticData { table?: DataTableResponseObject; renderingProperties?: Rendering; } /** * @class * Initializes a new instance of the DetectorResponse class. * @constructor * Class representing Response from Detector * * @member {object} [metadata] metadata for the detector * @member {string} [metadata.description] Short description of the detector * and its purpose * @member {string} [metadata.category] Support Category * @member {string} [metadata.subCategory] Support Sub Category * @member {string} [metadata.supportTopicId] Support Topic Id * @member {array} [dataset] Data Set */ export interface DetectorResponse extends ProxyOnlyResource { metadata?: DetectorInfo; dataset?: DiagnosticData[]; } /** * @class * Initializes a new instance of the DiagnosticAnalysis class. * @constructor * Class representing a diagnostic analysis done on an application * * @member {date} [startTime] Start time of the period * @member {date} [endTime] End time of the period * @member {array} [abnormalTimePeriods] List of time periods. * @member {array} [payload] Data by each detector * @member {array} [nonCorrelatedDetectors] Data by each detector for detectors * that did not corelate */ export interface DiagnosticAnalysis extends ProxyOnlyResource { startTime?: Date; endTime?: Date; abnormalTimePeriods?: AbnormalTimePeriod[]; payload?: AnalysisData[]; nonCorrelatedDetectors?: DetectorDefinition[]; } /** * @class * Initializes a new instance of the DiagnosticCategory class. * @constructor * Class representing detector definition * * @member {string} [description] Description of the diagnostic category */ export interface DiagnosticCategory extends ProxyOnlyResource { readonly description?: string; } /** * @class * Initializes a new instance of the DiagnosticDetectorResponse class. * @constructor * Class representing Reponse from Diagnostic Detectors * * @member {date} [startTime] Start time of the period * @member {date} [endTime] End time of the period * @member {boolean} [issueDetected] Flag representing Issue was detected. * @member {object} [detectorDefinition] Detector's definition * @member {string} [detectorDefinition.displayName] Display name of the * detector * @member {string} [detectorDefinition.description] Description of the * detector * @member {number} [detectorDefinition.rank] Detector Rank * @member {boolean} [detectorDefinition.isEnabled] Flag representing whether * detector is enabled or not. * @member {array} [metrics] Metrics provided by the detector * @member {array} [abnormalTimePeriods] List of Correlated events found by the * detector * @member {array} [data] Additional Data that detector wants to send. * @member {object} [responseMetaData] Meta Data * @member {object} [responseMetaData.dataSource] Source of the Data * @member {array} [responseMetaData.dataSource.instructions] Instrunctions if * any for the data source * @member {array} [responseMetaData.dataSource.dataSourceUri] Datasource Uri * Links */ export interface DiagnosticDetectorResponse extends ProxyOnlyResource { startTime?: Date; endTime?: Date; issueDetected?: boolean; detectorDefinition?: DetectorDefinition; metrics?: DiagnosticMetricSet[]; abnormalTimePeriods?: DetectorAbnormalTimePeriod[]; data?: NameValuePair[][]; responseMetaData?: ResponseMetaData; } /** * @class * Initializes a new instance of the StackMinorVersion class. * @constructor * Application stack minor version. * * @member {string} [displayVersion] Application stack minor version (display * only). * @member {string} [runtimeVersion] Application stack minor version (runtime * only). * @member {boolean} [isDefault] true if this is the default minor * version; otherwise, false. */ export interface StackMinorVersion { displayVersion?: string; runtimeVersion?: string; isDefault?: boolean; } /** * @class * Initializes a new instance of the StackMajorVersion class. * @constructor * Application stack major version. * * @member {string} [displayVersion] Application stack major version (display * only). * @member {string} [runtimeVersion] Application stack major version (runtime * only). * @member {boolean} [isDefault] true if this is the default major * version; otherwise, false. * @member {array} [minorVersions] Minor versions associated with the major * version. */ export interface StackMajorVersion { displayVersion?: string; runtimeVersion?: string; isDefault?: boolean; minorVersions?: StackMinorVersion[]; } /** * @class * Initializes a new instance of the ApplicationStack class. * @constructor * Application stack. * * @member {string} [name] Application stack name. * @member {string} [display] Application stack display name. * @member {string} [dependency] Application stack dependency. * @member {array} [majorVersions] List of major versions available. * @member {array} [frameworks] List of frameworks associated with application * stack. */ export interface ApplicationStack { name?: string; display?: string; dependency?: string; majorVersions?: StackMajorVersion[]; frameworks?: ApplicationStack[]; } /** * @class * Initializes a new instance of the Recommendation class. * @constructor * Represents a recommendation result generated by the recommendation engine. * * @member {date} [creationTime] Timestamp when this instance was created. * @member {uuid} [recommendationId] A GUID value that each recommendation * object is associated with. * @member {string} [resourceId] Full ARM resource ID string that this * recommendation object is associated with. * @member {string} [resourceScope] Name of a resource type this recommendation * applies, e.g. Subscription, ServerFarm, Site. Possible values include: * 'ServerFarm', 'Subscription', 'WebSite' * @member {string} [ruleName] Unique name of the rule. * @member {string} [displayName] UI friendly name of the rule (may not be * unique). * @member {string} [message] Recommendation text. * @member {string} [level] Level indicating how critical this recommendation * can impact. Possible values include: 'Critical', 'Warning', 'Information', * 'NonUrgentSuggestion' * @member {string} [channels] List of channels that this recommendation can * apply. Possible values include: 'Notification', 'Api', 'Email', 'Webhook', * 'All' * @member {array} [categoryTags] The list of category tags that this * recommendation belongs to. * @member {string} [actionName] Name of action recommended by this object. * @member {number} [enabled] True if this recommendation is still valid (i.e. * "actionable"). False if it is invalid. * @member {array} [states] The list of states of this recommendation. If it's * null then it shoud be considered "Active". * @member {date} [startTime] The beginning time in UTC of a range that the * recommendation refers to. * @member {date} [endTime] The end time in UTC of a range that the * recommendation refers to. * @member {date} [nextNotificationTime] When to notify this recommendation * next in UTC. Null means that this will never be notified anymore. * @member {date} [notificationExpirationTime] Date and time in UTC when this * notification expires. * @member {date} [notifiedTime] Last timestamp in UTC this instance was * actually notified. Null means that this recommendation hasn't been notified * yet. * @member {number} [score] A metric value measured by the rule. * @member {boolean} [isDynamic] True if this is associated with a dynamically * added rule * @member {string} [extensionName] Extension name of the portal if exists. * @member {string} [bladeName] Deep link to a blade on the portal. * @member {string} [forwardLink] Forward link to an external document * associated with the rule. */ export interface Recommendation extends ProxyOnlyResource { creationTime?: Date; recommendationId?: string; resourceId?: string; resourceScope?: string; ruleName?: string; displayName?: string; message?: string; level?: string; channels?: string; readonly categoryTags?: string[]; actionName?: string; enabled?: number; states?: string[]; startTime?: Date; endTime?: Date; nextNotificationTime?: Date; notificationExpirationTime?: Date; notifiedTime?: Date; score?: number; isDynamic?: boolean; extensionName?: string; bladeName?: string; forwardLink?: string; } /** * @class * Initializes a new instance of the RecommendationRule class. * @constructor * Represents a recommendation rule that the recommendation engine can perform. * * @member {string} [recommendationName] Unique name of the rule. * @member {string} [displayName] UI friendly name of the rule. * @member {string} [message] Localized name of the rule (Good for UI). * @member {uuid} [recommendationId] Recommendation ID of an associated * recommendation object tied to the rule, if exists. * If such an object doesn't exist, it is set to null. * @member {string} [description] Localized detailed description of the rule. * @member {string} [actionName] Name of action that is recommended by this * rule in string. * @member {string} [level] Level of impact indicating how critical this rule * is. Possible values include: 'Critical', 'Warning', 'Information', * 'NonUrgentSuggestion' * @member {string} [channels] List of available channels that this rule * applies. Possible values include: 'Notification', 'Api', 'Email', 'Webhook', * 'All' * @member {array} [categoryTags] The list of category tags that this * recommendation rule belongs to. * @member {boolean} [isDynamic] True if this is associated with a dynamically * added rule * @member {string} [extensionName] Extension name of the portal if exists. * Applicable to dynamic rule only. * @member {string} [bladeName] Deep link to a blade on the portal. Applicable * to dynamic rule only. * @member {string} [forwardLink] Forward link to an external document * associated with the rule. Applicable to dynamic rule only. */ export interface RecommendationRule extends ProxyOnlyResource { recommendationName?: string; displayName?: string; message?: string; recommendationId?: string; description?: string; actionName?: string; level?: string; channels?: string; readonly categoryTags?: string[]; isDynamic?: boolean; extensionName?: string; bladeName?: string; forwardLink?: string; } /** * @class * Initializes a new instance of the BillingMeter class. * @constructor * App Service billing entity that contains information about meter which the * Azure billing system utilizes to charge users for services. * * @member {string} [meterId] Meter GUID onboarded in Commerce * @member {string} [billingLocation] Azure Location of billable resource * @member {string} [shortName] Short Name from App Service Azure pricing Page * @member {string} [friendlyName] Friendly name of the meter * @member {string} [resourceType] App Service ResourceType meter used for * @member {string} [osType] App Service OS type meter used for */ export interface BillingMeter extends ProxyOnlyResource { meterId?: string; billingLocation?: string; shortName?: string; friendlyName?: string; resourceType?: string; osType?: string; } /** * @class * Initializes a new instance of the CsmMoveResourceEnvelope class. * @constructor * Object with a list of the resources that need to be moved and the resource * group they should be moved to. * * @member {string} [targetResourceGroup] * @member {array} [resources] */ export interface CsmMoveResourceEnvelope { targetResourceGroup?: string; resources?: string[]; } /** * @class * Initializes a new instance of the GeoRegion class. * @constructor * Geographical region. * * @member {string} [description] Region description. * @member {string} [displayName] Display name for region. */ export interface GeoRegion extends ProxyOnlyResource { readonly description?: string; readonly displayName?: string; } /** * @class * Initializes a new instance of the HostingEnvironmentDeploymentInfo class. * @constructor * Information needed to create resources on an App Service Environment. * * @member {string} [name] Name of the App Service Environment. * @member {string} [location] Location of the App Service Environment. */ export interface HostingEnvironmentDeploymentInfo { name?: string; location?: string; } /** * @class * Initializes a new instance of the DeploymentLocations class. * @constructor * List of available locations (regions or App Service Environments) for * deployment of App Service resources. * * @member {array} [locations] Available regions. * @member {array} [hostingEnvironments] Available App Service Environments * with full descriptions of the environments. * @member {array} [hostingEnvironmentDeploymentInfos] Available App Service * Environments with basic information. */ export interface DeploymentLocations { locations?: GeoRegion[]; hostingEnvironments?: AppServiceEnvironment[]; hostingEnvironmentDeploymentInfos?: HostingEnvironmentDeploymentInfo[]; } /** * @class * Initializes a new instance of the GlobalCsmSkuDescription class. * @constructor * A Global SKU Description. * * @member {string} [name] Name of the resource SKU. * @member {string} [tier] Service Tier of the resource SKU. * @member {string} [size] Size specifier of the resource SKU. * @member {string} [family] Family code of the resource SKU. * @member {object} [capacity] Min, max, and default scale values of the SKU. * @member {number} [capacity.minimum] Minimum number of workers for this App * Service plan SKU. * @member {number} [capacity.maximum] Maximum number of workers for this App * Service plan SKU. * @member {number} [capacity.default] Default number of workers for this App * Service plan SKU. * @member {string} [capacity.scaleType] Available scale configurations for an * App Service plan. * @member {array} [locations] Locations of the SKU. * @member {array} [capabilities] Capabilities of the SKU, e.g., is traffic * manager enabled? */ export interface GlobalCsmSkuDescription { name?: string; tier?: string; size?: string; family?: string; capacity?: SkuCapacity; locations?: string[]; capabilities?: Capability[]; } /** * @class * Initializes a new instance of the PremierAddOnOffer class. * @constructor * Premier add-on offer. * * @member {string} [sku] Premier add on SKU. * @member {string} [product] Premier add on offer Product. * @member {string} [vendor] Premier add on offer Vendor. * @member {boolean} [promoCodeRequired] true if promotion code is * required; otherwise, false. * @member {number} [quota] Premier add on offer Quota. * @member {string} [webHostingPlanRestrictions] App Service plans this offer * is restricted to. Possible values include: 'None', 'Free', 'Shared', * 'Basic', 'Standard', 'Premium' * @member {string} [privacyPolicyUrl] Privacy policy URL. * @member {string} [legalTermsUrl] Legal terms URL. * @member {string} [marketplacePublisher] Marketplace publisher. * @member {string} [marketplaceOffer] Marketplace offer. */ export interface PremierAddOnOffer extends ProxyOnlyResource { sku?: string; product?: string; vendor?: string; promoCodeRequired?: boolean; quota?: number; webHostingPlanRestrictions?: string; privacyPolicyUrl?: string; legalTermsUrl?: string; marketplacePublisher?: string; marketplaceOffer?: string; } /** * @class * Initializes a new instance of the ResourceNameAvailability class. * @constructor * Information regarding availbility of a resource name. * * @member {boolean} [nameAvailable] true indicates name is valid * and available. false indicates the name is invalid, * unavailable, or both. * @member {string} [reason] Invalid indicates the name provided * does not match Azure App Service naming requirements. * AlreadyExists indicates that the name is already in use and is * therefore unavailable. Possible values include: 'Invalid', 'AlreadyExists' * @member {string} [message] If reason == invalid, provide the user with the * reason why the given name is invalid, and provide the resource naming * requirements so that the user can select a valid name. If reason == * AlreadyExists, explain that resource name is already in use, and direct them * to select a different name. */ export interface ResourceNameAvailability { nameAvailable?: boolean; reason?: string; message?: string; } /** * @class * Initializes a new instance of the ResourceNameAvailabilityRequest class. * @constructor * Resource name availability request content. * * @member {string} name Resource name to verify. * @member {string} type Resource type used for verification. Possible values * include: 'Site', 'Slot', 'HostingEnvironment', 'PublishingUser', * 'Microsoft.Web/sites', 'Microsoft.Web/sites/slots', * 'Microsoft.Web/hostingEnvironments', 'Microsoft.Web/publishingUsers' * @member {boolean} [isFqdn] Is fully qualified domain name. */ export interface ResourceNameAvailabilityRequest { name: string; type: string; isFqdn?: boolean; } /** * @class * Initializes a new instance of the SkuInfos class. * @constructor * Collection of SKU information. * * @member {string} [resourceType] Resource type that this SKU applies to. * @member {array} [skus] List of SKUs the subscription is able to use. */ export interface SkuInfos { resourceType?: string; skus?: GlobalCsmSkuDescription[]; } /** * @class * Initializes a new instance of the SourceControl class. * @constructor * The source control OAuth token. * * @member {string} [token] OAuth access token. * @member {string} [tokenSecret] OAuth access token secret. * @member {string} [refreshToken] OAuth refresh token. * @member {date} [expirationTime] OAuth token expiration. */ export interface SourceControl extends ProxyOnlyResource { token?: string; tokenSecret?: string; refreshToken?: string; expirationTime?: Date; } /** * @class * Initializes a new instance of the ValidateRequest class. * @constructor * Resource validation request content. * * @member {string} name Resource name to verify. * @member {string} type Resource type used for verification. Possible values * include: 'ServerFarm', 'Site' * @member {string} location Expected location of the resource. * @member {string} [serverFarmId] ARM resource ID of an App Service plan that * would host the app. * @member {string} [skuName] Name of the target SKU for the App Service plan. * @member {boolean} [needLinuxWorkers] true if App Service plan * is for Linux workers; otherwise, false. * @member {boolean} [isSpot] true if App Service plan is for Spot * instances; otherwise, false. * @member {number} [capacity] Target capacity of the App Service plan (number * of VM's). * @member {string} [hostingEnvironment] Name of App Service Environment where * app or App Service plan should be created. * @member {boolean} [isXenon] true if App Service plan is running * as a windows container */ export interface ValidateRequest { name: string; type: string; location: string; serverFarmId?: string; skuName?: string; needLinuxWorkers?: boolean; isSpot?: boolean; capacity?: number; hostingEnvironment?: string; isXenon?: boolean; } /** * @class * Initializes a new instance of the ValidateResponseError class. * @constructor * Error details for when validation fails. * * @member {string} [code] Validation error code. * @member {string} [message] Validation error message. */ export interface ValidateResponseError { code?: string; message?: string; } /** * @class * Initializes a new instance of the ValidateResponse class. * @constructor * Describes the result of resource validation. * * @member {string} [status] Result of validation. * @member {object} [error] Error details for the case when validation fails. * @member {string} [error.code] Validation error code. * @member {string} [error.message] Validation error message. */ export interface ValidateResponse { status?: string; error?: ValidateResponseError; } /** * @class * Initializes a new instance of the VnetParameters class. * @constructor * The required set of inputs to validate a VNET * * @member {string} [vnetResourceGroup] The Resource Group of the VNET to be * validated * @member {string} [vnetName] The name of the VNET to be validated * @member {string} [vnetSubnetName] The subnet name to be validated */ export interface VnetParameters extends ProxyOnlyResource { vnetResourceGroup?: string; vnetName?: string; vnetSubnetName?: string; } /** * @class * Initializes a new instance of the VnetValidationTestFailure class. * @constructor * A class that describes a test that failed during NSG and UDR validation. * * @member {string} [testName] The name of the test that failed. * @member {string} [details] The details of what caused the failure, e.g. the * blocking rule name, etc. */ export interface VnetValidationTestFailure extends ProxyOnlyResource { testName?: string; details?: string; } /** * @class * Initializes a new instance of the VnetValidationFailureDetails class. * @constructor * A class that describes the reason for a validation failure. * * @member {boolean} [failed] A flag describing whether or not validation * failed. * @member {array} [failedTests] A list of tests that failed in the validation. */ export interface VnetValidationFailureDetails extends ProxyOnlyResource { failed?: boolean; failedTests?: VnetValidationTestFailure[]; } /** * @class * Initializes a new instance of the FileSystemApplicationLogsConfig class. * @constructor * Application logs to file system configuration. * * @member {string} [level] Log level. Possible values include: 'Off', * 'Verbose', 'Information', 'Warning', 'Error'. Default value: 'Off' . */ export interface FileSystemApplicationLogsConfig { level?: string; } /** * @class * Initializes a new instance of the AzureTableStorageApplicationLogsConfig class. * @constructor * Application logs to Azure table storage configuration. * * @member {string} [level] Log level. Possible values include: 'Off', * 'Verbose', 'Information', 'Warning', 'Error' * @member {string} sasUrl SAS URL to an Azure table with add/query/delete * permissions. */ export interface AzureTableStorageApplicationLogsConfig { level?: string; sasUrl: string; } /** * @class * Initializes a new instance of the AzureBlobStorageApplicationLogsConfig class. * @constructor * Application logs azure blob storage configuration. * * @member {string} [level] Log level. Possible values include: 'Off', * 'Verbose', 'Information', 'Warning', 'Error' * @member {string} [sasUrl] SAS url to a azure blob container with * read/write/list/delete permissions. * @member {number} [retentionInDays] Retention in days. * Remove blobs older than X days. * 0 or lower means no retention. */ export interface AzureBlobStorageApplicationLogsConfig { level?: string; sasUrl?: string; retentionInDays?: number; } /** * @class * Initializes a new instance of the ApplicationLogsConfig class. * @constructor * Application logs configuration. * * @member {object} [fileSystem] Application logs to file system configuration. * @member {string} [fileSystem.level] Log level. Possible values include: * 'Off', 'Verbose', 'Information', 'Warning', 'Error' * @member {object} [azureTableStorage] Application logs to azure table storage * configuration. * @member {string} [azureTableStorage.level] Log level. Possible values * include: 'Off', 'Verbose', 'Information', 'Warning', 'Error' * @member {string} [azureTableStorage.sasUrl] SAS URL to an Azure table with * add/query/delete permissions. * @member {object} [azureBlobStorage] Application logs to blob storage * configuration. * @member {string} [azureBlobStorage.level] Log level. Possible values * include: 'Off', 'Verbose', 'Information', 'Warning', 'Error' * @member {string} [azureBlobStorage.sasUrl] SAS url to a azure blob container * with read/write/list/delete permissions. * @member {number} [azureBlobStorage.retentionInDays] Retention in days. * Remove blobs older than X days. * 0 or lower means no retention. */ export interface ApplicationLogsConfig { fileSystem?: FileSystemApplicationLogsConfig; azureTableStorage?: AzureTableStorageApplicationLogsConfig; azureBlobStorage?: AzureBlobStorageApplicationLogsConfig; } /** * @class * Initializes a new instance of the AzureBlobStorageHttpLogsConfig class. * @constructor * Http logs to azure blob storage configuration. * * @member {string} [sasUrl] SAS url to a azure blob container with * read/write/list/delete permissions. * @member {number} [retentionInDays] Retention in days. * Remove blobs older than X days. * 0 or lower means no retention. * @member {boolean} [enabled] True if configuration is enabled, false if it is * disabled and null if configuration is not set. */ export interface AzureBlobStorageHttpLogsConfig { sasUrl?: string; retentionInDays?: number; enabled?: boolean; } /** * @class * Initializes a new instance of the AzureStoragePropertyDictionaryResource class. * @constructor * AzureStorageInfo dictionary resource. * * @member {object} [properties] Azure storage accounts. */ export interface AzureStoragePropertyDictionaryResource extends ProxyOnlyResource { properties?: { [propertyName: string]: AzureStorageInfoValue }; } /** * @class * Initializes a new instance of the DatabaseBackupSetting class. * @constructor * Database backup settings. * * @member {string} databaseType Database type (e.g. SqlAzure / MySql). * Possible values include: 'SqlAzure', 'MySql', 'LocalMySql', 'PostgreSql' * @member {string} [name] * @member {string} [connectionStringName] Contains a connection string name * that is linked to the SiteConfig.ConnectionStrings. * This is used during restore with overwrite connection strings options. * @member {string} [connectionString] Contains a connection string to a * database which is being backed up or restored. If the restore should happen * to a new database, the database name inside is the new one. */ export interface DatabaseBackupSetting { databaseType: string; name?: string; connectionStringName?: string; connectionString?: string; } /** * @class * Initializes a new instance of the BackupItem class. * @constructor * Backup description. * * @member {number} [backupId] Id of the backup. * @member {string} [storageAccountUrl] SAS URL for the storage account * container which contains this backup. * @member {string} [blobName] Name of the blob which contains data for this * backup. * @member {string} [backupItemName] Name of this backup. * @member {string} [status] Backup status. Possible values include: * 'InProgress', 'Failed', 'Succeeded', 'TimedOut', 'Created', 'Skipped', * 'PartiallySucceeded', 'DeleteInProgress', 'DeleteFailed', 'Deleted' * @member {number} [sizeInBytes] Size of the backup in bytes. * @member {date} [created] Timestamp of the backup creation. * @member {string} [log] Details regarding this backup. Might contain an error * message. * @member {array} [databases] List of databases included in the backup. * @member {boolean} [scheduled] True if this backup has been created due to a * schedule being triggered. * @member {date} [lastRestoreTimeStamp] Timestamp of a last restore operation * which used this backup. * @member {date} [finishedTimeStamp] Timestamp when this backup finished. * @member {string} [correlationId] Unique correlation identifier. Please use * this along with the timestamp while communicating with Azure support. * @member {number} [websiteSizeInBytes] Size of the original web app which has * been backed up. */ export interface BackupItem extends ProxyOnlyResource { readonly backupId?: number; readonly storageAccountUrl?: string; readonly blobName?: string; readonly backupItemName?: string; readonly status?: string; readonly sizeInBytes?: number; readonly created?: Date; readonly log?: string; readonly databases?: DatabaseBackupSetting[]; readonly scheduled?: boolean; readonly lastRestoreTimeStamp?: Date; readonly finishedTimeStamp?: Date; readonly correlationId?: string; readonly websiteSizeInBytes?: number; } /** * @class * Initializes a new instance of the BackupSchedule class. * @constructor * Description of a backup schedule. Describes how often should be the backup * performed and what should be the retention policy. * * @member {number} frequencyInterval How often the backup should be executed * (e.g. for weekly backup, this should be set to 7 and FrequencyUnit should be * set to Day). Default value: 7 . * @member {string} frequencyUnit The unit of time for how often the backup * should be executed (e.g. for weekly backup, this should be set to Day and * FrequencyInterval should be set to 7). Possible values include: 'Day', * 'Hour'. Default value: 'Day' . * @member {boolean} keepAtLeastOneBackup True if the retention policy should * always keep at least one backup in the storage account, regardless how old * it is; false otherwise. Default value: true . * @member {number} retentionPeriodInDays After how many days backups should be * deleted. Default value: 30 . * @member {date} [startTime] When the schedule should start working. * @member {date} [lastExecutionTime] Last time when this schedule was * triggered. */ export interface BackupSchedule { frequencyInterval: number; frequencyUnit: string; keepAtLeastOneBackup: boolean; retentionPeriodInDays: number; startTime?: Date; readonly lastExecutionTime?: Date; } /** * @class * Initializes a new instance of the BackupRequest class. * @constructor * Description of a backup which will be performed. * * @member {string} [backupName] Name of the backup. * @member {boolean} [enabled] True if the backup schedule is enabled (must be * included in that case), false if the backup schedule should be disabled. * @member {string} storageAccountUrl SAS URL to the container. * @member {object} [backupSchedule] Schedule for the backup if it is executed * periodically. * @member {number} [backupSchedule.frequencyInterval] How often the backup * should be executed (e.g. for weekly backup, this should be set to 7 and * FrequencyUnit should be set to Day) * @member {string} [backupSchedule.frequencyUnit] The unit of time for how * often the backup should be executed (e.g. for weekly backup, this should be * set to Day and FrequencyInterval should be set to 7). Possible values * include: 'Day', 'Hour' * @member {boolean} [backupSchedule.keepAtLeastOneBackup] True if the * retention policy should always keep at least one backup in the storage * account, regardless how old it is; false otherwise. * @member {number} [backupSchedule.retentionPeriodInDays] After how many days * backups should be deleted. * @member {date} [backupSchedule.startTime] When the schedule should start * working. * @member {date} [backupSchedule.lastExecutionTime] Last time when this * schedule was triggered. * @member {array} [databases] Databases included in the backup. */ export interface BackupRequest extends ProxyOnlyResource { backupName?: string; enabled?: boolean; storageAccountUrl: string; backupSchedule?: BackupSchedule; databases?: DatabaseBackupSetting[]; } /** * @class * Initializes a new instance of the ConnStringValueTypePair class. * @constructor * Database connection string value to type pair. * * @member {string} value Value of pair. * @member {string} type Type of database. Possible values include: 'MySql', * 'SQLServer', 'SQLAzure', 'Custom', 'NotificationHub', 'ServiceBus', * 'EventHub', 'ApiHub', 'DocDb', 'RedisCache', 'PostgreSQL' */ export interface ConnStringValueTypePair { value: string; type: string; } /** * @class * Initializes a new instance of the ConnectionStringDictionary class. * @constructor * String dictionary resource. * * @member {object} [properties] Connection strings. */ export interface ConnectionStringDictionary extends ProxyOnlyResource { properties?: { [propertyName: string]: ConnStringValueTypePair }; } /** * @class * Initializes a new instance of the ContinuousWebJob class. * @constructor * Continuous Web Job Information. * * @member {string} [status] Job status. Possible values include: * 'Initializing', 'Starting', 'Running', 'PendingRestart', 'Stopped' * @member {string} [detailedStatus] Detailed status. * @member {string} [logUrl] Log URL. * @member {string} [runCommand] Run command. * @member {string} [url] Job URL. * @member {string} [extraInfoUrl] Extra Info URL. * @member {string} [webJobType] Job type. Possible values include: * 'Continuous', 'Triggered' * @member {string} [error] Error information. * @member {boolean} [usingSdk] Using SDK? * @member {object} [settings] Job settings. */ export interface ContinuousWebJob extends ProxyOnlyResource { status?: string; detailedStatus?: string; logUrl?: string; runCommand?: string; url?: string; extraInfoUrl?: string; webJobType?: string; error?: string; usingSdk?: boolean; settings?: { [propertyName: string]: any }; } /** * @class * Initializes a new instance of the CsmPublishingProfileOptions class. * @constructor * Publishing options for requested profile. * * @member {string} [format] Name of the format. Valid values are: * FileZilla3 * WebDeploy -- default * Ftp. Possible values include: 'FileZilla3', 'WebDeploy', 'Ftp' * @member {boolean} [includeDisasterRecoveryEndpoints] Include the * DisasterRecover endpoint if true */ export interface CsmPublishingProfileOptions { format?: string; includeDisasterRecoveryEndpoints?: boolean; } /** * @class * Initializes a new instance of the CsmSlotEntity class. * @constructor * Deployment slot parameters. * * @member {string} targetSlot Destination deployment slot during swap * operation. * @member {boolean} preserveVnet true to preserve Virtual Network * to the slot during swap; otherwise, false. */ export interface CsmSlotEntity { targetSlot: string; preserveVnet: boolean; } /** * @class * Initializes a new instance of the CustomHostnameAnalysisResult class. * @constructor * Custom domain analysis. * * @member {boolean} [isHostnameAlreadyVerified] true if hostname * is already verified; otherwise, false. * @member {string} [customDomainVerificationTest] DNS verification test * result. Possible values include: 'Passed', 'Failed', 'Skipped' * @member {object} [customDomainVerificationFailureInfo] Raw failure * information if DNS verification fails. * @member {string} [customDomainVerificationFailureInfo.extendedCode] Type of * error. * @member {string} [customDomainVerificationFailureInfo.messageTemplate] * Message template. * @member {array} [customDomainVerificationFailureInfo.parameters] Parameters * for the template. * @member {array} [customDomainVerificationFailureInfo.innerErrors] Inner * errors. * @member {string} [customDomainVerificationFailureInfo.code] Basic error * code. * @member {string} [customDomainVerificationFailureInfo.message] Any details * of the error. * @member {boolean} [hasConflictOnScaleUnit] true if there is a * conflict on a scale unit; otherwise, false. * @member {boolean} [hasConflictAcrossSubscription] true if htere * is a conflict across subscriptions; otherwise, false. * @member {string} [conflictingAppResourceId] Name of the conflicting app on * scale unit if it's within the same subscription. * @member {array} [cNameRecords] CName records controller can see for this * hostname. * @member {array} [txtRecords] TXT records controller can see for this * hostname. * @member {array} [aRecords] A records controller can see for this hostname. * @member {array} [alternateCNameRecords] Alternate CName records controller * can see for this hostname. * @member {array} [alternateTxtRecords] Alternate TXT records controller can * see for this hostname. */ export interface CustomHostnameAnalysisResult extends ProxyOnlyResource { readonly isHostnameAlreadyVerified?: boolean; readonly customDomainVerificationTest?: string; readonly customDomainVerificationFailureInfo?: ErrorEntity; readonly hasConflictOnScaleUnit?: boolean; readonly hasConflictAcrossSubscription?: boolean; readonly conflictingAppResourceId?: string; cNameRecords?: string[]; txtRecords?: string[]; aRecords?: string[]; alternateCNameRecords?: string[]; alternateTxtRecords?: string[]; } /** * @class * Initializes a new instance of the DeletedAppRestoreRequest class. * @constructor * Details about restoring a deleted app. * * @member {string} [deletedSiteId] ARM resource ID of the deleted app. * Example: * /subscriptions/{subId}/providers/Microsoft.Web/deletedSites/{deletedSiteId} * @member {boolean} [recoverConfiguration] If true, deleted site * configuration, in addition to content, will be restored. * @member {string} [snapshotTime] Point in time to restore the deleted app * from, formatted as a DateTime string. * If unspecified, default value is the time that the app was deleted. * @member {boolean} [useDRSecondary] If true, the snapshot is retrieved from * DRSecondary endpoint. */ export interface DeletedAppRestoreRequest extends ProxyOnlyResource { deletedSiteId?: string; recoverConfiguration?: boolean; snapshotTime?: string; useDRSecondary?: boolean; } /** * @class * Initializes a new instance of the Deployment class. * @constructor * User crendentials used for publishing activity. * * @member {number} [status] Deployment status. * @member {string} [message] Details about deployment status. * @member {string} [author] Who authored the deployment. * @member {string} [deployer] Who performed the deployment. * @member {string} [authorEmail] Author email. * @member {date} [startTime] Start time. * @member {date} [endTime] End time. * @member {boolean} [active] True if deployment is currently active, false if * completed and null if not started. * @member {string} [details] Details on deployment. */ export interface Deployment extends ProxyOnlyResource { status?: number; message?: string; author?: string; deployer?: string; authorEmail?: string; startTime?: Date; endTime?: Date; active?: boolean; details?: string; } /** * @class * Initializes a new instance of the EnabledConfig class. * @constructor * Enabled configuration. * * @member {boolean} [enabled] True if configuration is enabled, false if it is * disabled and null if configuration is not set. */ export interface EnabledConfig { enabled?: boolean; } /** * @class * Initializes a new instance of the FileSystemHttpLogsConfig class. * @constructor * Http logs to file system configuration. * * @member {number} [retentionInMb] Maximum size in megabytes that http log * files can use. * When reached old log files will be removed to make space for new ones. * Value can range between 25 and 100. * @member {number} [retentionInDays] Retention in days. * Remove files older than X days. * 0 or lower means no retention. * @member {boolean} [enabled] True if configuration is enabled, false if it is * disabled and null if configuration is not set. */ export interface FileSystemHttpLogsConfig { retentionInMb?: number; retentionInDays?: number; enabled?: boolean; } /** * @class * Initializes a new instance of the FunctionEnvelope class. * @constructor * Web Job Information. * * @member {string} [functionAppId] Function App ID. * @member {string} [scriptRootPathHref] Script root path URI. * @member {string} [scriptHref] Script URI. * @member {string} [configHref] Config URI. * @member {string} [secretsFileHref] Secrets file URI. * @member {string} [href] Function URI. * @member {object} [config] Config information. * @member {object} [files] File list. * @member {string} [testData] Test data used when testing via the Azure * Portal. */ export interface FunctionEnvelope extends ProxyOnlyResource { functionAppId?: string; scriptRootPathHref?: string; scriptHref?: string; configHref?: string; secretsFileHref?: string; href?: string; config?: any; files?: { [propertyName: string]: string }; testData?: string; } /** * @class * Initializes a new instance of the FunctionSecrets class. * @constructor * Function secrets. * * @member {string} [key] Secret key. * @member {string} [triggerUrl] Trigger URL. */ export interface FunctionSecrets extends ProxyOnlyResource { key?: string; triggerUrl?: string; } /** * @class * Initializes a new instance of the HostNameBinding class. * @constructor * A hostname binding object. * * @member {string} [siteName] App Service app name. * @member {string} [domainId] Fully qualified ARM domain resource URI. * @member {string} [azureResourceName] Azure resource name. * @member {string} [azureResourceType] Azure resource type. Possible values * include: 'Website', 'TrafficManager' * @member {string} [customHostNameDnsRecordType] Custom DNS record type. * Possible values include: 'CName', 'A' * @member {string} [hostNameType] Hostname type. Possible values include: * 'Verified', 'Managed' * @member {string} [sslState] SSL type. Possible values include: 'Disabled', * 'SniEnabled', 'IpBasedEnabled' * @member {string} [thumbprint] SSL certificate thumbprint * @member {string} [virtualIP] Virtual IP address assigned to the hostname if * IP based SSL is enabled. */ export interface HostNameBinding extends ProxyOnlyResource { siteName?: string; domainId?: string; azureResourceName?: string; azureResourceType?: string; customHostNameDnsRecordType?: string; hostNameType?: string; sslState?: string; thumbprint?: string; readonly virtualIP?: string; } /** * @class * Initializes a new instance of the HttpLogsConfig class. * @constructor * Http logs configuration. * * @member {object} [fileSystem] Http logs to file system configuration. * @member {number} [fileSystem.retentionInMb] Maximum size in megabytes that * http log files can use. * When reached old log files will be removed to make space for new ones. * Value can range between 25 and 100. * @member {number} [fileSystem.retentionInDays] Retention in days. * Remove files older than X days. * 0 or lower means no retention. * @member {boolean} [fileSystem.enabled] True if configuration is enabled, * false if it is disabled and null if configuration is not set. * @member {object} [azureBlobStorage] Http logs to azure blob storage * configuration. * @member {string} [azureBlobStorage.sasUrl] SAS url to a azure blob container * with read/write/list/delete permissions. * @member {number} [azureBlobStorage.retentionInDays] Retention in days. * Remove blobs older than X days. * 0 or lower means no retention. * @member {boolean} [azureBlobStorage.enabled] True if configuration is * enabled, false if it is disabled and null if configuration is not set. */ export interface HttpLogsConfig { fileSystem?: FileSystemHttpLogsConfig; azureBlobStorage?: AzureBlobStorageHttpLogsConfig; } /** * @class * Initializes a new instance of the MSDeploy class. * @constructor * MSDeploy ARM PUT information * * @member {string} [packageUri] Package URI * @member {string} [connectionString] SQL Connection String * @member {string} [dbType] Database Type * @member {string} [setParametersXmlFileUri] URI of MSDeploy Parameters file. * Must not be set if SetParameters is used. * @member {object} [setParameters] MSDeploy Parameters. Must not be set if * SetParametersXmlFileUri is used. * @member {boolean} [skipAppData] Controls whether the MSDeploy operation * skips the App_Data directory. * If set to true, the existing App_Data directory on the * destination * will not be deleted, and any App_Data directory in the source will be * ignored. * Setting is false by default. * @member {boolean} [appOffline] Sets the AppOffline rule while the MSDeploy * operation executes. * Setting is false by default. */ export interface MSDeploy extends ProxyOnlyResource { packageUri?: string; connectionString?: string; dbType?: string; setParametersXmlFileUri?: string; setParameters?: { [propertyName: string]: string }; skipAppData?: boolean; appOffline?: boolean; } /** * @class * Initializes a new instance of the MSDeployLogEntry class. * @constructor * MSDeploy log entry * * @member {date} [time] Timestamp of log entry * @member {string} [type] Log entry type. Possible values include: 'Message', * 'Warning', 'Error' * @member {string} [message] Log entry message */ export interface MSDeployLogEntry { readonly time?: Date; readonly type?: string; readonly message?: string; } /** * @class * Initializes a new instance of the MSDeployLog class. * @constructor * MSDeploy log * * @member {array} [entries] List of log entry messages */ export interface MSDeployLog extends ProxyOnlyResource { readonly entries?: MSDeployLogEntry[]; } /** * @class * Initializes a new instance of the MSDeployStatus class. * @constructor * MSDeploy ARM response * * @member {string} [deployer] Username of deployer * @member {string} [provisioningState] Provisioning state. Possible values * include: 'accepted', 'running', 'succeeded', 'failed', 'canceled' * @member {date} [startTime] Start time of deploy operation * @member {date} [endTime] End time of deploy operation * @member {boolean} [complete] Whether the deployment operation has completed */ export interface MSDeployStatus extends ProxyOnlyResource { readonly deployer?: string; readonly provisioningState?: string; readonly startTime?: Date; readonly endTime?: Date; readonly complete?: boolean; } /** * @class * Initializes a new instance of the MigrateMySqlRequest class. * @constructor * MySQL migration request. * * @member {string} connectionString Connection string to the remote MySQL * database. * @member {string} migrationType The type of migration operation to be done. * Possible values include: 'LocalToRemote', 'RemoteToLocal' */ export interface MigrateMySqlRequest extends ProxyOnlyResource { connectionString: string; migrationType: string; } /** * @class * Initializes a new instance of the MigrateMySqlStatus class. * @constructor * MySQL migration status. * * @member {string} [migrationOperationStatus] Status of the migration task. * Possible values include: 'InProgress', 'Failed', 'Succeeded', 'TimedOut', * 'Created' * @member {string} [operationId] Operation ID for the migration task. * @member {boolean} [localMySqlEnabled] True if the web app has in app MySql * enabled */ export interface MigrateMySqlStatus extends ProxyOnlyResource { readonly migrationOperationStatus?: string; readonly operationId?: string; readonly localMySqlEnabled?: boolean; } /** * @class * Initializes a new instance of the RelayServiceConnectionEntity class. * @constructor * Hybrid Connection for an App Service app. * * @member {string} [entityName] * @member {string} [entityConnectionString] * @member {string} [resourceType] * @member {string} [resourceConnectionString] * @member {string} [hostname] * @member {number} [port] * @member {string} [biztalkUri] */ export interface RelayServiceConnectionEntity extends ProxyOnlyResource { entityName?: string; entityConnectionString?: string; resourceType?: string; resourceConnectionString?: string; hostname?: string; port?: number; biztalkUri?: string; } /** * @class * Initializes a new instance of the NetworkFeatures class. * @constructor * Full view of network features for an app (presently VNET integration and * Hybrid Connections). * * @member {string} [virtualNetworkName] The Virtual Network name. * @member {object} [virtualNetworkConnection] The Virtual Network summary * view. * @member {string} [virtualNetworkConnection.vnetResourceId] The Virtual * Network's resource ID. * @member {string} [virtualNetworkConnection.certThumbprint] The client * certificate thumbprint. * @member {buffer} [virtualNetworkConnection.certBlob] A certificate file * (.cer) blob containing the public key of the private key used to * authenticate a * Point-To-Site VPN connection. * @member {array} [virtualNetworkConnection.routes] The routes that this * Virtual Network connection uses. * @member {boolean} [virtualNetworkConnection.resyncRequired] * true if a resync is required; otherwise, false. * @member {string} [virtualNetworkConnection.dnsServers] DNS servers to be * used by this Virtual Network. This should be a comma-separated list of IP * addresses. * @member {array} [hybridConnections] The Hybrid Connections summary view. * @member {array} [hybridConnectionsV2] The Hybrid Connection V2 (Service Bus) * view. */ export interface NetworkFeatures extends ProxyOnlyResource { readonly virtualNetworkName?: string; readonly virtualNetworkConnection?: VnetInfo; readonly hybridConnections?: RelayServiceConnectionEntity[]; readonly hybridConnectionsV2?: HybridConnection[]; } /** * @class * Initializes a new instance of the NetworkTrace class. * @constructor * Network trace * * @member {string} [path] Local file path for the captured network trace file. * @member {string} [status] Current status of the network trace operation, * same as Operation.Status (InProgress/Succeeded/Failed). * @member {string} [message] Detailed message of a network trace operation, * e.g. error message in case of failure. */ export interface NetworkTrace { path?: string; status?: string; message?: string; } /** * @class * Initializes a new instance of the PerfMonSample class. * @constructor * Performance monitor sample in a set. * * @member {date} [time] Point in time for which counter was measured. * @member {string} [instanceName] Name of the server on which the measurement * is made. * @member {number} [value] Value of counter at a certain time. */ export interface PerfMonSample { time?: Date; instanceName?: string; value?: number; } /** * @class * Initializes a new instance of the PerfMonSet class. * @constructor * Metric information. * * @member {string} [name] Unique key name of the counter. * @member {date} [startTime] Start time of the period. * @member {date} [endTime] End time of the period. * @member {string} [timeGrain] Presented time grain. * @member {array} [values] Collection of workers that are active during this * time. */ export interface PerfMonSet { name?: string; startTime?: Date; endTime?: Date; timeGrain?: string; values?: PerfMonSample[]; } /** * @class * Initializes a new instance of the PerfMonResponse class. * @constructor * Performance monitor API response. * * @member {string} [code] The response code. * @member {string} [message] The message. * @member {object} [data] The performance monitor counters. * @member {string} [data.name] Unique key name of the counter. * @member {date} [data.startTime] Start time of the period. * @member {date} [data.endTime] End time of the period. * @member {string} [data.timeGrain] Presented time grain. * @member {array} [data.values] Collection of workers that are active during * this time. */ export interface PerfMonResponse { code?: string; message?: string; data?: PerfMonSet; } /** * @class * Initializes a new instance of the PremierAddOn class. * @constructor * Premier add-on. * * @member {string} [sku] Premier add on SKU. * @member {string} [product] Premier add on Product. * @member {string} [vendor] Premier add on Vendor. * @member {string} [marketplacePublisher] Premier add on Marketplace * publisher. * @member {string} [marketplaceOffer] Premier add on Marketplace offer. */ export interface PremierAddOn extends Resource { sku?: string; product?: string; vendor?: string; marketplacePublisher?: string; marketplaceOffer?: string; } /** * @class * Initializes a new instance of the PremierAddOnPatchResource class. * @constructor * ARM resource for a PremierAddOn. * * @member {string} [sku] Premier add on SKU. * @member {string} [product] Premier add on Product. * @member {string} [vendor] Premier add on Vendor. * @member {string} [marketplacePublisher] Premier add on Marketplace * publisher. * @member {string} [marketplaceOffer] Premier add on Marketplace offer. */ export interface PremierAddOnPatchResource extends ProxyOnlyResource { sku?: string; product?: string; vendor?: string; marketplacePublisher?: string; marketplaceOffer?: string; } /** * @class * Initializes a new instance of the PrivateAccessSubnet class. * @constructor * Description of a Virtual Network subnet that is useable for private site * access. * * @member {string} [name] The name of the subnet. * @member {number} [key] The key (ID) of the subnet. */ export interface PrivateAccessSubnet { name?: string; key?: number; } /** * @class * Initializes a new instance of the PrivateAccessVirtualNetwork class. * @constructor * Description of a Virtual Network that is useable for private site access. * * @member {string} [name] The name of the Virtual Network. * @member {number} [key] The key (ID) of the Virtual Network. * @member {string} [resourceId] The ARM uri of the Virtual Network * @member {array} [subnets] A List of subnets that access is allowed to on * this Virtual Network. An empty array (but not null) is interpreted to mean * that all subnets are allowed within this Virtual Network. */ export interface PrivateAccessVirtualNetwork { name?: string; key?: number; resourceId?: string; subnets?: PrivateAccessSubnet[]; } /** * @class * Initializes a new instance of the PrivateAccess class. * @constructor * Description of the parameters of Private Access for a Web Site. * * @member {boolean} [enabled] Whether private access is enabled or not. * @member {array} [virtualNetworks] The Virtual Networks (and subnets) allowed * to access the site privately. */ export interface PrivateAccess extends ProxyOnlyResource { enabled?: boolean; virtualNetworks?: PrivateAccessVirtualNetwork[]; } /** * @class * Initializes a new instance of the ProcessThreadInfo class. * @constructor * Process Thread Information. * * @member {number} [identifier] Site extension ID. * @member {string} [href] HRef URI. * @member {string} [process] Process URI. * @member {string} [startAddress] Start address. * @member {number} [currentPriority] Current thread priority. * @member {string} [priorityLevel] Thread priority level. * @member {number} [basePriority] Base priority. * @member {date} [startTime] Start time. * @member {string} [totalProcessorTime] Total processor time. * @member {string} [userProcessorTime] User processor time. * @member {string} [priviledgedProcessorTime] Priviledged processor time. * @member {string} [state] Thread state. * @member {string} [waitReason] Wait reason. */ export interface ProcessThreadInfo extends ProxyOnlyResource { readonly identifier?: number; href?: string; process?: string; startAddress?: string; currentPriority?: number; priorityLevel?: string; basePriority?: number; startTime?: Date; totalProcessorTime?: string; userProcessorTime?: string; priviledgedProcessorTime?: string; state?: string; waitReason?: string; } /** * @class * Initializes a new instance of the ProcessModuleInfo class. * @constructor * Process Module Information. * * @member {string} [baseAddress] Base address. Used as module identifier in * ARM resource URI. * @member {string} [fileName] File name. * @member {string} [href] HRef URI. * @member {string} [filePath] File path. * @member {number} [moduleMemorySize] Module memory size. * @member {string} [fileVersion] File version. * @member {string} [fileDescription] File description. * @member {string} [product] Product name. * @member {string} [productVersion] Product version. * @member {boolean} [isDebug] Is debug? * @member {string} [language] Module language (locale). */ export interface ProcessModuleInfo extends ProxyOnlyResource { baseAddress?: string; fileName?: string; href?: string; filePath?: string; moduleMemorySize?: number; fileVersion?: string; fileDescription?: string; product?: string; productVersion?: string; isDebug?: boolean; language?: string; } /** * @class * Initializes a new instance of the ProcessInfo class. * @constructor * Process Information. * * @member {number} [identifier] ARM Identifier for deployment. * @member {string} [deploymentName] Deployment name. * @member {string} [href] HRef URI. * @member {string} [minidump] Minidump URI. * @member {boolean} [isProfileRunning] Is profile running? * @member {boolean} [isIisProfileRunning] Is the IIS Profile running? * @member {number} [iisProfileTimeoutInSeconds] IIS Profile timeout (seconds). * @member {string} [parent] Parent process. * @member {array} [children] Child process list. * @member {array} [threads] Thread list. * @member {array} [openFileHandles] List of open files. * @member {array} [modules] List of modules. * @member {string} [fileName] File name of this process. * @member {string} [commandLine] Command line. * @member {string} [userName] User name. * @member {number} [handleCount] Handle count. * @member {number} [moduleCount] Module count. * @member {number} [threadCount] Thread count. * @member {date} [startTime] Start time. * @member {string} [totalCpuTime] Total CPU time. * @member {string} [userCpuTime] User CPU time. * @member {string} [privilegedCpuTime] Privileged CPU time. * @member {number} [workingSet] Working set. * @member {number} [peakWorkingSet] Peak working set. * @member {number} [privateMemory] Private memory size. * @member {number} [virtualMemory] Virtual memory size. * @member {number} [peakVirtualMemory] Peak virtual memory usage. * @member {number} [pagedSystemMemory] Paged system memory. * @member {number} [nonPagedSystemMemory] Non-paged system memory. * @member {number} [pagedMemory] Paged memory. * @member {number} [peakPagedMemory] Peak paged memory. * @member {date} [timeStamp] Time stamp. * @member {object} [environmentVariables] List of environment variables. * @member {boolean} [isScmSite] Is this the SCM site? * @member {boolean} [isWebjob] Is this a Web Job? * @member {string} [description] Description of process. */ export interface ProcessInfo extends ProxyOnlyResource { readonly identifier?: number; deploymentName?: string; href?: string; minidump?: string; isProfileRunning?: boolean; isIisProfileRunning?: boolean; iisProfileTimeoutInSeconds?: number; parent?: string; children?: string[]; threads?: ProcessThreadInfo[]; openFileHandles?: string[]; modules?: ProcessModuleInfo[]; fileName?: string; commandLine?: string; userName?: string; handleCount?: number; moduleCount?: number; threadCount?: number; startTime?: Date; totalCpuTime?: string; userCpuTime?: string; privilegedCpuTime?: string; workingSet?: number; peakWorkingSet?: number; privateMemory?: number; virtualMemory?: number; peakVirtualMemory?: number; pagedSystemMemory?: number; nonPagedSystemMemory?: number; pagedMemory?: number; peakPagedMemory?: number; timeStamp?: Date; environmentVariables?: { [propertyName: string]: string }; isScmSite?: boolean; isWebjob?: boolean; description?: string; } /** * @class * Initializes a new instance of the PublicCertificate class. * @constructor * Public certificate object * * @member {buffer} [blob] Public Certificate byte array * @member {string} [publicCertificateLocation] Public Certificate Location. * Possible values include: 'CurrentUserMy', 'LocalMachineMy', 'Unknown' * @member {string} [thumbprint] Certificate Thumbprint */ export interface PublicCertificate extends ProxyOnlyResource { blob?: Buffer; publicCertificateLocation?: string; readonly thumbprint?: string; } /** * @class * Initializes a new instance of the RestoreRequest class. * @constructor * Description of a restore request. * * @member {string} storageAccountUrl SAS URL to the container. * @member {string} [blobName] Name of a blob which contains the backup. * @member {boolean} overwrite true if the restore operation can * overwrite target app; otherwise, false. true is * needed if trying to restore over an existing app. * @member {string} [siteName] Name of an app. * @member {array} [databases] Collection of databases which should be * restored. This list has to match the list of databases included in the * backup. * @member {boolean} [ignoreConflictingHostNames] Changes a logic when * restoring an app with custom domains. true to remove custom * domains automatically. If false, custom domains are added to * the app's object when it is being restored, but that might fail due to * conflicts during the operation. Default value: false . * @member {boolean} [ignoreDatabases] Ignore the databases and only restore * the site content. Default value: false . * @member {string} [appServicePlan] Specify app service plan that will own * restored site. * @member {string} [operationType] Operation type. Possible values include: * 'Default', 'Clone', 'Relocation', 'Snapshot', 'CloudFS'. Default value: * 'Default' . * @member {boolean} [adjustConnectionStrings] true if * SiteConfig.ConnectionStrings should be set in new app; otherwise, * false. * @member {string} [hostingEnvironment] App Service Environment name, if * needed (only when restoring an app to an App Service Environment). */ export interface RestoreRequest extends ProxyOnlyResource { storageAccountUrl: string; blobName?: string; overwrite: boolean; siteName?: string; databases?: DatabaseBackupSetting[]; ignoreConflictingHostNames?: boolean; ignoreDatabases?: boolean; appServicePlan?: string; operationType?: string; adjustConnectionStrings?: boolean; hostingEnvironment?: string; } /** * @class * Initializes a new instance of the SiteAuthSettings class. * @constructor * Configuration settings for the Azure App Service Authentication / * Authorization feature. * * @member {boolean} [enabled] true if the Authentication / * Authorization feature is enabled for the current app; otherwise, * false. * @member {string} [runtimeVersion] The RuntimeVersion of the Authentication / * Authorization feature in use for the current app. * The setting in this value can control the behavior of certain features in * the Authentication / Authorization module. * @member {string} [unauthenticatedClientAction] The action to take when an * unauthenticated client attempts to access the app. Possible values include: * 'RedirectToLoginPage', 'AllowAnonymous' * @member {boolean} [tokenStoreEnabled] true to durably store * platform-specific security tokens that are obtained during login flows; * otherwise, false. * The default is false. * @member {array} [allowedExternalRedirectUrls] External URLs that can be * redirected to as part of logging in or logging out of the app. Note that the * query string part of the URL is ignored. * This is an advanced setting typically only needed by Windows Store * application backends. * Note that URLs within the current domain are always implicitly allowed. * @member {string} [defaultProvider] The default authentication provider to * use when multiple providers are configured. * This setting is only needed if multiple providers are configured and the * unauthenticated client * action is set to "RedirectToLoginPage". Possible values include: * 'AzureActiveDirectory', 'Facebook', 'Google', 'MicrosoftAccount', 'Twitter' * @member {number} [tokenRefreshExtensionHours] The number of hours after * session token expiration that a session token can be used to * call the token refresh API. The default is 72 hours. * @member {string} [clientId] The Client ID of this relying party application, * known as the client_id. * This setting is required for enabling OpenID Connection authentication with * Azure Active Directory or * other 3rd party OpenID Connect providers. * More information on OpenID Connect: * http://openid.net/specs/openid-connect-core-1_0.html * @member {string} [clientSecret] The Client Secret of this relying party * application (in Azure Active Directory, this is also referred to as the * Key). * This setting is optional. If no client secret is configured, the OpenID * Connect implicit auth flow is used to authenticate end users. * Otherwise, the OpenID Connect Authorization Code Flow is used to * authenticate end users. * More information on OpenID Connect: * http://openid.net/specs/openid-connect-core-1_0.html * @member {string} [issuer] The OpenID Connect Issuer URI that represents the * entity which issues access tokens for this application. * When using Azure Active Directory, this value is the URI of the directory * tenant, e.g. https://sts.windows.net/{tenant-guid}/. * This URI is a case-sensitive identifier for the token issuer. * More information on OpenID Connect Discovery: * http://openid.net/specs/openid-connect-discovery-1_0.html * @member {boolean} [validateIssuer] Gets a value indicating whether the * issuer should be a valid HTTPS url and be validated as such. * @member {array} [allowedAudiences] Allowed audience values to consider when * validating JWTs issued by * Azure Active Directory. Note that the ClientID value is always * considered an * allowed audience, regardless of this setting. * @member {array} [additionalLoginParams] Login parameters to send to the * OpenID Connect authorization endpoint when * a user logs in. Each parameter must be in the form "key=value". * @member {string} [googleClientId] The OpenID Connect Client ID for the * Google web application. * This setting is required for enabling Google Sign-In. * Google Sign-In documentation: * https://developers.google.com/identity/sign-in/web/ * @member {string} [googleClientSecret] The client secret associated with the * Google web application. * This setting is required for enabling Google Sign-In. * Google Sign-In documentation: * https://developers.google.com/identity/sign-in/web/ * @member {array} [googleOAuthScopes] The OAuth 2.0 scopes that will be * requested as part of Google Sign-In authentication. * This setting is optional. If not specified, "openid", "profile", and "email" * are used as default scopes. * Google Sign-In documentation: * https://developers.google.com/identity/sign-in/web/ * @member {string} [facebookAppId] The App ID of the Facebook app used for * login. * This setting is required for enabling Facebook Login. * Facebook Login documentation: * https://developers.facebook.com/docs/facebook-login * @member {string} [facebookAppSecret] The App Secret of the Facebook app used * for Facebook Login. * This setting is required for enabling Facebook Login. * Facebook Login documentation: * https://developers.facebook.com/docs/facebook-login * @member {array} [facebookOAuthScopes] The OAuth 2.0 scopes that will be * requested as part of Facebook Login authentication. * This setting is optional. * Facebook Login documentation: * https://developers.facebook.com/docs/facebook-login * @member {string} [twitterConsumerKey] The OAuth 1.0a consumer key of the * Twitter application used for sign-in. * This setting is required for enabling Twitter Sign-In. * Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in * @member {string} [twitterConsumerSecret] The OAuth 1.0a consumer secret of * the Twitter application used for sign-in. * This setting is required for enabling Twitter Sign-In. * Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in * @member {string} [microsoftAccountClientId] The OAuth 2.0 client ID that was * created for the app used for authentication. * This setting is required for enabling Microsoft Account authentication. * Microsoft Account OAuth documentation: * https://dev.onedrive.com/auth/msa_oauth.htm * @member {string} [microsoftAccountClientSecret] The OAuth 2.0 client secret * that was created for the app used for authentication. * This setting is required for enabling Microsoft Account authentication. * Microsoft Account OAuth documentation: * https://dev.onedrive.com/auth/msa_oauth.htm * @member {array} [microsoftAccountOAuthScopes] The OAuth 2.0 scopes that will * be requested as part of Microsoft Account authentication. * This setting is optional. If not specified, "wl.basic" is used as the * default scope. * Microsoft Account Scopes and permissions documentation: * https://msdn.microsoft.com/en-us/library/dn631845.aspx */ export interface SiteAuthSettings extends ProxyOnlyResource { enabled?: boolean; runtimeVersion?: string; unauthenticatedClientAction?: string; tokenStoreEnabled?: boolean; allowedExternalRedirectUrls?: string[]; defaultProvider?: string; tokenRefreshExtensionHours?: number; clientId?: string; clientSecret?: string; issuer?: string; validateIssuer?: boolean; allowedAudiences?: string[]; additionalLoginParams?: string[]; googleClientId?: string; googleClientSecret?: string; googleOAuthScopes?: string[]; facebookAppId?: string; facebookAppSecret?: string; facebookOAuthScopes?: string[]; twitterConsumerKey?: string; twitterConsumerSecret?: string; microsoftAccountClientId?: string; microsoftAccountClientSecret?: string; microsoftAccountOAuthScopes?: string[]; } /** * @class * Initializes a new instance of the SiteCloneabilityCriterion class. * @constructor * An app cloneability criterion. * * @member {string} [name] Name of criterion. * @member {string} [description] Description of criterion. */ export interface SiteCloneabilityCriterion { name?: string; description?: string; } /** * @class * Initializes a new instance of the SiteCloneability class. * @constructor * Represents whether or not an app is cloneable. * * @member {string} [result] Name of app. Possible values include: 'Cloneable', * 'PartiallyCloneable', 'NotCloneable' * @member {array} [blockingFeatures] List of features enabled on app that * prevent cloning. * @member {array} [unsupportedFeatures] List of features enabled on app that * are non-blocking but cannot be cloned. The app can still be cloned * but the features in this list will not be set up on cloned app. * @member {array} [blockingCharacteristics] List of blocking application * characteristics. */ export interface SiteCloneability { result?: string; blockingFeatures?: SiteCloneabilityCriterion[]; unsupportedFeatures?: SiteCloneabilityCriterion[]; blockingCharacteristics?: SiteCloneabilityCriterion[]; } /** * @class * Initializes a new instance of the SiteConfigResource class. * @constructor * Web app configuration ARM resource. * * @member {number} [numberOfWorkers] Number of workers. * @member {array} [defaultDocuments] Default documents. * @member {string} [netFrameworkVersion] .NET Framework version. Default * value: 'v4.6' . * @member {string} [phpVersion] Version of PHP. * @member {string} [pythonVersion] Version of Python. * @member {string} [nodeVersion] Version of Node.js. * @member {string} [linuxFxVersion] Linux App Framework and version * @member {string} [windowsFxVersion] Xenon App Framework and version * @member {boolean} [requestTracingEnabled] true if request * tracing is enabled; otherwise, false. * @member {date} [requestTracingExpirationTime] Request tracing expiration * time. * @member {boolean} [remoteDebuggingEnabled] true if remote * debugging is enabled; otherwise, false. * @member {string} [remoteDebuggingVersion] Remote debugging version. * @member {boolean} [httpLoggingEnabled] true if HTTP logging is * enabled; otherwise, false. * @member {number} [logsDirectorySizeLimit] HTTP logs directory size limit. * @member {boolean} [detailedErrorLoggingEnabled] true if * detailed error logging is enabled; otherwise, false. * @member {string} [publishingUsername] Publishing user name. * @member {array} [appSettings] Application settings. * @member {object} [azureStorageAccounts] User-provided Azure storage * accounts. * @member {array} [connectionStrings] Connection strings. * @member {object} [machineKey] Site MachineKey. * @member {string} [machineKey.validation] MachineKey validation. * @member {string} [machineKey.validationKey] Validation key. * @member {string} [machineKey.decryption] Algorithm used for decryption. * @member {string} [machineKey.decryptionKey] Decryption key. * @member {array} [handlerMappings] Handler mappings. * @member {string} [documentRoot] Document root. * @member {string} [scmType] SCM type. Possible values include: 'None', * 'Dropbox', 'Tfs', 'LocalGit', 'GitHub', 'CodePlexGit', 'CodePlexHg', * 'BitbucketGit', 'BitbucketHg', 'ExternalGit', 'ExternalHg', 'OneDrive', * 'VSO' * @member {boolean} [use32BitWorkerProcess] true to use 32-bit * worker process; otherwise, false. * @member {boolean} [webSocketsEnabled] true if WebSocket is * enabled; otherwise, false. * @member {boolean} [alwaysOn] true if Always On is enabled; * otherwise, false. * @member {string} [javaVersion] Java version. * @member {string} [javaContainer] Java container. * @member {string} [javaContainerVersion] Java container version. * @member {string} [appCommandLine] App command line to launch. * @member {string} [managedPipelineMode] Managed pipeline mode. Possible * values include: 'Integrated', 'Classic' * @member {array} [virtualApplications] Virtual applications. * @member {string} [loadBalancing] Site load balancing. Possible values * include: 'WeightedRoundRobin', 'LeastRequests', 'LeastResponseTime', * 'WeightedTotalTraffic', 'RequestHash' * @member {object} [experiments] This is work around for polymophic types. * @member {array} [experiments.rampUpRules] List of ramp-up rules. * @member {object} [limits] Site limits. * @member {number} [limits.maxPercentageCpu] Maximum allowed CPU usage * percentage. * @member {number} [limits.maxMemoryInMb] Maximum allowed memory usage in MB. * @member {number} [limits.maxDiskSizeInMb] Maximum allowed disk size usage in * MB. * @member {boolean} [autoHealEnabled] true if Auto Heal is * enabled; otherwise, false. * @member {object} [autoHealRules] Auto Heal rules. * @member {object} [autoHealRules.triggers] Conditions that describe when to * execute the auto-heal actions. * @member {object} [autoHealRules.triggers.requests] A rule based on total * requests. * @member {number} [autoHealRules.triggers.requests.count] Request Count. * @member {string} [autoHealRules.triggers.requests.timeInterval] Time * interval. * @member {number} [autoHealRules.triggers.privateBytesInKB] A rule based on * private bytes. * @member {array} [autoHealRules.triggers.statusCodes] A rule based on status * codes. * @member {object} [autoHealRules.triggers.slowRequests] A rule based on * request execution time. * @member {string} [autoHealRules.triggers.slowRequests.timeTaken] Time taken. * @member {number} [autoHealRules.triggers.slowRequests.count] Request Count. * @member {string} [autoHealRules.triggers.slowRequests.timeInterval] Time * interval. * @member {object} [autoHealRules.actions] Actions to be executed when a rule * is triggered. * @member {string} [autoHealRules.actions.actionType] Predefined action to be * taken. Possible values include: 'Recycle', 'LogEvent', 'CustomAction' * @member {object} [autoHealRules.actions.customAction] Custom action to be * taken. * @member {string} [autoHealRules.actions.customAction.exe] Executable to be * run. * @member {string} [autoHealRules.actions.customAction.parameters] Parameters * for the executable. * @member {string} [autoHealRules.actions.minProcessExecutionTime] Minimum * time the process must execute * before taking the action * @member {string} [tracingOptions] Tracing options. * @member {string} [vnetName] Virtual Network name. * @member {object} [cors] Cross-Origin Resource Sharing (CORS) settings. * @member {array} [cors.allowedOrigins] Gets or sets the list of origins that * should be allowed to make cross-origin * calls (for example: http://example.com:12345). Use "*" to allow all. * @member {object} [push] Push endpoint settings. * @member {boolean} [push.isPushEnabled] Gets or sets a flag indicating * whether the Push endpoint is enabled. * @member {string} [push.tagWhitelistJson] Gets or sets a JSON string * containing a list of tags that are whitelisted for use by the push * registration endpoint. * @member {string} [push.tagsRequiringAuth] Gets or sets a JSON string * containing a list of tags that require user authentication to be used in the * push registration endpoint. * Tags can consist of alphanumeric characters and the following: * '_', '@', '#', '.', ':', '-'. * Validation should be performed at the PushRequestHandler. * @member {string} [push.dynamicTagsJson] Gets or sets a JSON string * containing a list of dynamic tags that will be evaluated from user claims in * the push registration endpoint. * @member {object} [apiDefinition] Information about the formal API definition * for the app. * @member {string} [apiDefinition.url] The URL of the API definition. * @member {string} [autoSwapSlotName] Auto-swap slot name. * @member {boolean} [localMySqlEnabled] true to enable local * MySQL; otherwise, false. Default value: false . * @member {number} [managedServiceIdentityId] Managed Service Identity Id * @member {number} [xManagedServiceIdentityId] Explicit Managed Service * Identity Id * @member {array} [ipSecurityRestrictions] IP security restrictions. * @member {boolean} [http20Enabled] Http20Enabled: configures a web site to * allow clients to connect over http2.0. Default value: true . * @member {string} [minTlsVersion] MinTlsVersion: configures the minimum * version of TLS required for SSL requests. Possible values include: '1.0', * '1.1', '1.2' * @member {string} [ftpsState] State of FTP / FTPS service. Possible values * include: 'AllAllowed', 'FtpsOnly', 'Disabled' * @member {number} [reservedInstanceCount] Number of reserved instances. * This setting only applies to the Consumption Plan */ export interface SiteConfigResource extends ProxyOnlyResource { numberOfWorkers?: number; defaultDocuments?: string[]; netFrameworkVersion?: string; phpVersion?: string; pythonVersion?: string; nodeVersion?: string; linuxFxVersion?: string; windowsFxVersion?: string; requestTracingEnabled?: boolean; requestTracingExpirationTime?: Date; remoteDebuggingEnabled?: boolean; remoteDebuggingVersion?: string; httpLoggingEnabled?: boolean; logsDirectorySizeLimit?: number; detailedErrorLoggingEnabled?: boolean; publishingUsername?: string; appSettings?: NameValuePair[]; azureStorageAccounts?: { [propertyName: string]: AzureStorageInfoValue }; connectionStrings?: ConnStringInfo[]; readonly machineKey?: SiteMachineKey; handlerMappings?: HandlerMapping[]; documentRoot?: string; scmType?: string; use32BitWorkerProcess?: boolean; webSocketsEnabled?: boolean; alwaysOn?: boolean; javaVersion?: string; javaContainer?: string; javaContainerVersion?: string; appCommandLine?: string; managedPipelineMode?: string; virtualApplications?: VirtualApplication[]; loadBalancing?: string; experiments?: Experiments; limits?: SiteLimits; autoHealEnabled?: boolean; autoHealRules?: AutoHealRules; tracingOptions?: string; vnetName?: string; cors?: CorsSettings; push?: PushSettings; apiDefinition?: ApiDefinitionInfo; autoSwapSlotName?: string; localMySqlEnabled?: boolean; managedServiceIdentityId?: number; xManagedServiceIdentityId?: number; ipSecurityRestrictions?: IpSecurityRestriction[]; http20Enabled?: boolean; minTlsVersion?: string; ftpsState?: string; reservedInstanceCount?: number; } /** * @class * Initializes a new instance of the SiteConfigurationSnapshotInfo class. * @constructor * A snapshot of a web app configuration. * * @member {date} [time] The time the snapshot was taken. * @member {number} [snapshotId] The id of the snapshot */ export interface SiteConfigurationSnapshotInfo extends ProxyOnlyResource { readonly time?: Date; readonly snapshotId?: number; } /** * @class * Initializes a new instance of the SiteExtensionInfo class. * @constructor * Site Extension Information. * * @member {string} [extensionId] Site extension ID. * @member {string} [title] * @member {string} [extensionType] Site extension type. Possible values * include: 'Gallery', 'WebRoot' * @member {string} [summary] Summary description. * @member {string} [description] Detailed description. * @member {string} [version] Version information. * @member {string} [extensionUrl] Extension URL. * @member {string} [projectUrl] Project URL. * @member {string} [iconUrl] Icon URL. * @member {string} [licenseUrl] License URL. * @member {string} [feedUrl] Feed URL. * @member {array} [authors] List of authors. * @member {string} [installerCommandLineParams] Installer command line * parameters. * @member {date} [publishedDateTime] Published timestamp. * @member {number} [downloadCount] Count of downloads. * @member {boolean} [localIsLatestVersion] true if the local * version is the latest version; false otherwise. * @member {string} [localPath] Local path. * @member {date} [installedDateTime] Installed timestamp. * @member {string} [provisioningState] Provisioning state. * @member {string} [comment] Site Extension comment. */ export interface SiteExtensionInfo extends ProxyOnlyResource { extensionId?: string; title?: string; extensionType?: string; summary?: string; description?: string; version?: string; extensionUrl?: string; projectUrl?: string; iconUrl?: string; licenseUrl?: string; feedUrl?: string; authors?: string[]; installerCommandLineParams?: string; publishedDateTime?: Date; downloadCount?: number; localIsLatestVersion?: boolean; localPath?: string; installedDateTime?: Date; provisioningState?: string; comment?: string; } /** * @class * Initializes a new instance of the SiteInstance class. * @constructor * Instance of an app. * * @member {string} [siteInstanceName] Name of instance. */ export interface SiteInstance extends ProxyOnlyResource { readonly siteInstanceName?: string; } /** * @class * Initializes a new instance of the SiteLogsConfig class. * @constructor * Configuration of App Service site logs. * * @member {object} [applicationLogs] Application logs configuration. * @member {object} [applicationLogs.fileSystem] Application logs to file * system configuration. * @member {string} [applicationLogs.fileSystem.level] Log level. Possible * values include: 'Off', 'Verbose', 'Information', 'Warning', 'Error' * @member {object} [applicationLogs.azureTableStorage] Application logs to * azure table storage configuration. * @member {string} [applicationLogs.azureTableStorage.level] Log level. * Possible values include: 'Off', 'Verbose', 'Information', 'Warning', 'Error' * @member {string} [applicationLogs.azureTableStorage.sasUrl] SAS URL to an * Azure table with add/query/delete permissions. * @member {object} [applicationLogs.azureBlobStorage] Application logs to blob * storage configuration. * @member {string} [applicationLogs.azureBlobStorage.level] Log level. * Possible values include: 'Off', 'Verbose', 'Information', 'Warning', 'Error' * @member {string} [applicationLogs.azureBlobStorage.sasUrl] SAS url to a * azure blob container with read/write/list/delete permissions. * @member {number} [applicationLogs.azureBlobStorage.retentionInDays] * Retention in days. * Remove blobs older than X days. * 0 or lower means no retention. * @member {object} [httpLogs] HTTP logs configuration. * @member {object} [httpLogs.fileSystem] Http logs to file system * configuration. * @member {number} [httpLogs.fileSystem.retentionInMb] Maximum size in * megabytes that http log files can use. * When reached old log files will be removed to make space for new ones. * Value can range between 25 and 100. * @member {number} [httpLogs.fileSystem.retentionInDays] Retention in days. * Remove files older than X days. * 0 or lower means no retention. * @member {boolean} [httpLogs.fileSystem.enabled] True if configuration is * enabled, false if it is disabled and null if configuration is not set. * @member {object} [httpLogs.azureBlobStorage] Http logs to azure blob storage * configuration. * @member {string} [httpLogs.azureBlobStorage.sasUrl] SAS url to a azure blob * container with read/write/list/delete permissions. * @member {number} [httpLogs.azureBlobStorage.retentionInDays] Retention in * days. * Remove blobs older than X days. * 0 or lower means no retention. * @member {boolean} [httpLogs.azureBlobStorage.enabled] True if configuration * is enabled, false if it is disabled and null if configuration is not set. * @member {object} [failedRequestsTracing] Failed requests tracing * configuration. * @member {boolean} [failedRequestsTracing.enabled] True if configuration is * enabled, false if it is disabled and null if configuration is not set. * @member {object} [detailedErrorMessages] Detailed error messages * configuration. * @member {boolean} [detailedErrorMessages.enabled] True if configuration is * enabled, false if it is disabled and null if configuration is not set. */ export interface SiteLogsConfig extends ProxyOnlyResource { applicationLogs?: ApplicationLogsConfig; httpLogs?: HttpLogsConfig; failedRequestsTracing?: EnabledConfig; detailedErrorMessages?: EnabledConfig; } /** * @class * Initializes a new instance of the SitePatchResource class. * @constructor * ARM resource for a site. * * @member {string} [state] Current state of the app. * @member {array} [hostNames] Hostnames associated with the app. * @member {string} [repositorySiteName] Name of the repository site. * @member {string} [usageState] State indicating whether the app has exceeded * its quota usage. Read-only. Possible values include: 'Normal', 'Exceeded' * @member {boolean} [enabled] true if the app is enabled; * otherwise, false. Setting this value to false disables the app * (takes the app offline). * @member {array} [enabledHostNames] Enabled hostnames for the app.Hostnames * need to be assigned (see HostNames) AND enabled. Otherwise, * the app is not served on those hostnames. * @member {string} [availabilityState] Management information availability * state for the app. Possible values include: 'Normal', 'Limited', * 'DisasterRecoveryMode' * @member {array} [hostNameSslStates] Hostname SSL states are used to manage * the SSL bindings for app's hostnames. * @member {string} [serverFarmId] Resource ID of the associated App Service * plan, formatted as: * "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". * @member {boolean} [reserved] true if reserved; otherwise, * false. Default value: false . * @member {boolean} [isXenon] Obsolete: Hyper-V sandbox. Default value: false * . * @member {boolean} [hyperV] Hyper-V sandbox. Default value: false . * @member {date} [lastModifiedTimeUtc] Last time the app was modified, in UTC. * Read-only. * @member {object} [siteConfig] Configuration of the app. * @member {number} [siteConfig.numberOfWorkers] Number of workers. * @member {array} [siteConfig.defaultDocuments] Default documents. * @member {string} [siteConfig.netFrameworkVersion] .NET Framework version. * @member {string} [siteConfig.phpVersion] Version of PHP. * @member {string} [siteConfig.pythonVersion] Version of Python. * @member {string} [siteConfig.nodeVersion] Version of Node.js. * @member {string} [siteConfig.linuxFxVersion] Linux App Framework and version * @member {string} [siteConfig.windowsFxVersion] Xenon App Framework and * version * @member {boolean} [siteConfig.requestTracingEnabled] true if * request tracing is enabled; otherwise, false. * @member {date} [siteConfig.requestTracingExpirationTime] Request tracing * expiration time. * @member {boolean} [siteConfig.remoteDebuggingEnabled] true if * remote debugging is enabled; otherwise, false. * @member {string} [siteConfig.remoteDebuggingVersion] Remote debugging * version. * @member {boolean} [siteConfig.httpLoggingEnabled] true if HTTP * logging is enabled; otherwise, false. * @member {number} [siteConfig.logsDirectorySizeLimit] HTTP logs directory * size limit. * @member {boolean} [siteConfig.detailedErrorLoggingEnabled] true * if detailed error logging is enabled; otherwise, false. * @member {string} [siteConfig.publishingUsername] Publishing user name. * @member {array} [siteConfig.appSettings] Application settings. * @member {object} [siteConfig.azureStorageAccounts] User-provided Azure * storage accounts. * @member {array} [siteConfig.connectionStrings] Connection strings. * @member {object} [siteConfig.machineKey] Site MachineKey. * @member {string} [siteConfig.machineKey.validation] MachineKey validation. * @member {string} [siteConfig.machineKey.validationKey] Validation key. * @member {string} [siteConfig.machineKey.decryption] Algorithm used for * decryption. * @member {string} [siteConfig.machineKey.decryptionKey] Decryption key. * @member {array} [siteConfig.handlerMappings] Handler mappings. * @member {string} [siteConfig.documentRoot] Document root. * @member {string} [siteConfig.scmType] SCM type. Possible values include: * 'None', 'Dropbox', 'Tfs', 'LocalGit', 'GitHub', 'CodePlexGit', 'CodePlexHg', * 'BitbucketGit', 'BitbucketHg', 'ExternalGit', 'ExternalHg', 'OneDrive', * 'VSO' * @member {boolean} [siteConfig.use32BitWorkerProcess] true to * use 32-bit worker process; otherwise, false. * @member {boolean} [siteConfig.webSocketsEnabled] true if * WebSocket is enabled; otherwise, false. * @member {boolean} [siteConfig.alwaysOn] true if Always On is * enabled; otherwise, false. * @member {string} [siteConfig.javaVersion] Java version. * @member {string} [siteConfig.javaContainer] Java container. * @member {string} [siteConfig.javaContainerVersion] Java container version. * @member {string} [siteConfig.appCommandLine] App command line to launch. * @member {string} [siteConfig.managedPipelineMode] Managed pipeline mode. * Possible values include: 'Integrated', 'Classic' * @member {array} [siteConfig.virtualApplications] Virtual applications. * @member {string} [siteConfig.loadBalancing] Site load balancing. Possible * values include: 'WeightedRoundRobin', 'LeastRequests', 'LeastResponseTime', * 'WeightedTotalTraffic', 'RequestHash' * @member {object} [siteConfig.experiments] This is work around for polymophic * types. * @member {array} [siteConfig.experiments.rampUpRules] List of ramp-up rules. * @member {object} [siteConfig.limits] Site limits. * @member {number} [siteConfig.limits.maxPercentageCpu] Maximum allowed CPU * usage percentage. * @member {number} [siteConfig.limits.maxMemoryInMb] Maximum allowed memory * usage in MB. * @member {number} [siteConfig.limits.maxDiskSizeInMb] Maximum allowed disk * size usage in MB. * @member {boolean} [siteConfig.autoHealEnabled] true if Auto * Heal is enabled; otherwise, false. * @member {object} [siteConfig.autoHealRules] Auto Heal rules. * @member {object} [siteConfig.autoHealRules.triggers] Conditions that * describe when to execute the auto-heal actions. * @member {object} [siteConfig.autoHealRules.triggers.requests] A rule based * on total requests. * @member {number} [siteConfig.autoHealRules.triggers.requests.count] Request * Count. * @member {string} [siteConfig.autoHealRules.triggers.requests.timeInterval] * Time interval. * @member {number} [siteConfig.autoHealRules.triggers.privateBytesInKB] A rule * based on private bytes. * @member {array} [siteConfig.autoHealRules.triggers.statusCodes] A rule based * on status codes. * @member {object} [siteConfig.autoHealRules.triggers.slowRequests] A rule * based on request execution time. * @member {string} [siteConfig.autoHealRules.triggers.slowRequests.timeTaken] * Time taken. * @member {number} [siteConfig.autoHealRules.triggers.slowRequests.count] * Request Count. * @member {string} * [siteConfig.autoHealRules.triggers.slowRequests.timeInterval] Time interval. * @member {object} [siteConfig.autoHealRules.actions] Actions to be executed * when a rule is triggered. * @member {string} [siteConfig.autoHealRules.actions.actionType] Predefined * action to be taken. Possible values include: 'Recycle', 'LogEvent', * 'CustomAction' * @member {object} [siteConfig.autoHealRules.actions.customAction] Custom * action to be taken. * @member {string} [siteConfig.autoHealRules.actions.customAction.exe] * Executable to be run. * @member {string} [siteConfig.autoHealRules.actions.customAction.parameters] * Parameters for the executable. * @member {string} [siteConfig.autoHealRules.actions.minProcessExecutionTime] * Minimum time the process must execute * before taking the action * @member {string} [siteConfig.tracingOptions] Tracing options. * @member {string} [siteConfig.vnetName] Virtual Network name. * @member {object} [siteConfig.cors] Cross-Origin Resource Sharing (CORS) * settings. * @member {array} [siteConfig.cors.allowedOrigins] Gets or sets the list of * origins that should be allowed to make cross-origin * calls (for example: http://example.com:12345). Use "*" to allow all. * @member {object} [siteConfig.push] Push endpoint settings. * @member {boolean} [siteConfig.push.isPushEnabled] Gets or sets a flag * indicating whether the Push endpoint is enabled. * @member {string} [siteConfig.push.tagWhitelistJson] Gets or sets a JSON * string containing a list of tags that are whitelisted for use by the push * registration endpoint. * @member {string} [siteConfig.push.tagsRequiringAuth] Gets or sets a JSON * string containing a list of tags that require user authentication to be used * in the push registration endpoint. * Tags can consist of alphanumeric characters and the following: * '_', '@', '#', '.', ':', '-'. * Validation should be performed at the PushRequestHandler. * @member {string} [siteConfig.push.dynamicTagsJson] Gets or sets a JSON * string containing a list of dynamic tags that will be evaluated from user * claims in the push registration endpoint. * @member {object} [siteConfig.apiDefinition] Information about the formal API * definition for the app. * @member {string} [siteConfig.apiDefinition.url] The URL of the API * definition. * @member {string} [siteConfig.autoSwapSlotName] Auto-swap slot name. * @member {boolean} [siteConfig.localMySqlEnabled] true to enable * local MySQL; otherwise, false. * @member {number} [siteConfig.managedServiceIdentityId] Managed Service * Identity Id * @member {number} [siteConfig.xManagedServiceIdentityId] Explicit Managed * Service Identity Id * @member {array} [siteConfig.ipSecurityRestrictions] IP security * restrictions. * @member {boolean} [siteConfig.http20Enabled] Http20Enabled: configures a web * site to allow clients to connect over http2.0 * @member {string} [siteConfig.minTlsVersion] MinTlsVersion: configures the * minimum version of TLS required for SSL requests. Possible values include: * '1.0', '1.1', '1.2' * @member {string} [siteConfig.ftpsState] State of FTP / FTPS service. * Possible values include: 'AllAllowed', 'FtpsOnly', 'Disabled' * @member {number} [siteConfig.reservedInstanceCount] Number of reserved * instances. * This setting only applies to the Consumption Plan * @member {array} [trafficManagerHostNames] Azure Traffic Manager hostnames * associated with the app. Read-only. * @member {boolean} [scmSiteAlsoStopped] true to stop SCM (KUDU) * site when the app is stopped; otherwise, false. The default is * false. Default value: false . * @member {string} [targetSwapSlot] Specifies which deployment slot this app * will swap into. Read-only. * @member {object} [hostingEnvironmentProfile] App Service Environment to use * for the app. * @member {string} [hostingEnvironmentProfile.id] Resource ID of the App * Service Environment. * @member {string} [hostingEnvironmentProfile.name] Name of the App Service * Environment. * @member {string} [hostingEnvironmentProfile.type] Resource type of the App * Service Environment. * @member {boolean} [clientAffinityEnabled] true to enable client * affinity; false to stop sending session affinity cookies, which * route client requests in the same session to the same instance. Default is * true. * @member {boolean} [clientCertEnabled] true to enable client * certificate authentication (TLS mutual authentication); otherwise, * false. Default is false. * @member {boolean} [hostNamesDisabled] true to disable the * public hostnames of the app; otherwise, false. * If true, the app is only accessible via API management process. * @member {string} [outboundIpAddresses] List of IP addresses that the app * uses for outbound connections (e.g. database access). Includes VIPs from * tenants that site can be hosted with current settings. Read-only. * @member {string} [possibleOutboundIpAddresses] List of IP addresses that the * app uses for outbound connections (e.g. database access). Includes VIPs from * all tenants. Read-only. * @member {number} [containerSize] Size of the function container. * @member {number} [dailyMemoryTimeQuota] Maximum allowed daily memory-time * quota (applicable on dynamic apps only). * @member {date} [suspendedTill] App suspended till in case memory-time quota * is exceeded. * @member {number} [maxNumberOfWorkers] Maximum number of workers. * This only applies to Functions container. * @member {object} [cloningInfo] If specified during app creation, the app is * cloned from a source app. * @member {uuid} [cloningInfo.correlationId] Correlation ID of cloning * operation. This ID ties multiple cloning operations * together to use the same snapshot. * @member {boolean} [cloningInfo.overwrite] true to overwrite * destination app; otherwise, false. * @member {boolean} [cloningInfo.cloneCustomHostNames] true to * clone custom hostnames from source app; otherwise, false. * @member {boolean} [cloningInfo.cloneSourceControl] true to * clone source control from source app; otherwise, false. * @member {string} [cloningInfo.sourceWebAppId] ARM resource ID of the source * app. App resource ID is of the form * /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} * for production slots and * /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} * for other slots. * @member {string} [cloningInfo.hostingEnvironment] App Service Environment. * @member {object} [cloningInfo.appSettingsOverrides] Application setting * overrides for cloned app. If specified, these settings override the settings * cloned * from source app. Otherwise, application settings from source app are * retained. * @member {boolean} [cloningInfo.configureLoadBalancing] true to * configure load balancing for source and destination app. * @member {string} [cloningInfo.trafficManagerProfileId] ARM resource ID of * the Traffic Manager profile to use, if it exists. Traffic Manager resource * ID is of the form * /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. * @member {string} [cloningInfo.trafficManagerProfileName] Name of Traffic * Manager profile to create. This is only needed if Traffic Manager profile * does not already exist. * @member {string} [resourceGroup] Name of the resource group the app belongs * to. Read-only. * @member {boolean} [isDefaultContainer] true if the app is a * default container; otherwise, false. * @member {string} [defaultHostName] Default hostname of the app. Read-only. * @member {object} [slotSwapStatus] Status of the last deployment slot swap * operation. * @member {date} [slotSwapStatus.timestampUtc] The time the last successful * slot swap completed. * @member {string} [slotSwapStatus.sourceSlotName] The source slot of the last * swap operation. * @member {string} [slotSwapStatus.destinationSlotName] The destination slot * of the last swap operation. * @member {boolean} [httpsOnly] HttpsOnly: configures a web site to accept * only https requests. Issues redirect for * http requests */ export interface SitePatchResource extends ProxyOnlyResource { readonly state?: string; readonly hostNames?: string[]; readonly repositorySiteName?: string; readonly usageState?: string; enabled?: boolean; readonly enabledHostNames?: string[]; readonly availabilityState?: string; hostNameSslStates?: HostNameSslState[]; serverFarmId?: string; reserved?: boolean; isXenon?: boolean; hyperV?: boolean; readonly lastModifiedTimeUtc?: Date; siteConfig?: SiteConfig; readonly trafficManagerHostNames?: string[]; scmSiteAlsoStopped?: boolean; readonly targetSwapSlot?: string; hostingEnvironmentProfile?: HostingEnvironmentProfile; clientAffinityEnabled?: boolean; clientCertEnabled?: boolean; hostNamesDisabled?: boolean; readonly outboundIpAddresses?: string; readonly possibleOutboundIpAddresses?: string; containerSize?: number; dailyMemoryTimeQuota?: number; readonly suspendedTill?: Date; readonly maxNumberOfWorkers?: number; cloningInfo?: CloningInfo; readonly resourceGroup?: string; readonly isDefaultContainer?: boolean; readonly defaultHostName?: string; readonly slotSwapStatus?: SlotSwapStatus; httpsOnly?: boolean; } /** * @class * Initializes a new instance of the SitePhpErrorLogFlag class. * @constructor * Used for getting PHP error logging flag. * * @member {string} [localLogErrors] Local log_errors setting. * @member {string} [masterLogErrors] Master log_errors setting. * @member {string} [localLogErrorsMaxLength] Local log_errors_max_len setting. * @member {string} [masterLogErrorsMaxLength] Master log_errors_max_len * setting. */ export interface SitePhpErrorLogFlag extends ProxyOnlyResource { localLogErrors?: string; masterLogErrors?: string; localLogErrorsMaxLength?: string; masterLogErrorsMaxLength?: string; } /** * @class * Initializes a new instance of the SiteSourceControl class. * @constructor * Source control configuration for an app. * * @member {string} [repoUrl] Repository or source control URL. * @member {string} [branch] Name of branch to use for deployment. * @member {boolean} [isManualIntegration] true to limit to manual * integration; false to enable continuous integration (which * configures webhooks into online repos like GitHub). * @member {boolean} [deploymentRollbackEnabled] true to enable * deployment rollback; otherwise, false. * @member {boolean} [isMercurial] true for a Mercurial * repository; false for a Git repository. */ export interface SiteSourceControl extends ProxyOnlyResource { repoUrl?: string; branch?: string; isManualIntegration?: boolean; deploymentRollbackEnabled?: boolean; isMercurial?: boolean; } /** * @class * Initializes a new instance of the SlotConfigNamesResource class. * @constructor * Slot Config names azure resource. * * @member {array} [connectionStringNames] List of connection string names. * @member {array} [appSettingNames] List of application settings names. * @member {array} [azureStorageConfigNames] List of external Azure storage * account identifiers. */ export interface SlotConfigNamesResource extends ProxyOnlyResource { connectionStringNames?: string[]; appSettingNames?: string[]; azureStorageConfigNames?: string[]; } /** * @class * Initializes a new instance of the SlotDifference class. * @constructor * A setting difference between two deployment slots of an app. * * @member {string} [level] Level of the difference: Information, Warning or * Error. * @member {string} [settingType] The type of the setting: General, AppSetting * or ConnectionString. * @member {string} [diffRule] Rule that describes how to process the setting * difference during a slot swap. * @member {string} [settingName] Name of the setting. * @member {string} [valueInCurrentSlot] Value of the setting in the current * slot. * @member {string} [valueInTargetSlot] Value of the setting in the target * slot. * @member {string} [description] Description of the setting difference. */ export interface SlotDifference extends ProxyOnlyResource { readonly level?: string; readonly settingType?: string; readonly diffRule?: string; readonly settingName?: string; readonly valueInCurrentSlot?: string; readonly valueInTargetSlot?: string; readonly description?: string; } /** * @class * Initializes a new instance of the SnapshotRecoverySource class. * @constructor * Specifies the web app that snapshot contents will be retrieved from. * * @member {string} [location] Geographical location of the source web app, * e.g. SouthEastAsia, SouthCentralUS * @member {string} [id] ARM resource ID of the source app. * /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} * for production slots and * /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} * for other slots. */ export interface SnapshotRecoverySource { location?: string; id?: string; } /** * @class * Initializes a new instance of the SnapshotRestoreRequest class. * @constructor * Details about app recovery operation. * * @member {string} [snapshotTime] Point in time in which the app restore * should be done, formatted as a DateTime string. * @member {object} [recoverySource] Optional. Specifies the web app that * snapshot contents will be retrieved from. * If empty, the targeted web app will be used as the source. * @member {string} [recoverySource.location] Geographical location of the * source web app, e.g. SouthEastAsia, SouthCentralUS * @member {string} [recoverySource.id] ARM resource ID of the source app. * /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} * for production slots and * /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} * for other slots. * @member {boolean} overwrite If true the restore operation can * overwrite source app; otherwise, false. * @member {boolean} [recoverConfiguration] If true, site configuration, in * addition to content, will be reverted. * @member {boolean} [ignoreConflictingHostNames] If true, custom hostname * conflicts will be ignored when recovering to a target web app. * This setting is only necessary when RecoverConfiguration is enabled. * @member {boolean} [useDRSecondary] If true, the snapshot is retrieved from * DRSecondary endpoint. */ export interface SnapshotRestoreRequest extends ProxyOnlyResource { snapshotTime?: string; recoverySource?: SnapshotRecoverySource; overwrite: boolean; recoverConfiguration?: boolean; ignoreConflictingHostNames?: boolean; useDRSecondary?: boolean; } /** * @class * Initializes a new instance of the StorageMigrationOptions class. * @constructor * Options for app content migration. * * @member {string} azurefilesConnectionString AzureFiles connection string. * @member {string} azurefilesShare AzureFiles share. * @member {boolean} [switchSiteAfterMigration] trueif the app * should be switched over; otherwise, false. Default value: false * . * @member {boolean} [blockWriteAccessToSite] true if the app * should be read only during copy operation; otherwise, false. * Default value: false . */ export interface StorageMigrationOptions extends ProxyOnlyResource { azurefilesConnectionString: string; azurefilesShare: string; switchSiteAfterMigration?: boolean; blockWriteAccessToSite?: boolean; } /** * @class * Initializes a new instance of the StorageMigrationResponse class. * @constructor * Response for a migration of app content request. * * @member {string} [operationId] When server starts the migration process, it * will return an operation ID identifying that particular migration operation. */ export interface StorageMigrationResponse extends ProxyOnlyResource { readonly operationId?: string; } /** * @class * Initializes a new instance of the StringDictionary class. * @constructor * String dictionary resource. * * @member {object} [properties] Settings. */ export interface StringDictionary extends ProxyOnlyResource { properties?: { [propertyName: string]: string }; } /** * @class * Initializes a new instance of the SwiftVirtualNetwork class. * @constructor * Swift Virtual Network Contract. This is used to enable the new Swift way of * doing virtual network integration. * * @member {string} [subnetResourceId] The Virtual Network subnet's resource * ID. This is the subnet that this Web App will join. This subnet must have a * delegation to Microsoft.Web/serverFarms defined first. * @member {boolean} [swiftSupported] A flag that specifies if the scale unit * this Web App is on supports Swift integration. */ export interface SwiftVirtualNetwork extends ProxyOnlyResource { subnetResourceId?: string; swiftSupported?: boolean; } /** * @class * Initializes a new instance of the TriggeredJobRun class. * @constructor * Triggered Web Job Run Information. * * @member {string} [webJobId] Job ID. * @member {string} [webJobName] Job name. * @member {string} [status] Job status. Possible values include: 'Success', * 'Failed', 'Error' * @member {date} [startTime] Start time. * @member {date} [endTime] End time. * @member {string} [duration] Job duration. * @member {string} [outputUrl] Output URL. * @member {string} [errorUrl] Error URL. * @member {string} [url] Job URL. * @member {string} [jobName] Job name. * @member {string} [trigger] Job trigger. */ export interface TriggeredJobRun extends ProxyOnlyResource { webJobId?: string; webJobName?: string; status?: string; startTime?: Date; endTime?: Date; duration?: string; outputUrl?: string; errorUrl?: string; url?: string; jobName?: string; trigger?: string; } /** * @class * Initializes a new instance of the TriggeredJobHistory class. * @constructor * Triggered Web Job History. List of Triggered Web Job Run Information * elements. * * @member {array} [runs] List of triggered web job runs. */ export interface TriggeredJobHistory extends ProxyOnlyResource { runs?: TriggeredJobRun[]; } /** * @class * Initializes a new instance of the TriggeredWebJob class. * @constructor * Triggered Web Job Information. * * @member {object} [latestRun] Latest job run information. * @member {string} [latestRun.webJobId] Job ID. * @member {string} [latestRun.webJobName] Job name. * @member {string} [latestRun.status] Job status. Possible values include: * 'Success', 'Failed', 'Error' * @member {date} [latestRun.startTime] Start time. * @member {date} [latestRun.endTime] End time. * @member {string} [latestRun.duration] Job duration. * @member {string} [latestRun.outputUrl] Output URL. * @member {string} [latestRun.errorUrl] Error URL. * @member {string} [latestRun.url] Job URL. * @member {string} [latestRun.jobName] Job name. * @member {string} [latestRun.trigger] Job trigger. * @member {string} [historyUrl] History URL. * @member {string} [schedulerLogsUrl] Scheduler Logs URL. * @member {string} [runCommand] Run command. * @member {string} [url] Job URL. * @member {string} [extraInfoUrl] Extra Info URL. * @member {string} [webJobType] Job type. Possible values include: * 'Continuous', 'Triggered' * @member {string} [error] Error information. * @member {boolean} [usingSdk] Using SDK? * @member {object} [settings] Job settings. */ export interface TriggeredWebJob extends ProxyOnlyResource { latestRun?: TriggeredJobRun; historyUrl?: string; schedulerLogsUrl?: string; runCommand?: string; url?: string; extraInfoUrl?: string; webJobType?: string; error?: string; usingSdk?: boolean; settings?: { [propertyName: string]: any }; } /** * @class * Initializes a new instance of the WebJob class. * @constructor * Web Job Information. * * @member {string} [runCommand] Run command. * @member {string} [url] Job URL. * @member {string} [extraInfoUrl] Extra Info URL. * @member {string} [webJobType] Job type. Possible values include: * 'Continuous', 'Triggered' * @member {string} [error] Error information. * @member {boolean} [usingSdk] Using SDK? * @member {object} [settings] Job settings. */ export interface WebJob extends ProxyOnlyResource { runCommand?: string; url?: string; extraInfoUrl?: string; webJobType?: string; error?: string; usingSdk?: boolean; settings?: { [propertyName: string]: any }; } /** * @class * Initializes a new instance of the AddressResponse class. * @constructor * Describes main public IP address and any extra virtual IPs. * * @member {string} [serviceIpAddress] Main public virtual IP. * @member {string} [internalIpAddress] Virtual Network internal IP address of * the App Service Environment if it is in internal load-balancing mode. * @member {array} [outboundIpAddresses] IP addresses appearing on outbound * connections. * @member {array} [vipMappings] Additional virtual IPs. */ export interface AddressResponse { serviceIpAddress?: string; internalIpAddress?: string; outboundIpAddresses?: string[]; vipMappings?: VirtualIPMapping[]; } /** * @class * Initializes a new instance of the AppServiceEnvironmentResource class. * @constructor * App Service Environment ARM resource. * * @member {string} appServiceEnvironmentResourceName Name of the App Service * Environment. * @member {string} appServiceEnvironmentResourceLocation Location of the App * Service Environment, e.g. "West US". * @member {string} [provisioningState] Provisioning state of the App Service * Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', * 'InProgress', 'Deleting' * @member {string} [status] Current status of the App Service Environment. * Possible values include: 'Preparing', 'Ready', 'Scaling', 'Deleting' * @member {string} [vnetName] Name of the Virtual Network for the App Service * Environment. * @member {string} [vnetResourceGroupName] Resource group of the Virtual * Network. * @member {string} [vnetSubnetName] Subnet of the Virtual Network. * @member {object} virtualNetwork Description of the Virtual Network. * @member {string} [virtualNetwork.id] Resource id of the Virtual Network. * @member {string} [virtualNetwork.name] Name of the Virtual Network * (read-only). * @member {string} [virtualNetwork.type] Resource type of the Virtual Network * (read-only). * @member {string} [virtualNetwork.subnet] Subnet within the Virtual Network. * @member {string} [internalLoadBalancingMode] Specifies which endpoints to * serve internally in the Virtual Network for the App Service Environment. * Possible values include: 'None', 'Web', 'Publishing' * @member {string} [multiSize] Front-end VM size, e.g. "Medium", "Large". * @member {number} [multiRoleCount] Number of front-end instances. * @member {array} workerPools Description of worker pools with worker size * IDs, VM sizes, and number of workers in each pool. * @member {number} [ipsslAddressCount] Number of IP SSL addresses reserved for * the App Service Environment. * @member {string} [databaseEdition] Edition of the metadata database for the * App Service Environment, e.g. "Standard". * @member {string} [databaseServiceObjective] Service objective of the * metadata database for the App Service Environment, e.g. "S0". * @member {number} [upgradeDomains] Number of upgrade domains of the App * Service Environment. * @member {string} [subscriptionId] Subscription of the App Service * Environment. * @member {string} [dnsSuffix] DNS suffix of the App Service Environment. * @member {string} [lastAction] Last deployment action on the App Service * Environment. * @member {string} [lastActionResult] Result of the last deployment action on * the App Service Environment. * @member {string} [allowedMultiSizes] List of comma separated strings * describing which VM sizes are allowed for front-ends. * @member {string} [allowedWorkerSizes] List of comma separated strings * describing which VM sizes are allowed for workers. * @member {number} [maximumNumberOfMachines] Maximum number of VMs in the App * Service Environment. * @member {array} [vipMappings] Description of IP SSL mapping for the App * Service Environment. * @member {array} [environmentCapacities] Current total, used, and available * worker capacities. * @member {array} [networkAccessControlList] Access control list for * controlling traffic to the App Service Environment. * @member {boolean} [environmentIsHealthy] True/false indicating whether the * App Service Environment is healthy. * @member {string} [environmentStatus] Detailed message about with results of * the last check of the App Service Environment. * @member {string} [resourceGroup] Resource group of the App Service * Environment. * @member {number} [frontEndScaleFactor] Scale factor for front-ends. * @member {number} [defaultFrontEndScaleFactor] Default Scale Factor for * FrontEnds. * @member {string} [apiManagementAccountId] API Management Account associated * with the App Service Environment. * @member {boolean} [suspended] true if the App Service * Environment is suspended; otherwise, false. The environment can * be suspended, e.g. when the management endpoint is no longer available * (most likely because NSG blocked the incoming traffic). * @member {boolean} [dynamicCacheEnabled] True/false indicating whether the * App Service Environment is suspended. The environment can be suspended e.g. * when the management endpoint is no longer available * (most likely because NSG blocked the incoming traffic). * @member {array} [clusterSettings] Custom settings for changing the behavior * of the App Service Environment. * @member {array} [userWhitelistedIpRanges] User added ip ranges to whitelist * on ASE db * @member {boolean} [hasLinuxWorkers] Flag that displays whether an ASE has * linux workers or not * @member {string} [sslCertKeyVaultId] Key Vault ID for ILB App Service * Environment default SSL certificate * @member {string} [sslCertKeyVaultSecretName] Key Vault Secret Name for ILB * App Service Environment default SSL certificate */ export interface AppServiceEnvironmentResource extends Resource { appServiceEnvironmentResourceName: string; appServiceEnvironmentResourceLocation: string; readonly provisioningState?: string; readonly status?: string; vnetName?: string; vnetResourceGroupName?: string; vnetSubnetName?: string; virtualNetwork: VirtualNetworkProfile; internalLoadBalancingMode?: string; multiSize?: string; multiRoleCount?: number; workerPools: WorkerPool[]; ipsslAddressCount?: number; readonly databaseEdition?: string; readonly databaseServiceObjective?: string; readonly upgradeDomains?: number; readonly subscriptionId?: string; dnsSuffix?: string; readonly lastAction?: string; readonly lastActionResult?: string; readonly allowedMultiSizes?: string; readonly allowedWorkerSizes?: string; readonly maximumNumberOfMachines?: number; readonly vipMappings?: VirtualIPMapping[]; readonly environmentCapacities?: StampCapacity[]; networkAccessControlList?: NetworkAccessControlEntry[]; readonly environmentIsHealthy?: boolean; readonly environmentStatus?: string; readonly resourceGroup?: string; frontEndScaleFactor?: number; readonly defaultFrontEndScaleFactor?: number; apiManagementAccountId?: string; suspended?: boolean; dynamicCacheEnabled?: boolean; clusterSettings?: NameValuePair[]; userWhitelistedIpRanges?: string[]; hasLinuxWorkers?: boolean; sslCertKeyVaultId?: string; sslCertKeyVaultSecretName?: string; } /** * @class * Initializes a new instance of the AppServiceEnvironmentPatchResource class. * @constructor * ARM resource for a app service enviroment. * * @member {string} appServiceEnvironmentPatchResourceName Name of the App * Service Environment. * @member {string} location Location of the App Service Environment, e.g. * "West US". * @member {string} [provisioningState] Provisioning state of the App Service * Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', * 'InProgress', 'Deleting' * @member {string} [status] Current status of the App Service Environment. * Possible values include: 'Preparing', 'Ready', 'Scaling', 'Deleting' * @member {string} [vnetName] Name of the Virtual Network for the App Service * Environment. * @member {string} [vnetResourceGroupName] Resource group of the Virtual * Network. * @member {string} [vnetSubnetName] Subnet of the Virtual Network. * @member {object} virtualNetwork Description of the Virtual Network. * @member {string} [virtualNetwork.id] Resource id of the Virtual Network. * @member {string} [virtualNetwork.name] Name of the Virtual Network * (read-only). * @member {string} [virtualNetwork.type] Resource type of the Virtual Network * (read-only). * @member {string} [virtualNetwork.subnet] Subnet within the Virtual Network. * @member {string} [internalLoadBalancingMode] Specifies which endpoints to * serve internally in the Virtual Network for the App Service Environment. * Possible values include: 'None', 'Web', 'Publishing' * @member {string} [multiSize] Front-end VM size, e.g. "Medium", "Large". * @member {number} [multiRoleCount] Number of front-end instances. * @member {array} workerPools Description of worker pools with worker size * IDs, VM sizes, and number of workers in each pool. * @member {number} [ipsslAddressCount] Number of IP SSL addresses reserved for * the App Service Environment. * @member {string} [databaseEdition] Edition of the metadata database for the * App Service Environment, e.g. "Standard". * @member {string} [databaseServiceObjective] Service objective of the * metadata database for the App Service Environment, e.g. "S0". * @member {number} [upgradeDomains] Number of upgrade domains of the App * Service Environment. * @member {string} [subscriptionId] Subscription of the App Service * Environment. * @member {string} [dnsSuffix] DNS suffix of the App Service Environment. * @member {string} [lastAction] Last deployment action on the App Service * Environment. * @member {string} [lastActionResult] Result of the last deployment action on * the App Service Environment. * @member {string} [allowedMultiSizes] List of comma separated strings * describing which VM sizes are allowed for front-ends. * @member {string} [allowedWorkerSizes] List of comma separated strings * describing which VM sizes are allowed for workers. * @member {number} [maximumNumberOfMachines] Maximum number of VMs in the App * Service Environment. * @member {array} [vipMappings] Description of IP SSL mapping for the App * Service Environment. * @member {array} [environmentCapacities] Current total, used, and available * worker capacities. * @member {array} [networkAccessControlList] Access control list for * controlling traffic to the App Service Environment. * @member {boolean} [environmentIsHealthy] True/false indicating whether the * App Service Environment is healthy. * @member {string} [environmentStatus] Detailed message about with results of * the last check of the App Service Environment. * @member {string} [resourceGroup] Resource group of the App Service * Environment. * @member {number} [frontEndScaleFactor] Scale factor for front-ends. * @member {number} [defaultFrontEndScaleFactor] Default Scale Factor for * FrontEnds. * @member {string} [apiManagementAccountId] API Management Account associated * with the App Service Environment. * @member {boolean} [suspended] true if the App Service * Environment is suspended; otherwise, false. The environment can * be suspended, e.g. when the management endpoint is no longer available * (most likely because NSG blocked the incoming traffic). * @member {boolean} [dynamicCacheEnabled] True/false indicating whether the * App Service Environment is suspended. The environment can be suspended e.g. * when the management endpoint is no longer available * (most likely because NSG blocked the incoming traffic). * @member {array} [clusterSettings] Custom settings for changing the behavior * of the App Service Environment. * @member {array} [userWhitelistedIpRanges] User added ip ranges to whitelist * on ASE db * @member {boolean} [hasLinuxWorkers] Flag that displays whether an ASE has * linux workers or not * @member {string} [sslCertKeyVaultId] Key Vault ID for ILB App Service * Environment default SSL certificate * @member {string} [sslCertKeyVaultSecretName] Key Vault Secret Name for ILB * App Service Environment default SSL certificate */ export interface AppServiceEnvironmentPatchResource extends ProxyOnlyResource { appServiceEnvironmentPatchResourceName: string; location: string; readonly provisioningState?: string; readonly status?: string; vnetName?: string; vnetResourceGroupName?: string; vnetSubnetName?: string; virtualNetwork: VirtualNetworkProfile; internalLoadBalancingMode?: string; multiSize?: string; multiRoleCount?: number; workerPools: WorkerPool[]; ipsslAddressCount?: number; readonly databaseEdition?: string; readonly databaseServiceObjective?: string; readonly upgradeDomains?: number; readonly subscriptionId?: string; dnsSuffix?: string; readonly lastAction?: string; readonly lastActionResult?: string; readonly allowedMultiSizes?: string; readonly allowedWorkerSizes?: string; readonly maximumNumberOfMachines?: number; readonly vipMappings?: VirtualIPMapping[]; readonly environmentCapacities?: StampCapacity[]; networkAccessControlList?: NetworkAccessControlEntry[]; readonly environmentIsHealthy?: boolean; readonly environmentStatus?: string; readonly resourceGroup?: string; frontEndScaleFactor?: number; readonly defaultFrontEndScaleFactor?: number; apiManagementAccountId?: string; suspended?: boolean; dynamicCacheEnabled?: boolean; clusterSettings?: NameValuePair[]; userWhitelistedIpRanges?: string[]; hasLinuxWorkers?: boolean; sslCertKeyVaultId?: string; sslCertKeyVaultSecretName?: string; } /** * @class * Initializes a new instance of the HostingEnvironmentDiagnostics class. * @constructor * Diagnostics for an App Service Environment. * * @member {string} [name] Name/identifier of the diagnostics. * @member {string} [diagnosicsOutput] Diagnostics output. */ export interface HostingEnvironmentDiagnostics { name?: string; diagnosicsOutput?: string; } /** * @class * Initializes a new instance of the MetricAvailabilily class. * @constructor * Metric availability and retention. * * @member {string} [timeGrain] Time grain. * @member {string} [retention] Retention period for the current time grain. */ export interface MetricAvailabilily { timeGrain?: string; retention?: string; } /** * @class * Initializes a new instance of the MetricDefinition class. * @constructor * Metadata for a metric. * * @member {string} [unit] Unit of the metric. * @member {string} [primaryAggregationType] Primary aggregation type. * @member {array} [metricAvailabilities] List of time grains supported for the * metric together with retention period. * @member {string} [displayName] Friendly name shown in the UI. */ export interface MetricDefinition extends ProxyOnlyResource { readonly unit?: string; readonly primaryAggregationType?: string; readonly metricAvailabilities?: MetricAvailabilily[]; readonly displayName?: string; } /** * @class * Initializes a new instance of the SkuInfo class. * @constructor * SKU discovery information. * * @member {string} [resourceType] Resource type that this SKU applies to. * @member {object} [sku] Name and tier of the SKU. * @member {string} [sku.name] Name of the resource SKU. * @member {string} [sku.tier] Service tier of the resource SKU. * @member {string} [sku.size] Size specifier of the resource SKU. * @member {string} [sku.family] Family code of the resource SKU. * @member {number} [sku.capacity] Current number of instances assigned to the * resource. * @member {object} [sku.skuCapacity] Min, max, and default scale values of the * SKU. * @member {number} [sku.skuCapacity.minimum] Minimum number of workers for * this App Service plan SKU. * @member {number} [sku.skuCapacity.maximum] Maximum number of workers for * this App Service plan SKU. * @member {number} [sku.skuCapacity.default] Default number of workers for * this App Service plan SKU. * @member {string} [sku.skuCapacity.scaleType] Available scale configurations * for an App Service plan. * @member {array} [sku.locations] Locations of the SKU. * @member {array} [sku.capabilities] Capabilities of the SKU, e.g., is traffic * manager enabled? * @member {object} [capacity] Min, max, and default scale values of the SKU. * @member {number} [capacity.minimum] Minimum number of workers for this App * Service plan SKU. * @member {number} [capacity.maximum] Maximum number of workers for this App * Service plan SKU. * @member {number} [capacity.default] Default number of workers for this App * Service plan SKU. * @member {string} [capacity.scaleType] Available scale configurations for an * App Service plan. */ export interface SkuInfo { resourceType?: string; sku?: SkuDescription; capacity?: SkuCapacity; } /** * @class * Initializes a new instance of the Usage class. * @constructor * Usage of the quota resource. * * @member {string} [displayName] Friendly name shown in the UI. * @member {string} [resourceName] Name of the quota resource. * @member {string} [unit] Units of measurement for the quota resource. * @member {number} [currentValue] The current value of the resource counter. * @member {number} [limit] The resource limit. * @member {date} [nextResetTime] Next reset time for the resource counter. * @member {string} [computeMode] Compute mode used for this usage. Possible * values include: 'Shared', 'Dedicated', 'Dynamic' * @member {string} [siteMode] Site mode used for this usage. */ export interface Usage extends ProxyOnlyResource { readonly displayName?: string; readonly resourceName?: string; readonly unit?: string; readonly currentValue?: number; readonly limit?: number; readonly nextResetTime?: Date; readonly computeMode?: string; readonly siteMode?: string; } /** * @class * Initializes a new instance of the WorkerPoolResource class. * @constructor * Worker pool of an App Service Environment ARM resource. * * @member {number} [workerSizeId] Worker size ID for referencing this worker * pool. * @member {string} [computeMode] Shared or dedicated app hosting. Possible * values include: 'Shared', 'Dedicated', 'Dynamic' * @member {string} [workerSize] VM size of the worker pool instances. * @member {number} [workerCount] Number of instances in the worker pool. * @member {array} [instanceNames] Names of all instances in the worker pool * (read only). * @member {object} [sku] * @member {string} [sku.name] Name of the resource SKU. * @member {string} [sku.tier] Service tier of the resource SKU. * @member {string} [sku.size] Size specifier of the resource SKU. * @member {string} [sku.family] Family code of the resource SKU. * @member {number} [sku.capacity] Current number of instances assigned to the * resource. * @member {object} [sku.skuCapacity] Min, max, and default scale values of the * SKU. * @member {number} [sku.skuCapacity.minimum] Minimum number of workers for * this App Service plan SKU. * @member {number} [sku.skuCapacity.maximum] Maximum number of workers for * this App Service plan SKU. * @member {number} [sku.skuCapacity.default] Default number of workers for * this App Service plan SKU. * @member {string} [sku.skuCapacity.scaleType] Available scale configurations * for an App Service plan. * @member {array} [sku.locations] Locations of the SKU. * @member {array} [sku.capabilities] Capabilities of the SKU, e.g., is traffic * manager enabled? */ export interface WorkerPoolResource extends ProxyOnlyResource { workerSizeId?: number; computeMode?: string; workerSize?: string; workerCount?: number; readonly instanceNames?: string[]; sku?: SkuDescription; } /** * @class * Initializes a new instance of the AppServicePlanPatchResource class. * @constructor * ARM resource for a app service plan. * * @member {string} [workerTierName] Target worker tier assigned to the App * Service plan. * @member {string} [status] App Service plan status. Possible values include: * 'Ready', 'Pending', 'Creating' * @member {string} [subscription] App Service plan subscription. * @member {string} [adminSiteName] App Service plan administration site. * @member {object} [hostingEnvironmentProfile] Specification for the App * Service Environment to use for the App Service plan. * @member {string} [hostingEnvironmentProfile.id] Resource ID of the App * Service Environment. * @member {string} [hostingEnvironmentProfile.name] Name of the App Service * Environment. * @member {string} [hostingEnvironmentProfile.type] Resource type of the App * Service Environment. * @member {number} [maximumNumberOfWorkers] Maximum number of instances that * can be assigned to this App Service plan. * @member {string} [geoRegion] Geographical location for the App Service plan. * @member {boolean} [perSiteScaling] If true, apps assigned to * this App Service plan can be scaled independently. * If false, apps assigned to this App Service plan will scale to * all instances of the plan. Default value: false . * @member {number} [maximumElasticWorkerCount] Maximum number of total workers * allowed for this ElasticScaleEnabled App Service Plan * @member {number} [numberOfSites] Number of apps assigned to this App Service * plan. * @member {boolean} [isSpot] If true, this App Service Plan owns * spot instances. * @member {date} [spotExpirationTime] The time when the server farm expires. * Valid only if it is a spot server farm. * @member {date} [freeOfferExpirationTime] The time when the server farm free * offer expires. * @member {string} [resourceGroup] Resource group of the App Service plan. * @member {boolean} [reserved] If Linux app service plan true, * false otherwise. Default value: false . * @member {boolean} [isXenon] Obsolete: If Hyper-V container app service plan * true, false otherwise. Default value: false . * @member {boolean} [hyperV] If Hyper-V container app service plan * true, false otherwise. Default value: false . * @member {number} [targetWorkerCount] Scaling worker count. * @member {number} [targetWorkerSizeId] Scaling worker size ID. * @member {string} [provisioningState] Provisioning state of the App Service * Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', * 'InProgress', 'Deleting' */ export interface AppServicePlanPatchResource extends ProxyOnlyResource { workerTierName?: string; readonly status?: string; readonly subscription?: string; adminSiteName?: string; hostingEnvironmentProfile?: HostingEnvironmentProfile; readonly maximumNumberOfWorkers?: number; readonly geoRegion?: string; perSiteScaling?: boolean; maximumElasticWorkerCount?: number; readonly numberOfSites?: number; isSpot?: boolean; spotExpirationTime?: Date; freeOfferExpirationTime?: Date; readonly resourceGroup?: string; reserved?: boolean; isXenon?: boolean; hyperV?: boolean; targetWorkerCount?: number; targetWorkerSizeId?: number; readonly provisioningState?: string; } /** * @class * Initializes a new instance of the HybridConnectionLimits class. * @constructor * Hybrid Connection limits contract. This is used to return the plan limits of * Hybrid Connections. * * @member {number} [current] The current number of Hybrid Connections. * @member {number} [maximum] The maximum number of Hybrid Connections allowed. */ export interface HybridConnectionLimits extends ProxyOnlyResource { readonly current?: number; readonly maximum?: number; } /** * @class * Initializes a new instance of the ResourceHealthMetadata class. * @constructor * Used for getting ResourceHealthCheck settings. * * @member {string} [category] The category that the resource matches in the * RHC Policy File * @member {boolean} [signalAvailability] Is there a health signal for the * resource */ export interface ResourceHealthMetadata extends ProxyOnlyResource { category?: string; signalAvailability?: boolean; } /** * @class * Initializes a new instance of the AppServiceCertificateOrderCollection class. * @constructor * Collection of certitificate orders. * * @member {string} [nextLink] Link to next page of resources. */ export interface AppServiceCertificateOrderCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the AppServiceCertificateCollection class. * @constructor * Collection of certitificateorder certificates. * * @member {string} [nextLink] Link to next page of resources. */ export interface AppServiceCertificateCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the CsmOperationCollection class. * @constructor * Collection of Azure resource manager operation metadata. * * @member {string} [nextLink] Link to next page of resources. */ export interface CsmOperationCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the DomainCollection class. * @constructor * Collection of domains. * * @member {string} [nextLink] Link to next page of resources. */ export interface DomainCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the NameIdentifierCollection class. * @constructor * Collection of domain name identifiers. * * @member {string} [nextLink] Link to next page of resources. */ export interface NameIdentifierCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the DomainOwnershipIdentifierCollection class. * @constructor * Collection of domain ownership identifiers. * * @member {string} [nextLink] Link to next page of resources. */ export interface DomainOwnershipIdentifierCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the TopLevelDomainCollection class. * @constructor * Collection of Top-level domains. * * @member {string} [nextLink] Link to next page of resources. */ export interface TopLevelDomainCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the TldLegalAgreementCollection class. * @constructor * Collection of top-level domain legal agreements. * * @member {string} [nextLink] Link to next page of resources. */ export interface TldLegalAgreementCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the CertificateCollection class. * @constructor * Collection of certificates. * * @member {string} [nextLink] Link to next page of resources. */ export interface CertificateCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the DeletedWebAppCollection class. * @constructor * Collection of deleted apps. * * @member {string} [nextLink] Link to next page of resources. */ export interface DeletedWebAppCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the DetectorResponseCollection class. * @constructor * Collection of detector responses * * @member {string} [nextLink] Link to next page of resources. */ export interface DetectorResponseCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the DiagnosticCategoryCollection class. * @constructor * Collection of Diagnostic Categories * * @member {string} [nextLink] Link to next page of resources. */ export interface DiagnosticCategoryCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the DiagnosticAnalysisCollection class. * @constructor * Collection of Diagnostic Analyses * * @member {string} [nextLink] Link to next page of resources. */ export interface DiagnosticAnalysisCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the DiagnosticDetectorCollection class. * @constructor * Collection of Diagnostic Detectors * * @member {string} [nextLink] Link to next page of resources. */ export interface DiagnosticDetectorCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the ApplicationStackCollection class. * @constructor * Collection of Application Stacks * * @member {string} [nextLink] Link to next page of resources. */ export interface ApplicationStackCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the RecommendationCollection class. * @constructor * Collection of recommendations. * * @member {string} [nextLink] Link to next page of resources. */ export interface RecommendationCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the SourceControlCollection class. * @constructor * Collection of source controls. * * @member {string} [nextLink] Link to next page of resources. */ export interface SourceControlCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the BillingMeterCollection class. * @constructor * Collection of Billing Meters * * @member {string} [nextLink] Link to next page of resources. */ export interface BillingMeterCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the GeoRegionCollection class. * @constructor * Collection of geographical regions. * * @member {string} [nextLink] Link to next page of resources. */ export interface GeoRegionCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the IdentifierCollection class. * @constructor * Collection of identifiers. * * @member {string} [nextLink] Link to next page of resources. */ export interface IdentifierCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the PremierAddOnOfferCollection class. * @constructor * Collection of premier add-on offers. * * @member {string} [nextLink] Link to next page of resources. */ export interface PremierAddOnOfferCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the WebAppCollection class. * @constructor * Collection of App Service apps. * * @member {string} [nextLink] Link to next page of resources. */ export interface WebAppCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the BackupItemCollection class. * @constructor * Collection of backup items. * * @member {string} [nextLink] Link to next page of resources. */ export interface BackupItemCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the SiteConfigResourceCollection class. * @constructor * Collection of site configurations. * * @member {string} [nextLink] Link to next page of resources. */ export interface SiteConfigResourceCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the SiteConfigurationSnapshotInfoCollection class. * @constructor * Collection of metadata for the app configuration snapshots that can be * restored. * * @member {string} [nextLink] Link to next page of resources. */ export interface SiteConfigurationSnapshotInfoCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the ContinuousWebJobCollection class. * @constructor * Collection of Kudu continuous web job information elements. * * @member {string} [nextLink] Link to next page of resources. */ export interface ContinuousWebJobCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the DeploymentCollection class. * @constructor * Collection of app deployments. * * @member {string} [nextLink] Link to next page of resources. */ export interface DeploymentCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the FunctionEnvelopeCollection class. * @constructor * Collection of Kudu function information elements. * * @member {string} [nextLink] Link to next page of resources. */ export interface FunctionEnvelopeCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the HostNameBindingCollection class. * @constructor * Collection of hostname bindings. * * @member {string} [nextLink] Link to next page of resources. */ export interface HostNameBindingCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the WebAppInstanceCollection class. * @constructor * Collection of app instances. * * @member {string} [nextLink] Link to next page of resources. */ export interface WebAppInstanceCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the ProcessInfoCollection class. * @constructor * Collection of Kudu process information elements. * * @member {string} [nextLink] Link to next page of resources. */ export interface ProcessInfoCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the ProcessModuleInfoCollection class. * @constructor * Collection of Kudu thread information elements. * * @member {string} [nextLink] Link to next page of resources. */ export interface ProcessModuleInfoCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the ProcessThreadInfoCollection class. * @constructor * Collection of Kudu thread information elements. * * @member {string} [nextLink] Link to next page of resources. */ export interface ProcessThreadInfoCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the ResourceMetricDefinitionCollection class. * @constructor * Collection of metric definitions. * * @member {string} [nextLink] Link to next page of resources. */ export interface ResourceMetricDefinitionCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the ResourceMetricCollection class. * @constructor * Collection of metric responses. * * @member {string} [nextLink] Link to next page of resources. */ export interface ResourceMetricCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the PerfMonCounterCollection class. * @constructor * Collection of performance monitor counters. * * @member {string} [nextLink] Link to next page of resources. */ export interface PerfMonCounterCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the PublicCertificateCollection class. * @constructor * Collection of public certificates * * @member {string} [nextLink] Link to next page of resources. */ export interface PublicCertificateCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the SiteExtensionInfoCollection class. * @constructor * Collection of Kudu site extension information elements. * * @member {string} [nextLink] Link to next page of resources. */ export interface SiteExtensionInfoCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the SlotDifferenceCollection class. * @constructor * Collection of slot differences. * * @member {string} [nextLink] Link to next page of resources. */ export interface SlotDifferenceCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the SnapshotCollection class. * @constructor * Collection of snapshots which can be used to revert an app to a previous * time. * * @member {string} [nextLink] Link to next page of resources. */ export interface SnapshotCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the TriggeredWebJobCollection class. * @constructor * Collection of Kudu continuous web job information elements. * * @member {string} [nextLink] Link to next page of resources. */ export interface TriggeredWebJobCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the TriggeredJobHistoryCollection class. * @constructor * Collection of Kudu continuous web job information elements. * * @member {string} [nextLink] Link to next page of resources. */ export interface TriggeredJobHistoryCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the CsmUsageQuotaCollection class. * @constructor * Collection of CSM usage quotas. * * @member {string} [nextLink] Link to next page of resources. */ export interface CsmUsageQuotaCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the WebJobCollection class. * @constructor * Collection of Kudu web job information elements. * * @member {string} [nextLink] Link to next page of resources. */ export interface WebJobCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the AppServiceEnvironmentCollection class. * @constructor * Collection of App Service Environments. * * @member {string} [nextLink] Link to next page of resources. */ export interface AppServiceEnvironmentCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the StampCapacityCollection class. * @constructor * Collection of stamp capacities. * * @member {string} [nextLink] Link to next page of resources. */ export interface StampCapacityCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the WorkerPoolCollection class. * @constructor * Collection of worker pools. * * @member {string} [nextLink] Link to next page of resources. */ export interface WorkerPoolCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the SkuInfoCollection class. * @constructor * Collection of SKU information. * * @member {string} [nextLink] Link to next page of resources. */ export interface SkuInfoCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the UsageCollection class. * @constructor * Collection of usages. * * @member {string} [nextLink] Link to next page of resources. */ export interface UsageCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the AppServicePlanCollection class. * @constructor * Collection of App Service plans. * * @member {string} [nextLink] Link to next page of resources. */ export interface AppServicePlanCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the ResourceCollection class. * @constructor * Collection of resources. * * @member {string} [nextLink] Link to next page of resources. */ export interface ResourceCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the HybridConnectionCollection class. * @constructor * Collection of hostname bindings. * * @member {string} [nextLink] Link to next page of resources. */ export interface HybridConnectionCollection extends Array { readonly nextLink?: string; } /** * @class * Initializes a new instance of the ResourceHealthMetadataCollection class. * @constructor * Collection of resource health metadata. * * @member {string} [nextLink] Link to next page of resources. */ export interface ResourceHealthMetadataCollection extends Array { readonly nextLink?: string; }