Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Bicep resource definition
The sites/slots resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.Web/sites/slots resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.Web/sites/slots@2024-11-01' = {
parent: resourceSymbolicName
extendedLocation: {
name: 'string'
}
identity: {
type: 'string'
userAssignedIdentities: {
{customized property}: {}
}
}
kind: 'string'
location: 'string'
name: 'string'
properties: {
autoGeneratedDomainNameLabelScope: 'string'
clientAffinityEnabled: bool
clientAffinityPartitioningEnabled: bool
clientAffinityProxyEnabled: bool
clientCertEnabled: bool
clientCertExclusionPaths: 'string'
clientCertMode: 'string'
cloningInfo: {
appSettingsOverrides: {
{customized property}: 'string'
}
cloneCustomHostNames: bool
cloneSourceControl: bool
configureLoadBalancing: bool
correlationId: 'string'
hostingEnvironment: 'string'
overwrite: bool
sourceWebAppId: 'string'
sourceWebAppLocation: 'string'
trafficManagerProfileId: 'string'
trafficManagerProfileName: 'string'
}
containerSize: int
customDomainVerificationId: 'string'
dailyMemoryTimeQuota: int
daprConfig: {
appId: 'string'
appPort: int
enableApiLogging: bool
enabled: bool
httpMaxRequestSize: int
httpReadBufferSize: int
logLevel: 'string'
}
dnsConfiguration: {
dnsAltServer: 'string'
dnsMaxCacheTimeout: int
dnsRetryAttemptCount: int
dnsRetryAttemptTimeout: int
dnsServers: [
'string'
]
}
enabled: bool
endToEndEncryptionEnabled: bool
functionAppConfig: {
deployment: {
storage: {
authentication: {
storageAccountConnectionStringName: 'string'
type: 'string'
userAssignedIdentityResourceId: 'string'
}
type: 'string'
value: 'string'
}
}
runtime: {
name: 'string'
version: 'string'
}
scaleAndConcurrency: {
alwaysReady: [
{
instanceCount: int
name: 'string'
}
]
instanceMemoryMB: int
maximumInstanceCount: int
triggers: {
http: {
perInstanceConcurrency: int
}
}
}
}
hostingEnvironmentProfile: {
id: 'string'
}
hostNamesDisabled: bool
hostNameSslStates: [
{
hostType: 'string'
name: 'string'
sslState: 'string'
thumbprint: 'string'
toUpdate: bool
virtualIP: 'string'
}
]
httpsOnly: bool
hyperV: bool
ipMode: 'string'
isXenon: bool
keyVaultReferenceIdentity: 'string'
managedEnvironmentId: 'string'
outboundVnetRouting: {
allTraffic: bool
applicationTraffic: bool
backupRestoreTraffic: bool
contentShareTraffic: bool
imagePullTraffic: bool
}
publicNetworkAccess: 'string'
redundancyMode: 'string'
reserved: bool
resourceConfig: {
cpu: int
memory: 'string'
}
scmSiteAlsoStopped: bool
serverFarmId: 'string'
siteConfig: {
acrUseManagedIdentityCreds: bool
acrUserManagedIdentityID: 'string'
alwaysOn: bool
apiDefinition: {
url: 'string'
}
apiManagementConfig: {
id: 'string'
}
appCommandLine: 'string'
appSettings: [
{
name: 'string'
value: 'string'
}
]
autoHealEnabled: bool
autoHealRules: {
actions: {
actionType: 'string'
customAction: {
exe: 'string'
parameters: 'string'
}
minProcessExecutionTime: 'string'
}
triggers: {
privateBytesInKB: int
requests: {
count: int
timeInterval: 'string'
}
slowRequests: {
count: int
path: 'string'
timeInterval: 'string'
timeTaken: 'string'
}
slowRequestsWithPath: [
{
count: int
path: 'string'
timeInterval: 'string'
timeTaken: 'string'
}
]
statusCodes: [
{
count: int
path: 'string'
status: int
subStatus: int
timeInterval: 'string'
win32Status: int
}
]
statusCodesRange: [
{
count: int
path: 'string'
statusCodes: 'string'
timeInterval: 'string'
}
]
}
}
autoSwapSlotName: 'string'
azureStorageAccounts: {
{customized property}: {
accessKey: 'string'
accountName: 'string'
mountPath: 'string'
protocol: 'string'
shareName: 'string'
type: 'string'
}
}
connectionStrings: [
{
connectionString: 'string'
name: 'string'
type: 'string'
}
]
cors: {
allowedOrigins: [
'string'
]
supportCredentials: bool
}
defaultDocuments: [
'string'
]
detailedErrorLoggingEnabled: bool
documentRoot: 'string'
elasticWebAppScaleLimit: int
experiments: {
rampUpRules: [
{
actionHostName: 'string'
changeDecisionCallbackUrl: 'string'
changeIntervalInMinutes: int
changeStep: int
maxReroutePercentage: int
minReroutePercentage: int
name: 'string'
reroutePercentage: int
}
]
}
ftpsState: 'string'
functionAppScaleLimit: int
functionsRuntimeScaleMonitoringEnabled: bool
handlerMappings: [
{
arguments: 'string'
extension: 'string'
scriptProcessor: 'string'
}
]
healthCheckPath: 'string'
http20Enabled: bool
http20ProxyFlag: int
httpLoggingEnabled: bool
ipSecurityRestrictions: [
{
action: 'string'
description: 'string'
headers: {
{customized property}: [
'string'
]
}
ipAddress: 'string'
name: 'string'
priority: int
subnetMask: 'string'
subnetTrafficTag: int
tag: 'string'
vnetSubnetResourceId: 'string'
vnetTrafficTag: int
}
]
ipSecurityRestrictionsDefaultAction: 'string'
javaContainer: 'string'
javaContainerVersion: 'string'
javaVersion: 'string'
keyVaultReferenceIdentity: 'string'
limits: {
maxDiskSizeInMb: int
maxMemoryInMb: int
maxPercentageCpu: int
}
linuxFxVersion: 'string'
loadBalancing: 'string'
localMySqlEnabled: bool
logsDirectorySizeLimit: int
managedPipelineMode: 'string'
managedServiceIdentityId: int
metadata: [
{
name: 'string'
value: 'string'
}
]
minimumElasticInstanceCount: int
minTlsCipherSuite: 'string'
minTlsVersion: 'string'
netFrameworkVersion: 'string'
nodeVersion: 'string'
numberOfWorkers: int
phpVersion: 'string'
powerShellVersion: 'string'
preWarmedInstanceCount: int
publicNetworkAccess: 'string'
publishingUsername: 'string'
push: {
kind: 'string'
properties: {
dynamicTagsJson: 'string'
isPushEnabled: bool
tagsRequiringAuth: 'string'
tagWhitelistJson: 'string'
}
}
pythonVersion: 'string'
remoteDebuggingEnabled: bool
remoteDebuggingVersion: 'string'
requestTracingEnabled: bool
requestTracingExpirationTime: 'string'
scmIpSecurityRestrictions: [
{
action: 'string'
description: 'string'
headers: {
{customized property}: [
'string'
]
}
ipAddress: 'string'
name: 'string'
priority: int
subnetMask: 'string'
subnetTrafficTag: int
tag: 'string'
vnetSubnetResourceId: 'string'
vnetTrafficTag: int
}
]
scmIpSecurityRestrictionsDefaultAction: 'string'
scmIpSecurityRestrictionsUseMain: bool
scmMinTlsVersion: 'string'
scmType: 'string'
tracingOptions: 'string'
use32BitWorkerProcess: bool
virtualApplications: [
{
physicalPath: 'string'
preloadEnabled: bool
virtualDirectories: [
{
physicalPath: 'string'
virtualPath: 'string'
}
]
virtualPath: 'string'
}
]
vnetName: 'string'
vnetPrivatePortsCount: int
vnetRouteAllEnabled: bool
websiteTimeZone: 'string'
webSocketsEnabled: bool
windowsFxVersion: 'string'
xManagedServiceIdentityId: int
}
sshEnabled: bool
storageAccountRequired: bool
virtualNetworkSubnetId: 'string'
workloadProfileName: 'string'
}
tags: {
{customized property}: 'string'
}
}
Property Values
Microsoft.Web/sites/slots
Name | Description | Value |
---|---|---|
extendedLocation | Extended Location. | ExtendedLocation |
identity | Managed service identity. | ManagedServiceIdentity |
kind | Kind of resource. If the resource is an app, you can refer to https://github.com/Azure/app-service-linux-docs/blob/master/Things_You_Should_Know/kind_property.md#app-service-resource-kind-reference for details supported values for kind. | string |
location | Resource Location. | string (required) |
name | The resource name | string (required) |
parent | In Bicep, you can specify the parent resource for a child resource. You only need to add this property when the child resource is declared outside of the parent resource. For more information, see Child resource outside parent resource. |
Symbolic name for resource of type: sites |
properties | Site resource specific properties | SiteProperties |
tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
ApiDefinitionInfo
Name | Description | Value |
---|---|---|
url | The URL of the API definition. | string |
ApiManagementConfig
Name | Description | Value |
---|---|---|
id | APIM-Api Identifier. | string |
AutoHealActions
Name | Description | Value |
---|---|---|
actionType | Predefined action to be taken. | 'CustomAction' 'LogEvent' 'Recycle' |
customAction | Custom action to be taken. | AutoHealCustomAction |
minProcessExecutionTime | Minimum time the process must execute before taking the action |
string |
AutoHealCustomAction
Name | Description | Value |
---|---|---|
exe | Executable to be run. | string |
parameters | Parameters for the executable. | string |
AutoHealRules
Name | Description | Value |
---|---|---|
actions | Actions to be executed when a rule is triggered. | AutoHealActions |
triggers | Conditions that describe when to execute the auto-heal actions. | AutoHealTriggers |
AutoHealTriggers
Name | Description | Value |
---|---|---|
privateBytesInKB | A rule based on private bytes. | int |
requests | A rule based on total requests. | RequestsBasedTrigger |
slowRequests | A rule based on request execution time. | SlowRequestsBasedTrigger |
slowRequestsWithPath | A rule based on multiple Slow Requests Rule with path | SlowRequestsBasedTrigger[] |
statusCodes | A rule based on status codes. | StatusCodesBasedTrigger[] |
statusCodesRange | A rule based on status codes ranges. | StatusCodesRangeBasedTrigger[] |
AzureStorageInfoValue
Name | Description | Value |
---|---|---|
accessKey | Access key for the storage account. | string Constraints: Sensitive value. Pass in as a secure parameter. |
accountName | Name of the storage account. | string |
mountPath | Path to mount the storage within the site's runtime environment. | string |
protocol | Mounting protocol to use for the storage account. | 'Http' 'Nfs' 'Smb' |
shareName | Name of the file share (container name, for Blob storage). | string |
type | Type of storage. | 'AzureBlob' 'AzureFiles' |
CloningInfo
Name | Description | Value |
---|---|---|
appSettingsOverrides | Application setting overrides for cloned app. If specified, these settings override the settings cloned from source app. Otherwise, application settings from source app are retained. |
CloningInfoAppSettingsOverrides |
cloneCustomHostNames | <code>true</code> to clone custom hostnames from source app; otherwise, <code>false</code>. | bool |
cloneSourceControl | <code>true</code> to clone source control from source app; otherwise, <code>false</code>. | bool |
configureLoadBalancing | <code>true</code> to configure load balancing for source and destination app. | bool |
correlationId | Correlation ID of cloning operation. This ID ties multiple cloning operations together to use the same snapshot. |
string Constraints: Min length = 36 Max length = 36 Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
hostingEnvironment | App Service Environment. | string |
overwrite | <code>true</code> to overwrite destination app; otherwise, <code>false</code>. | bool |
sourceWebAppId | ARM resource ID of the source app. App resource ID is of the form /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} for production slots and /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} for other slots. |
string (required) |
sourceWebAppLocation | Location of source app ex: West US or North Europe | string |
trafficManagerProfileId | ARM resource ID of the Traffic Manager profile to use, if it exists. Traffic Manager resource ID is of the form /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. |
string |
trafficManagerProfileName | Name of Traffic Manager profile to create. This is only needed if Traffic Manager profile does not already exist. | string |
CloningInfoAppSettingsOverrides
Name | Description | Value |
---|
ConnStringInfo
Name | Description | Value |
---|---|---|
connectionString | Connection string value. | string |
name | Name of connection string. | string |
type | Type of database. | 'ApiHub' 'Custom' 'DocDb' 'EventHub' 'MySql' 'NotificationHub' 'PostgreSQL' 'RedisCache' 'ServiceBus' 'SQLAzure' 'SQLServer' |
CorsSettings
Name | Description | Value |
---|---|---|
allowedOrigins | Gets or sets the list of origins that should be allowed to make cross-origin calls (for example: http://example.com:12345 ). Use "*" to allow all. |
string[] |
supportCredentials | 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. |
bool |
DaprConfig
Name | Description | Value |
---|---|---|
appId | Dapr application identifier | string |
appPort | Tells Dapr which port your application is listening on | int |
enableApiLogging | Enables API logging for the Dapr sidecar | bool |
enabled | Boolean indicating if the Dapr side car is enabled | bool |
httpMaxRequestSize | Increasing max size of request body http servers parameter in MB to handle uploading of big files. Default is 4 MB. | int |
httpReadBufferSize | Dapr max size of http header read buffer in KB to handle when sending multi-KB headers. Default is 65KB. | int |
logLevel | Sets the log level for the Dapr sidecar. Allowed values are debug, info, warn, error. Default is info. | 'debug' 'error' 'info' 'warn' |
Experiments
Name | Description | Value |
---|---|---|
rampUpRules | List of ramp-up rules. | RampUpRule[] |
ExtendedLocation
Name | Description | Value |
---|---|---|
name | Name of extended location. | string |
FunctionAppConfig
Name | Description | Value |
---|---|---|
deployment | Function app deployment configuration. | FunctionsDeployment |
runtime | Function app runtime settings. | FunctionsRuntime |
scaleAndConcurrency | Function app scale and concurrency settings. | FunctionsScaleAndConcurrency |
FunctionsAlwaysReadyConfig
Name | Description | Value |
---|---|---|
instanceCount | Sets the number of 'Always Ready' instances for a given function group or a specific function. For additional information see https://aka.ms/flexconsumption/alwaysready. | int |
name | Either a function group or a function name is required. For additional information see https://aka.ms/flexconsumption/alwaysready. | string |
FunctionsDeployment
Name | Description | Value |
---|---|---|
storage | Storage for deployed package used by the function app. | FunctionsDeploymentStorage |
FunctionsDeploymentStorage
Name | Description | Value |
---|---|---|
authentication | Authentication method to access the storage account for deployment. | FunctionsDeploymentStorageAuthentication |
type | Property to select Azure Storage type. Available options: blobContainer. | 'blobContainer' |
value | Property to set the URL for the selected Azure Storage type. Example: For blobContainer, the value could be https://<storageAccountName>.blob.core.windows.net/<containerName>. | string |
FunctionsDeploymentStorageAuthentication
Name | Description | Value |
---|---|---|
storageAccountConnectionStringName | Use this property for StorageAccountConnectionString. Set the name of the app setting that has the storage account connection string. Do not set a value for this property when using other authentication type. | string |
type | Property to select authentication type to access the selected storage account. Available options: SystemAssignedIdentity, UserAssignedIdentity, StorageAccountConnectionString. | 'StorageAccountConnectionString' 'SystemAssignedIdentity' 'UserAssignedIdentity' |
userAssignedIdentityResourceId | Use this property for UserAssignedIdentity. Set the resource ID of the identity. Do not set a value for this property when using other authentication type. | string |
FunctionsRuntime
Name | Description | Value |
---|---|---|
name | Function app runtime name. Available options: dotnet-isolated, node, java, powershell, python, custom | 'custom' 'dotnet-isolated' 'java' 'node' 'powershell' 'python' |
version | Function app runtime version. Example: 8 (for dotnet-isolated) | string |
FunctionsScaleAndConcurrency
Name | Description | Value |
---|---|---|
alwaysReady | 'Always Ready' configuration for the function app. | FunctionsAlwaysReadyConfig[] |
instanceMemoryMB | Set the amount of memory allocated to each instance of the function app in MB. CPU and network bandwidth are allocated proportionally. | int |
maximumInstanceCount | The maximum number of instances for the function app. | int |
triggers | Scale and concurrency settings for the function app triggers. | FunctionsScaleAndConcurrencyTriggers |
FunctionsScaleAndConcurrencyTriggers
Name | Description | Value |
---|---|---|
http | Scale and concurrency settings for the HTTP trigger. | FunctionsScaleAndConcurrencyTriggersHttp |
FunctionsScaleAndConcurrencyTriggersHttp
Name | Description | Value |
---|---|---|
perInstanceConcurrency | The maximum number of concurrent HTTP trigger invocations per instance. | int |
HandlerMapping
Name | Description | Value |
---|---|---|
arguments | Command-line arguments to be passed to the script processor. | string |
extension | Requests with this extension will be handled using the specified FastCGI application. | string |
scriptProcessor | The absolute path to the FastCGI application. | string |
HostingEnvironmentProfile
Name | Description | Value |
---|---|---|
id | Resource ID of the App Service Environment. | string |
HostNameSslState
Name | Description | Value |
---|---|---|
hostType | Indicates whether the hostname is a standard or repository hostname. | 'Repository' 'Standard' |
name | Hostname. | string |
sslState | SSL type. | 'Disabled' 'IpBasedEnabled' 'SniEnabled' |
thumbprint | SSL certificate thumbprint. | string |
toUpdate | Set to <code>true</code> to update existing hostname. | bool |
virtualIP | Virtual IP address assigned to the hostname if IP based SSL is enabled. | string |
IpSecurityRestriction
Name | Description | Value |
---|---|---|
action | Allow or Deny access for this IP range. | string |
description | IP restriction rule description. | string |
headers | 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. |
IpSecurityRestrictionHeaders |
ipAddress | IP address the security restriction is valid for. It can be in form of pure ipv4 address (required SubnetMask property) or CIDR notation such as ipv4/mask (leading bit match). For CIDR, SubnetMask property must not be specified. |
string |
name | IP restriction rule name. | string |
priority | Priority of IP restriction rule. | int |
subnetMask | Subnet mask for the range of IP addresses the restriction is valid for. | string |
subnetTrafficTag | (internal) Subnet traffic tag | int |
tag | Defines what this IP filter will be used for. This is to support IP filtering on proxies. | 'Default' 'ServiceTag' 'XffProxy' |
vnetSubnetResourceId | Virtual network resource id | string |
vnetTrafficTag | (internal) Vnet traffic tag | int |
IpSecurityRestrictionHeaders
Name | Description | Value |
---|
ManagedServiceIdentity
Name | Description | Value |
---|---|---|
type | Type of managed service identity. | 'None' 'SystemAssigned' 'SystemAssigned, UserAssigned' 'UserAssigned' |
userAssignedIdentities | 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} | ManagedServiceIdentityUserAssignedIdentities |
ManagedServiceIdentityUserAssignedIdentities
Name | Description | Value |
---|
NameValuePair
Name | Description | Value |
---|---|---|
name | Pair name. | string |
value | Pair value. | string |
OutboundVnetRouting
Name | Description | Value |
---|---|---|
allTraffic | Enables all other routing options defined in OutboundVnetRouting if this setting is set to true. | bool |
applicationTraffic | This causes all outbound traffic to have Virtual Network Security Groups and User Defined Routes applied. Previously called VnetRouteAllEnabled. | bool |
backupRestoreTraffic | Enables Backup and Restore operations over virtual network. Previously called VnetBackupRestoreEnabled | bool |
contentShareTraffic | Enables accessing content over virtual network. Previously called VnetContentShareEnabled | bool |
imagePullTraffic | Enables pulling image over Virtual Network. Previously called VnetImagePullEnabled. | bool |
PushSettings
Name | Description | Value |
---|---|---|
kind | Kind of resource. | string |
properties | PushSettings resource specific properties | PushSettingsProperties |
PushSettingsProperties
Name | Description | Value |
---|---|---|
dynamicTagsJson | Gets or sets a JSON string containing a list of dynamic tags that will be evaluated from user claims in the push registration endpoint. | string |
isPushEnabled | Gets or sets a flag indicating whether the Push endpoint is enabled. | bool (required) |
tagsRequiringAuth | Gets or sets a JSON string containing a list of tags that require user authentication to be used in the push registration endpoint. Tags can consist of alphanumeric characters and the following: '_', '@', '#', '.', ':', '-'. Validation should be performed at the PushRequestHandler. |
string |
tagWhitelistJson | Gets or sets a JSON string containing a list of tags that are whitelisted for use by the push registration endpoint. | string |
RampUpRule
Name | Description | Value |
---|---|---|
actionHostName | Hostname of a slot to which the traffic will be redirected if decided to. E.g. myapp-stage.azurewebsites.net. | string |
changeDecisionCallbackUrl | Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. | string |
changeIntervalInMinutes | Specifies interval in minutes to reevaluate ReroutePercentage. | int |
changeStep | 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>. |
int |
maxReroutePercentage | Specifies upper boundary below which ReroutePercentage will stay. | int |
minReroutePercentage | Specifies lower boundary above which ReroutePercentage will stay. | int |
name | Name of the routing rule. The recommended name would be to point to the slot which will receive the traffic in the experiment. | string |
reroutePercentage | Percentage of the traffic which will be redirected to <code>ActionHostName</code>. | int |
RequestsBasedTrigger
Name | Description | Value |
---|---|---|
count | Request Count. | int |
timeInterval | Time interval. | string |
ResourceConfig
Name | Description | Value |
---|---|---|
cpu | Required CPU in cores, e.g. 0.5 | int |
memory | Required memory, e.g. "1Gi" | string |
ResourceTags
Name | Description | Value |
---|
SiteConfig
Name | Description | Value |
---|---|---|
acrUseManagedIdentityCreds | Flag to use Managed Identity Creds for ACR pull | bool |
acrUserManagedIdentityID | If using user managed identity, the user managed identity ClientId | string |
alwaysOn | <code>true</code> if Always On is enabled; otherwise, <code>false</code>. | bool |
apiDefinition | Information about the formal API definition for the app. | ApiDefinitionInfo |
apiManagementConfig | Azure API management settings linked to the app. | ApiManagementConfig |
appCommandLine | App command line to launch. | string |
appSettings | Application settings. This property is not returned in response to normal create and read requests since it may contain sensitive information. | NameValuePair[] |
autoHealEnabled | <code>true</code> if Auto Heal is enabled; otherwise, <code>false</code>. | bool |
autoHealRules | Auto Heal rules. | AutoHealRules |
autoSwapSlotName | Auto-swap slot name. | string |
azureStorageAccounts | List of Azure Storage Accounts. | SiteConfigAzureStorageAccounts |
connectionStrings | Connection strings. This property is not returned in response to normal create and read requests since it may contain sensitive information. | ConnStringInfo[] |
cors | Cross-Origin Resource Sharing (CORS) settings. | CorsSettings |
defaultDocuments | Default documents. | string[] |
detailedErrorLoggingEnabled | <code>true</code> if detailed error logging is enabled; otherwise, <code>false</code>. | bool |
documentRoot | Document root. | string |
elasticWebAppScaleLimit | Maximum number of workers that a site can scale out to. This setting only applies to apps in plans where ElasticScaleEnabled is <code>true</code> |
int Constraints: Min value = 0 |
experiments | This is work around for polymorphic types. | Experiments |
ftpsState | State of FTP / FTPS service | 'AllAllowed' 'Disabled' 'FtpsOnly' |
functionAppScaleLimit | Maximum number of workers that a site can scale out to. This setting only applies to the Consumption and Elastic Premium Plans |
int Constraints: Min value = 0 |
functionsRuntimeScaleMonitoringEnabled | 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. |
bool |
handlerMappings | Handler mappings. | HandlerMapping[] |
healthCheckPath | Health check path | string |
http20Enabled | Http20Enabled: configures a web site to allow clients to connect over http2.0 | bool |
http20ProxyFlag | Http20ProxyFlag: Configures a website to allow http2.0 to pass be proxied all the way to the app. 0 = disabled, 1 = pass through all http2 traffic, 2 = pass through gRPC only. | int |
httpLoggingEnabled | <code>true</code> if HTTP logging is enabled; otherwise, <code>false</code>. | bool |
ipSecurityRestrictions | IP security restrictions for main. | IpSecurityRestriction[] |
ipSecurityRestrictionsDefaultAction | Default action for main access restriction if no rules are matched. | 'Allow' 'Deny' |
javaContainer | Java container. | string |
javaContainerVersion | Java container version. | string |
javaVersion | Java version. | string |
keyVaultReferenceIdentity | Identity to use for Key Vault Reference authentication. | string |
limits | Site limits. | SiteLimits |
linuxFxVersion | Linux App Framework and version | string |
loadBalancing | Site load balancing. | 'LeastRequests' 'LeastRequestsWithTieBreaker' 'LeastResponseTime' 'PerSiteRoundRobin' 'RequestHash' 'WeightedRoundRobin' 'WeightedTotalTraffic' |
localMySqlEnabled | <code>true</code> to enable local MySQL; otherwise, <code>false</code>. | bool |
logsDirectorySizeLimit | HTTP logs directory size limit. | int |
managedPipelineMode | Managed pipeline mode. | 'Classic' 'Integrated' |
managedServiceIdentityId | Managed Service Identity Id | int |
metadata | Application metadata. This property cannot be retrieved, since it may contain secrets. | NameValuePair[] |
minimumElasticInstanceCount | Number of minimum instance count for a site This setting only applies to the Elastic Plans |
int Constraints: Min value = 0 Max value = 20 |
minTlsCipherSuite | The minimum strength TLS cipher suite allowed for an application | 'TLS_AES_128_GCM_SHA256' 'TLS_AES_256_GCM_SHA384' 'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256' 'TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256' 'TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384' 'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA' 'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256' 'TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256' 'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA' 'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384' 'TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384' 'TLS_RSA_WITH_AES_128_CBC_SHA' 'TLS_RSA_WITH_AES_128_CBC_SHA256' 'TLS_RSA_WITH_AES_128_GCM_SHA256' 'TLS_RSA_WITH_AES_256_CBC_SHA' 'TLS_RSA_WITH_AES_256_CBC_SHA256' 'TLS_RSA_WITH_AES_256_GCM_SHA384' |
minTlsVersion | MinTlsVersion: configures the minimum version of TLS required for SSL requests | '1.0' '1.1' '1.2' '1.3' |
netFrameworkVersion | .NET Framework version. | string |
nodeVersion | Version of Node.js. | string |
numberOfWorkers | Number of workers. | int |
phpVersion | Version of PHP. | string |
powerShellVersion | Version of PowerShell. | string |
preWarmedInstanceCount | Number of preWarmed instances. This setting only applies to the Consumption and Elastic Plans |
int Constraints: Min value = 0 Max value = 10 |
publicNetworkAccess | Property to allow or block all public traffic. | string |
publishingUsername | Publishing user name. | string |
push | Push endpoint settings. | PushSettings |
pythonVersion | Version of Python. | string |
remoteDebuggingEnabled | <code>true</code> if remote debugging is enabled; otherwise, <code>false</code>. | bool |
remoteDebuggingVersion | Remote debugging version. | string |
requestTracingEnabled | <code>true</code> if request tracing is enabled; otherwise, <code>false</code>. | bool |
requestTracingExpirationTime | Request tracing expiration time. | string |
scmIpSecurityRestrictions | IP security restrictions for scm. | IpSecurityRestriction[] |
scmIpSecurityRestrictionsDefaultAction | Default action for scm access restriction if no rules are matched. | 'Allow' 'Deny' |
scmIpSecurityRestrictionsUseMain | IP security restrictions for scm to use main. | bool |
scmMinTlsVersion | ScmMinTlsVersion: configures the minimum version of TLS required for SSL requests for SCM site | '1.0' '1.1' '1.2' '1.3' |
scmType | SCM type. | 'BitbucketGit' 'BitbucketHg' 'CodePlexGit' 'CodePlexHg' 'Dropbox' 'ExternalGit' 'ExternalHg' 'GitHub' 'LocalGit' 'None' 'OneDrive' 'Tfs' 'VSO' 'VSTSRM' |
tracingOptions | Tracing options. | string |
use32BitWorkerProcess | <code>true</code> to use 32-bit worker process; otherwise, <code>false</code>. | bool |
virtualApplications | Virtual applications. | VirtualApplication[] |
vnetName | Virtual Network name. | string |
vnetPrivatePortsCount | The number of private ports assigned to this app. These will be assigned dynamically on runtime. | int |
vnetRouteAllEnabled | Virtual Network Route All enabled. This causes all outbound traffic to have Virtual Network Security Groups and User Defined Routes applied. | bool |
websiteTimeZone | 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 | string |
webSocketsEnabled | <code>true</code> if WebSocket is enabled; otherwise, <code>false</code>. | bool |
windowsFxVersion | Xenon App Framework and version | string |
xManagedServiceIdentityId | Explicit Managed Service Identity Id | int |
SiteConfigAzureStorageAccounts
Name | Description | Value |
---|
SiteDnsConfig
Name | Description | Value |
---|---|---|
dnsAltServer | Alternate DNS server to be used by apps. This property replicates the WEBSITE_DNS_ALT_SERVER app setting. | string |
dnsMaxCacheTimeout | Custom time for DNS to be cached in seconds. Allowed range: 0-60. Default is 30 seconds. 0 means caching disabled. | int |
dnsRetryAttemptCount | Total number of retries for dns lookup. Allowed range: 1-5. Default is 3. | int |
dnsRetryAttemptTimeout | Timeout for a single dns lookup in seconds. Allowed range: 1-30. Default is 3. | int |
dnsServers | List of custom DNS servers to be used by an app for lookups. Maximum 5 dns servers can be set. | string[] |
SiteLimits
Name | Description | Value |
---|---|---|
maxDiskSizeInMb | Maximum allowed disk size usage in MB. | int |
maxMemoryInMb | Maximum allowed memory usage in MB. | int |
maxPercentageCpu | Maximum allowed CPU usage percentage. | int |
SiteProperties
Name | Description | Value |
---|---|---|
autoGeneratedDomainNameLabelScope | Specifies the scope of uniqueness for the default hostname during resource creation | 'NoReuse' 'ResourceGroupReuse' 'SubscriptionReuse' 'TenantReuse' |
clientAffinityEnabled | <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>. | bool |
clientAffinityPartitioningEnabled | <code>true</code> to enable client affinity partitioning using CHIPS cookies, this will add the <code>partitioned</code> property to the affinity cookies; <code>false</code> to stop sending partitioned affinity cookies. Default is <code>false</code>. | bool |
clientAffinityProxyEnabled | <code>true</code> to override client affinity cookie domain with X-Forwarded-Host request header. <code>false</code> to use default domain. Default is <code>false</code>. | bool |
clientCertEnabled | <code>true</code> to enable client certificate authentication (TLS mutual authentication); otherwise, <code>false</code>. Default is <code>false</code>. | bool |
clientCertExclusionPaths | client certificate authentication comma-separated exclusion paths | string |
clientCertMode | 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. |
'Optional' 'OptionalInteractiveUser' 'Required' |
cloningInfo | If specified during app creation, the app is cloned from a source app. | CloningInfo |
containerSize | Size of the function container. | int |
customDomainVerificationId | Unique identifier that verifies the custom domains assigned to the app. Customer will add this id to a txt record for verification. | string |
dailyMemoryTimeQuota | Maximum allowed daily memory-time quota (applicable on dynamic apps only). | int |
daprConfig | Dapr configuration of the app. | DaprConfig |
dnsConfiguration | Property to configure various DNS related settings for a site. | SiteDnsConfig |
enabled | <code>true</code> if the app is enabled; otherwise, <code>false</code>. Setting this value to false disables the app (takes the app offline). | bool |
endToEndEncryptionEnabled | Whether to use end to end encryption between the FrontEnd and the Worker | bool |
functionAppConfig | Configuration specific of the Azure Function app. | FunctionAppConfig |
hostingEnvironmentProfile | App Service Environment to use for the app. | HostingEnvironmentProfile |
hostNamesDisabled | <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. |
bool |
hostNameSslStates | Hostname SSL states are used to manage the SSL bindings for app's hostnames. | HostNameSslState[] |
httpsOnly | HttpsOnly: configures a web site to accept only https requests. Issues redirect for http requests |
bool |
hyperV | Hyper-V sandbox. | bool |
ipMode | Specifies the IP mode of the app. | 'IPv4' 'IPv4AndIPv6' 'IPv6' |
isXenon | Obsolete: Hyper-V sandbox. | bool |
keyVaultReferenceIdentity | Identity to use for Key Vault Reference authentication. | string |
managedEnvironmentId | Azure Resource Manager ID of the customer's selected Managed Environment on which to host this app. This must be of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.App/managedEnvironments/{managedEnvironmentName} | string |
outboundVnetRouting | Property to configure various outbound traffic routing options over virtual network for a site | OutboundVnetRouting |
publicNetworkAccess | Property to allow or block all public traffic. Allowed Values: 'Enabled', 'Disabled' or an empty string. | string |
redundancyMode | Site redundancy mode | 'ActiveActive' 'Failover' 'GeoRedundant' 'Manual' 'None' |
reserved | <code>true</code> if reserved; otherwise, <code>false</code>. | bool |
resourceConfig | Function app resource requirements. | ResourceConfig |
scmSiteAlsoStopped | <code>true</code> to stop SCM (KUDU) site when the app is stopped; otherwise, <code>false</code>. The default is <code>false</code>. | bool |
serverFarmId | Resource ID of the associated App Service plan, formatted as: "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". | string |
siteConfig | Configuration of an App Service app. This property is not returned in response to normal create and read requests since it may contain sensitive information. | SiteConfig |
sshEnabled | Whether to enable ssh access. | bool |
storageAccountRequired | Checks if Customer provided storage account is required | bool |
virtualNetworkSubnetId | 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} |
string |
workloadProfileName | Workload profile name for function app to execute on. | string |
SlowRequestsBasedTrigger
Name | Description | Value |
---|---|---|
count | Request Count. | int |
path | Request Path. | string |
timeInterval | Time interval. | string |
timeTaken | Time taken. | string |
StatusCodesBasedTrigger
Name | Description | Value |
---|---|---|
count | Request Count. | int |
path | Request Path | string |
status | HTTP status code. | int |
subStatus | Request Sub Status. | int |
timeInterval | Time interval. | string |
win32Status | Win32 error code. | int |
StatusCodesRangeBasedTrigger
Name | Description | Value |
---|---|---|
count | Request Count. | int |
path | string | |
statusCodes | HTTP status code. | string |
timeInterval | Time interval. | string |
UserAssignedIdentity
Name | Description | Value |
---|
VirtualApplication
Name | Description | Value |
---|---|---|
physicalPath | Physical path. | string |
preloadEnabled | <code>true</code> if preloading is enabled; otherwise, <code>false</code>. | bool |
virtualDirectories | Virtual directories for virtual application. | VirtualDirectory[] |
virtualPath | Virtual path. | string |
VirtualDirectory
Name | Description | Value |
---|---|---|
physicalPath | Physical path. | string |
virtualPath | Path to virtual application. | string |
Usage Examples
Azure Quickstart Samples
The following Azure Quickstart templates contain Bicep samples for deploying this resource type.
Bicep File | Description |
---|---|
Azure Function App with a Deployment Slot | This template provisions a function app on a Premium plan with production slot and an additional deployment slot. |
Highly Available Multi-region Web App | This template allows you to create a secure, highly available, multi-region end to end solution with two web apps in different regions behind Azure Front Door |
Provision Consumption plan function with a Deployment Slot | This template provisions a function app on a Consumption plan, which is a dynamic hosting plan. The app runs on demand and you're billed per execution, with no standing resource committment. There are other templates available for provisioning on a dedicated hosting plan. |
Secure N-tier Web App | This template allows you to create a secure end to end solution with two web apps with staging slots, front end and back end, front end will consume securely the back through VNet injection and Private Endpoint |
ARM template resource definition
The sites/slots resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.Web/sites/slots resource, add the following JSON to your template.
{
"type": "Microsoft.Web/sites/slots",
"apiVersion": "2024-11-01",
"name": "string",
"extendedLocation": {
"name": "string"
},
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": {
}
}
},
"kind": "string",
"location": "string",
"properties": {
"autoGeneratedDomainNameLabelScope": "string",
"clientAffinityEnabled": "bool",
"clientAffinityPartitioningEnabled": "bool",
"clientAffinityProxyEnabled": "bool",
"clientCertEnabled": "bool",
"clientCertExclusionPaths": "string",
"clientCertMode": "string",
"cloningInfo": {
"appSettingsOverrides": {
"{customized property}": "string"
},
"cloneCustomHostNames": "bool",
"cloneSourceControl": "bool",
"configureLoadBalancing": "bool",
"correlationId": "string",
"hostingEnvironment": "string",
"overwrite": "bool",
"sourceWebAppId": "string",
"sourceWebAppLocation": "string",
"trafficManagerProfileId": "string",
"trafficManagerProfileName": "string"
},
"containerSize": "int",
"customDomainVerificationId": "string",
"dailyMemoryTimeQuota": "int",
"daprConfig": {
"appId": "string",
"appPort": "int",
"enableApiLogging": "bool",
"enabled": "bool",
"httpMaxRequestSize": "int",
"httpReadBufferSize": "int",
"logLevel": "string"
},
"dnsConfiguration": {
"dnsAltServer": "string",
"dnsMaxCacheTimeout": "int",
"dnsRetryAttemptCount": "int",
"dnsRetryAttemptTimeout": "int",
"dnsServers": [ "string" ]
},
"enabled": "bool",
"endToEndEncryptionEnabled": "bool",
"functionAppConfig": {
"deployment": {
"storage": {
"authentication": {
"storageAccountConnectionStringName": "string",
"type": "string",
"userAssignedIdentityResourceId": "string"
},
"type": "string",
"value": "string"
}
},
"runtime": {
"name": "string",
"version": "string"
},
"scaleAndConcurrency": {
"alwaysReady": [
{
"instanceCount": "int",
"name": "string"
}
],
"instanceMemoryMB": "int",
"maximumInstanceCount": "int",
"triggers": {
"http": {
"perInstanceConcurrency": "int"
}
}
}
},
"hostingEnvironmentProfile": {
"id": "string"
},
"hostNamesDisabled": "bool",
"hostNameSslStates": [
{
"hostType": "string",
"name": "string",
"sslState": "string",
"thumbprint": "string",
"toUpdate": "bool",
"virtualIP": "string"
}
],
"httpsOnly": "bool",
"hyperV": "bool",
"ipMode": "string",
"isXenon": "bool",
"keyVaultReferenceIdentity": "string",
"managedEnvironmentId": "string",
"outboundVnetRouting": {
"allTraffic": "bool",
"applicationTraffic": "bool",
"backupRestoreTraffic": "bool",
"contentShareTraffic": "bool",
"imagePullTraffic": "bool"
},
"publicNetworkAccess": "string",
"redundancyMode": "string",
"reserved": "bool",
"resourceConfig": {
"cpu": "int",
"memory": "string"
},
"scmSiteAlsoStopped": "bool",
"serverFarmId": "string",
"siteConfig": {
"acrUseManagedIdentityCreds": "bool",
"acrUserManagedIdentityID": "string",
"alwaysOn": "bool",
"apiDefinition": {
"url": "string"
},
"apiManagementConfig": {
"id": "string"
},
"appCommandLine": "string",
"appSettings": [
{
"name": "string",
"value": "string"
}
],
"autoHealEnabled": "bool",
"autoHealRules": {
"actions": {
"actionType": "string",
"customAction": {
"exe": "string",
"parameters": "string"
},
"minProcessExecutionTime": "string"
},
"triggers": {
"privateBytesInKB": "int",
"requests": {
"count": "int",
"timeInterval": "string"
},
"slowRequests": {
"count": "int",
"path": "string",
"timeInterval": "string",
"timeTaken": "string"
},
"slowRequestsWithPath": [
{
"count": "int",
"path": "string",
"timeInterval": "string",
"timeTaken": "string"
}
],
"statusCodes": [
{
"count": "int",
"path": "string",
"status": "int",
"subStatus": "int",
"timeInterval": "string",
"win32Status": "int"
}
],
"statusCodesRange": [
{
"count": "int",
"path": "string",
"statusCodes": "string",
"timeInterval": "string"
}
]
}
},
"autoSwapSlotName": "string",
"azureStorageAccounts": {
"{customized property}": {
"accessKey": "string",
"accountName": "string",
"mountPath": "string",
"protocol": "string",
"shareName": "string",
"type": "string"
}
},
"connectionStrings": [
{
"connectionString": "string",
"name": "string",
"type": "string"
}
],
"cors": {
"allowedOrigins": [ "string" ],
"supportCredentials": "bool"
},
"defaultDocuments": [ "string" ],
"detailedErrorLoggingEnabled": "bool",
"documentRoot": "string",
"elasticWebAppScaleLimit": "int",
"experiments": {
"rampUpRules": [
{
"actionHostName": "string",
"changeDecisionCallbackUrl": "string",
"changeIntervalInMinutes": "int",
"changeStep": "int",
"maxReroutePercentage": "int",
"minReroutePercentage": "int",
"name": "string",
"reroutePercentage": "int"
}
]
},
"ftpsState": "string",
"functionAppScaleLimit": "int",
"functionsRuntimeScaleMonitoringEnabled": "bool",
"handlerMappings": [
{
"arguments": "string",
"extension": "string",
"scriptProcessor": "string"
}
],
"healthCheckPath": "string",
"http20Enabled": "bool",
"http20ProxyFlag": "int",
"httpLoggingEnabled": "bool",
"ipSecurityRestrictions": [
{
"action": "string",
"description": "string",
"headers": {
"{customized property}": [ "string" ]
},
"ipAddress": "string",
"name": "string",
"priority": "int",
"subnetMask": "string",
"subnetTrafficTag": "int",
"tag": "string",
"vnetSubnetResourceId": "string",
"vnetTrafficTag": "int"
}
],
"ipSecurityRestrictionsDefaultAction": "string",
"javaContainer": "string",
"javaContainerVersion": "string",
"javaVersion": "string",
"keyVaultReferenceIdentity": "string",
"limits": {
"maxDiskSizeInMb": "int",
"maxMemoryInMb": "int",
"maxPercentageCpu": "int"
},
"linuxFxVersion": "string",
"loadBalancing": "string",
"localMySqlEnabled": "bool",
"logsDirectorySizeLimit": "int",
"managedPipelineMode": "string",
"managedServiceIdentityId": "int",
"metadata": [
{
"name": "string",
"value": "string"
}
],
"minimumElasticInstanceCount": "int",
"minTlsCipherSuite": "string",
"minTlsVersion": "string",
"netFrameworkVersion": "string",
"nodeVersion": "string",
"numberOfWorkers": "int",
"phpVersion": "string",
"powerShellVersion": "string",
"preWarmedInstanceCount": "int",
"publicNetworkAccess": "string",
"publishingUsername": "string",
"push": {
"kind": "string",
"properties": {
"dynamicTagsJson": "string",
"isPushEnabled": "bool",
"tagsRequiringAuth": "string",
"tagWhitelistJson": "string"
}
},
"pythonVersion": "string",
"remoteDebuggingEnabled": "bool",
"remoteDebuggingVersion": "string",
"requestTracingEnabled": "bool",
"requestTracingExpirationTime": "string",
"scmIpSecurityRestrictions": [
{
"action": "string",
"description": "string",
"headers": {
"{customized property}": [ "string" ]
},
"ipAddress": "string",
"name": "string",
"priority": "int",
"subnetMask": "string",
"subnetTrafficTag": "int",
"tag": "string",
"vnetSubnetResourceId": "string",
"vnetTrafficTag": "int"
}
],
"scmIpSecurityRestrictionsDefaultAction": "string",
"scmIpSecurityRestrictionsUseMain": "bool",
"scmMinTlsVersion": "string",
"scmType": "string",
"tracingOptions": "string",
"use32BitWorkerProcess": "bool",
"virtualApplications": [
{
"physicalPath": "string",
"preloadEnabled": "bool",
"virtualDirectories": [
{
"physicalPath": "string",
"virtualPath": "string"
}
],
"virtualPath": "string"
}
],
"vnetName": "string",
"vnetPrivatePortsCount": "int",
"vnetRouteAllEnabled": "bool",
"websiteTimeZone": "string",
"webSocketsEnabled": "bool",
"windowsFxVersion": "string",
"xManagedServiceIdentityId": "int"
},
"sshEnabled": "bool",
"storageAccountRequired": "bool",
"virtualNetworkSubnetId": "string",
"workloadProfileName": "string"
},
"tags": {
"{customized property}": "string"
}
}
Property Values
Microsoft.Web/sites/slots
Name | Description | Value |
---|---|---|
apiVersion | The api version | '2024-11-01' |
extendedLocation | Extended Location. | ExtendedLocation |
identity | Managed service identity. | ManagedServiceIdentity |
kind | Kind of resource. If the resource is an app, you can refer to https://github.com/Azure/app-service-linux-docs/blob/master/Things_You_Should_Know/kind_property.md#app-service-resource-kind-reference for details supported values for kind. | string |
location | Resource Location. | string (required) |
name | The resource name | string (required) |
properties | Site resource specific properties | SiteProperties |
tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
type | The resource type | 'Microsoft.Web/sites/slots' |
ApiDefinitionInfo
Name | Description | Value |
---|---|---|
url | The URL of the API definition. | string |
ApiManagementConfig
Name | Description | Value |
---|---|---|
id | APIM-Api Identifier. | string |
AutoHealActions
Name | Description | Value |
---|---|---|
actionType | Predefined action to be taken. | 'CustomAction' 'LogEvent' 'Recycle' |
customAction | Custom action to be taken. | AutoHealCustomAction |
minProcessExecutionTime | Minimum time the process must execute before taking the action |
string |
AutoHealCustomAction
Name | Description | Value |
---|---|---|
exe | Executable to be run. | string |
parameters | Parameters for the executable. | string |
AutoHealRules
Name | Description | Value |
---|---|---|
actions | Actions to be executed when a rule is triggered. | AutoHealActions |
triggers | Conditions that describe when to execute the auto-heal actions. | AutoHealTriggers |
AutoHealTriggers
Name | Description | Value |
---|---|---|
privateBytesInKB | A rule based on private bytes. | int |
requests | A rule based on total requests. | RequestsBasedTrigger |
slowRequests | A rule based on request execution time. | SlowRequestsBasedTrigger |
slowRequestsWithPath | A rule based on multiple Slow Requests Rule with path | SlowRequestsBasedTrigger[] |
statusCodes | A rule based on status codes. | StatusCodesBasedTrigger[] |
statusCodesRange | A rule based on status codes ranges. | StatusCodesRangeBasedTrigger[] |
AzureStorageInfoValue
Name | Description | Value |
---|---|---|
accessKey | Access key for the storage account. | string Constraints: Sensitive value. Pass in as a secure parameter. |
accountName | Name of the storage account. | string |
mountPath | Path to mount the storage within the site's runtime environment. | string |
protocol | Mounting protocol to use for the storage account. | 'Http' 'Nfs' 'Smb' |
shareName | Name of the file share (container name, for Blob storage). | string |
type | Type of storage. | 'AzureBlob' 'AzureFiles' |
CloningInfo
Name | Description | Value |
---|---|---|
appSettingsOverrides | Application setting overrides for cloned app. If specified, these settings override the settings cloned from source app. Otherwise, application settings from source app are retained. |
CloningInfoAppSettingsOverrides |
cloneCustomHostNames | <code>true</code> to clone custom hostnames from source app; otherwise, <code>false</code>. | bool |
cloneSourceControl | <code>true</code> to clone source control from source app; otherwise, <code>false</code>. | bool |
configureLoadBalancing | <code>true</code> to configure load balancing for source and destination app. | bool |
correlationId | Correlation ID of cloning operation. This ID ties multiple cloning operations together to use the same snapshot. |
string Constraints: Min length = 36 Max length = 36 Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
hostingEnvironment | App Service Environment. | string |
overwrite | <code>true</code> to overwrite destination app; otherwise, <code>false</code>. | bool |
sourceWebAppId | ARM resource ID of the source app. App resource ID is of the form /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} for production slots and /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} for other slots. |
string (required) |
sourceWebAppLocation | Location of source app ex: West US or North Europe | string |
trafficManagerProfileId | ARM resource ID of the Traffic Manager profile to use, if it exists. Traffic Manager resource ID is of the form /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. |
string |
trafficManagerProfileName | Name of Traffic Manager profile to create. This is only needed if Traffic Manager profile does not already exist. | string |
CloningInfoAppSettingsOverrides
Name | Description | Value |
---|
ConnStringInfo
Name | Description | Value |
---|---|---|
connectionString | Connection string value. | string |
name | Name of connection string. | string |
type | Type of database. | 'ApiHub' 'Custom' 'DocDb' 'EventHub' 'MySql' 'NotificationHub' 'PostgreSQL' 'RedisCache' 'ServiceBus' 'SQLAzure' 'SQLServer' |
CorsSettings
Name | Description | Value |
---|---|---|
allowedOrigins | Gets or sets the list of origins that should be allowed to make cross-origin calls (for example: http://example.com:12345 ). Use "*" to allow all. |
string[] |
supportCredentials | 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. |
bool |
DaprConfig
Name | Description | Value |
---|---|---|
appId | Dapr application identifier | string |
appPort | Tells Dapr which port your application is listening on | int |
enableApiLogging | Enables API logging for the Dapr sidecar | bool |
enabled | Boolean indicating if the Dapr side car is enabled | bool |
httpMaxRequestSize | Increasing max size of request body http servers parameter in MB to handle uploading of big files. Default is 4 MB. | int |
httpReadBufferSize | Dapr max size of http header read buffer in KB to handle when sending multi-KB headers. Default is 65KB. | int |
logLevel | Sets the log level for the Dapr sidecar. Allowed values are debug, info, warn, error. Default is info. | 'debug' 'error' 'info' 'warn' |
Experiments
Name | Description | Value |
---|---|---|
rampUpRules | List of ramp-up rules. | RampUpRule[] |
ExtendedLocation
Name | Description | Value |
---|---|---|
name | Name of extended location. | string |
FunctionAppConfig
Name | Description | Value |
---|---|---|
deployment | Function app deployment configuration. | FunctionsDeployment |
runtime | Function app runtime settings. | FunctionsRuntime |
scaleAndConcurrency | Function app scale and concurrency settings. | FunctionsScaleAndConcurrency |
FunctionsAlwaysReadyConfig
Name | Description | Value |
---|---|---|
instanceCount | Sets the number of 'Always Ready' instances for a given function group or a specific function. For additional information see https://aka.ms/flexconsumption/alwaysready. | int |
name | Either a function group or a function name is required. For additional information see https://aka.ms/flexconsumption/alwaysready. | string |
FunctionsDeployment
Name | Description | Value |
---|---|---|
storage | Storage for deployed package used by the function app. | FunctionsDeploymentStorage |
FunctionsDeploymentStorage
Name | Description | Value |
---|---|---|
authentication | Authentication method to access the storage account for deployment. | FunctionsDeploymentStorageAuthentication |
type | Property to select Azure Storage type. Available options: blobContainer. | 'blobContainer' |
value | Property to set the URL for the selected Azure Storage type. Example: For blobContainer, the value could be https://<storageAccountName>.blob.core.windows.net/<containerName>. | string |
FunctionsDeploymentStorageAuthentication
Name | Description | Value |
---|---|---|
storageAccountConnectionStringName | Use this property for StorageAccountConnectionString. Set the name of the app setting that has the storage account connection string. Do not set a value for this property when using other authentication type. | string |
type | Property to select authentication type to access the selected storage account. Available options: SystemAssignedIdentity, UserAssignedIdentity, StorageAccountConnectionString. | 'StorageAccountConnectionString' 'SystemAssignedIdentity' 'UserAssignedIdentity' |
userAssignedIdentityResourceId | Use this property for UserAssignedIdentity. Set the resource ID of the identity. Do not set a value for this property when using other authentication type. | string |
FunctionsRuntime
Name | Description | Value |
---|---|---|
name | Function app runtime name. Available options: dotnet-isolated, node, java, powershell, python, custom | 'custom' 'dotnet-isolated' 'java' 'node' 'powershell' 'python' |
version | Function app runtime version. Example: 8 (for dotnet-isolated) | string |
FunctionsScaleAndConcurrency
Name | Description | Value |
---|---|---|
alwaysReady | 'Always Ready' configuration for the function app. | FunctionsAlwaysReadyConfig[] |
instanceMemoryMB | Set the amount of memory allocated to each instance of the function app in MB. CPU and network bandwidth are allocated proportionally. | int |
maximumInstanceCount | The maximum number of instances for the function app. | int |
triggers | Scale and concurrency settings for the function app triggers. | FunctionsScaleAndConcurrencyTriggers |
FunctionsScaleAndConcurrencyTriggers
Name | Description | Value |
---|---|---|
http | Scale and concurrency settings for the HTTP trigger. | FunctionsScaleAndConcurrencyTriggersHttp |
FunctionsScaleAndConcurrencyTriggersHttp
Name | Description | Value |
---|---|---|
perInstanceConcurrency | The maximum number of concurrent HTTP trigger invocations per instance. | int |
HandlerMapping
Name | Description | Value |
---|---|---|
arguments | Command-line arguments to be passed to the script processor. | string |
extension | Requests with this extension will be handled using the specified FastCGI application. | string |
scriptProcessor | The absolute path to the FastCGI application. | string |
HostingEnvironmentProfile
Name | Description | Value |
---|---|---|
id | Resource ID of the App Service Environment. | string |
HostNameSslState
Name | Description | Value |
---|---|---|
hostType | Indicates whether the hostname is a standard or repository hostname. | 'Repository' 'Standard' |
name | Hostname. | string |
sslState | SSL type. | 'Disabled' 'IpBasedEnabled' 'SniEnabled' |
thumbprint | SSL certificate thumbprint. | string |
toUpdate | Set to <code>true</code> to update existing hostname. | bool |
virtualIP | Virtual IP address assigned to the hostname if IP based SSL is enabled. | string |
IpSecurityRestriction
Name | Description | Value |
---|---|---|
action | Allow or Deny access for this IP range. | string |
description | IP restriction rule description. | string |
headers | 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. |
IpSecurityRestrictionHeaders |
ipAddress | IP address the security restriction is valid for. It can be in form of pure ipv4 address (required SubnetMask property) or CIDR notation such as ipv4/mask (leading bit match). For CIDR, SubnetMask property must not be specified. |
string |
name | IP restriction rule name. | string |
priority | Priority of IP restriction rule. | int |
subnetMask | Subnet mask for the range of IP addresses the restriction is valid for. | string |
subnetTrafficTag | (internal) Subnet traffic tag | int |
tag | Defines what this IP filter will be used for. This is to support IP filtering on proxies. | 'Default' 'ServiceTag' 'XffProxy' |
vnetSubnetResourceId | Virtual network resource id | string |
vnetTrafficTag | (internal) Vnet traffic tag | int |
IpSecurityRestrictionHeaders
Name | Description | Value |
---|
ManagedServiceIdentity
Name | Description | Value |
---|---|---|
type | Type of managed service identity. | 'None' 'SystemAssigned' 'SystemAssigned, UserAssigned' 'UserAssigned' |
userAssignedIdentities | 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} | ManagedServiceIdentityUserAssignedIdentities |
ManagedServiceIdentityUserAssignedIdentities
Name | Description | Value |
---|
NameValuePair
Name | Description | Value |
---|---|---|
name | Pair name. | string |
value | Pair value. | string |
OutboundVnetRouting
Name | Description | Value |
---|---|---|
allTraffic | Enables all other routing options defined in OutboundVnetRouting if this setting is set to true. | bool |
applicationTraffic | This causes all outbound traffic to have Virtual Network Security Groups and User Defined Routes applied. Previously called VnetRouteAllEnabled. | bool |
backupRestoreTraffic | Enables Backup and Restore operations over virtual network. Previously called VnetBackupRestoreEnabled | bool |
contentShareTraffic | Enables accessing content over virtual network. Previously called VnetContentShareEnabled | bool |
imagePullTraffic | Enables pulling image over Virtual Network. Previously called VnetImagePullEnabled. | bool |
PushSettings
Name | Description | Value |
---|---|---|
kind | Kind of resource. | string |
properties | PushSettings resource specific properties | PushSettingsProperties |
PushSettingsProperties
Name | Description | Value |
---|---|---|
dynamicTagsJson | Gets or sets a JSON string containing a list of dynamic tags that will be evaluated from user claims in the push registration endpoint. | string |
isPushEnabled | Gets or sets a flag indicating whether the Push endpoint is enabled. | bool (required) |
tagsRequiringAuth | Gets or sets a JSON string containing a list of tags that require user authentication to be used in the push registration endpoint. Tags can consist of alphanumeric characters and the following: '_', '@', '#', '.', ':', '-'. Validation should be performed at the PushRequestHandler. |
string |
tagWhitelistJson | Gets or sets a JSON string containing a list of tags that are whitelisted for use by the push registration endpoint. | string |
RampUpRule
Name | Description | Value |
---|---|---|
actionHostName | Hostname of a slot to which the traffic will be redirected if decided to. E.g. myapp-stage.azurewebsites.net. | string |
changeDecisionCallbackUrl | Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. | string |
changeIntervalInMinutes | Specifies interval in minutes to reevaluate ReroutePercentage. | int |
changeStep | 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>. |
int |
maxReroutePercentage | Specifies upper boundary below which ReroutePercentage will stay. | int |
minReroutePercentage | Specifies lower boundary above which ReroutePercentage will stay. | int |
name | Name of the routing rule. The recommended name would be to point to the slot which will receive the traffic in the experiment. | string |
reroutePercentage | Percentage of the traffic which will be redirected to <code>ActionHostName</code>. | int |
RequestsBasedTrigger
Name | Description | Value |
---|---|---|
count | Request Count. | int |
timeInterval | Time interval. | string |
ResourceConfig
Name | Description | Value |
---|---|---|
cpu | Required CPU in cores, e.g. 0.5 | int |
memory | Required memory, e.g. "1Gi" | string |
ResourceTags
Name | Description | Value |
---|
SiteConfig
Name | Description | Value |
---|---|---|
acrUseManagedIdentityCreds | Flag to use Managed Identity Creds for ACR pull | bool |
acrUserManagedIdentityID | If using user managed identity, the user managed identity ClientId | string |
alwaysOn | <code>true</code> if Always On is enabled; otherwise, <code>false</code>. | bool |
apiDefinition | Information about the formal API definition for the app. | ApiDefinitionInfo |
apiManagementConfig | Azure API management settings linked to the app. | ApiManagementConfig |
appCommandLine | App command line to launch. | string |
appSettings | Application settings. This property is not returned in response to normal create and read requests since it may contain sensitive information. | NameValuePair[] |
autoHealEnabled | <code>true</code> if Auto Heal is enabled; otherwise, <code>false</code>. | bool |
autoHealRules | Auto Heal rules. | AutoHealRules |
autoSwapSlotName | Auto-swap slot name. | string |
azureStorageAccounts | List of Azure Storage Accounts. | SiteConfigAzureStorageAccounts |
connectionStrings | Connection strings. This property is not returned in response to normal create and read requests since it may contain sensitive information. | ConnStringInfo[] |
cors | Cross-Origin Resource Sharing (CORS) settings. | CorsSettings |
defaultDocuments | Default documents. | string[] |
detailedErrorLoggingEnabled | <code>true</code> if detailed error logging is enabled; otherwise, <code>false</code>. | bool |
documentRoot | Document root. | string |
elasticWebAppScaleLimit | Maximum number of workers that a site can scale out to. This setting only applies to apps in plans where ElasticScaleEnabled is <code>true</code> |
int Constraints: Min value = 0 |
experiments | This is work around for polymorphic types. | Experiments |
ftpsState | State of FTP / FTPS service | 'AllAllowed' 'Disabled' 'FtpsOnly' |
functionAppScaleLimit | Maximum number of workers that a site can scale out to. This setting only applies to the Consumption and Elastic Premium Plans |
int Constraints: Min value = 0 |
functionsRuntimeScaleMonitoringEnabled | 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. |
bool |
handlerMappings | Handler mappings. | HandlerMapping[] |
healthCheckPath | Health check path | string |
http20Enabled | Http20Enabled: configures a web site to allow clients to connect over http2.0 | bool |
http20ProxyFlag | Http20ProxyFlag: Configures a website to allow http2.0 to pass be proxied all the way to the app. 0 = disabled, 1 = pass through all http2 traffic, 2 = pass through gRPC only. | int |
httpLoggingEnabled | <code>true</code> if HTTP logging is enabled; otherwise, <code>false</code>. | bool |
ipSecurityRestrictions | IP security restrictions for main. | IpSecurityRestriction[] |
ipSecurityRestrictionsDefaultAction | Default action for main access restriction if no rules are matched. | 'Allow' 'Deny' |
javaContainer | Java container. | string |
javaContainerVersion | Java container version. | string |
javaVersion | Java version. | string |
keyVaultReferenceIdentity | Identity to use for Key Vault Reference authentication. | string |
limits | Site limits. | SiteLimits |
linuxFxVersion | Linux App Framework and version | string |
loadBalancing | Site load balancing. | 'LeastRequests' 'LeastRequestsWithTieBreaker' 'LeastResponseTime' 'PerSiteRoundRobin' 'RequestHash' 'WeightedRoundRobin' 'WeightedTotalTraffic' |
localMySqlEnabled | <code>true</code> to enable local MySQL; otherwise, <code>false</code>. | bool |
logsDirectorySizeLimit | HTTP logs directory size limit. | int |
managedPipelineMode | Managed pipeline mode. | 'Classic' 'Integrated' |
managedServiceIdentityId | Managed Service Identity Id | int |
metadata | Application metadata. This property cannot be retrieved, since it may contain secrets. | NameValuePair[] |
minimumElasticInstanceCount | Number of minimum instance count for a site This setting only applies to the Elastic Plans |
int Constraints: Min value = 0 Max value = 20 |
minTlsCipherSuite | The minimum strength TLS cipher suite allowed for an application | 'TLS_AES_128_GCM_SHA256' 'TLS_AES_256_GCM_SHA384' 'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256' 'TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256' 'TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384' 'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA' 'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256' 'TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256' 'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA' 'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384' 'TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384' 'TLS_RSA_WITH_AES_128_CBC_SHA' 'TLS_RSA_WITH_AES_128_CBC_SHA256' 'TLS_RSA_WITH_AES_128_GCM_SHA256' 'TLS_RSA_WITH_AES_256_CBC_SHA' 'TLS_RSA_WITH_AES_256_CBC_SHA256' 'TLS_RSA_WITH_AES_256_GCM_SHA384' |
minTlsVersion | MinTlsVersion: configures the minimum version of TLS required for SSL requests | '1.0' '1.1' '1.2' '1.3' |
netFrameworkVersion | .NET Framework version. | string |
nodeVersion | Version of Node.js. | string |
numberOfWorkers | Number of workers. | int |
phpVersion | Version of PHP. | string |
powerShellVersion | Version of PowerShell. | string |
preWarmedInstanceCount | Number of preWarmed instances. This setting only applies to the Consumption and Elastic Plans |
int Constraints: Min value = 0 Max value = 10 |
publicNetworkAccess | Property to allow or block all public traffic. | string |
publishingUsername | Publishing user name. | string |
push | Push endpoint settings. | PushSettings |
pythonVersion | Version of Python. | string |
remoteDebuggingEnabled | <code>true</code> if remote debugging is enabled; otherwise, <code>false</code>. | bool |
remoteDebuggingVersion | Remote debugging version. | string |
requestTracingEnabled | <code>true</code> if request tracing is enabled; otherwise, <code>false</code>. | bool |
requestTracingExpirationTime | Request tracing expiration time. | string |
scmIpSecurityRestrictions | IP security restrictions for scm. | IpSecurityRestriction[] |
scmIpSecurityRestrictionsDefaultAction | Default action for scm access restriction if no rules are matched. | 'Allow' 'Deny' |
scmIpSecurityRestrictionsUseMain | IP security restrictions for scm to use main. | bool |
scmMinTlsVersion | ScmMinTlsVersion: configures the minimum version of TLS required for SSL requests for SCM site | '1.0' '1.1' '1.2' '1.3' |
scmType | SCM type. | 'BitbucketGit' 'BitbucketHg' 'CodePlexGit' 'CodePlexHg' 'Dropbox' 'ExternalGit' 'ExternalHg' 'GitHub' 'LocalGit' 'None' 'OneDrive' 'Tfs' 'VSO' 'VSTSRM' |
tracingOptions | Tracing options. | string |
use32BitWorkerProcess | <code>true</code> to use 32-bit worker process; otherwise, <code>false</code>. | bool |
virtualApplications | Virtual applications. | VirtualApplication[] |
vnetName | Virtual Network name. | string |
vnetPrivatePortsCount | The number of private ports assigned to this app. These will be assigned dynamically on runtime. | int |
vnetRouteAllEnabled | Virtual Network Route All enabled. This causes all outbound traffic to have Virtual Network Security Groups and User Defined Routes applied. | bool |
websiteTimeZone | 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 | string |
webSocketsEnabled | <code>true</code> if WebSocket is enabled; otherwise, <code>false</code>. | bool |
windowsFxVersion | Xenon App Framework and version | string |
xManagedServiceIdentityId | Explicit Managed Service Identity Id | int |
SiteConfigAzureStorageAccounts
Name | Description | Value |
---|
SiteDnsConfig
Name | Description | Value |
---|---|---|
dnsAltServer | Alternate DNS server to be used by apps. This property replicates the WEBSITE_DNS_ALT_SERVER app setting. | string |
dnsMaxCacheTimeout | Custom time for DNS to be cached in seconds. Allowed range: 0-60. Default is 30 seconds. 0 means caching disabled. | int |
dnsRetryAttemptCount | Total number of retries for dns lookup. Allowed range: 1-5. Default is 3. | int |
dnsRetryAttemptTimeout | Timeout for a single dns lookup in seconds. Allowed range: 1-30. Default is 3. | int |
dnsServers | List of custom DNS servers to be used by an app for lookups. Maximum 5 dns servers can be set. | string[] |
SiteLimits
Name | Description | Value |
---|---|---|
maxDiskSizeInMb | Maximum allowed disk size usage in MB. | int |
maxMemoryInMb | Maximum allowed memory usage in MB. | int |
maxPercentageCpu | Maximum allowed CPU usage percentage. | int |
SiteProperties
Name | Description | Value |
---|---|---|
autoGeneratedDomainNameLabelScope | Specifies the scope of uniqueness for the default hostname during resource creation | 'NoReuse' 'ResourceGroupReuse' 'SubscriptionReuse' 'TenantReuse' |
clientAffinityEnabled | <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>. | bool |
clientAffinityPartitioningEnabled | <code>true</code> to enable client affinity partitioning using CHIPS cookies, this will add the <code>partitioned</code> property to the affinity cookies; <code>false</code> to stop sending partitioned affinity cookies. Default is <code>false</code>. | bool |
clientAffinityProxyEnabled | <code>true</code> to override client affinity cookie domain with X-Forwarded-Host request header. <code>false</code> to use default domain. Default is <code>false</code>. | bool |
clientCertEnabled | <code>true</code> to enable client certificate authentication (TLS mutual authentication); otherwise, <code>false</code>. Default is <code>false</code>. | bool |
clientCertExclusionPaths | client certificate authentication comma-separated exclusion paths | string |
clientCertMode | 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. |
'Optional' 'OptionalInteractiveUser' 'Required' |
cloningInfo | If specified during app creation, the app is cloned from a source app. | CloningInfo |
containerSize | Size of the function container. | int |
customDomainVerificationId | Unique identifier that verifies the custom domains assigned to the app. Customer will add this id to a txt record for verification. | string |
dailyMemoryTimeQuota | Maximum allowed daily memory-time quota (applicable on dynamic apps only). | int |
daprConfig | Dapr configuration of the app. | DaprConfig |
dnsConfiguration | Property to configure various DNS related settings for a site. | SiteDnsConfig |
enabled | <code>true</code> if the app is enabled; otherwise, <code>false</code>. Setting this value to false disables the app (takes the app offline). | bool |
endToEndEncryptionEnabled | Whether to use end to end encryption between the FrontEnd and the Worker | bool |
functionAppConfig | Configuration specific of the Azure Function app. | FunctionAppConfig |
hostingEnvironmentProfile | App Service Environment to use for the app. | HostingEnvironmentProfile |
hostNamesDisabled | <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. |
bool |
hostNameSslStates | Hostname SSL states are used to manage the SSL bindings for app's hostnames. | HostNameSslState[] |
httpsOnly | HttpsOnly: configures a web site to accept only https requests. Issues redirect for http requests |
bool |
hyperV | Hyper-V sandbox. | bool |
ipMode | Specifies the IP mode of the app. | 'IPv4' 'IPv4AndIPv6' 'IPv6' |
isXenon | Obsolete: Hyper-V sandbox. | bool |
keyVaultReferenceIdentity | Identity to use for Key Vault Reference authentication. | string |
managedEnvironmentId | Azure Resource Manager ID of the customer's selected Managed Environment on which to host this app. This must be of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.App/managedEnvironments/{managedEnvironmentName} | string |
outboundVnetRouting | Property to configure various outbound traffic routing options over virtual network for a site | OutboundVnetRouting |
publicNetworkAccess | Property to allow or block all public traffic. Allowed Values: 'Enabled', 'Disabled' or an empty string. | string |
redundancyMode | Site redundancy mode | 'ActiveActive' 'Failover' 'GeoRedundant' 'Manual' 'None' |
reserved | <code>true</code> if reserved; otherwise, <code>false</code>. | bool |
resourceConfig | Function app resource requirements. | ResourceConfig |
scmSiteAlsoStopped | <code>true</code> to stop SCM (KUDU) site when the app is stopped; otherwise, <code>false</code>. The default is <code>false</code>. | bool |
serverFarmId | Resource ID of the associated App Service plan, formatted as: "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". | string |
siteConfig | Configuration of an App Service app. This property is not returned in response to normal create and read requests since it may contain sensitive information. | SiteConfig |
sshEnabled | Whether to enable ssh access. | bool |
storageAccountRequired | Checks if Customer provided storage account is required | bool |
virtualNetworkSubnetId | 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} |
string |
workloadProfileName | Workload profile name for function app to execute on. | string |
SlowRequestsBasedTrigger
Name | Description | Value |
---|---|---|
count | Request Count. | int |
path | Request Path. | string |
timeInterval | Time interval. | string |
timeTaken | Time taken. | string |
StatusCodesBasedTrigger
Name | Description | Value |
---|---|---|
count | Request Count. | int |
path | Request Path | string |
status | HTTP status code. | int |
subStatus | Request Sub Status. | int |
timeInterval | Time interval. | string |
win32Status | Win32 error code. | int |
StatusCodesRangeBasedTrigger
Name | Description | Value |
---|---|---|
count | Request Count. | int |
path | string | |
statusCodes | HTTP status code. | string |
timeInterval | Time interval. | string |
UserAssignedIdentity
Name | Description | Value |
---|
VirtualApplication
Name | Description | Value |
---|---|---|
physicalPath | Physical path. | string |
preloadEnabled | <code>true</code> if preloading is enabled; otherwise, <code>false</code>. | bool |
virtualDirectories | Virtual directories for virtual application. | VirtualDirectory[] |
virtualPath | Virtual path. | string |
VirtualDirectory
Name | Description | Value |
---|---|---|
physicalPath | Physical path. | string |
virtualPath | Path to virtual application. | string |
Usage Examples
Azure Quickstart Templates
The following Azure Quickstart templates deploy this resource type.
Template | Description |
---|---|
Azure Function App with a Deployment Slot |
This template provisions a function app on a Premium plan with production slot and an additional deployment slot. |
Highly Available Multi-region Web App |
This template allows you to create a secure, highly available, multi-region end to end solution with two web apps in different regions behind Azure Front Door |
Provision Consumption plan function with a Deployment Slot |
This template provisions a function app on a Consumption plan, which is a dynamic hosting plan. The app runs on demand and you're billed per execution, with no standing resource committment. There are other templates available for provisioning on a dedicated hosting plan. |
Secure N-tier Web App |
This template allows you to create a secure end to end solution with two web apps with staging slots, front end and back end, front end will consume securely the back through VNet injection and Private Endpoint |
Web App with custom Deployment slots |
This template provides an easy way to deploy a web app with custom deployment slots on Azure Web Apps. |
Terraform (AzAPI provider) resource definition
The sites/slots resource type can be deployed with operations that target:
- Resource groups
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.Web/sites/slots resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Web/sites/slots@2024-11-01"
name = "string"
parent_id = "string"
identity {
type = "string"
identity_ids = [
"string"
]
}
location = "string"
tags = {
{customized property} = "string"
}
body = {
extendedLocation = {
name = "string"
}
kind = "string"
properties = {
autoGeneratedDomainNameLabelScope = "string"
clientAffinityEnabled = bool
clientAffinityPartitioningEnabled = bool
clientAffinityProxyEnabled = bool
clientCertEnabled = bool
clientCertExclusionPaths = "string"
clientCertMode = "string"
cloningInfo = {
appSettingsOverrides = {
{customized property} = "string"
}
cloneCustomHostNames = bool
cloneSourceControl = bool
configureLoadBalancing = bool
correlationId = "string"
hostingEnvironment = "string"
overwrite = bool
sourceWebAppId = "string"
sourceWebAppLocation = "string"
trafficManagerProfileId = "string"
trafficManagerProfileName = "string"
}
containerSize = int
customDomainVerificationId = "string"
dailyMemoryTimeQuota = int
daprConfig = {
appId = "string"
appPort = int
enableApiLogging = bool
enabled = bool
httpMaxRequestSize = int
httpReadBufferSize = int
logLevel = "string"
}
dnsConfiguration = {
dnsAltServer = "string"
dnsMaxCacheTimeout = int
dnsRetryAttemptCount = int
dnsRetryAttemptTimeout = int
dnsServers = [
"string"
]
}
enabled = bool
endToEndEncryptionEnabled = bool
functionAppConfig = {
deployment = {
storage = {
authentication = {
storageAccountConnectionStringName = "string"
type = "string"
userAssignedIdentityResourceId = "string"
}
type = "string"
value = "string"
}
}
runtime = {
name = "string"
version = "string"
}
scaleAndConcurrency = {
alwaysReady = [
{
instanceCount = int
name = "string"
}
]
instanceMemoryMB = int
maximumInstanceCount = int
triggers = {
http = {
perInstanceConcurrency = int
}
}
}
}
hostingEnvironmentProfile = {
id = "string"
}
hostNamesDisabled = bool
hostNameSslStates = [
{
hostType = "string"
name = "string"
sslState = "string"
thumbprint = "string"
toUpdate = bool
virtualIP = "string"
}
]
httpsOnly = bool
hyperV = bool
ipMode = "string"
isXenon = bool
keyVaultReferenceIdentity = "string"
managedEnvironmentId = "string"
outboundVnetRouting = {
allTraffic = bool
applicationTraffic = bool
backupRestoreTraffic = bool
contentShareTraffic = bool
imagePullTraffic = bool
}
publicNetworkAccess = "string"
redundancyMode = "string"
reserved = bool
resourceConfig = {
cpu = int
memory = "string"
}
scmSiteAlsoStopped = bool
serverFarmId = "string"
siteConfig = {
acrUseManagedIdentityCreds = bool
acrUserManagedIdentityID = "string"
alwaysOn = bool
apiDefinition = {
url = "string"
}
apiManagementConfig = {
id = "string"
}
appCommandLine = "string"
appSettings = [
{
name = "string"
value = "string"
}
]
autoHealEnabled = bool
autoHealRules = {
actions = {
actionType = "string"
customAction = {
exe = "string"
parameters = "string"
}
minProcessExecutionTime = "string"
}
triggers = {
privateBytesInKB = int
requests = {
count = int
timeInterval = "string"
}
slowRequests = {
count = int
path = "string"
timeInterval = "string"
timeTaken = "string"
}
slowRequestsWithPath = [
{
count = int
path = "string"
timeInterval = "string"
timeTaken = "string"
}
]
statusCodes = [
{
count = int
path = "string"
status = int
subStatus = int
timeInterval = "string"
win32Status = int
}
]
statusCodesRange = [
{
count = int
path = "string"
statusCodes = "string"
timeInterval = "string"
}
]
}
}
autoSwapSlotName = "string"
azureStorageAccounts = {
{customized property} = {
accessKey = "string"
accountName = "string"
mountPath = "string"
protocol = "string"
shareName = "string"
type = "string"
}
}
connectionStrings = [
{
connectionString = "string"
name = "string"
type = "string"
}
]
cors = {
allowedOrigins = [
"string"
]
supportCredentials = bool
}
defaultDocuments = [
"string"
]
detailedErrorLoggingEnabled = bool
documentRoot = "string"
elasticWebAppScaleLimit = int
experiments = {
rampUpRules = [
{
actionHostName = "string"
changeDecisionCallbackUrl = "string"
changeIntervalInMinutes = int
changeStep = int
maxReroutePercentage = int
minReroutePercentage = int
name = "string"
reroutePercentage = int
}
]
}
ftpsState = "string"
functionAppScaleLimit = int
functionsRuntimeScaleMonitoringEnabled = bool
handlerMappings = [
{
arguments = "string"
extension = "string"
scriptProcessor = "string"
}
]
healthCheckPath = "string"
http20Enabled = bool
http20ProxyFlag = int
httpLoggingEnabled = bool
ipSecurityRestrictions = [
{
action = "string"
description = "string"
headers = {
{customized property} = [
"string"
]
}
ipAddress = "string"
name = "string"
priority = int
subnetMask = "string"
subnetTrafficTag = int
tag = "string"
vnetSubnetResourceId = "string"
vnetTrafficTag = int
}
]
ipSecurityRestrictionsDefaultAction = "string"
javaContainer = "string"
javaContainerVersion = "string"
javaVersion = "string"
keyVaultReferenceIdentity = "string"
limits = {
maxDiskSizeInMb = int
maxMemoryInMb = int
maxPercentageCpu = int
}
linuxFxVersion = "string"
loadBalancing = "string"
localMySqlEnabled = bool
logsDirectorySizeLimit = int
managedPipelineMode = "string"
managedServiceIdentityId = int
metadata = [
{
name = "string"
value = "string"
}
]
minimumElasticInstanceCount = int
minTlsCipherSuite = "string"
minTlsVersion = "string"
netFrameworkVersion = "string"
nodeVersion = "string"
numberOfWorkers = int
phpVersion = "string"
powerShellVersion = "string"
preWarmedInstanceCount = int
publicNetworkAccess = "string"
publishingUsername = "string"
push = {
kind = "string"
properties = {
dynamicTagsJson = "string"
isPushEnabled = bool
tagsRequiringAuth = "string"
tagWhitelistJson = "string"
}
}
pythonVersion = "string"
remoteDebuggingEnabled = bool
remoteDebuggingVersion = "string"
requestTracingEnabled = bool
requestTracingExpirationTime = "string"
scmIpSecurityRestrictions = [
{
action = "string"
description = "string"
headers = {
{customized property} = [
"string"
]
}
ipAddress = "string"
name = "string"
priority = int
subnetMask = "string"
subnetTrafficTag = int
tag = "string"
vnetSubnetResourceId = "string"
vnetTrafficTag = int
}
]
scmIpSecurityRestrictionsDefaultAction = "string"
scmIpSecurityRestrictionsUseMain = bool
scmMinTlsVersion = "string"
scmType = "string"
tracingOptions = "string"
use32BitWorkerProcess = bool
virtualApplications = [
{
physicalPath = "string"
preloadEnabled = bool
virtualDirectories = [
{
physicalPath = "string"
virtualPath = "string"
}
]
virtualPath = "string"
}
]
vnetName = "string"
vnetPrivatePortsCount = int
vnetRouteAllEnabled = bool
websiteTimeZone = "string"
webSocketsEnabled = bool
windowsFxVersion = "string"
xManagedServiceIdentityId = int
}
sshEnabled = bool
storageAccountRequired = bool
virtualNetworkSubnetId = "string"
workloadProfileName = "string"
}
}
}
Property Values
Microsoft.Web/sites/slots
Name | Description | Value |
---|---|---|
extendedLocation | Extended Location. | ExtendedLocation |
identity | Managed service identity. | ManagedServiceIdentity |
kind | Kind of resource. If the resource is an app, you can refer to https://github.com/Azure/app-service-linux-docs/blob/master/Things_You_Should_Know/kind_property.md#app-service-resource-kind-reference for details supported values for kind. | string |
location | Resource Location. | string (required) |
name | The resource name | string (required) |
parent_id | The ID of the resource that is the parent for this resource. | ID for resource of type: sites |
properties | Site resource specific properties | SiteProperties |
tags | Resource tags | Dictionary of tag names and values. |
type | The resource type | "Microsoft.Web/sites/slots@2024-11-01" |
ApiDefinitionInfo
Name | Description | Value |
---|---|---|
url | The URL of the API definition. | string |
ApiManagementConfig
Name | Description | Value |
---|---|---|
id | APIM-Api Identifier. | string |
AutoHealActions
Name | Description | Value |
---|---|---|
actionType | Predefined action to be taken. | 'CustomAction' 'LogEvent' 'Recycle' |
customAction | Custom action to be taken. | AutoHealCustomAction |
minProcessExecutionTime | Minimum time the process must execute before taking the action |
string |
AutoHealCustomAction
Name | Description | Value |
---|---|---|
exe | Executable to be run. | string |
parameters | Parameters for the executable. | string |
AutoHealRules
Name | Description | Value |
---|---|---|
actions | Actions to be executed when a rule is triggered. | AutoHealActions |
triggers | Conditions that describe when to execute the auto-heal actions. | AutoHealTriggers |
AutoHealTriggers
Name | Description | Value |
---|---|---|
privateBytesInKB | A rule based on private bytes. | int |
requests | A rule based on total requests. | RequestsBasedTrigger |
slowRequests | A rule based on request execution time. | SlowRequestsBasedTrigger |
slowRequestsWithPath | A rule based on multiple Slow Requests Rule with path | SlowRequestsBasedTrigger[] |
statusCodes | A rule based on status codes. | StatusCodesBasedTrigger[] |
statusCodesRange | A rule based on status codes ranges. | StatusCodesRangeBasedTrigger[] |
AzureStorageInfoValue
Name | Description | Value |
---|---|---|
accessKey | Access key for the storage account. | string Constraints: Sensitive value. Pass in as a secure parameter. |
accountName | Name of the storage account. | string |
mountPath | Path to mount the storage within the site's runtime environment. | string |
protocol | Mounting protocol to use for the storage account. | 'Http' 'Nfs' 'Smb' |
shareName | Name of the file share (container name, for Blob storage). | string |
type | Type of storage. | 'AzureBlob' 'AzureFiles' |
CloningInfo
Name | Description | Value |
---|---|---|
appSettingsOverrides | Application setting overrides for cloned app. If specified, these settings override the settings cloned from source app. Otherwise, application settings from source app are retained. |
CloningInfoAppSettingsOverrides |
cloneCustomHostNames | <code>true</code> to clone custom hostnames from source app; otherwise, <code>false</code>. | bool |
cloneSourceControl | <code>true</code> to clone source control from source app; otherwise, <code>false</code>. | bool |
configureLoadBalancing | <code>true</code> to configure load balancing for source and destination app. | bool |
correlationId | Correlation ID of cloning operation. This ID ties multiple cloning operations together to use the same snapshot. |
string Constraints: Min length = 36 Max length = 36 Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
hostingEnvironment | App Service Environment. | string |
overwrite | <code>true</code> to overwrite destination app; otherwise, <code>false</code>. | bool |
sourceWebAppId | ARM resource ID of the source app. App resource ID is of the form /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} for production slots and /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} for other slots. |
string (required) |
sourceWebAppLocation | Location of source app ex: West US or North Europe | string |
trafficManagerProfileId | ARM resource ID of the Traffic Manager profile to use, if it exists. Traffic Manager resource ID is of the form /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. |
string |
trafficManagerProfileName | Name of Traffic Manager profile to create. This is only needed if Traffic Manager profile does not already exist. | string |
CloningInfoAppSettingsOverrides
Name | Description | Value |
---|
ConnStringInfo
Name | Description | Value |
---|---|---|
connectionString | Connection string value. | string |
name | Name of connection string. | string |
type | Type of database. | 'ApiHub' 'Custom' 'DocDb' 'EventHub' 'MySql' 'NotificationHub' 'PostgreSQL' 'RedisCache' 'ServiceBus' 'SQLAzure' 'SQLServer' |
CorsSettings
Name | Description | Value |
---|---|---|
allowedOrigins | Gets or sets the list of origins that should be allowed to make cross-origin calls (for example: http://example.com:12345 ). Use "*" to allow all. |
string[] |
supportCredentials | 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. |
bool |
DaprConfig
Name | Description | Value |
---|---|---|
appId | Dapr application identifier | string |
appPort | Tells Dapr which port your application is listening on | int |
enableApiLogging | Enables API logging for the Dapr sidecar | bool |
enabled | Boolean indicating if the Dapr side car is enabled | bool |
httpMaxRequestSize | Increasing max size of request body http servers parameter in MB to handle uploading of big files. Default is 4 MB. | int |
httpReadBufferSize | Dapr max size of http header read buffer in KB to handle when sending multi-KB headers. Default is 65KB. | int |
logLevel | Sets the log level for the Dapr sidecar. Allowed values are debug, info, warn, error. Default is info. | 'debug' 'error' 'info' 'warn' |
Experiments
Name | Description | Value |
---|---|---|
rampUpRules | List of ramp-up rules. | RampUpRule[] |
ExtendedLocation
Name | Description | Value |
---|---|---|
name | Name of extended location. | string |
FunctionAppConfig
Name | Description | Value |
---|---|---|
deployment | Function app deployment configuration. | FunctionsDeployment |
runtime | Function app runtime settings. | FunctionsRuntime |
scaleAndConcurrency | Function app scale and concurrency settings. | FunctionsScaleAndConcurrency |
FunctionsAlwaysReadyConfig
Name | Description | Value |
---|---|---|
instanceCount | Sets the number of 'Always Ready' instances for a given function group or a specific function. For additional information see https://aka.ms/flexconsumption/alwaysready. | int |
name | Either a function group or a function name is required. For additional information see https://aka.ms/flexconsumption/alwaysready. | string |
FunctionsDeployment
Name | Description | Value |
---|---|---|
storage | Storage for deployed package used by the function app. | FunctionsDeploymentStorage |
FunctionsDeploymentStorage
Name | Description | Value |
---|---|---|
authentication | Authentication method to access the storage account for deployment. | FunctionsDeploymentStorageAuthentication |
type | Property to select Azure Storage type. Available options: blobContainer. | 'blobContainer' |
value | Property to set the URL for the selected Azure Storage type. Example: For blobContainer, the value could be https://<storageAccountName>.blob.core.windows.net/<containerName>. | string |
FunctionsDeploymentStorageAuthentication
Name | Description | Value |
---|---|---|
storageAccountConnectionStringName | Use this property for StorageAccountConnectionString. Set the name of the app setting that has the storage account connection string. Do not set a value for this property when using other authentication type. | string |
type | Property to select authentication type to access the selected storage account. Available options: SystemAssignedIdentity, UserAssignedIdentity, StorageAccountConnectionString. | 'StorageAccountConnectionString' 'SystemAssignedIdentity' 'UserAssignedIdentity' |
userAssignedIdentityResourceId | Use this property for UserAssignedIdentity. Set the resource ID of the identity. Do not set a value for this property when using other authentication type. | string |
FunctionsRuntime
Name | Description | Value |
---|---|---|
name | Function app runtime name. Available options: dotnet-isolated, node, java, powershell, python, custom | 'custom' 'dotnet-isolated' 'java' 'node' 'powershell' 'python' |
version | Function app runtime version. Example: 8 (for dotnet-isolated) | string |
FunctionsScaleAndConcurrency
Name | Description | Value |
---|---|---|
alwaysReady | 'Always Ready' configuration for the function app. | FunctionsAlwaysReadyConfig[] |
instanceMemoryMB | Set the amount of memory allocated to each instance of the function app in MB. CPU and network bandwidth are allocated proportionally. | int |
maximumInstanceCount | The maximum number of instances for the function app. | int |
triggers | Scale and concurrency settings for the function app triggers. | FunctionsScaleAndConcurrencyTriggers |
FunctionsScaleAndConcurrencyTriggers
Name | Description | Value |
---|---|---|
http | Scale and concurrency settings for the HTTP trigger. | FunctionsScaleAndConcurrencyTriggersHttp |
FunctionsScaleAndConcurrencyTriggersHttp
Name | Description | Value |
---|---|---|
perInstanceConcurrency | The maximum number of concurrent HTTP trigger invocations per instance. | int |
HandlerMapping
Name | Description | Value |
---|---|---|
arguments | Command-line arguments to be passed to the script processor. | string |
extension | Requests with this extension will be handled using the specified FastCGI application. | string |
scriptProcessor | The absolute path to the FastCGI application. | string |
HostingEnvironmentProfile
Name | Description | Value |
---|---|---|
id | Resource ID of the App Service Environment. | string |
HostNameSslState
Name | Description | Value |
---|---|---|
hostType | Indicates whether the hostname is a standard or repository hostname. | 'Repository' 'Standard' |
name | Hostname. | string |
sslState | SSL type. | 'Disabled' 'IpBasedEnabled' 'SniEnabled' |
thumbprint | SSL certificate thumbprint. | string |
toUpdate | Set to <code>true</code> to update existing hostname. | bool |
virtualIP | Virtual IP address assigned to the hostname if IP based SSL is enabled. | string |
IpSecurityRestriction
Name | Description | Value |
---|---|---|
action | Allow or Deny access for this IP range. | string |
description | IP restriction rule description. | string |
headers | 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. |
IpSecurityRestrictionHeaders |
ipAddress | IP address the security restriction is valid for. It can be in form of pure ipv4 address (required SubnetMask property) or CIDR notation such as ipv4/mask (leading bit match). For CIDR, SubnetMask property must not be specified. |
string |
name | IP restriction rule name. | string |
priority | Priority of IP restriction rule. | int |
subnetMask | Subnet mask for the range of IP addresses the restriction is valid for. | string |
subnetTrafficTag | (internal) Subnet traffic tag | int |
tag | Defines what this IP filter will be used for. This is to support IP filtering on proxies. | 'Default' 'ServiceTag' 'XffProxy' |
vnetSubnetResourceId | Virtual network resource id | string |
vnetTrafficTag | (internal) Vnet traffic tag | int |
IpSecurityRestrictionHeaders
Name | Description | Value |
---|
ManagedServiceIdentity
Name | Description | Value |
---|---|---|
type | Type of managed service identity. | 'None' 'SystemAssigned' 'SystemAssigned, UserAssigned' 'UserAssigned' |
userAssignedIdentities | 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} | ManagedServiceIdentityUserAssignedIdentities |
ManagedServiceIdentityUserAssignedIdentities
Name | Description | Value |
---|
NameValuePair
Name | Description | Value |
---|---|---|
name | Pair name. | string |
value | Pair value. | string |
OutboundVnetRouting
Name | Description | Value |
---|---|---|
allTraffic | Enables all other routing options defined in OutboundVnetRouting if this setting is set to true. | bool |
applicationTraffic | This causes all outbound traffic to have Virtual Network Security Groups and User Defined Routes applied. Previously called VnetRouteAllEnabled. | bool |
backupRestoreTraffic | Enables Backup and Restore operations over virtual network. Previously called VnetBackupRestoreEnabled | bool |
contentShareTraffic | Enables accessing content over virtual network. Previously called VnetContentShareEnabled | bool |
imagePullTraffic | Enables pulling image over Virtual Network. Previously called VnetImagePullEnabled. | bool |
PushSettings
Name | Description | Value |
---|---|---|
kind | Kind of resource. | string |
properties | PushSettings resource specific properties | PushSettingsProperties |
PushSettingsProperties
Name | Description | Value |
---|---|---|
dynamicTagsJson | Gets or sets a JSON string containing a list of dynamic tags that will be evaluated from user claims in the push registration endpoint. | string |
isPushEnabled | Gets or sets a flag indicating whether the Push endpoint is enabled. | bool (required) |
tagsRequiringAuth | Gets or sets a JSON string containing a list of tags that require user authentication to be used in the push registration endpoint. Tags can consist of alphanumeric characters and the following: '_', '@', '#', '.', ':', '-'. Validation should be performed at the PushRequestHandler. |
string |
tagWhitelistJson | Gets or sets a JSON string containing a list of tags that are whitelisted for use by the push registration endpoint. | string |
RampUpRule
Name | Description | Value |
---|---|---|
actionHostName | Hostname of a slot to which the traffic will be redirected if decided to. E.g. myapp-stage.azurewebsites.net. | string |
changeDecisionCallbackUrl | Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. | string |
changeIntervalInMinutes | Specifies interval in minutes to reevaluate ReroutePercentage. | int |
changeStep | 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>. |
int |
maxReroutePercentage | Specifies upper boundary below which ReroutePercentage will stay. | int |
minReroutePercentage | Specifies lower boundary above which ReroutePercentage will stay. | int |
name | Name of the routing rule. The recommended name would be to point to the slot which will receive the traffic in the experiment. | string |
reroutePercentage | Percentage of the traffic which will be redirected to <code>ActionHostName</code>. | int |
RequestsBasedTrigger
Name | Description | Value |
---|---|---|
count | Request Count. | int |
timeInterval | Time interval. | string |
ResourceConfig
Name | Description | Value |
---|---|---|
cpu | Required CPU in cores, e.g. 0.5 | int |
memory | Required memory, e.g. "1Gi" | string |
ResourceTags
Name | Description | Value |
---|
SiteConfig
Name | Description | Value |
---|---|---|
acrUseManagedIdentityCreds | Flag to use Managed Identity Creds for ACR pull | bool |
acrUserManagedIdentityID | If using user managed identity, the user managed identity ClientId | string |
alwaysOn | <code>true</code> if Always On is enabled; otherwise, <code>false</code>. | bool |
apiDefinition | Information about the formal API definition for the app. | ApiDefinitionInfo |
apiManagementConfig | Azure API management settings linked to the app. | ApiManagementConfig |
appCommandLine | App command line to launch. | string |
appSettings | Application settings. This property is not returned in response to normal create and read requests since it may contain sensitive information. | NameValuePair[] |
autoHealEnabled | <code>true</code> if Auto Heal is enabled; otherwise, <code>false</code>. | bool |
autoHealRules | Auto Heal rules. | AutoHealRules |
autoSwapSlotName | Auto-swap slot name. | string |
azureStorageAccounts | List of Azure Storage Accounts. | SiteConfigAzureStorageAccounts |
connectionStrings | Connection strings. This property is not returned in response to normal create and read requests since it may contain sensitive information. | ConnStringInfo[] |
cors | Cross-Origin Resource Sharing (CORS) settings. | CorsSettings |
defaultDocuments | Default documents. | string[] |
detailedErrorLoggingEnabled | <code>true</code> if detailed error logging is enabled; otherwise, <code>false</code>. | bool |
documentRoot | Document root. | string |
elasticWebAppScaleLimit | Maximum number of workers that a site can scale out to. This setting only applies to apps in plans where ElasticScaleEnabled is <code>true</code> |
int Constraints: Min value = 0 |
experiments | This is work around for polymorphic types. | Experiments |
ftpsState | State of FTP / FTPS service | 'AllAllowed' 'Disabled' 'FtpsOnly' |
functionAppScaleLimit | Maximum number of workers that a site can scale out to. This setting only applies to the Consumption and Elastic Premium Plans |
int Constraints: Min value = 0 |
functionsRuntimeScaleMonitoringEnabled | 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. |
bool |
handlerMappings | Handler mappings. | HandlerMapping[] |
healthCheckPath | Health check path | string |
http20Enabled | Http20Enabled: configures a web site to allow clients to connect over http2.0 | bool |
http20ProxyFlag | Http20ProxyFlag: Configures a website to allow http2.0 to pass be proxied all the way to the app. 0 = disabled, 1 = pass through all http2 traffic, 2 = pass through gRPC only. | int |
httpLoggingEnabled | <code>true</code> if HTTP logging is enabled; otherwise, <code>false</code>. | bool |
ipSecurityRestrictions | IP security restrictions for main. | IpSecurityRestriction[] |
ipSecurityRestrictionsDefaultAction | Default action for main access restriction if no rules are matched. | 'Allow' 'Deny' |
javaContainer | Java container. | string |
javaContainerVersion | Java container version. | string |
javaVersion | Java version. | string |
keyVaultReferenceIdentity | Identity to use for Key Vault Reference authentication. | string |
limits | Site limits. | SiteLimits |
linuxFxVersion | Linux App Framework and version | string |
loadBalancing | Site load balancing. | 'LeastRequests' 'LeastRequestsWithTieBreaker' 'LeastResponseTime' 'PerSiteRoundRobin' 'RequestHash' 'WeightedRoundRobin' 'WeightedTotalTraffic' |
localMySqlEnabled | <code>true</code> to enable local MySQL; otherwise, <code>false</code>. | bool |
logsDirectorySizeLimit | HTTP logs directory size limit. | int |
managedPipelineMode | Managed pipeline mode. | 'Classic' 'Integrated' |
managedServiceIdentityId | Managed Service Identity Id | int |
metadata | Application metadata. This property cannot be retrieved, since it may contain secrets. | NameValuePair[] |
minimumElasticInstanceCount | Number of minimum instance count for a site This setting only applies to the Elastic Plans |
int Constraints: Min value = 0 Max value = 20 |
minTlsCipherSuite | The minimum strength TLS cipher suite allowed for an application | 'TLS_AES_128_GCM_SHA256' 'TLS_AES_256_GCM_SHA384' 'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256' 'TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256' 'TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384' 'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA' 'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256' 'TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256' 'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA' 'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384' 'TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384' 'TLS_RSA_WITH_AES_128_CBC_SHA' 'TLS_RSA_WITH_AES_128_CBC_SHA256' 'TLS_RSA_WITH_AES_128_GCM_SHA256' 'TLS_RSA_WITH_AES_256_CBC_SHA' 'TLS_RSA_WITH_AES_256_CBC_SHA256' 'TLS_RSA_WITH_AES_256_GCM_SHA384' |
minTlsVersion | MinTlsVersion: configures the minimum version of TLS required for SSL requests | '1.0' '1.1' '1.2' '1.3' |
netFrameworkVersion | .NET Framework version. | string |
nodeVersion | Version of Node.js. | string |
numberOfWorkers | Number of workers. | int |
phpVersion | Version of PHP. | string |
powerShellVersion | Version of PowerShell. | string |
preWarmedInstanceCount | Number of preWarmed instances. This setting only applies to the Consumption and Elastic Plans |
int Constraints: Min value = 0 Max value = 10 |
publicNetworkAccess | Property to allow or block all public traffic. | string |
publishingUsername | Publishing user name. | string |
push | Push endpoint settings. | PushSettings |
pythonVersion | Version of Python. | string |
remoteDebuggingEnabled | <code>true</code> if remote debugging is enabled; otherwise, <code>false</code>. | bool |
remoteDebuggingVersion | Remote debugging version. | string |
requestTracingEnabled | <code>true</code> if request tracing is enabled; otherwise, <code>false</code>. | bool |
requestTracingExpirationTime | Request tracing expiration time. | string |
scmIpSecurityRestrictions | IP security restrictions for scm. | IpSecurityRestriction[] |
scmIpSecurityRestrictionsDefaultAction | Default action for scm access restriction if no rules are matched. | 'Allow' 'Deny' |
scmIpSecurityRestrictionsUseMain | IP security restrictions for scm to use main. | bool |
scmMinTlsVersion | ScmMinTlsVersion: configures the minimum version of TLS required for SSL requests for SCM site | '1.0' '1.1' '1.2' '1.3' |
scmType | SCM type. | 'BitbucketGit' 'BitbucketHg' 'CodePlexGit' 'CodePlexHg' 'Dropbox' 'ExternalGit' 'ExternalHg' 'GitHub' 'LocalGit' 'None' 'OneDrive' 'Tfs' 'VSO' 'VSTSRM' |
tracingOptions | Tracing options. | string |
use32BitWorkerProcess | <code>true</code> to use 32-bit worker process; otherwise, <code>false</code>. | bool |
virtualApplications | Virtual applications. | VirtualApplication[] |
vnetName | Virtual Network name. | string |
vnetPrivatePortsCount | The number of private ports assigned to this app. These will be assigned dynamically on runtime. | int |
vnetRouteAllEnabled | Virtual Network Route All enabled. This causes all outbound traffic to have Virtual Network Security Groups and User Defined Routes applied. | bool |
websiteTimeZone | 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 | string |
webSocketsEnabled | <code>true</code> if WebSocket is enabled; otherwise, <code>false</code>. | bool |
windowsFxVersion | Xenon App Framework and version | string |
xManagedServiceIdentityId | Explicit Managed Service Identity Id | int |
SiteConfigAzureStorageAccounts
Name | Description | Value |
---|
SiteDnsConfig
Name | Description | Value |
---|---|---|
dnsAltServer | Alternate DNS server to be used by apps. This property replicates the WEBSITE_DNS_ALT_SERVER app setting. | string |
dnsMaxCacheTimeout | Custom time for DNS to be cached in seconds. Allowed range: 0-60. Default is 30 seconds. 0 means caching disabled. | int |
dnsRetryAttemptCount | Total number of retries for dns lookup. Allowed range: 1-5. Default is 3. | int |
dnsRetryAttemptTimeout | Timeout for a single dns lookup in seconds. Allowed range: 1-30. Default is 3. | int |
dnsServers | List of custom DNS servers to be used by an app for lookups. Maximum 5 dns servers can be set. | string[] |
SiteLimits
Name | Description | Value |
---|---|---|
maxDiskSizeInMb | Maximum allowed disk size usage in MB. | int |
maxMemoryInMb | Maximum allowed memory usage in MB. | int |
maxPercentageCpu | Maximum allowed CPU usage percentage. | int |
SiteProperties
Name | Description | Value |
---|---|---|
autoGeneratedDomainNameLabelScope | Specifies the scope of uniqueness for the default hostname during resource creation | 'NoReuse' 'ResourceGroupReuse' 'SubscriptionReuse' 'TenantReuse' |
clientAffinityEnabled | <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>. | bool |
clientAffinityPartitioningEnabled | <code>true</code> to enable client affinity partitioning using CHIPS cookies, this will add the <code>partitioned</code> property to the affinity cookies; <code>false</code> to stop sending partitioned affinity cookies. Default is <code>false</code>. | bool |
clientAffinityProxyEnabled | <code>true</code> to override client affinity cookie domain with X-Forwarded-Host request header. <code>false</code> to use default domain. Default is <code>false</code>. | bool |
clientCertEnabled | <code>true</code> to enable client certificate authentication (TLS mutual authentication); otherwise, <code>false</code>. Default is <code>false</code>. | bool |
clientCertExclusionPaths | client certificate authentication comma-separated exclusion paths | string |
clientCertMode | 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. |
'Optional' 'OptionalInteractiveUser' 'Required' |
cloningInfo | If specified during app creation, the app is cloned from a source app. | CloningInfo |
containerSize | Size of the function container. | int |
customDomainVerificationId | Unique identifier that verifies the custom domains assigned to the app. Customer will add this id to a txt record for verification. | string |
dailyMemoryTimeQuota | Maximum allowed daily memory-time quota (applicable on dynamic apps only). | int |
daprConfig | Dapr configuration of the app. | DaprConfig |
dnsConfiguration | Property to configure various DNS related settings for a site. | SiteDnsConfig |
enabled | <code>true</code> if the app is enabled; otherwise, <code>false</code>. Setting this value to false disables the app (takes the app offline). | bool |
endToEndEncryptionEnabled | Whether to use end to end encryption between the FrontEnd and the Worker | bool |
functionAppConfig | Configuration specific of the Azure Function app. | FunctionAppConfig |
hostingEnvironmentProfile | App Service Environment to use for the app. | HostingEnvironmentProfile |
hostNamesDisabled | <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. |
bool |
hostNameSslStates | Hostname SSL states are used to manage the SSL bindings for app's hostnames. | HostNameSslState[] |
httpsOnly | HttpsOnly: configures a web site to accept only https requests. Issues redirect for http requests |
bool |
hyperV | Hyper-V sandbox. | bool |
ipMode | Specifies the IP mode of the app. | 'IPv4' 'IPv4AndIPv6' 'IPv6' |
isXenon | Obsolete: Hyper-V sandbox. | bool |
keyVaultReferenceIdentity | Identity to use for Key Vault Reference authentication. | string |
managedEnvironmentId | Azure Resource Manager ID of the customer's selected Managed Environment on which to host this app. This must be of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.App/managedEnvironments/{managedEnvironmentName} | string |
outboundVnetRouting | Property to configure various outbound traffic routing options over virtual network for a site | OutboundVnetRouting |
publicNetworkAccess | Property to allow or block all public traffic. Allowed Values: 'Enabled', 'Disabled' or an empty string. | string |
redundancyMode | Site redundancy mode | 'ActiveActive' 'Failover' 'GeoRedundant' 'Manual' 'None' |
reserved | <code>true</code> if reserved; otherwise, <code>false</code>. | bool |
resourceConfig | Function app resource requirements. | ResourceConfig |
scmSiteAlsoStopped | <code>true</code> to stop SCM (KUDU) site when the app is stopped; otherwise, <code>false</code>. The default is <code>false</code>. | bool |
serverFarmId | Resource ID of the associated App Service plan, formatted as: "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". | string |
siteConfig | Configuration of an App Service app. This property is not returned in response to normal create and read requests since it may contain sensitive information. | SiteConfig |
sshEnabled | Whether to enable ssh access. | bool |
storageAccountRequired | Checks if Customer provided storage account is required | bool |
virtualNetworkSubnetId | 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} |
string |
workloadProfileName | Workload profile name for function app to execute on. | string |
SlowRequestsBasedTrigger
Name | Description | Value |
---|---|---|
count | Request Count. | int |
path | Request Path. | string |
timeInterval | Time interval. | string |
timeTaken | Time taken. | string |
StatusCodesBasedTrigger
Name | Description | Value |
---|---|---|
count | Request Count. | int |
path | Request Path | string |
status | HTTP status code. | int |
subStatus | Request Sub Status. | int |
timeInterval | Time interval. | string |
win32Status | Win32 error code. | int |
StatusCodesRangeBasedTrigger
Name | Description | Value |
---|---|---|
count | Request Count. | int |
path | string | |
statusCodes | HTTP status code. | string |
timeInterval | Time interval. | string |
UserAssignedIdentity
Name | Description | Value |
---|
VirtualApplication
Name | Description | Value |
---|---|---|
physicalPath | Physical path. | string |
preloadEnabled | <code>true</code> if preloading is enabled; otherwise, <code>false</code>. | bool |
virtualDirectories | Virtual directories for virtual application. | VirtualDirectory[] |
virtualPath | Virtual path. | string |
VirtualDirectory
Name | Description | Value |
---|---|---|
physicalPath | Physical path. | string |
virtualPath | Path to virtual application. | string |