UNPKG

@azure-rest/arm-appservice

Version:
1,170 lines 191 kB
/** SSL certificate purchase order. */ export interface AppServiceCertificateOrder extends Resource { /** AppServiceCertificateOrder resource specific properties */ properties?: AppServiceCertificateOrderProperties; } /** AppServiceCertificateOrder resource specific properties */ export interface AppServiceCertificateOrderProperties { /** State of the Key Vault secret. */ certificates?: Record<string, AppServiceCertificate>; /** Certificate distinguished name. */ distinguishedName?: 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; /** Last CSR that was created for this order. */ csr?: string; } /** Key Vault container for a certificate that is purchased through Azure. */ export interface AppServiceCertificate { /** Key Vault resource Id. */ keyVaultId?: string; /** Key Vault secret name. */ keyVaultSecretName?: string; } /** SSL certificate details. */ export interface CertificateDetails { } export interface CertificateOrderContact { email?: string; nameFirst?: string; nameLast?: string; phone?: string; } /** Azure resource. This resource is tracked in Azure Resource Manager */ export interface Resource { /** Kind of resource. */ kind?: string; /** Resource Location. */ location: string; /** Resource tags. */ tags?: Record<string, string>; } /** ARM resource for a certificate order that is purchased through Azure. */ export interface AppServiceCertificateOrderPatchResource extends ProxyOnlyResource { /** AppServiceCertificateOrderPatchResource resource specific properties */ properties?: AppServiceCertificateOrderPatchResourceProperties; } /** AppServiceCertificateOrderPatchResource resource specific properties */ export interface AppServiceCertificateOrderPatchResourceProperties { /** State of the Key Vault secret. */ certificates?: Record<string, AppServiceCertificate>; /** Certificate distinguished name. */ distinguishedName?: 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; /** Last CSR that was created for this order. */ csr?: string; } /** Azure proxy only resource. This resource is not tracked by Azure Resource Manager. */ export interface ProxyOnlyResource { /** Kind of resource. */ kind?: string; } /** Key Vault container ARM resource for a certificate that is purchased through Azure. */ export interface AppServiceCertificateResource extends Resource { /** Core resource properties */ properties?: AppServiceCertificate; } /** Key Vault container ARM resource for a certificate that is purchased through Azure. */ export interface AppServiceCertificatePatchResource extends ProxyOnlyResource { /** Core resource properties */ properties?: AppServiceCertificate; } /** Class representing certificate reissue request. */ export interface ReissueCertificateOrderRequest extends ProxyOnlyResource { /** ReissueCertificateOrderRequest resource specific properties */ properties?: ReissueCertificateOrderRequestProperties; } /** ReissueCertificateOrderRequest resource specific properties */ export interface ReissueCertificateOrderRequestProperties { /** 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 RenewCertificateOrderRequest extends ProxyOnlyResource { /** RenewCertificateOrderRequest resource specific properties */ properties?: RenewCertificateOrderRequestProperties; } /** RenewCertificateOrderRequest resource specific properties */ export interface RenewCertificateOrderRequestProperties { /** 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 NameIdentifier { /** Name of the object. */ name?: string; } /** Site seal request. */ export interface SiteSealRequest { /** If <code>true</code> use the light color theme for site seal; otherwise, use the default color theme. */ lightTheme?: boolean; /** Locale of site seal. */ locale?: string; } /** Certificate order action. */ export interface CertificateOrderAction extends ProxyOnlyResource { /** CertificateOrderAction resource specific properties */ properties?: CertificateOrderActionProperties; } /** CertificateOrderAction resource specific properties */ export interface CertificateOrderActionProperties { } /** SSL certificate email. */ export interface CertificateEmail extends ProxyOnlyResource { /** CertificateEmail resource specific properties */ properties?: CertificateEmailProperties; } /** CertificateEmail resource specific properties */ export interface CertificateEmailProperties { /** Email id. */ emailId?: string; /** Time stamp. */ timeStamp?: Date | string; } /** Class representing Response from Detector */ export interface DetectorResponse extends ProxyOnlyResource { /** DetectorResponse resource specific properties */ properties?: DetectorResponseProperties; } /** DetectorResponse resource specific properties */ export interface DetectorResponseProperties { /** metadata for the detector */ metadata?: DetectorInfo; /** Data Set */ dataset?: Array<DiagnosticData>; /** Indicates status of the most severe insight. */ status?: Status; /** Additional configuration for different data providers to be used by the UI */ dataProvidersMetadata?: Array<DataProviderMetadata>; /** Suggested utterances where the detector can be applicable. */ suggestedUtterances?: QueryUtterancesResults; } /** Definition of Detector */ export interface DetectorInfo { } /** Defines a unique Support Topic */ export interface SupportTopic { } /** Set of data with rendering instructions */ export interface DiagnosticData { /** Data in table form */ table?: DataTableResponseObject; /** Properties that describe how the table should be rendered */ renderingProperties?: Rendering; } /** Data Table which defines columns and raw row values */ export interface DataTableResponseObject { /** Name of the table */ tableName?: string; /** List of columns with data types */ columns?: Array<DataTableResponseColumn>; /** Raw row values */ rows?: Array<Array<string>>; } /** Column definition */ export interface DataTableResponseColumn { /** 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 Rendering { /** 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 Status { /** 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 DataProviderMetadata { providerName?: string; } export interface KeyValuePairStringObject { } /** Suggested utterances where the detector can be applicable */ export interface QueryUtterancesResults { /** Search Query. */ query?: string; /** Array of utterance results for search query. */ results?: Array<QueryUtterancesResult>; } /** Result for utterances query. */ export interface QueryUtterancesResult { /** A sample utterance. */ sampleUtterance?: SampleUtterance; /** Score of a sample utterance. */ score?: number; } /** Sample utterance. */ export interface SampleUtterance { /** 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; } /** Information about a domain. */ export interface Domain extends Resource { /** Domain resource specific properties */ properties?: DomainProperties; } /** Domain resource specific properties */ export interface DomainProperties { /** Administrative contact. */ contactAdmin: Contact; /** Billing contact. */ contactBilling: Contact; /** Registrant contact. */ contactRegistrant: Contact; /** Technical contact. */ contactTech: Contact; /** <code>true</code> if domain privacy is enabled for this domain; otherwise, <code>false</code>. */ privacy?: boolean; /** <code>true</code> if the domain should be automatically renewed; otherwise, <code>false</code>. */ autoRenew?: boolean; /** Legal agreement consent. */ consent: DomainPurchaseConsent; /** 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 Contact { /** Mailing address. */ addressMailing?: Address; /** 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 Address { /** 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 HostName { /** 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 DomainPurchaseConsent { /** 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?: Date | string; } /** Domain recommendation search parameters. */ export interface DomainRecommendationSearchParameters { /** Keywords to be used for generating domain recommendations. */ keywords?: string; /** Maximum number of recommendations. */ maxDomainRecommendations?: number; } /** ARM resource for a domain. */ export interface DomainPatchResource extends ProxyOnlyResource { /** DomainPatchResource resource specific properties */ properties?: DomainPatchResourceProperties; } /** DomainPatchResource resource specific properties */ export interface DomainPatchResourceProperties { /** Administrative contact. */ contactAdmin: Contact; /** Billing contact. */ contactBilling: Contact; /** Registrant contact. */ contactRegistrant: Contact; /** Technical contact. */ contactTech: Contact; /** <code>true</code> if domain privacy is enabled for this domain; otherwise, <code>false</code>. */ privacy?: boolean; /** <code>true</code> if the domain should be automatically renewed; otherwise, <code>false</code>. */ autoRenew?: boolean; /** Legal agreement consent. */ consent: DomainPurchaseConsent; /** 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; } /** Domain ownership Identifier. */ export interface DomainOwnershipIdentifier extends ProxyOnlyResource { /** DomainOwnershipIdentifier resource specific properties */ properties?: DomainOwnershipIdentifierProperties; } /** DomainOwnershipIdentifier resource specific properties */ export interface DomainOwnershipIdentifierProperties { /** Ownership Id. */ ownershipId?: string; } /** A top level domain object. */ export interface TopLevelDomain extends ProxyOnlyResource { /** TopLevelDomain resource specific properties */ properties?: TopLevelDomainProperties; } /** TopLevelDomain resource specific properties */ export interface TopLevelDomainProperties { /** If <code>true</code>, then the top level domain supports domain privacy; otherwise, <code>false</code>. */ privacy?: boolean; } /** Options for retrieving the list of top level domain legal agreements. */ export interface TopLevelDomainAgreementOption { /** If <code>true</code>, then the list of agreements will include agreements for domain privacy as well; otherwise, <code>false</code>. */ includePrivacy?: boolean; /** If <code>true</code>, then the list of agreements will include agreements for domain transfer as well; otherwise, <code>false</code>. */ forTransfer?: boolean; } /** App Service Environment ARM resource. */ export interface AppServiceEnvironmentResource extends Resource { /** Core resource properties */ properties?: AppServiceEnvironment; } /** Description of an App Service Environment. */ export interface AppServiceEnvironment { /** Description of the Virtual Network. */ virtualNetwork: VirtualNetworkProfile; /** 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 IP SSL addresses reserved for the App Service Environment. */ ipsslAddressCount?: number; /** DNS suffix of the App Service Environment. */ dnsSuffix?: string; /** Scale factor for front-ends. */ frontEndScaleFactor?: number; /** Custom settings for changing the behavior of the App Service Environment. */ clusterSettings?: Array<NameValuePair>; /** User added ip ranges to whitelist on ASE db */ userWhitelistedIpRanges?: Array<string>; /** 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 VirtualNetworkProfile { /** Resource id of the Virtual Network. */ id: string; /** Subnet within the Virtual Network. */ subnet?: string; } /** Name value pair. */ export interface NameValuePair { /** Pair name. */ name?: string; /** Pair value. */ value?: string; } /** ARM resource for a app service environment. */ export interface AppServiceEnvironmentPatchResource extends ProxyOnlyResource { /** Core resource properties */ properties?: AppServiceEnvironment; } /** Describes main public IP address and any extra virtual IPs. */ export interface AddressResponse extends ProxyOnlyResource { /** AddressResponse resource specific properties */ properties?: AddressResponseProperties; } /** AddressResponse resource specific properties */ export interface AddressResponseProperties { /** 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<VirtualIPMapping>; } /** Virtual IP mapping. */ export interface VirtualIPMapping { /** 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; } /** A web app, a mobile app backend, or an API app. */ export interface Site extends Resource { /** Site resource specific properties */ properties?: SiteProperties; /** Managed service identity. */ identity?: ManagedServiceIdentity; /** Extended Location. */ extendedLocation?: ExtendedLocation; } /** Site resource specific properties */ export interface SiteProperties { /** <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; /** Hostname SSL states are used to manage the SSL bindings for app's hostnames. */ hostNameSslStates?: Array<HostNameSslState>; /** 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; /** Configuration of the app. */ siteConfig?: SiteConfig; /** <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; /** App Service Environment to use for the app. */ hostingEnvironmentProfile?: HostingEnvironmentProfile; /** <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; /** Size of the function container. */ containerSize?: number; /** Maximum allowed daily memory-time quota (applicable on dynamic apps only). */ dailyMemoryTimeQuota?: number; /** If specified during app creation, the app is cloned from a source app. */ cloningInfo?: CloningInfo; /** * 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"; /** 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 HostNameSslState { /** 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 SiteConfig { /** 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?: Date | 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<NameValuePair>; /** Connection strings. */ connectionStrings?: Array<ConnStringInfo>; /** Handler mappings. */ handlerMappings?: Array<HandlerMapping>; /** 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<VirtualApplication>; /** Site load balancing. */ loadBalancing?: "WeightedRoundRobin" | "LeastRequests" | "LeastResponseTime" | "WeightedTotalTraffic" | "RequestHash" | "PerSiteRoundRobin"; /** This is work around for polymorphic types. */ experiments?: Experiments; /** Site limits. */ limits?: SiteLimits; /** <code>true</code> if Auto Heal is enabled; otherwise, <code>false</code>. */ autoHealEnabled?: boolean; /** Auto Heal rules. */ autoHealRules?: AutoHealRules; /** 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?: CorsSettings; /** Push endpoint settings. */ push?: PushSettings; /** Information about the formal API definition for the app. */ apiDefinition?: ApiDefinitionInfo; /** Azure API management settings linked to the app. */ apiManagementConfig?: ApiManagementConfig; /** 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<IpSecurityRestriction>; /** IP security restrictions for scm. */ scmIpSecurityRestrictions?: Array<IpSecurityRestriction>; /** IP security restrictions for scm to use main. */ scmIpSecurityRestrictionsUseMain?: boolean; /** Http20Enabled: configures a web site to allow clients to connect over http2.0 */ http20Enabled?: boolean; /** MinTlsVersion: configures the minimum version of TLS required for SSL requests */ minTlsVersion?: "1.0" | "1.1" | "1.2"; /** ScmMinTlsVersion: configures the minimum version of TLS required for SSL requests for SCM site */ scmMinTlsVersion?: "1.0" | "1.1" | "1.2"; /** State of FTP / FTPS service */ ftpsState?: "AllAllowed" | "FtpsOnly" | "Disabled"; /** * Number of preWarmed instances. * This setting only applies to the Consumption and Elastic Plans */ preWarmedInstanceCount?: number; /** * Maximum number of workers that a site can scale out to. * This setting only applies to the Consumption and Elastic Premium Plans */ functionAppScaleLimit?: number; /** Health check path */ healthCheckPath?: string; /** * Gets or sets a value indicating whether functions runtime scale monitoring is enabled. When enabled, * the ScaleController will not monitor event sources directly, but will instead call to the * runtime to get scale status. */ functionsRuntimeScaleMonitoringEnabled?: boolean; /** Sets the time zone a site uses for generating timestamps. Compatible with Linux and Windows App Service. Setting the WEBSITE_TIME_ZONE app setting takes precedence over this config. For Linux, expects tz database values https://www.iana.org/time-zones (for a quick reference see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). For Windows, expects one of the time zones listed under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones */ websiteTimeZone?: string; /** * Number of minimum instance count for a site * This setting only applies to the Elastic Plans */ minimumElasticInstanceCount?: number; /** List of Azure Storage Accounts. */ azureStorageAccounts?: Record<string, AzureStorageInfoValue>; /** Property to allow or block all public traffic. */ publicNetworkAccess?: string; } /** Database connection string information. */ export interface ConnStringInfo { /** Name of connection string. */ name?: string; /** Connection string value. */ connectionString?: string; /** Type of database. */ type?: "MySql" | "SQLServer" | "SQLAzure" | "Custom" | "NotificationHub" | "ServiceBus" | "EventHub" | "ApiHub" | "DocDb" | "RedisCache" | "PostgreSQL"; } /** MachineKey of an app. */ export interface SiteMachineKey { /** MachineKey validation. */ validation?: string; /** Validation key. */ validationKey?: string; /** Algorithm used for decryption. */ decryption?: string; /** Decryption key. */ decryptionKey?: string; } /** * 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. */ export interface HandlerMapping { /** Requests with this extension will be handled using the specified FastCGI application. */ extension?: string; /** The absolute path to the FastCGI application. */ scriptProcessor?: string; /** Command-line arguments to be passed to the script processor. */ arguments?: string; } /** Virtual application in an app. */ export interface VirtualApplication { /** Virtual path. */ virtualPath?: string; /** Physical path. */ physicalPath?: string; /** <code>true</code> if preloading is enabled; otherwise, <code>false</code>. */ preloadEnabled?: boolean; /** Virtual directories for virtual application. */ virtualDirectories?: Array<VirtualDirectory>; } /** Directory for virtual application. */ export interface VirtualDirectory { /** Path to virtual application. */ virtualPath?: string; /** Physical path. */ physicalPath?: string; } /** Routing rules in production experiments. */ export interface Experiments { /** List of ramp-up rules. */ rampUpRules?: Array<RampUpRule>; } /** Routing rules for ramp up testing. This rule allows to redirect static traffic % to a slot or to gradually change routing % based on performance. */ export interface RampUpRule { /** Hostname of a slot to which the traffic will be redirected if decided to. E.g. myapp-stage.azurewebsites.net. */ actionHostName?: string; /** Percentage of the traffic which will be redirected to <code>ActionHostName</code>. */ reroutePercentage?: number; /** * In auto ramp up scenario this is the step to add/remove from <code>ReroutePercentage</code> until it reaches \n<code>MinReroutePercentage</code> or * <code>MaxReroutePercentage</code>. Site metrics are checked every N minutes specified in <code>ChangeIntervalInMinutes</code>.\nCustom decision algorithm * can be provided in TiPCallback site extension which URL can be specified in <code>ChangeDecisionCallbackUrl</code>. */ changeStep?: number; /** Specifies interval in minutes to reevaluate ReroutePercentage. */ changeIntervalInMinutes?: number; /** Specifies lower boundary above which ReroutePercentage will stay. */ minReroutePercentage?: number; /** Specifies upper boundary below which ReroutePercentage will stay. */ maxReroutePercentage?: number; /** * 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/ */ changeDecisionCallbackUrl?: string; /** Name of the routing rule. The recommended name would be to point to the slot which will receive the traffic in the experiment. */ name?: string; } /** Metric limits set on an app. */ export interface SiteLimits { /** Maximum allowed CPU usage percentage. */ maxPercentageCpu?: number; /** Maximum allowed memory usage in MB. */ maxMemoryInMb?: number; /** Maximum allowed disk size usage in MB. */ maxDiskSizeInMb?: number; } /** Rules that can be defined for auto-heal. */ export interface AutoHealRules { /** Conditions that describe when to execute the auto-heal actions. */ triggers?: AutoHealTriggers; /** Actions to be executed when a rule is triggered. */ actions?: AutoHealActions; } /** Triggers for auto-heal. */ export interface AutoHealTriggers { /** A rule based on total requests. */ requests?: RequestsBasedTrigger; /** A rule based on private bytes. */ privateBytesInKB?: number; /** A rule based on status codes. */ statusCodes?: Array<StatusCodesBasedTrigger>; /** A rule based on request execution time. */ slowRequests?: SlowRequestsBasedTrigger; /** A rule based on multiple Slow Requests Rule with path */ slowRequestsWithPath?: Array<SlowRequestsBasedTrigger>; /** A rule based on status codes ranges. */ statusCodesRange?: Array<StatusCodesRangeBasedTrigger>; } /** Trigger based on total requests. */ export interface RequestsBasedTrigger { /** Request Count. */ count?: number; /** Time interval. */ timeInterval?: string; } /** Trigger based on status code. */ export interface StatusCodesBasedTrigger { /** HTTP status code. */ status?: number; /** Request Sub Status. */ subStatus?: number; /** Win32 error code. */ win32Status?: number; /** Request Count. */ count?: number; /** Time interval. */ timeInterval?: string; /** Request Path */ path?: string; } /** Trigger based on request execution time. */ export interface SlowRequestsBasedTrigger { /** Time taken. */ timeTaken?: string; /** Request Path. */ path?: string; /** Request Count. */ count?: number; /** Time interval. */ timeInterval?: string; } /** Trigger based on range of status codes. */ export interface StatusCodesRangeBasedTrigger { /** HTTP status code. */ statusCodes?: string; path?: string; /** Request Count. */ count?: number; /** Time interval. */ timeInterval?: string; } /** Actions which to take by the auto-heal module when a rule is triggered. */ export interface AutoHealActions { /** Predefined action to be taken. */ actionType?: "Recycle" | "LogEvent" | "CustomAction"; /** Custom action to be taken. */ customAction?: AutoHealCustomAction; /** * Minimum time the process must execute * before taking the action */ minProcessExecutionTime?: string; } /** * Custom action to be executed * when an auto heal rule is triggered. */ export interface AutoHealCustomAction { /** Executable to be run. */ exe?: string; /** Parameters for the executable. */ parameters?: string; } /** Cross-Origin Resource Sharing (CORS) settings for the app. */ export interface CorsSettings { /** * 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. */ allowedOrigins?: Array<string>; /** * Gets or sets whether CORS requests with credentials are allowed. See * https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Requests_with_credentials * for more details. */ supportCredentials?: boolean; } /** Push settings for the App. */ export interface PushSettings extends ProxyOnlyResource { /** PushSettings resource specific properties */ properties?: PushSettingsProperties; } /** PushSettings resource specific properties */ export interface PushSettingsProperties { /** Gets or sets a flag indicating whether the Push endpoint is enabled. */ isPushEnabled: boolean; /** Gets or sets a JSON string containing a list of tags that are whitelisted for use by the push registration endpoint. */ tagWhitelistJson?: string; /** * 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. */ tagsRequiringAuth?: string; /** Gets or sets a JSON string containing a list of dynamic tags that will be evaluated from user claims in the push registration endpoint. */ dynamicTagsJson?: string; } /** Information about the formal API definition for the app. */ export interface ApiDefinitionInfo { /** The URL of the API definition. */ url?: string; } /** Azure API management (APIM) configuration linked to the app. */ export interface ApiManagementConfig { /** APIM-Api Identifier. */ id?: string; } /** IP security restriction on an app. */ export interface IpSecurityRestriction { /** * 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. */ ipAddress?: string; /** Subnet mask for the range of IP addresses the restriction is valid for. */ subnetMask?: string; /** Virtual network resource id */ vnetSubnetResourceId?: string; /** (internal) Vnet traffic tag */ vnetTrafficTag?: number; /** (internal) Subnet traffic tag */ subnetTrafficTag?: number; /** Allow or Deny access for this IP range. */ action?: string; /** Defines what this IP filter will be used for. This is to support IP filtering on proxies. */ tag?: "Default" | "XffProxy" | "ServiceTag"; /** Priority of IP restriction rule. */ priority?: number; /** IP restriction rule name. */ name?: string; /** IP restriction rule description. */ description?: string; /** * IP restriction rule headers. * X-Forwarded-Host (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Host#Examples). * The matching logic is .. * - If the property is null or empty (default), all hosts(or lack of) are allowed. * - A value is compared using ordinal-ignore-case (excluding port number). * - Subdomain wildcards are permitted but don't match the root domain. For example, *.contoso.com matches the subdomain foo.contoso.com * but not the root domain contoso.com or multi-level foo.bar.contoso.com * - Unicode host names are allowed but are converted to Punycode for matching. * * X-Forwarded-For (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For#Examples). * The matching logic is .. * - If the property is null or empty (default), any forwarded-for chains (or lack of) are allowed. * - If any address (excluding port number) in the chain (comma separated) matches the CIDR defined by the property. * * X-Azure-FDID and X-FD-HealthProbe. * The matching logic is exact match. */ headers?: Record<string, Array<string>>; } /** Azure Files or Blob Storage access information value for dictionary storage. */ export interface AzureStorageInfoValue { /** Type of storage. */ type?: "AzureFiles" | "AzureBlob"; /** Name of the storage account. */ accountName?: string; /** Name of the file share (container name, for Blob storage). */ shareName?: string; /** Access key for the storage account. */ accessKey?: string; /** Path to mount the storage within the site's runtime environment. */ mountPath?: string; } /** Specification for an App Service Environment to use for this resource. */ export interface HostingEnvironmentProfile { /** Resource ID of the App Service Environment. */ id?: string; } /** Information needed for cloning operation. */ export interface CloningInfo { /** * Correlation ID of cloning operation. This ID ties multiple cloning operations * together to use the same snapshot. * * Value may contain a UUID */ correlationId?: string; /** <code>true</code> to overwrite destination app; otherwise, <code>false</code>. */ overwrite?: boolean; /** <code>true</code> to clone custom hostnames from source app; otherwise, <code>false</code>. */ cloneCustomHostNames?: boolean; /** <code>true</code> to clone source control from source app; otherwise, <code>false</code>. */ cloneSourceControl?: boolean; /** * 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. */ sourceWebAppId: string; /** Location of source app ex: West US or North Europe */ sourceWebAppLocation?: string; /** App Service Environment. */ hostingEnvironment?: string; /** * 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. */ appSettingsOverrides?: Record<string, string>; /** <code>true</code> to configure load balancing for source and destination app. */ configureLoadBalancing?: boolean; /** * 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}. */ trafficManagerProfileId?: string; /** Name of Traffic Manager profile to create. This is only needed if Traffic Manager profile does not already exist. */ trafficManagerProfileName?: string; } /** The status of the last successful slot swap operation. */ export interface SlotSwapStatus { } /** Managed service identity. */ export interface ManagedServiceIdentity { /** Type of managed service identity. */ type?: "SystemAssigned" | "UserAssigned" | "SystemAssigned, UserAssigned" | "None"; /** The list of user assigned identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} */ userAssignedIdentities?: Record<string, UserAssignedIdentity>; } /** User Assigned identity. */ export interface UserAssignedIdentity { } /** Extended Location. */ export interface ExtendedLocation { /** Name of extended location. */ name?: string; } /** Full view of networking configuration for an ASE. */ export interface AseV3NetworkingConfiguration extends ProxyOnlyResource { /** AseV3NetworkingConfiguration resource specific properties */ properties?: AseV3NetworkingConfigurationProperties; } /** AseV3NetworkingConfiguration resource specific properties */ export interface AseV3NetworkingConfigurationProperties { /** Property to enable and disable new private endpoint connection creation on ASE */ allowNewPrivateEndpointConnections?: boolean; } /** Worker pool of an App Service Environment ARM resource. */ export interface WorkerPoolResource extends ProxyOnlyResource { /** Core resource properties */ properties?: WorkerPool; /** Description of a SKU for a scalable resource. */ sku?: SkuDescription; } /** Worker pool of an App Service Environment. */ export interface WorkerPool { /** Worker size ID for referencing this worker pool. */ workerSizeId?: number; /** Shared or dedicated app hosting. */ computeMode?: "Shared" | "Dedicated" | "Dynamic"; /** VM size of the worker pool instances. */ workerSize?: string; /** Number of instances in the worker pool. */ workerCount?: number; } /** Description of a SKU for a scalable resource. */ export interface SkuDescription { /** Name of the resource SKU. */ name?: string; /** Service tier of the resource SKU. */ tier?: string; /** Size specifier of the resource SKU. */ size?: string; /** Family code of the resource SKU. */ family?: string; /** Current number of instances assigned to the resource. */ capacity?: number; /** Min, max, and default scale values of the SKU. */ skuCapacity?: SkuCapacity; /** Locations of the SKU. */ locations?: Array<string>; /** Capabilities of the SKU, e.g., is traffic manager enabled? */ capabilities?: Array<Capability>; } /** Description of the App Service plan scale options. */ export interface SkuCapacity { /** Minimum number of workers for this App Service plan SKU. */ minimum?: number; /** Maximum number of workers for this App Service plan SKU. */ maximum?: number; /** Maximum number of Elastic workers for this App Service plan SKU. */ elasticMaximum?: number; /** Default number of workers for this App Service plan SKU. */ default?: number; /** Available scale configurations for an App Service plan. */ scaleType?: string; } /** Describes the capabilities/features allowed for a specific SKU. */ export interface Capability { /** Name of the SKU capability. */ name?: string; /** Value of the SKU capability. */ value?: string; /** Reason of the SKU capability. */ reason?: string; } /** Metadata for the metrics. */ export interface ResourceMetricDefinition extends ProxyOnlyResource { /** ResourceMetricDefinition resource specific properties */ properties?: ResourceMetricDefinitionProperties; } /** ResourceMetricDefinition resource specific properties */ export interface ResourceMetricDefinitionProperties { } /** Metrics availability and retention. */ export interface ResourceMetricAvailability { } /** Usage of the quota resource. */ export interface Usage extends ProxyOnlyResource { /** Usage resource specific properties */ properties?: UsageProperties; } /** Usage resource specific properties */ export interface UsageProperties { } /** Body of the error response returned from the API. */ export interface ErrorEntity { /** Type of error. */ extendedCode?: string; /** Message template. */ messageTemplate?: string; /** Parameters for the template. */ parameters?: Array<string>; /** Inner errors. */ innerErrors?: Array<ErrorEntity>; /** Error Details. */ details?: Array<ErrorEntity>; /** The error target. */ target?: string; /** Basic error code. */ code?: string; /** Any details of the error. */ message?: string; } /** Remote Private Endpoint Connection ARM resource. */ export interface RemotePrivateEndpointConnectionARMResource extends ProxyOnlyResource { /** RemotePrivateEndpointConnectionARMResource resource specific properties */ properties?: RemotePrivateEndpointConnectionARMResourceProperties; } /** RemotePrivateEndpointConnectionARMResource resource specific properties */ export interface RemotePrivateEndpointConnectionARMResourceProperties { /** PrivateEndpoint of a remote private endpoint connection */ privateEndpoint?: ArmIdWrapper; /** The state of a private link connection */ privateLinkServiceConnectionState?: PrivateLinkConnectionState; /** Private IPAddresses mapped to the remote private e