@azure-rest/arm-appservice
Version:
1,118 lines • 269 kB
TypeScript
/** Collection of certificate orders. */
export interface AppServiceCertificateOrderCollectionOutput {
/** Collection of resources. */
value: Array<AppServiceCertificateOrderOutput>;
/** Link to next page of resources. */
readonly nextLink?: string;
}
/** SSL certificate purchase order. */
export interface AppServiceCertificateOrderOutput extends ResourceOutput {
/** AppServiceCertificateOrder resource specific properties */
properties?: AppServiceCertificateOrderPropertiesOutput;
}
/** AppServiceCertificateOrder resource specific properties */
export interface AppServiceCertificateOrderPropertiesOutput {
/** State of the Key Vault secret. */
certificates?: Record<string, AppServiceCertificateOutput>;
/** Certificate distinguished name. */
distinguishedName?: string;
/** Domain verification token. */
readonly domainVerificationToken?: string;
/** Duration in years (must be 1). */
validityInYears?: number;
/** Certificate key size. */
keySize?: number;
/** Certificate product type. */
productType: "StandardDomainValidatedSsl" | "StandardDomainValidatedWildCardSsl";
/** <code>true</code> if the certificate should be automatically renewed when it expires; otherwise, <code>false</code>. */
autoRenew?: boolean;
/** Status of certificate order. */
readonly provisioningState?: "Succeeded" | "Failed" | "Canceled" | "InProgress" | "Deleting";
/** Current order status. */
readonly status?: "Pendingissuance" | "Issued" | "Revoked" | "Canceled" | "Denied" | "Pendingrevocation" | "PendingRekey" | "Unused" | "Expired" | "NotSubmitted";
/** Signed certificate. */
readonly signedCertificate?: CertificateDetailsOutput;
/** Last CSR that was created for this order. */
csr?: string;
/** Intermediate certificate. */
readonly intermediate?: CertificateDetailsOutput;
/** Root certificate. */
readonly root?: CertificateDetailsOutput;
/** Current serial number of the certificate. */
readonly serialNumber?: string;
/** Certificate last issuance time. */
readonly lastCertificateIssuanceTime?: string;
/** Certificate expiration time. */
readonly expirationTime?: string;
/** <code>true</code> if private key is external; otherwise, <code>false</code>. */
readonly isPrivateKeyExternal?: boolean;
/** Reasons why App Service Certificate is not renewable at the current moment. */
readonly appServiceCertificateNotRenewableReasons?: Array<"RegistrationStatusNotSupportedForRenewal" | "ExpirationNotInRenewalTimeRange" | "SubscriptionNotActive">;
/** Time stamp when the certificate would be auto renewed next */
readonly nextAutoRenewalTimeStamp?: string;
/** Contact info */
readonly contact?: CertificateOrderContactOutput;
}
/** Key Vault container for a certificate that is purchased through Azure. */
export interface AppServiceCertificateOutput {
/** Key Vault resource Id. */
keyVaultId?: string;
/** Key Vault secret name. */
keyVaultSecretName?: string;
/** Status of the Key Vault secret. */
readonly provisioningState?: "Initialized" | "WaitingOnCertificateOrder" | "Succeeded" | "CertificateOrderFailed" | "OperationNotPermittedOnKeyVault" | "AzureServiceUnauthorizedToAccessKeyVault" | "KeyVaultDoesNotExist" | "KeyVaultSecretDoesNotExist" | "UnknownError" | "ExternalPrivateKey" | "Unknown";
}
/** SSL certificate details. */
export interface CertificateDetailsOutput {
/** Certificate Version. */
readonly version?: number;
/** Certificate Serial Number. */
readonly serialNumber?: string;
/** Certificate Thumbprint. */
readonly thumbprint?: string;
/** Certificate Subject. */
readonly subject?: string;
/** Date Certificate is valid from. */
readonly notBefore?: string;
/** Date Certificate is valid to. */
readonly notAfter?: string;
/** Certificate Signature algorithm. */
readonly signatureAlgorithm?: string;
/** Certificate Issuer. */
readonly issuer?: string;
/** Raw certificate data. */
readonly rawData?: string;
}
export interface CertificateOrderContactOutput {
email?: string;
nameFirst?: string;
nameLast?: string;
phone?: string;
}
/** Azure resource. This resource is tracked in Azure Resource Manager */
export interface ResourceOutput {
/** Resource Id. */
readonly id?: string;
/** Resource Name. */
readonly name?: string;
/** Kind of resource. */
kind?: string;
/** Resource Location. */
location: string;
/** Resource type. */
readonly type?: string;
/** Resource tags. */
tags?: Record<string, string>;
}
/** App Service error response. */
export interface DefaultErrorResponseOutput {
/** Error model. */
readonly error?: DefaultErrorResponseErrorOutput;
}
/** Error model. */
export interface DefaultErrorResponseErrorOutput {
/** Standardized string to programmatically identify the error. */
readonly code?: string;
/** Detailed error description and debugging information. */
readonly message?: string;
/** Detailed error description and debugging information. */
readonly target?: string;
details?: Array<DefaultErrorResponseErrorDetailsItemOutput>;
/** More information to debug error. */
readonly innererror?: string;
}
/** Detailed errors. */
export interface DefaultErrorResponseErrorDetailsItemOutput {
/** Standardized string to programmatically identify the error. */
readonly code?: string;
/** Detailed error description and debugging information. */
readonly message?: string;
/** Detailed error description and debugging information. */
readonly target?: string;
}
/** ARM resource for a certificate order that is purchased through Azure. */
export interface AppServiceCertificateOrderPatchResourceOutput extends ProxyOnlyResourceOutput {
/** AppServiceCertificateOrderPatchResource resource specific properties */
properties?: AppServiceCertificateOrderPatchResourcePropertiesOutput;
}
/** AppServiceCertificateOrderPatchResource resource specific properties */
export interface AppServiceCertificateOrderPatchResourcePropertiesOutput {
/** State of the Key Vault secret. */
certificates?: Record<string, AppServiceCertificateOutput>;
/** Certificate distinguished name. */
distinguishedName?: string;
/** Domain verification token. */
readonly domainVerificationToken?: string;
/** Duration in years (must be 1). */
validityInYears?: number;
/** Certificate key size. */
keySize?: number;
/** Certificate product type. */
productType: "StandardDomainValidatedSsl" | "StandardDomainValidatedWildCardSsl";
/** <code>true</code> if the certificate should be automatically renewed when it expires; otherwise, <code>false</code>. */
autoRenew?: boolean;
/** Status of certificate order. */
readonly provisioningState?: "Succeeded" | "Failed" | "Canceled" | "InProgress" | "Deleting";
/** Current order status. */
readonly status?: "Pendingissuance" | "Issued" | "Revoked" | "Canceled" | "Denied" | "Pendingrevocation" | "PendingRekey" | "Unused" | "Expired" | "NotSubmitted";
/** Signed certificate. */
readonly signedCertificate?: CertificateDetailsOutput;
/** Last CSR that was created for this order. */
csr?: string;
/** Intermediate certificate. */
readonly intermediate?: CertificateDetailsOutput;
/** Root certificate. */
readonly root?: CertificateDetailsOutput;
/** Current serial number of the certificate. */
readonly serialNumber?: string;
/** Certificate last issuance time. */
readonly lastCertificateIssuanceTime?: string;
/** Certificate expiration time. */
readonly expirationTime?: string;
/** <code>true</code> if private key is external; otherwise, <code>false</code>. */
readonly isPrivateKeyExternal?: boolean;
/** Reasons why App Service Certificate is not renewable at the current moment. */
readonly appServiceCertificateNotRenewableReasons?: Array<"RegistrationStatusNotSupportedForRenewal" | "ExpirationNotInRenewalTimeRange" | "SubscriptionNotActive">;
/** Time stamp when the certificate would be auto renewed next */
readonly nextAutoRenewalTimeStamp?: string;
/** Contact info */
readonly contact?: CertificateOrderContactOutput;
}
/** Azure proxy only resource. This resource is not tracked by Azure Resource Manager. */
export interface ProxyOnlyResourceOutput {
/** Resource Id. */
readonly id?: string;
/** Resource Name. */
readonly name?: string;
/** Kind of resource. */
kind?: string;
/** Resource type. */
readonly type?: string;
}
/** Collection of certificate order certificates. */
export interface AppServiceCertificateCollectionOutput {
/** Collection of resources. */
value: Array<AppServiceCertificateResourceOutput>;
/** Link to next page of resources. */
readonly nextLink?: string;
}
/** Key Vault container ARM resource for a certificate that is purchased through Azure. */
export interface AppServiceCertificateResourceOutput extends ResourceOutput {
/** Core resource properties */
properties?: AppServiceCertificateOutput;
}
/** Key Vault container ARM resource for a certificate that is purchased through Azure. */
export interface AppServiceCertificatePatchResourceOutput extends ProxyOnlyResourceOutput {
/** Core resource properties */
properties?: AppServiceCertificateOutput;
}
/** Class representing certificate reissue request. */
export interface ReissueCertificateOrderRequestOutput extends ProxyOnlyResourceOutput {
/** ReissueCertificateOrderRequest resource specific properties */
properties?: ReissueCertificateOrderRequestPropertiesOutput;
}
/** ReissueCertificateOrderRequest resource specific properties */
export interface ReissueCertificateOrderRequestPropertiesOutput {
/** Certificate Key Size. */
keySize?: number;
/** Delay in hours to revoke existing certificate after the new certificate is issued. */
delayExistingRevokeInHours?: number;
/** Csr to be used for re-key operation. */
csr?: string;
/** Should we change the ASC type (from managed private key to external private key and vice versa). */
isPrivateKeyExternal?: boolean;
}
/** Class representing certificate renew request. */
export interface RenewCertificateOrderRequestOutput extends ProxyOnlyResourceOutput {
/** RenewCertificateOrderRequest resource specific properties */
properties?: RenewCertificateOrderRequestPropertiesOutput;
}
/** RenewCertificateOrderRequest resource specific properties */
export interface RenewCertificateOrderRequestPropertiesOutput {
/** Certificate Key Size. */
keySize?: number;
/** Csr to be used for re-key operation. */
csr?: string;
/** Should we change the ASC type (from managed private key to external private key and vice versa). */
isPrivateKeyExternal?: boolean;
}
/** Identifies an object. */
export interface NameIdentifierOutput {
/** Name of the object. */
name?: string;
}
/** Site seal */
export interface SiteSealOutput {
/** HTML snippet */
html: string;
}
/** Certificate order action. */
export interface CertificateOrderActionOutput extends ProxyOnlyResourceOutput {
/** CertificateOrderAction resource specific properties */
properties?: CertificateOrderActionPropertiesOutput;
}
/** CertificateOrderAction resource specific properties */
export interface CertificateOrderActionPropertiesOutput {
/** Action type. */
readonly actionType?: "CertificateIssued" | "CertificateOrderCanceled" | "CertificateOrderCreated" | "CertificateRevoked" | "DomainValidationComplete" | "FraudDetected" | "OrgNameChange" | "OrgValidationComplete" | "SanDrop" | "FraudCleared" | "CertificateExpired" | "CertificateExpirationWarning" | "FraudDocumentationRequired" | "Unknown";
/** Time at which the certificate action was performed. */
readonly createdAt?: string;
}
/** SSL certificate email. */
export interface CertificateEmailOutput extends ProxyOnlyResourceOutput {
/** CertificateEmail resource specific properties */
properties?: CertificateEmailPropertiesOutput;
}
/** CertificateEmail resource specific properties */
export interface CertificateEmailPropertiesOutput {
/** Email id. */
emailId?: string;
/** Time stamp. */
timeStamp?: string;
}
/** Collection of detector responses */
export interface DetectorResponseCollectionOutput {
/** Collection of resources. */
value: Array<DetectorResponseOutput>;
/** Link to next page of resources. */
readonly nextLink?: string;
}
/** Class representing Response from Detector */
export interface DetectorResponseOutput extends ProxyOnlyResourceOutput {
/** DetectorResponse resource specific properties */
properties?: DetectorResponsePropertiesOutput;
}
/** DetectorResponse resource specific properties */
export interface DetectorResponsePropertiesOutput {
/** metadata for the detector */
metadata?: DetectorInfoOutput;
/** Data Set */
dataset?: Array<DiagnosticDataOutput>;
/** Indicates status of the most severe insight. */
status?: StatusOutput;
/** Additional configuration for different data providers to be used by the UI */
dataProvidersMetadata?: Array<DataProviderMetadataOutput>;
/** Suggested utterances where the detector can be applicable. */
suggestedUtterances?: QueryUtterancesResultsOutput;
}
/** Definition of Detector */
export interface DetectorInfoOutput {
/** Id of detector */
readonly id?: string;
/** Name of detector */
readonly name?: string;
/** Short description of the detector and its purpose. */
readonly description?: string;
/** Author of the detector. */
readonly author?: string;
/** Problem category. This serves for organizing group for detectors. */
readonly category?: string;
/** List of Support Topics for which this detector is enabled. */
readonly supportTopicList?: Array<SupportTopicOutput>;
/** Analysis Types for which this detector should apply to. */
readonly analysisType?: Array<string>;
/** Whether this detector is an Analysis Detector or not. */
readonly type?: "Detector" | "Analysis" | "CategoryOverview";
/** Defines score of a detector to power ML based matching. */
readonly score?: number;
}
/** Defines a unique Support Topic */
export interface SupportTopicOutput {
/** Support Topic Id */
readonly id?: string;
/** Unique resource Id */
readonly pesId?: string;
}
/** Set of data with rendering instructions */
export interface DiagnosticDataOutput {
/** Data in table form */
table?: DataTableResponseObjectOutput;
/** Properties that describe how the table should be rendered */
renderingProperties?: RenderingOutput;
}
/** Data Table which defines columns and raw row values */
export interface DataTableResponseObjectOutput {
/** Name of the table */
tableName?: string;
/** List of columns with data types */
columns?: Array<DataTableResponseColumnOutput>;
/** Raw row values */
rows?: Array<Array<string>>;
}
/** Column definition */
export interface DataTableResponseColumnOutput {
/** Name of the column */
columnName?: string;
/** Data type which looks like 'String' or 'Int32'. */
dataType?: string;
/** Column Type */
columnType?: string;
}
/** Instructions for rendering the data */
export interface RenderingOutput {
/** Rendering Type */
type?: "NoGraph" | "Table" | "TimeSeries" | "TimeSeriesPerInstance" | "PieChart" | "DataSummary" | "Email" | "Insights" | "DynamicInsight" | "Markdown" | "Detector" | "DropDown" | "Card" | "Solution" | "Guage" | "Form" | "ChangeSets" | "ChangeAnalysisOnboarding" | "ChangesView" | "AppInsight" | "DependencyGraph" | "DownTime" | "SummaryCard" | "SearchComponent" | "AppInsightEnablement";
/** Title of data */
title?: string;
/** Description of the data that will help it be interpreted */
description?: string;
}
/** Identify the status of the most severe insight generated by the detector. */
export interface StatusOutput {
/** Descriptive message. */
message?: string;
/** Level of the most severe insight generated by the detector. */
statusId?: "Critical" | "Warning" | "Info" | "Success" | "None";
}
/** Additional configuration for a data providers */
export interface DataProviderMetadataOutput {
providerName?: string;
/** Settings for the data provider */
readonly propertyBag?: Array<KeyValuePairStringObjectOutput>;
}
export interface KeyValuePairStringObjectOutput {
readonly key?: string;
/** Any object */
readonly value?: Record<string, unknown>;
}
/** Suggested utterances where the detector can be applicable */
export interface QueryUtterancesResultsOutput {
/** Search Query. */
query?: string;
/** Array of utterance results for search query. */
results?: Array<QueryUtterancesResultOutput>;
}
/** Result for utterances query. */
export interface QueryUtterancesResultOutput {
/** A sample utterance. */
sampleUtterance?: SampleUtteranceOutput;
/** Score of a sample utterance. */
score?: number;
}
/** Sample utterance. */
export interface SampleUtteranceOutput {
/** Text attribute of sample utterance. */
text?: string;
/** Links attribute of sample utterance. */
links?: Array<string>;
/** Question id of sample utterance (for stackoverflow questions titles). */
qid?: string;
}
/** Collection of Azure resource manager operation metadata. */
export interface CsmOperationCollectionOutput {
/** Collection of resources. */
value: Array<CsmOperationDescriptionOutput>;
/** Link to next page of resources. */
readonly nextLink?: string;
}
/** Description of an operation available for Microsoft.Web resource provider. */
export interface CsmOperationDescriptionOutput {
name?: string;
isDataAction?: boolean;
/** Meta data about operation used for display in portal. */
display?: CsmOperationDisplayOutput;
origin?: string;
/** Properties available for a Microsoft.Web resource provider operation. */
properties?: CsmOperationDescriptionPropertiesOutput;
}
/** Meta data about operation used for display in portal. */
export interface CsmOperationDisplayOutput {
provider?: string;
resource?: string;
operation?: string;
description?: string;
}
/** Properties available for a Microsoft.Web resource provider operation. */
export interface CsmOperationDescriptionPropertiesOutput {
/** Resource metrics service provided by Microsoft.Insights resource provider. */
serviceSpecification?: ServiceSpecificationOutput;
}
/** Resource metrics service provided by Microsoft.Insights resource provider. */
export interface ServiceSpecificationOutput {
metricSpecifications?: Array<MetricSpecificationOutput>;
logSpecifications?: Array<LogSpecificationOutput>;
}
/** Definition of a single resource metric. */
export interface MetricSpecificationOutput {
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?: Array<DimensionOutput>;
category?: string;
availabilities?: Array<MetricAvailabilityOutput>;
supportedTimeGrainTypes?: Array<string>;
supportedAggregationTypes?: Array<string>;
}
/**
* 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
*/
export interface DimensionOutput {
name?: string;
displayName?: string;
internalName?: string;
toBeExportedForShoebox?: boolean;
}
/** Retention policy of a resource metric. */
export interface MetricAvailabilityOutput {
timeGrain?: string;
blobDuration?: string;
}
/** Log Definition of a single resource metric. */
export interface LogSpecificationOutput {
name?: string;
displayName?: string;
blobDuration?: string;
logFilterPattern?: string;
}
/** Domain availability check result. */
export interface DomainAvailabilityCheckResultOutput {
/** Name of the domain. */
name?: string;
/** <code>true</code> if domain can be purchased using CreateDomain API; otherwise, <code>false</code>. */
available?: boolean;
/** 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. */
domainType?: "Regular" | "SoftDeleted";
}
/** Collection of domains. */
export interface DomainCollectionOutput {
/** Collection of resources. */
value: Array<DomainOutput>;
/** Link to next page of resources. */
readonly nextLink?: string;
}
/** Information about a domain. */
export interface DomainOutput extends ResourceOutput {
/** Domain resource specific properties */
properties?: DomainPropertiesOutput;
}
/** Domain resource specific properties */
export interface DomainPropertiesOutput {
/** Administrative contact. */
contactAdmin: ContactOutput;
/** Billing contact. */
contactBilling: ContactOutput;
/** Registrant contact. */
contactRegistrant: ContactOutput;
/** Technical contact. */
contactTech: ContactOutput;
/** Domain registration status. */
readonly registrationStatus?: "Active" | "Awaiting" | "Cancelled" | "Confiscated" | "Disabled" | "Excluded" | "Expired" | "Failed" | "Held" | "Locked" | "Parked" | "Pending" | "Reserved" | "Reverted" | "Suspended" | "Transferred" | "Unknown" | "Unlocked" | "Unparked" | "Updated" | "JsonConverterFailed";
/** Domain provisioning state. */
readonly provisioningState?: "Succeeded" | "Failed" | "Canceled" | "InProgress" | "Deleting";
/** Name servers. */
readonly nameServers?: Array<string>;
/** <code>true</code> if domain privacy is enabled for this domain; otherwise, <code>false</code>. */
privacy?: boolean;
/** Domain creation timestamp. */
readonly createdTime?: string;
/** Domain expiration timestamp. */
readonly expirationTime?: string;
/** Timestamp when the domain was renewed last time. */
readonly lastRenewedTime?: string;
/** <code>true</code> if the domain should be automatically renewed; otherwise, <code>false</code>. */
autoRenew?: boolean;
/**
* <code>true</code> if Azure can assign this domain to App Service apps; otherwise, <code>false</code>. This value will be <code>true</code> if domain registration status is active and
* it is hosted on name servers Azure has programmatic access to.
*/
readonly readyForDnsRecordManagement?: boolean;
/** All hostnames derived from the domain and assigned to Azure resources. */
readonly managedHostNames?: Array<HostNameOutput>;
/** Legal agreement consent. */
consent: DomainPurchaseConsentOutput;
/** Reasons why domain is not renewable. */
readonly domainNotRenewableReasons?: Array<"RegistrationStatusNotSupportedForRenewal" | "ExpirationNotInRenewalTimeRange" | "SubscriptionNotActive">;
/** Current DNS type */
dnsType?: "AzureDns" | "DefaultDomainRegistrarDns";
/** Azure DNS Zone to use */
dnsZoneId?: string;
/** Target DNS type (would be used for migration) */
targetDnsType?: "AzureDns" | "DefaultDomainRegistrarDns";
authCode?: string;
}
/**
* 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.
*/
export interface ContactOutput {
/** Mailing address. */
addressMailing?: AddressOutput;
/** Email address. */
email: string;
/** Fax number. */
fax?: string;
/** Job title. */
jobTitle?: string;
/** First name. */
nameFirst: string;
/** Last name. */
nameLast: string;
/** Middle name. */
nameMiddle?: string;
/** Organization contact belongs to. */
organization?: string;
/** Phone number. */
phone: string;
}
/** Address information for domain registration. */
export interface AddressOutput {
/** First line of an Address. */
address1: string;
/** The second line of the Address. Optional. */
address2?: string;
/** The city for the address. */
city: string;
/** The country for the address. */
country: string;
/** The postal code for the address. */
postalCode: string;
/** The state or province for the address. */
state: string;
}
/** Details of a hostname derived from a domain. */
export interface HostNameOutput {
/** Name of the hostname. */
name?: string;
/** 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. */
siteNames?: Array<string>;
/** 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. */
azureResourceName?: string;
/** Type of the Azure resource the hostname is assigned to. */
azureResourceType?: "Website" | "TrafficManager";
/** Type of the DNS record. */
customHostNameDnsRecordType?: "CName" | "A";
/** Type of the hostname. */
hostNameType?: "Verified" | "Managed";
}
/** Domain purchase consent object, representing acceptance of applicable legal agreements. */
export interface DomainPurchaseConsentOutput {
/** List of applicable legal agreement keys. This list can be retrieved using ListLegalAgreements API under <code>TopLevelDomain</code> resource. */
agreementKeys?: Array<string>;
/** Client IP address. */
agreedBy?: string;
/** Timestamp when the agreements were accepted. */
agreedAt?: string;
}
/** Single sign-on request information for domain management. */
export interface DomainControlCenterSsoRequestOutput {
/** URL where the single sign-on request is to be made. */
readonly url?: string;
/** Post parameter key. */
readonly postParameterKey?: string;
/** Post parameter value. Client should use 'application/x-www-form-urlencoded' encoding for this value. */
readonly postParameterValue?: string;
}
/** Collection of domain name identifiers. */
export interface NameIdentifierCollectionOutput {
/** Collection of resources. */
value: Array<NameIdentifierOutput>;
/** Link to next page of resources. */
readonly nextLink?: string;
}
/** ARM resource for a domain. */
export interface DomainPatchResourceOutput extends ProxyOnlyResourceOutput {
/** DomainPatchResource resource specific properties */
properties?: DomainPatchResourcePropertiesOutput;
}
/** DomainPatchResource resource specific properties */
export interface DomainPatchResourcePropertiesOutput {
/** Administrative contact. */
contactAdmin: ContactOutput;
/** Billing contact. */
contactBilling: ContactOutput;
/** Registrant contact. */
contactRegistrant: ContactOutput;
/** Technical contact. */
contactTech: ContactOutput;
/** Domain registration status. */
readonly registrationStatus?: "Active" | "Awaiting" | "Cancelled" | "Confiscated" | "Disabled" | "Excluded" | "Expired" | "Failed" | "Held" | "Locked" | "Parked" | "Pending" | "Reserved" | "Reverted" | "Suspended" | "Transferred" | "Unknown" | "Unlocked" | "Unparked" | "Updated" | "JsonConverterFailed";
/** Domain provisioning state. */
readonly provisioningState?: "Succeeded" | "Failed" | "Canceled" | "InProgress" | "Deleting";
/** Name servers. */
readonly nameServers?: Array<string>;
/** <code>true</code> if domain privacy is enabled for this domain; otherwise, <code>false</code>. */
privacy?: boolean;
/** Domain creation timestamp. */
readonly createdTime?: string;
/** Domain expiration timestamp. */
readonly expirationTime?: string;
/** Timestamp when the domain was renewed last time. */
readonly lastRenewedTime?: string;
/** <code>true</code> if the domain should be automatically renewed; otherwise, <code>false</code>. */
autoRenew?: boolean;
/**
* <code>true</code> if Azure can assign this domain to App Service apps; otherwise, <code>false</code>. This value will be <code>true</code> if domain registration status is active and
* it is hosted on name servers Azure has programmatic access to.
*/
readonly readyForDnsRecordManagement?: boolean;
/** All hostnames derived from the domain and assigned to Azure resources. */
readonly managedHostNames?: Array<HostNameOutput>;
/** Legal agreement consent. */
consent: DomainPurchaseConsentOutput;
/** Reasons why domain is not renewable. */
readonly domainNotRenewableReasons?: Array<"RegistrationStatusNotSupportedForRenewal" | "ExpirationNotInRenewalTimeRange" | "SubscriptionNotActive">;
/** Current DNS type */
dnsType?: "AzureDns" | "DefaultDomainRegistrarDns";
/** Azure DNS Zone to use */
dnsZoneId?: string;
/** Target DNS type (would be used for migration) */
targetDnsType?: "AzureDns" | "DefaultDomainRegistrarDns";
authCode?: string;
}
/** Collection of domain ownership identifiers. */
export interface DomainOwnershipIdentifierCollectionOutput {
/** Collection of resources. */
value: Array<DomainOwnershipIdentifierOutput>;
/** Link to next page of resources. */
readonly nextLink?: string;
}
/** Domain ownership Identifier. */
export interface DomainOwnershipIdentifierOutput extends ProxyOnlyResourceOutput {
/** DomainOwnershipIdentifier resource specific properties */
properties?: DomainOwnershipIdentifierPropertiesOutput;
}
/** DomainOwnershipIdentifier resource specific properties */
export interface DomainOwnershipIdentifierPropertiesOutput {
/** Ownership Id. */
ownershipId?: string;
}
/** Collection of Top-level domains. */
export interface TopLevelDomainCollectionOutput {
/** Collection of resources. */
value: Array<TopLevelDomainOutput>;
/** Link to next page of resources. */
readonly nextLink?: string;
}
/** A top level domain object. */
export interface TopLevelDomainOutput extends ProxyOnlyResourceOutput {
/** TopLevelDomain resource specific properties */
properties?: TopLevelDomainPropertiesOutput;
}
/** TopLevelDomain resource specific properties */
export interface TopLevelDomainPropertiesOutput {
/** If <code>true</code>, then the top level domain supports domain privacy; otherwise, <code>false</code>. */
privacy?: boolean;
}
/** Collection of top-level domain legal agreements. */
export interface TldLegalAgreementCollectionOutput {
/** Collection of resources. */
value: Array<TldLegalAgreementOutput>;
/** Link to next page of resources. */
readonly nextLink?: string;
}
/** Legal agreement for a top level domain. */
export interface TldLegalAgreementOutput {
/** Unique identifier for the agreement. */
agreementKey: string;
/** Agreement title. */
title: string;
/** Agreement details. */
content: string;
/** URL where a copy of the agreement details is hosted. */
url?: string;
}
/** Collection of App Service Environments. */
export interface AppServiceEnvironmentCollectionOutput {
/** Collection of resources. */
value: Array<AppServiceEnvironmentResourceOutput>;
/** Link to next page of resources. */
readonly nextLink?: string;
}
/** App Service Environment ARM resource. */
export interface AppServiceEnvironmentResourceOutput extends ResourceOutput {
/** Core resource properties */
properties?: AppServiceEnvironmentOutput;
}
/** Description of an App Service Environment. */
export interface AppServiceEnvironmentOutput {
/** Provisioning state of the App Service Environment. */
readonly provisioningState?: "Succeeded" | "Failed" | "Canceled" | "InProgress" | "Deleting";
/** Current status of the App Service Environment. */
readonly status?: "Preparing" | "Ready" | "Scaling" | "Deleting";
/** Description of the Virtual Network. */
virtualNetwork: VirtualNetworkProfileOutput;
/** Specifies which endpoints to serve internally in the Virtual Network for the App Service Environment. */
internalLoadBalancingMode?: "None" | "Web" | "Publishing" | "Web, Publishing";
/** Front-end VM size, e.g. "Medium", "Large". */
multiSize?: string;
/** Number of front-end instances. */
readonly multiRoleCount?: number;
/** Number of IP SSL addresses reserved for the App Service Environment. */
ipsslAddressCount?: number;
/** DNS suffix of the App Service Environment. */
dnsSuffix?: string;
/** Maximum number of VMs in the App Service Environment. */
readonly maximumNumberOfMachines?: number;
/** Scale factor for front-ends. */
frontEndScaleFactor?: number;
/**
* <code>true</code> if the App Service Environment is suspended; otherwise, <code>false</code>. The environment can be suspended, e.g. when the management endpoint is no longer available
* (most likely because NSG blocked the incoming traffic).
*/
readonly suspended?: boolean;
/** Custom settings for changing the behavior of the App Service Environment. */
clusterSettings?: Array<NameValuePairOutput>;
/** User added ip ranges to whitelist on ASE db */
userWhitelistedIpRanges?: Array<string>;
/** Flag that displays whether an ASE has linux workers or not */
readonly hasLinuxWorkers?: boolean;
/** Dedicated Host Count */
dedicatedHostCount?: number;
/** Whether or not this App Service Environment is zone-redundant. */
zoneRedundant?: boolean;
}
/** Specification for using a Virtual Network. */
export interface VirtualNetworkProfileOutput {
/** Resource id of the Virtual Network. */
id: string;
/** Name of the Virtual Network (read-only). */
readonly name?: string;
/** Resource type of the Virtual Network (read-only). */
readonly type?: string;
/** Subnet within the Virtual Network. */
subnet?: string;
}
/** Name value pair. */
export interface NameValuePairOutput {
/** Pair name. */
name?: string;
/** Pair value. */
value?: string;
}
/** ARM resource for a app service environment. */
export interface AppServiceEnvironmentPatchResourceOutput extends ProxyOnlyResourceOutput {
/** Core resource properties */
properties?: AppServiceEnvironmentOutput;
}
/** Collection of stamp capacities. */
export interface StampCapacityCollectionOutput {
/** Collection of resources. */
value: Array<StampCapacityOutput>;
/** Link to next page of resources. */
readonly nextLink?: string;
}
/** Stamp capacity information. */
export interface StampCapacityOutput {
/** Name of the stamp. */
name?: string;
/** Available capacity (# of machines, bytes of storage etc...). */
availableCapacity?: number;
/** Total capacity (# of machines, bytes of storage etc...). */
totalCapacity?: number;
/** Name of the unit. */
unit?: string;
/** Shared/dedicated workers. */
computeMode?: "Shared" | "Dedicated" | "Dynamic";
/** Size of the machines. */
workerSize?: "Small" | "Medium" | "Large" | "D1" | "D2" | "D3" | "SmallV3" | "MediumV3" | "LargeV3" | "NestedSmall" | "NestedSmallLinux" | "Default";
/**
* Size ID of machines:
* 0 - Small
* 1 - Medium
* 2 - Large
*/
workerSizeId?: number;
/**
* If <code>true</code>, it includes basic apps.
* Basic apps are not used for capacity allocation.
*/
excludeFromCapacityAllocation?: boolean;
/** <code>true</code> if capacity is applicable for all apps; otherwise, <code>false</code>. */
isApplicableForAllComputeModes?: boolean;
/** Shared or Dedicated. */
siteMode?: string;
/** Is this a linux stamp capacity */
isLinux?: boolean;
}
/** Describes main public IP address and any extra virtual IPs. */
export interface AddressResponseOutput extends ProxyOnlyResourceOutput {
/** AddressResponse resource specific properties */
properties?: AddressResponsePropertiesOutput;
}
/** AddressResponse resource specific properties */
export interface AddressResponsePropertiesOutput {
/** Main public virtual IP. */
serviceIpAddress?: string;
/** Virtual Network internal IP address of the App Service Environment if it is in internal load-balancing mode. */
internalIpAddress?: string;
/** IP addresses appearing on outbound connections. */
outboundIpAddresses?: Array<string>;
/** Additional virtual IPs. */
vipMappings?: Array<VirtualIPMappingOutput>;
}
/** Virtual IP mapping. */
export interface VirtualIPMappingOutput {
/** Virtual IP address. */
virtualIP?: string;
/** Internal HTTP port. */
internalHttpPort?: number;
/** Internal HTTPS port. */
internalHttpsPort?: number;
/** Is virtual IP mapping in use. */
inUse?: boolean;
/** name of the service that virtual IP is assigned to */
serviceName?: string;
}
/** Collection of App Service apps. */
export interface WebAppCollectionOutput {
/** Collection of resources. */
value: Array<SiteOutput>;
/** Link to next page of resources. */
readonly nextLink?: string;
}
/** A web app, a mobile app backend, or an API app. */
export interface SiteOutput extends ResourceOutput {
/** Site resource specific properties */
properties?: SitePropertiesOutput;
/** Managed service identity. */
identity?: ManagedServiceIdentityOutput;
/** Extended Location. */
extendedLocation?: ExtendedLocationOutput;
}
/** Site resource specific properties */
export interface SitePropertiesOutput {
/** Current state of the app. */
readonly state?: string;
/** Hostnames associated with the app. */
readonly hostNames?: Array<string>;
/** Name of the repository site. */
readonly repositorySiteName?: string;
/** State indicating whether the app has exceeded its quota usage. Read-only. */
readonly usageState?: "Normal" | "Exceeded";
/** <code>true</code> if the app is enabled; otherwise, <code>false</code>. Setting this value to false disables the app (takes the app offline). */
enabled?: boolean;
/**
* Enabled hostnames for the app.Hostnames need to be assigned (see HostNames) AND enabled. Otherwise,
* the app is not served on those hostnames.
*/
readonly enabledHostNames?: Array<string>;
/** Management information availability state for the app. */
readonly availabilityState?: "Normal" | "Limited" | "DisasterRecoveryMode";
/** Hostname SSL states are used to manage the SSL bindings for app's hostnames. */
hostNameSslStates?: Array<HostNameSslStateOutput>;
/** Resource ID of the associated App Service plan, formatted as: "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". */
serverFarmId?: string;
/** <code>true</code> if reserved; otherwise, <code>false</code>. */
reserved?: boolean;
/** Obsolete: Hyper-V sandbox. */
isXenon?: boolean;
/** Hyper-V sandbox. */
hyperV?: boolean;
/** Last time the app was modified, in UTC. Read-only. */
readonly lastModifiedTimeUtc?: string;
/** Configuration of the app. */
siteConfig?: SiteConfigOutput;
/** Azure Traffic Manager hostnames associated with the app. Read-only. */
readonly trafficManagerHostNames?: Array<string>;
/** <code>true</code> to stop SCM (KUDU) site when the app is stopped; otherwise, <code>false</code>. The default is <code>false</code>. */
scmSiteAlsoStopped?: boolean;
/** Specifies which deployment slot this app will swap into. Read-only. */
readonly targetSwapSlot?: string;
/** App Service Environment to use for the app. */
hostingEnvironmentProfile?: HostingEnvironmentProfileOutput;
/** <code>true</code> to enable client affinity; <code>false</code> to stop sending session affinity cookies, which route client requests in the same session to the same instance. Default is <code>true</code>. */
clientAffinityEnabled?: boolean;
/** <code>true</code> to enable client certificate authentication (TLS mutual authentication); otherwise, <code>false</code>. Default is <code>false</code>. */
clientCertEnabled?: boolean;
/**
* This composes with ClientCertEnabled setting.
* - ClientCertEnabled: false means ClientCert is ignored.
* - ClientCertEnabled: true and ClientCertMode: Required means ClientCert is required.
* - ClientCertEnabled: true and ClientCertMode: Optional means ClientCert is optional or accepted.
*/
clientCertMode?: "Required" | "Optional" | "OptionalInteractiveUser";
/** client certificate authentication comma-separated exclusion paths */
clientCertExclusionPaths?: string;
/**
* <code>true</code> to disable the public hostnames of the app; otherwise, <code>false</code>.
* If <code>true</code>, the app is only accessible via API management process.
*/
hostNamesDisabled?: boolean;
/** Unique identifier that verifies the custom domains assigned to the app. Customer will add this id to a txt record for verification. */
customDomainVerificationId?: string;
/** 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. */
readonly outboundIpAddresses?: string;
/** List of IP addresses that the app uses for outbound connections (e.g. database access). Includes VIPs from all tenants except dataComponent. Read-only. */
readonly possibleOutboundIpAddresses?: string;
/** Size of the function container. */
containerSize?: number;
/** Maximum allowed daily memory-time quota (applicable on dynamic apps only). */
dailyMemoryTimeQuota?: number;
/** App suspended till in case memory-time quota is exceeded. */
readonly suspendedTill?: string;
/**
* Maximum number of workers.
* This only applies to Functions container.
*/
readonly maxNumberOfWorkers?: number;
/** If specified during app creation, the app is cloned from a source app. */
cloningInfo?: CloningInfoOutput;
/** Name of the resource group the app belongs to. Read-only. */
readonly resourceGroup?: string;
/** <code>true</code> if the app is a default container; otherwise, <code>false</code>. */
readonly isDefaultContainer?: boolean;
/** Default hostname of the app. Read-only. */
readonly defaultHostName?: string;
/** Status of the last deployment slot swap operation. */
readonly slotSwapStatus?: SlotSwapStatusOutput;
/**
* HttpsOnly: configures a web site to accept only https requests. Issues redirect for
* http requests
*/
httpsOnly?: boolean;
/** Site redundancy mode */
redundancyMode?: "None" | "Manual" | "Failover" | "ActiveActive" | "GeoRedundant";
/**
* Specifies an operation id if this site has a pending operation.
*
* Value may contain a UUID
*/
readonly inProgressOperationId?: string;
/** Checks if Customer provided storage account is required */
storageAccountRequired?: boolean;
/** Identity to use for Key Vault Reference authentication. */
keyVaultReferenceIdentity?: string;
/**
* Azure Resource Manager ID of the Virtual network and subnet to be joined by Regional VNET Integration.
* This must be of the form /subscriptions/{subscriptionName}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}
*/
virtualNetworkSubnetId?: string;
}
/** SSL-enabled hostname. */
export interface HostNameSslStateOutput {
/** Hostname. */
name?: string;
/** SSL type. */
sslState?: "Disabled" | "SniEnabled" | "IpBasedEnabled";
/** Virtual IP address assigned to the hostname if IP based SSL is enabled. */
virtualIP?: string;
/** SSL certificate thumbprint. */
thumbprint?: string;
/** Set to <code>true</code> to update existing hostname. */
toUpdate?: boolean;
/** Indicates whether the hostname is a standard or repository hostname. */
hostType?: "Standard" | "Repository";
}
/** Configuration of an App Service app. */
export interface SiteConfigOutput {
/** Number of workers. */
numberOfWorkers?: number;
/** Default documents. */
defaultDocuments?: Array<string>;
/** .NET Framework version. */
netFrameworkVersion?: string;
/** Version of PHP. */
phpVersion?: string;
/** Version of Python. */
pythonVersion?: string;
/** Version of Node.js. */
nodeVersion?: string;
/** Version of PowerShell. */
powerShellVersion?: string;
/** Linux App Framework and version */
linuxFxVersion?: string;
/** Xenon App Framework and version */
windowsFxVersion?: string;
/** <code>true</code> if request tracing is enabled; otherwise, <code>false</code>. */
requestTracingEnabled?: boolean;
/** Request tracing expiration time. */
requestTracingExpirationTime?: string;
/** <code>true</code> if remote debugging is enabled; otherwise, <code>false</code>. */
remoteDebuggingEnabled?: boolean;
/** Remote debugging version. */
remoteDebuggingVersion?: string;
/** <code>true</code> if HTTP logging is enabled; otherwise, <code>false</code>. */
httpLoggingEnabled?: boolean;
/** Flag to use Managed Identity Creds for ACR pull */
acrUseManagedIdentityCreds?: boolean;
/** If using user managed identity, the user managed identity ClientId */
acrUserManagedIdentityID?: string;
/** HTTP logs directory size limit. */
logsDirectorySizeLimit?: number;
/** <code>true</code> if detailed error logging is enabled; otherwise, <code>false</code>. */
detailedErrorLoggingEnabled?: boolean;
/** Publishing user name. */
publishingUsername?: string;
/** Application settings. */
appSettings?: Array<NameValuePairOutput>;
/** Connection strings. */
connectionStrings?: Array<ConnStringInfoOutput>;
/** Site MachineKey. */
readonly machineKey?: SiteMachineKeyOutput;
/** Handler mappings. */
handlerMappings?: Array<HandlerMappingOutput>;
/** Document root. */
documentRoot?: string;
/** SCM type. */
scmType?: "None" | "Dropbox" | "Tfs" | "LocalGit" | "GitHub" | "CodePlexGit" | "CodePlexHg" | "BitbucketGit" | "BitbucketHg" | "ExternalGit" | "ExternalHg" | "OneDrive" | "VSO" | "VSTSRM";
/** <code>true</code> to use 32-bit worker process; otherwise, <code>false</code>. */
use32BitWorkerProcess?: boolean;
/** <code>true</code> if WebSocket is enabled; otherwise, <code>false</code>. */
webSocketsEnabled?: boolean;
/** <code>true</code> if Always On is enabled; otherwise, <code>false</code>. */
alwaysOn?: boolean;
/** Java version. */
javaVersion?: string;
/** Java container. */
javaContainer?: string;
/** Java container version. */
javaContainerVersion?: string;
/** App command line to launch. */
appCommandLine?: string;
/** Managed pipeline mode. */
managedPipelineMode?: "Integrated" | "Classic";
/** Virtual applications. */
virtualApplications?: Array<VirtualApplicationOutput>;
/** Site load balancing. */
loadBalancing?: "WeightedRoundRobin" | "LeastRequests" | "LeastResponseTime" | "WeightedTotalTraffic" | "RequestHash" | "PerSiteRoundRobin";
/** This is work around for polymorphic types. */
experiments?: ExperimentsOutput;
/** Site limits. */
limits?: SiteLimitsOutput;
/** <code>true</code> if Auto Heal is enabled; otherwise, <code>false</code>. */
autoHealEnabled?: boolean;
/** Auto Heal rules. */
autoHealRules?: AutoHealRulesOutput;
/** Tracing options. */
tracingOptions?: string;
/** Virtual Network name. */
vnetName?: string;
/** Virtual Network Route All enabled. This causes all outbound traffic to have Virtual Network Security Groups and User Defined Routes applied. */
vnetRouteAllEnabled?: boolean;
/** The number of private ports assigned to this app. These will be assigned dynamically on runtime. */
vnetPrivatePortsCount?: number;
/** Cross-Origin Resource Sharing (CORS) settings. */
cors?: CorsSettingsOutput;
/** Push endpoint settings. */
push?: PushSettingsOutput;
/** Information about the formal API definition for the app. */
apiDefinition?: ApiDefinitionInfoOutput;
/** Azure API management settings linked to the app. */
apiManagementConfig?: ApiManagementConfigOutput;
/** Auto-swap slot name. */
autoSwapSlotName?: string;
/** <code>true</code> to enable local MySQL; otherwise, <code>false</code>. */
localMySqlEnabled?: boolean;
/** Managed Service Identity Id */
managedServiceIdentityId?: number;
/** Explicit Managed Service Identity Id */
xManagedServiceIdentityId?: number;
/** Identity to use for Key Vault Reference authentication. */
keyVaultReferenceIdentity?: string;
/** IP security restrictions for main. */
ipSecurityRestrictions?: Array<IpSecurityRestrictionOutput>;
/** IP security restrictions for scm. */
scmIpSecurityRestrictions?: Array<IpSecurityRestrictionOutput>;
/** IP security restrictions for scm to use main. */
scmIpSecurityRestrictionsUseMain?: boolean;
/** Http20Enabled: configures a web site