Microsoft.Web sites/slots/config 2023-12-01

Bicep resource definition

The sites/slots/config resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.Web/sites/slots/config resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.Web/sites/slots/config@2023-12-01' = {
  name: 'string'
  // For remaining properties, see microsoft.web/sites/slots/config objects
}

microsoft.web/sites/slots/config objects

Set the name property to specify the type of object.

For appsettings, use:

{
  kind: 'string'
  name: 'appsettings'
  properties: {
    {customized property}: 'string'
  }
}

For authsettings, use:

{
  kind: 'string'
  name: 'authsettings'
  properties: {
    aadClaimsAuthorization: 'string'
    additionalLoginParams: [
      'string'
    ]
    allowedAudiences: [
      'string'
    ]
    allowedExternalRedirectUrls: [
      'string'
    ]
    authFilePath: 'string'
    clientId: 'string'
    clientSecret: 'string'
    clientSecretCertificateThumbprint: 'string'
    clientSecretSettingName: 'string'
    configVersion: 'string'
    defaultProvider: 'string'
    enabled: bool
    facebookAppId: 'string'
    facebookAppSecret: 'string'
    facebookAppSecretSettingName: 'string'
    facebookOAuthScopes: [
      'string'
    ]
    gitHubClientId: 'string'
    gitHubClientSecret: 'string'
    gitHubClientSecretSettingName: 'string'
    gitHubOAuthScopes: [
      'string'
    ]
    googleClientId: 'string'
    googleClientSecret: 'string'
    googleClientSecretSettingName: 'string'
    googleOAuthScopes: [
      'string'
    ]
    isAuthFromFile: 'string'
    issuer: 'string'
    microsoftAccountClientId: 'string'
    microsoftAccountClientSecret: 'string'
    microsoftAccountClientSecretSettingName: 'string'
    microsoftAccountOAuthScopes: [
      'string'
    ]
    runtimeVersion: 'string'
    tokenRefreshExtensionHours: int
    tokenStoreEnabled: bool
    twitterConsumerKey: 'string'
    twitterConsumerSecret: 'string'
    twitterConsumerSecretSettingName: 'string'
    unauthenticatedClientAction: 'string'
    validateIssuer: bool
  }
}

For authsettingsV2, use:

{
  kind: 'string'
  name: 'authsettingsV2'
  properties: {
    globalValidation: {
      excludedPaths: [
        'string'
      ]
      redirectToProvider: 'string'
      requireAuthentication: bool
      unauthenticatedClientAction: 'string'
    }
    httpSettings: {
      forwardProxy: {
        convention: 'string'
        customHostHeaderName: 'string'
        customProtoHeaderName: 'string'
      }
      requireHttps: bool
      routes: {
        apiPrefix: 'string'
      }
    }
    identityProviders: {
      apple: {
        enabled: bool
        login: {
          scopes: [
            'string'
          ]
        }
        registration: {
          clientId: 'string'
          clientSecretSettingName: 'string'
        }
      }
      azureActiveDirectory: {
        enabled: bool
        isAutoProvisioned: bool
        login: {
          disableWWWAuthenticate: bool
          loginParameters: [
            'string'
          ]
        }
        registration: {
          clientId: 'string'
          clientSecretCertificateIssuer: 'string'
          clientSecretCertificateSubjectAlternativeName: 'string'
          clientSecretCertificateThumbprint: 'string'
          clientSecretSettingName: 'string'
          openIdIssuer: 'string'
        }
        validation: {
          allowedAudiences: [
            'string'
          ]
          defaultAuthorizationPolicy: {
            allowedApplications: [
              'string'
            ]
            allowedPrincipals: {
              groups: [
                'string'
              ]
              identities: [
                'string'
              ]
            }
          }
          jwtClaimChecks: {
            allowedClientApplications: [
              'string'
            ]
            allowedGroups: [
              'string'
            ]
          }
        }
      }
      azureStaticWebApps: {
        enabled: bool
        registration: {
          clientId: 'string'
        }
      }
      customOpenIdConnectProviders: {
        {customized property}: {
          enabled: bool
          login: {
            nameClaimType: 'string'
            scopes: [
              'string'
            ]
          }
          registration: {
            clientCredential: {
              clientSecretSettingName: 'string'
              method: 'ClientSecretPost'
            }
            clientId: 'string'
            openIdConnectConfiguration: {
              authorizationEndpoint: 'string'
              certificationUri: 'string'
              issuer: 'string'
              tokenEndpoint: 'string'
              wellKnownOpenIdConfiguration: 'string'
            }
          }
        }
      }
      facebook: {
        enabled: bool
        graphApiVersion: 'string'
        login: {
          scopes: [
            'string'
          ]
        }
        registration: {
          appId: 'string'
          appSecretSettingName: 'string'
        }
      }
      gitHub: {
        enabled: bool
        login: {
          scopes: [
            'string'
          ]
        }
        registration: {
          clientId: 'string'
          clientSecretSettingName: 'string'
        }
      }
      google: {
        enabled: bool
        login: {
          scopes: [
            'string'
          ]
        }
        registration: {
          clientId: 'string'
          clientSecretSettingName: 'string'
        }
        validation: {
          allowedAudiences: [
            'string'
          ]
        }
      }
      legacyMicrosoftAccount: {
        enabled: bool
        login: {
          scopes: [
            'string'
          ]
        }
        registration: {
          clientId: 'string'
          clientSecretSettingName: 'string'
        }
        validation: {
          allowedAudiences: [
            'string'
          ]
        }
      }
      twitter: {
        enabled: bool
        registration: {
          consumerKey: 'string'
          consumerSecretSettingName: 'string'
        }
      }
    }
    login: {
      allowedExternalRedirectUrls: [
        'string'
      ]
      cookieExpiration: {
        convention: 'string'
        timeToExpiration: 'string'
      }
      nonce: {
        nonceExpirationInterval: 'string'
        validateNonce: bool
      }
      preserveUrlFragmentsForLogins: bool
      routes: {
        logoutEndpoint: 'string'
      }
      tokenStore: {
        azureBlobStorage: {
          sasUrlSettingName: 'string'
        }
        enabled: bool
        fileSystem: {
          directory: 'string'
        }
        tokenRefreshExtensionHours: int
      }
    }
    platform: {
      configFilePath: 'string'
      enabled: bool
      runtimeVersion: 'string'
    }
  }
}

For azurestorageaccounts, use:

{
  kind: 'string'
  name: 'azurestorageaccounts'
  properties: {
    {customized property}: {
      accessKey: 'string'
      accountName: 'string'
      mountPath: 'string'
      protocol: 'string'
      shareName: 'string'
      type: 'string'
    }
  }
}

For backup, use:

{
  kind: 'string'
  name: 'backup'
  properties: {
    backupName: 'string'
    backupSchedule: {
      frequencyInterval: int
      frequencyUnit: 'string'
      keepAtLeastOneBackup: bool
      retentionPeriodInDays: int
      startTime: 'string'
    }
    databases: [
      {
        connectionString: 'string'
        connectionStringName: 'string'
        databaseType: 'string'
        name: 'string'
      }
    ]
    enabled: bool
    storageAccountUrl: 'string'
  }
}

For connectionstrings, use:

{
  kind: 'string'
  name: 'connectionstrings'
  properties: {
    {customized property}: {
      type: 'string'
      value: 'string'
    }
  }
}

For logs, use:

{
  kind: 'string'
  name: 'logs'
  properties: {
    applicationLogs: {
      azureBlobStorage: {
        level: 'string'
        retentionInDays: int
        sasUrl: 'string'
      }
      azureTableStorage: {
        level: 'string'
        sasUrl: 'string'
      }
      fileSystem: {
        level: 'string'
      }
    }
    detailedErrorMessages: {
      enabled: bool
    }
    failedRequestsTracing: {
      enabled: bool
    }
    httpLogs: {
      azureBlobStorage: {
        enabled: bool
        retentionInDays: int
        sasUrl: 'string'
      }
      fileSystem: {
        enabled: bool
        retentionInDays: int
        retentionInMb: int
      }
    }
  }
}

For metadata, use:

{
  kind: 'string'
  name: 'metadata'
  properties: {
    {customized property}: 'string'
  }
}

For pushsettings, use:

{
  kind: 'string'
  name: 'pushsettings'
  properties: {
    dynamicTagsJson: 'string'
    isPushEnabled: bool
    tagsRequiringAuth: 'string'
    tagWhitelistJson: 'string'
  }
}

For web, use:

{
  kind: 'string'
  name: 'web'
  properties: {
    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
    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
  }
}

Property values

AllowedAudiencesValidation

Name Description Value
allowedAudiences The configuration settings of the allowed list of audiences from which to validate the JWT token. string[]

AllowedPrincipals

Name Description Value
groups The list of the allowed groups. string[]
identities The list of the allowed identities. string[]

ApiDefinitionInfo

Name Description Value
url The URL of the API definition. string

ApiManagementConfig

Name Description Value
id APIM-Api Identifier. string

Apple

Name Description Value
enabled <code>false</code> if the Apple provider should not be enabled despite the set registration; otherwise, <code>true</code>. bool
login The configuration settings of the login flow. LoginScopes
registration The configuration settings of the Apple registration. AppleRegistration

AppleRegistration

Name Description Value
clientId The Client ID of the app used for login. string
clientSecretSettingName The app setting name that contains the client secret. string

ApplicationLogsConfig

Name Description Value
azureBlobStorage Application logs to blob storage configuration. AzureBlobStorageApplicationLogsConfig
azureTableStorage Application logs to azure table storage configuration. AzureTableStorageApplicationLogsConfig
fileSystem Application logs to file system configuration. FileSystemApplicationLogsConfig

AppRegistration

Name Description Value
appId The App ID of the app used for login. string
appSecretSettingName The app setting name that contains the app secret. string

AuthPlatform

Name Description Value
configFilePath The path of the config file containing auth settings if they come from a file.
If the path is relative, base will the site's root directory.
string
enabled <code>true</code> if the Authentication / Authorization feature is enabled for the current app; otherwise, <code>false</code>. bool
runtimeVersion The RuntimeVersion of the Authentication / Authorization feature in use for the current app.
The setting in this value can control the behavior of certain features in the Authentication / Authorization module.
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[]

AzureActiveDirectory

Name Description Value
enabled <code>false</code> if the Azure Active Directory provider should not be enabled despite the set registration; otherwise, <code>true</code>. bool
isAutoProvisioned Gets a value indicating whether the Azure AD configuration was auto-provisioned using 1st party tooling.
This is an internal flag primarily intended to support the Azure Management Portal. Users should not
read or write to this property.
bool
login The configuration settings of the Azure Active Directory login flow. AzureActiveDirectoryLogin
registration The configuration settings of the Azure Active Directory app registration. AzureActiveDirectoryRegistration
validation The configuration settings of the Azure Active Directory token validation flow. AzureActiveDirectoryValidation

AzureActiveDirectoryLogin

Name Description Value
disableWWWAuthenticate <code>true</code> if the www-authenticate provider should be omitted from the request; otherwise, <code>false</code>. bool
loginParameters Login parameters to send to the OpenID Connect authorization endpoint when
a user logs in. Each parameter must be in the form "key=value".
string[]

AzureActiveDirectoryRegistration

Name Description Value
clientId The Client ID of this relying party application, known as the client_id.
This setting is required for enabling OpenID Connection authentication with Azure Active Directory or
other 3rd party OpenID Connect providers.
More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html
string
clientSecretCertificateIssuer An alternative to the client secret thumbprint, that is the issuer of a certificate used for signing purposes. This property acts as
a replacement for the Client Secret Certificate Thumbprint. It is also optional.
string
clientSecretCertificateSubjectAlternativeName An alternative to the client secret thumbprint, that is the subject alternative name of a certificate used for signing purposes. This property acts as
a replacement for the Client Secret Certificate Thumbprint. It is also optional.
string
clientSecretCertificateThumbprint An alternative to the client secret, that is the thumbprint of a certificate used for signing purposes. This property acts as
a replacement for the Client Secret. It is also optional.
string
clientSecretSettingName The app setting name that contains the client secret of the relying party application. string
openIdIssuer The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.
When using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://login.microsoftonline.com/v2.0/{tenant-guid}/.
This URI is a case-sensitive identifier for the token issuer.
More information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html
string

AzureActiveDirectoryValidation

Name Description Value
allowedAudiences The list of audiences that can make successful authentication/authorization requests. string[]
defaultAuthorizationPolicy The configuration settings of the default authorization policy. DefaultAuthorizationPolicy
jwtClaimChecks The configuration settings of the checks that should be made while validating the JWT Claims. JwtClaimChecks

AzureBlobStorageApplicationLogsConfig

Name Description Value
level Log level. 'Error'
'Information'
'Off'
'Verbose'
'Warning'
retentionInDays Retention in days.
Remove blobs older than X days.
0 or lower means no retention.
int
sasUrl SAS url to a azure blob container with read/write/list/delete permissions. string

AzureBlobStorageHttpLogsConfig

Name Description Value
enabled True if configuration is enabled, false if it is disabled and null if configuration is not set. bool
retentionInDays Retention in days.
Remove blobs older than X days.
0 or lower means no retention.
int
sasUrl SAS url to a azure blob container with read/write/list/delete permissions. string

AzureStaticWebApps

Name Description Value
enabled <code>false</code> if the Azure Static Web Apps provider should not be enabled despite the set registration; otherwise, <code>true</code>. bool
registration The configuration settings of the Azure Static Web Apps registration. AzureStaticWebAppsRegistration

AzureStaticWebAppsRegistration

Name Description Value
clientId The Client ID of the app used for login. string

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'

AzureStoragePropertyDictionaryResourceProperties

Name Description Value

AzureTableStorageApplicationLogsConfig

Name Description Value
level Log level. 'Error'
'Information'
'Off'
'Verbose'
'Warning'
sasUrl SAS URL to an Azure table with add/query/delete permissions. string (required)

BackupRequestProperties

Name Description Value
backupName Name of the backup. string
backupSchedule Schedule for the backup if it is executed periodically. BackupSchedule
databases Databases included in the backup. DatabaseBackupSetting[]
enabled True if the backup schedule is enabled (must be included in that case), false if the backup schedule should be disabled. bool
storageAccountUrl SAS URL to the container. string (required)

BackupSchedule

Name Description Value
frequencyInterval How often the backup should be executed (e.g. for weekly backup, this should be set to 7 and FrequencyUnit should be set to Day) int (required)
frequencyUnit The unit of time for how often the backup should be executed (e.g. for weekly backup, this should be set to Day and FrequencyInterval should be set to 7) 'Day'
'Hour' (required)
keepAtLeastOneBackup True if the retention policy should always keep at least one backup in the storage account, regardless how old it is; false otherwise. bool (required)
retentionPeriodInDays After how many days backups should be deleted. int (required)
startTime When the schedule should start working. string

BlobStorageTokenStore

Name Description Value
sasUrlSettingName The name of the app setting containing the SAS URL of the blob storage containing the tokens. string

ClientRegistration

Name Description Value
clientId The Client ID of the app used for login. string
clientSecretSettingName The app setting name that contains the client secret. string

ConnectionStringDictionaryProperties

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'

ConnStringValueTypePair

Name Description Value
type Type of database. 'ApiHub'
'Custom'
'DocDb'
'EventHub'
'MySql'
'NotificationHub'
'PostgreSQL'
'RedisCache'
'ServiceBus'
'SQLAzure'
'SQLServer' (required)
value Value of pair. string (required)

CookieExpiration

Name Description Value
convention The convention used when determining the session cookie's expiration. 'FixedTime'
'IdentityProviderDerived'
timeToExpiration The time after the request is made when the session cookie should expire. string

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

CustomOpenIdConnectProvider

Name Description Value
enabled <code>false</code> if the custom Open ID provider provider should not be enabled; otherwise, <code>true</code>. bool
login The configuration settings of the login flow of the custom Open ID Connect provider. OpenIdConnectLogin
registration The configuration settings of the app registration for the custom Open ID Connect provider. OpenIdConnectRegistration

DatabaseBackupSetting

Name Description Value
connectionString Contains a connection string to a database which is being backed up or restored. If the restore should happen to a new database, the database name inside is the new one. string
connectionStringName Contains a connection string name that is linked to the SiteConfig.ConnectionStrings.
This is used during restore with overwrite connection strings options.
string
databaseType Database type (e.g. SqlAzure / MySql). 'LocalMySql'
'MySql'
'PostgreSql'
'SqlAzure' (required)
name string

DefaultAuthorizationPolicy

Name Description Value
allowedApplications The configuration settings of the Azure Active Directory allowed applications. string[]
allowedPrincipals The configuration settings of the Azure Active Directory allowed principals. AllowedPrincipals

EnabledConfig

Name Description Value
enabled True if configuration is enabled, false if it is disabled and null if configuration is not set. bool

Experiments

Name Description Value
rampUpRules List of ramp-up rules. RampUpRule[]

Facebook

Name Description Value
enabled <code>false</code> if the Facebook provider should not be enabled despite the set registration; otherwise, <code>true</code>. bool
graphApiVersion The version of the Facebook api to be used while logging in. string
login The configuration settings of the login flow. LoginScopes
registration The configuration settings of the app registration for the Facebook provider. AppRegistration

FileSystemApplicationLogsConfig

Name Description Value
level Log level. 'Error'
'Information'
'Off'
'Verbose'
'Warning'

FileSystemHttpLogsConfig

Name Description Value
enabled True if configuration is enabled, false if it is disabled and null if configuration is not set. bool
retentionInDays Retention in days.
Remove files older than X days.
0 or lower means no retention.
int
retentionInMb Maximum size in megabytes that http log files can use.
When reached old log files will be removed to make space for new ones.
Value can range between 25 and 100.
int

Constraints:
Min value = 25
Max value = 100

FileSystemTokenStore

Name Description Value
directory The directory in which the tokens will be stored. string

ForwardProxy

Name Description Value
convention The convention used to determine the url of the request made. 'Custom'
'NoProxy'
'Standard'
customHostHeaderName The name of the header containing the host of the request. string
customProtoHeaderName The name of the header containing the scheme of the request. string

GitHub

Name Description Value
enabled <code>false</code> if the GitHub provider should not be enabled despite the set registration; otherwise, <code>true</code>. bool
login The configuration settings of the login flow. LoginScopes
registration The configuration settings of the app registration for the GitHub provider. ClientRegistration

GlobalValidation

Name Description Value
excludedPaths The paths for which unauthenticated flow would not be redirected to the login page. string[]
redirectToProvider The default authentication provider to use when multiple providers are configured.
This setting is only needed if multiple providers are configured and the unauthenticated client
action is set to "RedirectToLoginPage".
string
requireAuthentication <code>true</code> if the authentication flow is required any request is made; otherwise, <code>false</code>. bool
unauthenticatedClientAction The action to take when an unauthenticated client attempts to access the app. 'AllowAnonymous'
'RedirectToLoginPage'
'Return401'
'Return403'

Google

Name Description Value
enabled <code>false</code> if the Google provider should not be enabled despite the set registration; otherwise, <code>true</code>. bool
login The configuration settings of the login flow. LoginScopes
registration The configuration settings of the app registration for the Google provider. ClientRegistration
validation The configuration settings of the Azure Active Directory token validation flow. AllowedAudiencesValidation

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

HttpLogsConfig

Name Description Value
azureBlobStorage Http logs to azure blob storage configuration. AzureBlobStorageHttpLogsConfig
fileSystem Http logs to file system configuration. FileSystemHttpLogsConfig

HttpSettings

Name Description Value
forwardProxy The configuration settings of a forward proxy used to make the requests. ForwardProxy
requireHttps <code>false</code> if the authentication/authorization responses not having the HTTPS scheme are permissible; otherwise, <code>true</code>. bool
routes The configuration settings of the paths HTTP requests. HttpSettingsRoutes

HttpSettingsRoutes

Name Description Value
apiPrefix The prefix that should precede all the authentication/authorization paths. string

IdentityProviders

Name Description Value
apple The configuration settings of the Apple provider. Apple
azureActiveDirectory The configuration settings of the Azure Active directory provider. AzureActiveDirectory
azureStaticWebApps The configuration settings of the Azure Static Web Apps provider. AzureStaticWebApps
customOpenIdConnectProviders The map of the name of the alias of each custom Open ID Connect provider to the
configuration settings of the custom Open ID Connect provider.
IdentityProvidersCustomOpenIdConnectProviders
facebook The configuration settings of the Facebook provider. Facebook
gitHub The configuration settings of the GitHub provider. GitHub
google The configuration settings of the Google provider. Google
legacyMicrosoftAccount The configuration settings of the legacy Microsoft Account provider. LegacyMicrosoftAccount
twitter The configuration settings of the Twitter provider. Twitter

IdentityProvidersCustomOpenIdConnectProviders

Name Description Value

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

JwtClaimChecks

Name Description Value
allowedClientApplications The list of the allowed client applications. string[]
allowedGroups The list of the allowed groups. string[]

LegacyMicrosoftAccount

Name Description Value
enabled <code>false</code> if the legacy Microsoft Account provider should not be enabled despite the set registration; otherwise, <code>true</code>. bool
login The configuration settings of the login flow. LoginScopes
registration The configuration settings of the app registration for the legacy Microsoft Account provider. ClientRegistration
validation The configuration settings of the legacy Microsoft Account provider token validation flow. AllowedAudiencesValidation

Login

Name Description Value
allowedExternalRedirectUrls External URLs that can be redirected to as part of logging in or logging out of the app. Note that the query string part of the URL is ignored.
This is an advanced setting typically only needed by Windows Store application backends.
Note that URLs within the current domain are always implicitly allowed.
string[]
cookieExpiration The configuration settings of the session cookie's expiration. CookieExpiration
nonce The configuration settings of the nonce used in the login flow. Nonce
preserveUrlFragmentsForLogins <code>true</code> if the fragments from the request are preserved after the login request is made; otherwise, <code>false</code>. bool
routes The routes that specify the endpoints used for login and logout requests. LoginRoutes
tokenStore The configuration settings of the token store. TokenStore

LoginRoutes

Name Description Value
logoutEndpoint The endpoint at which a logout request should be made. string

LoginScopes

Name Description Value
scopes A list of the scopes that should be requested while authenticating. string[]

microsoft.web/sites/slots/config

Name Description Value
name Set to 'appsettings' for type Microsoft.Web/sites/slots/config. Set to 'authsettings' for type Microsoft.Web/sites/slots/config. Set to 'authsettingsV2' for type Microsoft.Web/sites/slots/config. Set to 'azurestorageaccounts' for type Microsoft.Web/sites/slots/config. Set to 'backup' for type Microsoft.Web/sites/slots/config. Set to 'connectionstrings' for type Microsoft.Web/sites/slots/config. Set to 'logs' for type Microsoft.Web/sites/slots/config. Set to 'metadata' for type Microsoft.Web/sites/slots/config. Set to 'pushsettings' for type Microsoft.Web/sites/slots/config. Set to 'web' for type Microsoft.Web/sites/slots/config. 'appsettings'
'authsettings'
'authsettingsV2'
'azurestorageaccounts'
'backup'
'connectionstrings'
'logs'
'metadata'
'pushsettings'
'web' (required)

Microsoft.Web/sites/slots/config

Name Description Value
kind Kind of resource. string
name The resource name 'appsettings' (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/slots
properties Settings. StringDictionaryProperties

Microsoft.Web/sites/slots/config

Name Description Value
kind Kind of resource. string
name The resource name 'authsettings' (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/slots
properties SiteAuthSettings resource specific properties SiteAuthSettingsProperties

Microsoft.Web/sites/slots/config

Name Description Value
kind Kind of resource. string
name The resource name 'authsettingsV2' (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/slots
properties SiteAuthSettingsV2 resource specific properties SiteAuthSettingsV2Properties

Microsoft.Web/sites/slots/config

Name Description Value
kind Kind of resource. string
name The resource name 'azurestorageaccounts' (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/slots
properties Azure storage accounts. AzureStoragePropertyDictionaryResourceProperties

Microsoft.Web/sites/slots/config

Name Description Value
kind Kind of resource. string
name The resource name 'backup' (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/slots
properties BackupRequest resource specific properties BackupRequestProperties

Microsoft.Web/sites/slots/config

Name Description Value
kind Kind of resource. string
name The resource name 'connectionstrings' (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/slots
properties Connection strings. ConnectionStringDictionaryProperties

Microsoft.Web/sites/slots/config

Name Description Value
kind Kind of resource. string
name The resource name 'logs' (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/slots
properties SiteLogsConfig resource specific properties SiteLogsConfigProperties

Microsoft.Web/sites/slots/config

Name Description Value
kind Kind of resource. string
name The resource name 'metadata' (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/slots
properties Settings. StringDictionaryProperties

Microsoft.Web/sites/slots/config

Name Description Value
kind Kind of resource. string
name The resource name 'pushsettings' (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/slots
properties PushSettings resource specific properties PushSettingsProperties

Microsoft.Web/sites/slots/config

Name Description Value
kind Kind of resource. string
name The resource name 'web' (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/slots
properties Core resource properties SiteConfig

NameValuePair

Name Description Value
name Pair name. string
value Pair value. string

Nonce

Name Description Value
nonceExpirationInterval The time after the request is made when the nonce should expire. string
validateNonce <code>false</code> if the nonce should not be validated while completing the login flow; otherwise, <code>true</code>. bool

OpenIdConnectClientCredential

Name Description Value
clientSecretSettingName The app setting that contains the client secret for the custom Open ID Connect provider. string
method The method that should be used to authenticate the user. 'ClientSecretPost'

OpenIdConnectConfig

Name Description Value
authorizationEndpoint The endpoint to be used to make an authorization request. string
certificationUri The endpoint that provides the keys necessary to validate the token. string
issuer The endpoint that issues the token. string
tokenEndpoint The endpoint to be used to request a token. string
wellKnownOpenIdConfiguration The endpoint that contains all the configuration endpoints for the provider. string

OpenIdConnectLogin

Name Description Value
nameClaimType The name of the claim that contains the users name. string
scopes A list of the scopes that should be requested while authenticating. string[]

OpenIdConnectRegistration

Name Description Value
clientCredential The authentication credentials of the custom Open ID Connect provider. OpenIdConnectClientCredential
clientId The client id of the custom Open ID Connect provider. string
openIdConnectConfiguration The configuration settings of the endpoints used for the custom Open ID Connect provider. OpenIdConnectConfig

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. See TiPCallback site extension for the scaffold and contracts.
https://www.siteextensions.net/packages/TiPCallback/
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

SiteAuthSettingsProperties

Name Description Value
aadClaimsAuthorization Gets a JSON string containing the Azure AD Acl settings. string
additionalLoginParams Login parameters to send to the OpenID Connect authorization endpoint when
a user logs in. Each parameter must be in the form "key=value".
string[]
allowedAudiences Allowed audience values to consider when validating JSON Web Tokens issued by
Azure Active Directory. Note that the <code>ClientID</code> value is always considered an
allowed audience, regardless of this setting.
string[]
allowedExternalRedirectUrls External URLs that can be redirected to as part of logging in or logging out of the app. Note that the query string part of the URL is ignored.
This is an advanced setting typically only needed by Windows Store application backends.
Note that URLs within the current domain are always implicitly allowed.
string[]
authFilePath The path of the config file containing auth settings.
If the path is relative, base will the site's root directory.
string
clientId The Client ID of this relying party application, known as the client_id.
This setting is required for enabling OpenID Connection authentication with Azure Active Directory or
other 3rd party OpenID Connect providers.
More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html
string
clientSecret The Client Secret of this relying party application (in Azure Active Directory, this is also referred to as the Key).
This setting is optional. If no client secret is configured, the OpenID Connect implicit auth flow is used to authenticate end users.
Otherwise, the OpenID Connect Authorization Code Flow is used to authenticate end users.
More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html
string
clientSecretCertificateThumbprint An alternative to the client secret, that is the thumbprint of a certificate used for signing purposes. This property acts as
a replacement for the Client Secret. It is also optional.
string
clientSecretSettingName The app setting name that contains the client secret of the relying party application. string
configVersion The ConfigVersion of the Authentication / Authorization feature in use for the current app.
The setting in this value can control the behavior of the control plane for Authentication / Authorization.
string
defaultProvider The default authentication provider to use when multiple providers are configured.
This setting is only needed if multiple providers are configured and the unauthenticated client
action is set to "RedirectToLoginPage".
'AzureActiveDirectory'
'Facebook'
'Github'
'Google'
'MicrosoftAccount'
'Twitter'
enabled <code>true</code> if the Authentication / Authorization feature is enabled for the current app; otherwise, <code>false</code>. bool
facebookAppId The App ID of the Facebook app used for login.
This setting is required for enabling Facebook Login.
Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
string
facebookAppSecret The App Secret of the Facebook app used for Facebook Login.
This setting is required for enabling Facebook Login.
Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
string
facebookAppSecretSettingName The app setting name that contains the app secret used for Facebook Login. string
facebookOAuthScopes The OAuth 2.0 scopes that will be requested as part of Facebook Login authentication.
This setting is optional.
Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
string[]
gitHubClientId The Client Id of the GitHub app used for login.
This setting is required for enabling Github login
string
gitHubClientSecret The Client Secret of the GitHub app used for Github Login.
This setting is required for enabling Github login.
string
gitHubClientSecretSettingName The app setting name that contains the client secret of the Github
app used for GitHub Login.
string
gitHubOAuthScopes The OAuth 2.0 scopes that will be requested as part of GitHub Login authentication.
This setting is optional
string[]
googleClientId The OpenID Connect Client ID for the Google web application.
This setting is required for enabling Google Sign-In.
Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
string
googleClientSecret The client secret associated with the Google web application.
This setting is required for enabling Google Sign-In.
Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
string
googleClientSecretSettingName The app setting name that contains the client secret associated with
the Google web application.
string
googleOAuthScopes The OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication.
This setting is optional. If not specified, "openid", "profile", and "email" are used as default scopes.
Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
string[]
isAuthFromFile "true" if the auth config settings should be read from a file,
"false" otherwise
string
issuer The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.
When using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://sts.windows.net/{tenant-guid}/.
This URI is a case-sensitive identifier for the token issuer.
More information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html
string
microsoftAccountClientId The OAuth 2.0 client ID that was created for the app used for authentication.
This setting is required for enabling Microsoft Account authentication.
Microsoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm
string
microsoftAccountClientSecret The OAuth 2.0 client secret that was created for the app used for authentication.
This setting is required for enabling Microsoft Account authentication.
Microsoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm
string
microsoftAccountClientSecretSettingName The app setting name containing the OAuth 2.0 client secret that was created for the
app used for authentication.
string
microsoftAccountOAuthScopes The OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication.
This setting is optional. If not specified, "wl.basic" is used as the default scope.
Microsoft Account Scopes and permissions documentation: https://msdn.microsoft.com/en-us/library/dn631845.aspx
string[]
runtimeVersion The RuntimeVersion of the Authentication / Authorization feature in use for the current app.
The setting in this value can control the behavior of certain features in the Authentication / Authorization module.
string
tokenRefreshExtensionHours The number of hours after session token expiration that a session token can be used to
call the token refresh API. The default is 72 hours.
int
tokenStoreEnabled <code>true</code> to durably store platform-specific security tokens that are obtained during login flows; otherwise, <code>false</code>.
The default is <code>false</code>.
bool
twitterConsumerKey The OAuth 1.0a consumer key of the Twitter application used for sign-in.
This setting is required for enabling Twitter Sign-In.
Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in
string
twitterConsumerSecret The OAuth 1.0a consumer secret of the Twitter application used for sign-in.
This setting is required for enabling Twitter Sign-In.
Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in
string
twitterConsumerSecretSettingName The app setting name that contains the OAuth 1.0a consumer secret of the Twitter
application used for sign-in.
string
unauthenticatedClientAction The action to take when an unauthenticated client attempts to access the app. 'AllowAnonymous'
'RedirectToLoginPage'
validateIssuer Gets a value indicating whether the issuer should be a valid HTTPS url and be validated as such. bool

SiteAuthSettingsV2Properties

Name Description Value
globalValidation The configuration settings that determines the validation flow of users using App Service Authentication/Authorization. GlobalValidation
httpSettings The configuration settings of the HTTP requests for authentication and authorization requests made against App Service Authentication/Authorization. HttpSettings
identityProviders The configuration settings of each of the identity providers used to configure App Service Authentication/Authorization. IdentityProviders
login The configuration settings of the login flow of users using App Service Authentication/Authorization. Login
platform The configuration settings of the platform of App Service Authentication/Authorization. AuthPlatform

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. 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. 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
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'
'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

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

SiteLogsConfigProperties

Name Description Value
applicationLogs Application logs configuration. ApplicationLogsConfig
detailedErrorMessages Detailed error messages configuration. EnabledConfig
failedRequestsTracing Failed requests tracing configuration. EnabledConfig
httpLogs HTTP logs configuration. HttpLogsConfig

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

StringDictionaryProperties

Name Description Value

StringDictionaryProperties

Name Description Value

TokenStore

Name Description Value
azureBlobStorage The configuration settings of the storage of the tokens if blob storage is used. BlobStorageTokenStore
enabled <code>true</code> to durably store platform-specific security tokens that are obtained during login flows; otherwise, <code>false</code>.
The default is <code>false</code>.
bool
fileSystem The configuration settings of the storage of the tokens if a file system is used. FileSystemTokenStore
tokenRefreshExtensionHours The number of hours after session token expiration that a session token can be used to
call the token refresh API. The default is 72 hours.
int

Twitter

Name Description Value
enabled <code>false</code> if the Twitter provider should not be enabled despite the set registration; otherwise, <code>true</code>. bool
registration The configuration settings of the app registration for the Twitter provider. TwitterRegistration

TwitterRegistration

Name Description Value
consumerKey The OAuth 1.0a consumer key of the Twitter application used for sign-in.
This setting is required for enabling Twitter Sign-In.
Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in
string
consumerSecretSettingName The app setting name that contains the OAuth 1.0a consumer secret of the Twitter
application used for sign-in.
string

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

ARM template resource definition

The sites/slots/config resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.Web/sites/slots/config resource, add the following JSON to your template.

{
  "name": "string"
  // For remaining properties, see microsoft.web/sites/slots/config objects
}

microsoft.web/sites/slots/config objects

Set the name property to specify the type of object.

For appsettings, use:

{
  "kind": "string",
  "name": "appsettings",
  "properties": {
    "{customized property}": "string"
  }
}

For authsettings, use:

{
  "kind": "string",
  "name": "authsettings",
  "properties": {
    "aadClaimsAuthorization": "string",
    "additionalLoginParams": [ "string" ],
    "allowedAudiences": [ "string" ],
    "allowedExternalRedirectUrls": [ "string" ],
    "authFilePath": "string",
    "clientId": "string",
    "clientSecret": "string",
    "clientSecretCertificateThumbprint": "string",
    "clientSecretSettingName": "string",
    "configVersion": "string",
    "defaultProvider": "string",
    "enabled": "bool",
    "facebookAppId": "string",
    "facebookAppSecret": "string",
    "facebookAppSecretSettingName": "string",
    "facebookOAuthScopes": [ "string" ],
    "gitHubClientId": "string",
    "gitHubClientSecret": "string",
    "gitHubClientSecretSettingName": "string",
    "gitHubOAuthScopes": [ "string" ],
    "googleClientId": "string",
    "googleClientSecret": "string",
    "googleClientSecretSettingName": "string",
    "googleOAuthScopes": [ "string" ],
    "isAuthFromFile": "string",
    "issuer": "string",
    "microsoftAccountClientId": "string",
    "microsoftAccountClientSecret": "string",
    "microsoftAccountClientSecretSettingName": "string",
    "microsoftAccountOAuthScopes": [ "string" ],
    "runtimeVersion": "string",
    "tokenRefreshExtensionHours": "int",
    "tokenStoreEnabled": "bool",
    "twitterConsumerKey": "string",
    "twitterConsumerSecret": "string",
    "twitterConsumerSecretSettingName": "string",
    "unauthenticatedClientAction": "string",
    "validateIssuer": "bool"
  }
}

For authsettingsV2, use:

{
  "kind": "string",
  "name": "authsettingsV2",
  "properties": {
    "globalValidation": {
      "excludedPaths": [ "string" ],
      "redirectToProvider": "string",
      "requireAuthentication": "bool",
      "unauthenticatedClientAction": "string"
    },
    "httpSettings": {
      "forwardProxy": {
        "convention": "string",
        "customHostHeaderName": "string",
        "customProtoHeaderName": "string"
      },
      "requireHttps": "bool",
      "routes": {
        "apiPrefix": "string"
      }
    },
    "identityProviders": {
      "apple": {
        "enabled": "bool",
        "login": {
          "scopes": [ "string" ]
        },
        "registration": {
          "clientId": "string",
          "clientSecretSettingName": "string"
        }
      },
      "azureActiveDirectory": {
        "enabled": "bool",
        "isAutoProvisioned": "bool",
        "login": {
          "disableWWWAuthenticate": "bool",
          "loginParameters": [ "string" ]
        },
        "registration": {
          "clientId": "string",
          "clientSecretCertificateIssuer": "string",
          "clientSecretCertificateSubjectAlternativeName": "string",
          "clientSecretCertificateThumbprint": "string",
          "clientSecretSettingName": "string",
          "openIdIssuer": "string"
        },
        "validation": {
          "allowedAudiences": [ "string" ],
          "defaultAuthorizationPolicy": {
            "allowedApplications": [ "string" ],
            "allowedPrincipals": {
              "groups": [ "string" ],
              "identities": [ "string" ]
            }
          },
          "jwtClaimChecks": {
            "allowedClientApplications": [ "string" ],
            "allowedGroups": [ "string" ]
          }
        }
      },
      "azureStaticWebApps": {
        "enabled": "bool",
        "registration": {
          "clientId": "string"
        }
      },
      "customOpenIdConnectProviders": {
        "{customized property}": {
          "enabled": "bool",
          "login": {
            "nameClaimType": "string",
            "scopes": [ "string" ]
          },
          "registration": {
            "clientCredential": {
              "clientSecretSettingName": "string",
              "method": "ClientSecretPost"
            },
            "clientId": "string",
            "openIdConnectConfiguration": {
              "authorizationEndpoint": "string",
              "certificationUri": "string",
              "issuer": "string",
              "tokenEndpoint": "string",
              "wellKnownOpenIdConfiguration": "string"
            }
          }
        }
      },
      "facebook": {
        "enabled": "bool",
        "graphApiVersion": "string",
        "login": {
          "scopes": [ "string" ]
        },
        "registration": {
          "appId": "string",
          "appSecretSettingName": "string"
        }
      },
      "gitHub": {
        "enabled": "bool",
        "login": {
          "scopes": [ "string" ]
        },
        "registration": {
          "clientId": "string",
          "clientSecretSettingName": "string"
        }
      },
      "google": {
        "enabled": "bool",
        "login": {
          "scopes": [ "string" ]
        },
        "registration": {
          "clientId": "string",
          "clientSecretSettingName": "string"
        },
        "validation": {
          "allowedAudiences": [ "string" ]
        }
      },
      "legacyMicrosoftAccount": {
        "enabled": "bool",
        "login": {
          "scopes": [ "string" ]
        },
        "registration": {
          "clientId": "string",
          "clientSecretSettingName": "string"
        },
        "validation": {
          "allowedAudiences": [ "string" ]
        }
      },
      "twitter": {
        "enabled": "bool",
        "registration": {
          "consumerKey": "string",
          "consumerSecretSettingName": "string"
        }
      }
    },
    "login": {
      "allowedExternalRedirectUrls": [ "string" ],
      "cookieExpiration": {
        "convention": "string",
        "timeToExpiration": "string"
      },
      "nonce": {
        "nonceExpirationInterval": "string",
        "validateNonce": "bool"
      },
      "preserveUrlFragmentsForLogins": "bool",
      "routes": {
        "logoutEndpoint": "string"
      },
      "tokenStore": {
        "azureBlobStorage": {
          "sasUrlSettingName": "string"
        },
        "enabled": "bool",
        "fileSystem": {
          "directory": "string"
        },
        "tokenRefreshExtensionHours": "int"
      }
    },
    "platform": {
      "configFilePath": "string",
      "enabled": "bool",
      "runtimeVersion": "string"
    }
  }
}

For azurestorageaccounts, use:

{
  "kind": "string",
  "name": "azurestorageaccounts",
  "properties": {
    "{customized property}": {
      "accessKey": "string",
      "accountName": "string",
      "mountPath": "string",
      "protocol": "string",
      "shareName": "string",
      "type": "string"
    }
  }
}

For backup, use:

{
  "kind": "string",
  "name": "backup",
  "properties": {
    "backupName": "string",
    "backupSchedule": {
      "frequencyInterval": "int",
      "frequencyUnit": "string",
      "keepAtLeastOneBackup": "bool",
      "retentionPeriodInDays": "int",
      "startTime": "string"
    },
    "databases": [
      {
        "connectionString": "string",
        "connectionStringName": "string",
        "databaseType": "string",
        "name": "string"
      }
    ],
    "enabled": "bool",
    "storageAccountUrl": "string"
  }
}

For connectionstrings, use:

{
  "kind": "string",
  "name": "connectionstrings",
  "properties": {
    "{customized property}": {
      "type": "string",
      "value": "string"
    }
  }
}

For logs, use:

{
  "kind": "string",
  "name": "logs",
  "properties": {
    "applicationLogs": {
      "azureBlobStorage": {
        "level": "string",
        "retentionInDays": "int",
        "sasUrl": "string"
      },
      "azureTableStorage": {
        "level": "string",
        "sasUrl": "string"
      },
      "fileSystem": {
        "level": "string"
      }
    },
    "detailedErrorMessages": {
      "enabled": "bool"
    },
    "failedRequestsTracing": {
      "enabled": "bool"
    },
    "httpLogs": {
      "azureBlobStorage": {
        "enabled": "bool",
        "retentionInDays": "int",
        "sasUrl": "string"
      },
      "fileSystem": {
        "enabled": "bool",
        "retentionInDays": "int",
        "retentionInMb": "int"
      }
    }
  }
}

For metadata, use:

{
  "kind": "string",
  "name": "metadata",
  "properties": {
    "{customized property}": "string"
  }
}

For pushsettings, use:

{
  "kind": "string",
  "name": "pushsettings",
  "properties": {
    "dynamicTagsJson": "string",
    "isPushEnabled": "bool",
    "tagsRequiringAuth": "string",
    "tagWhitelistJson": "string"
  }
}

For web, use:

{
  "kind": "string",
  "name": "web",
  "properties": {
    "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",
    "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"
  }
}

Property values

AllowedAudiencesValidation

Name Description Value
allowedAudiences The configuration settings of the allowed list of audiences from which to validate the JWT token. string[]

AllowedPrincipals

Name Description Value
groups The list of the allowed groups. string[]
identities The list of the allowed identities. string[]

ApiDefinitionInfo

Name Description Value
url The URL of the API definition. string

ApiManagementConfig

Name Description Value
id APIM-Api Identifier. string

Apple

Name Description Value
enabled <code>false</code> if the Apple provider should not be enabled despite the set registration; otherwise, <code>true</code>. bool
login The configuration settings of the login flow. LoginScopes
registration The configuration settings of the Apple registration. AppleRegistration

AppleRegistration

Name Description Value
clientId The Client ID of the app used for login. string
clientSecretSettingName The app setting name that contains the client secret. string

ApplicationLogsConfig

Name Description Value
azureBlobStorage Application logs to blob storage configuration. AzureBlobStorageApplicationLogsConfig
azureTableStorage Application logs to azure table storage configuration. AzureTableStorageApplicationLogsConfig
fileSystem Application logs to file system configuration. FileSystemApplicationLogsConfig

AppRegistration

Name Description Value
appId The App ID of the app used for login. string
appSecretSettingName The app setting name that contains the app secret. string

AuthPlatform

Name Description Value
configFilePath The path of the config file containing auth settings if they come from a file.
If the path is relative, base will the site's root directory.
string
enabled <code>true</code> if the Authentication / Authorization feature is enabled for the current app; otherwise, <code>false</code>. bool
runtimeVersion The RuntimeVersion of the Authentication / Authorization feature in use for the current app.
The setting in this value can control the behavior of certain features in the Authentication / Authorization module.
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[]

AzureActiveDirectory

Name Description Value
enabled <code>false</code> if the Azure Active Directory provider should not be enabled despite the set registration; otherwise, <code>true</code>. bool
isAutoProvisioned Gets a value indicating whether the Azure AD configuration was auto-provisioned using 1st party tooling.
This is an internal flag primarily intended to support the Azure Management Portal. Users should not
read or write to this property.
bool
login The configuration settings of the Azure Active Directory login flow. AzureActiveDirectoryLogin
registration The configuration settings of the Azure Active Directory app registration. AzureActiveDirectoryRegistration
validation The configuration settings of the Azure Active Directory token validation flow. AzureActiveDirectoryValidation

AzureActiveDirectoryLogin

Name Description Value
disableWWWAuthenticate <code>true</code> if the www-authenticate provider should be omitted from the request; otherwise, <code>false</code>. bool
loginParameters Login parameters to send to the OpenID Connect authorization endpoint when
a user logs in. Each parameter must be in the form "key=value".
string[]

AzureActiveDirectoryRegistration

Name Description Value
clientId The Client ID of this relying party application, known as the client_id.
This setting is required for enabling OpenID Connection authentication with Azure Active Directory or
other 3rd party OpenID Connect providers.
More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html
string
clientSecretCertificateIssuer An alternative to the client secret thumbprint, that is the issuer of a certificate used for signing purposes. This property acts as
a replacement for the Client Secret Certificate Thumbprint. It is also optional.
string
clientSecretCertificateSubjectAlternativeName An alternative to the client secret thumbprint, that is the subject alternative name of a certificate used for signing purposes. This property acts as
a replacement for the Client Secret Certificate Thumbprint. It is also optional.
string
clientSecretCertificateThumbprint An alternative to the client secret, that is the thumbprint of a certificate used for signing purposes. This property acts as
a replacement for the Client Secret. It is also optional.
string
clientSecretSettingName The app setting name that contains the client secret of the relying party application. string
openIdIssuer The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.
When using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://login.microsoftonline.com/v2.0/{tenant-guid}/.
This URI is a case-sensitive identifier for the token issuer.
More information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html
string

AzureActiveDirectoryValidation

Name Description Value
allowedAudiences The list of audiences that can make successful authentication/authorization requests. string[]
defaultAuthorizationPolicy The configuration settings of the default authorization policy. DefaultAuthorizationPolicy
jwtClaimChecks The configuration settings of the checks that should be made while validating the JWT Claims. JwtClaimChecks

AzureBlobStorageApplicationLogsConfig

Name Description Value
level Log level. 'Error'
'Information'
'Off'
'Verbose'
'Warning'
retentionInDays Retention in days.
Remove blobs older than X days.
0 or lower means no retention.
int
sasUrl SAS url to a azure blob container with read/write/list/delete permissions. string

AzureBlobStorageHttpLogsConfig

Name Description Value
enabled True if configuration is enabled, false if it is disabled and null if configuration is not set. bool
retentionInDays Retention in days.
Remove blobs older than X days.
0 or lower means no retention.
int
sasUrl SAS url to a azure blob container with read/write/list/delete permissions. string

AzureStaticWebApps

Name Description Value
enabled <code>false</code> if the Azure Static Web Apps provider should not be enabled despite the set registration; otherwise, <code>true</code>. bool
registration The configuration settings of the Azure Static Web Apps registration. AzureStaticWebAppsRegistration

AzureStaticWebAppsRegistration

Name Description Value
clientId The Client ID of the app used for login. string

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'

AzureStoragePropertyDictionaryResourceProperties

Name Description Value

AzureTableStorageApplicationLogsConfig

Name Description Value
level Log level. 'Error'
'Information'
'Off'
'Verbose'
'Warning'
sasUrl SAS URL to an Azure table with add/query/delete permissions. string (required)

BackupRequestProperties

Name Description Value
backupName Name of the backup. string
backupSchedule Schedule for the backup if it is executed periodically. BackupSchedule
databases Databases included in the backup. DatabaseBackupSetting[]
enabled True if the backup schedule is enabled (must be included in that case), false if the backup schedule should be disabled. bool
storageAccountUrl SAS URL to the container. string (required)

BackupSchedule

Name Description Value
frequencyInterval How often the backup should be executed (e.g. for weekly backup, this should be set to 7 and FrequencyUnit should be set to Day) int (required)
frequencyUnit The unit of time for how often the backup should be executed (e.g. for weekly backup, this should be set to Day and FrequencyInterval should be set to 7) 'Day'
'Hour' (required)
keepAtLeastOneBackup True if the retention policy should always keep at least one backup in the storage account, regardless how old it is; false otherwise. bool (required)
retentionPeriodInDays After how many days backups should be deleted. int (required)
startTime When the schedule should start working. string

BlobStorageTokenStore

Name Description Value
sasUrlSettingName The name of the app setting containing the SAS URL of the blob storage containing the tokens. string

ClientRegistration

Name Description Value
clientId The Client ID of the app used for login. string
clientSecretSettingName The app setting name that contains the client secret. string

ConnectionStringDictionaryProperties

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'

ConnStringValueTypePair

Name Description Value
type Type of database. 'ApiHub'
'Custom'
'DocDb'
'EventHub'
'MySql'
'NotificationHub'
'PostgreSQL'
'RedisCache'
'ServiceBus'
'SQLAzure'
'SQLServer' (required)
value Value of pair. string (required)

CookieExpiration

Name Description Value
convention The convention used when determining the session cookie's expiration. 'FixedTime'
'IdentityProviderDerived'
timeToExpiration The time after the request is made when the session cookie should expire. string

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

CustomOpenIdConnectProvider

Name Description Value
enabled <code>false</code> if the custom Open ID provider provider should not be enabled; otherwise, <code>true</code>. bool
login The configuration settings of the login flow of the custom Open ID Connect provider. OpenIdConnectLogin
registration The configuration settings of the app registration for the custom Open ID Connect provider. OpenIdConnectRegistration

DatabaseBackupSetting

Name Description Value
connectionString Contains a connection string to a database which is being backed up or restored. If the restore should happen to a new database, the database name inside is the new one. string
connectionStringName Contains a connection string name that is linked to the SiteConfig.ConnectionStrings.
This is used during restore with overwrite connection strings options.
string
databaseType Database type (e.g. SqlAzure / MySql). 'LocalMySql'
'MySql'
'PostgreSql'
'SqlAzure' (required)
name string

DefaultAuthorizationPolicy

Name Description Value
allowedApplications The configuration settings of the Azure Active Directory allowed applications. string[]
allowedPrincipals The configuration settings of the Azure Active Directory allowed principals. AllowedPrincipals

EnabledConfig

Name Description Value
enabled True if configuration is enabled, false if it is disabled and null if configuration is not set. bool

Experiments

Name Description Value
rampUpRules List of ramp-up rules. RampUpRule[]

Facebook

Name Description Value
enabled <code>false</code> if the Facebook provider should not be enabled despite the set registration; otherwise, <code>true</code>. bool
graphApiVersion The version of the Facebook api to be used while logging in. string
login The configuration settings of the login flow. LoginScopes
registration The configuration settings of the app registration for the Facebook provider. AppRegistration

FileSystemApplicationLogsConfig

Name Description Value
level Log level. 'Error'
'Information'
'Off'
'Verbose'
'Warning'

FileSystemHttpLogsConfig

Name Description Value
enabled True if configuration is enabled, false if it is disabled and null if configuration is not set. bool
retentionInDays Retention in days.
Remove files older than X days.
0 or lower means no retention.
int
retentionInMb Maximum size in megabytes that http log files can use.
When reached old log files will be removed to make space for new ones.
Value can range between 25 and 100.
int

Constraints:
Min value = 25
Max value = 100

FileSystemTokenStore

Name Description Value
directory The directory in which the tokens will be stored. string

ForwardProxy

Name Description Value
convention The convention used to determine the url of the request made. 'Custom'
'NoProxy'
'Standard'
customHostHeaderName The name of the header containing the host of the request. string
customProtoHeaderName The name of the header containing the scheme of the request. string

GitHub

Name Description Value
enabled <code>false</code> if the GitHub provider should not be enabled despite the set registration; otherwise, <code>true</code>. bool
login The configuration settings of the login flow. LoginScopes
registration The configuration settings of the app registration for the GitHub provider. ClientRegistration

GlobalValidation

Name Description Value
excludedPaths The paths for which unauthenticated flow would not be redirected to the login page. string[]
redirectToProvider The default authentication provider to use when multiple providers are configured.
This setting is only needed if multiple providers are configured and the unauthenticated client
action is set to "RedirectToLoginPage".
string
requireAuthentication <code>true</code> if the authentication flow is required any request is made; otherwise, <code>false</code>. bool
unauthenticatedClientAction The action to take when an unauthenticated client attempts to access the app. 'AllowAnonymous'
'RedirectToLoginPage'
'Return401'
'Return403'

Google

Name Description Value
enabled <code>false</code> if the Google provider should not be enabled despite the set registration; otherwise, <code>true</code>. bool
login The configuration settings of the login flow. LoginScopes
registration The configuration settings of the app registration for the Google provider. ClientRegistration
validation The configuration settings of the Azure Active Directory token validation flow. AllowedAudiencesValidation

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

HttpLogsConfig

Name Description Value
azureBlobStorage Http logs to azure blob storage configuration. AzureBlobStorageHttpLogsConfig
fileSystem Http logs to file system configuration. FileSystemHttpLogsConfig

HttpSettings

Name Description Value
forwardProxy The configuration settings of a forward proxy used to make the requests. ForwardProxy
requireHttps <code>false</code> if the authentication/authorization responses not having the HTTPS scheme are permissible; otherwise, <code>true</code>. bool
routes The configuration settings of the paths HTTP requests. HttpSettingsRoutes

HttpSettingsRoutes

Name Description Value
apiPrefix The prefix that should precede all the authentication/authorization paths. string

IdentityProviders

Name Description Value
apple The configuration settings of the Apple provider. Apple
azureActiveDirectory The configuration settings of the Azure Active directory provider. AzureActiveDirectory
azureStaticWebApps The configuration settings of the Azure Static Web Apps provider. AzureStaticWebApps
customOpenIdConnectProviders The map of the name of the alias of each custom Open ID Connect provider to the
configuration settings of the custom Open ID Connect provider.
IdentityProvidersCustomOpenIdConnectProviders
facebook The configuration settings of the Facebook provider. Facebook
gitHub The configuration settings of the GitHub provider. GitHub
google The configuration settings of the Google provider. Google
legacyMicrosoftAccount The configuration settings of the legacy Microsoft Account provider. LegacyMicrosoftAccount
twitter The configuration settings of the Twitter provider. Twitter

IdentityProvidersCustomOpenIdConnectProviders

Name Description Value

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

JwtClaimChecks

Name Description Value
allowedClientApplications The list of the allowed client applications. string[]
allowedGroups The list of the allowed groups. string[]

LegacyMicrosoftAccount

Name Description Value
enabled <code>false</code> if the legacy Microsoft Account provider should not be enabled despite the set registration; otherwise, <code>true</code>. bool
login The configuration settings of the login flow. LoginScopes
registration The configuration settings of the app registration for the legacy Microsoft Account provider. ClientRegistration
validation The configuration settings of the legacy Microsoft Account provider token validation flow. AllowedAudiencesValidation

Login

Name Description Value
allowedExternalRedirectUrls External URLs that can be redirected to as part of logging in or logging out of the app. Note that the query string part of the URL is ignored.
This is an advanced setting typically only needed by Windows Store application backends.
Note that URLs within the current domain are always implicitly allowed.
string[]
cookieExpiration The configuration settings of the session cookie's expiration. CookieExpiration
nonce The configuration settings of the nonce used in the login flow. Nonce
preserveUrlFragmentsForLogins <code>true</code> if the fragments from the request are preserved after the login request is made; otherwise, <code>false</code>. bool
routes The routes that specify the endpoints used for login and logout requests. LoginRoutes
tokenStore The configuration settings of the token store. TokenStore

LoginRoutes

Name Description Value
logoutEndpoint The endpoint at which a logout request should be made. string

LoginScopes

Name Description Value
scopes A list of the scopes that should be requested while authenticating. string[]

microsoft.web/sites/slots/config

Name Description Value
name Set to 'appsettings' for type Microsoft.Web/sites/slots/config. Set to 'authsettings' for type Microsoft.Web/sites/slots/config. Set to 'authsettingsV2' for type Microsoft.Web/sites/slots/config. Set to 'azurestorageaccounts' for type Microsoft.Web/sites/slots/config. Set to 'backup' for type Microsoft.Web/sites/slots/config. Set to 'connectionstrings' for type Microsoft.Web/sites/slots/config. Set to 'logs' for type Microsoft.Web/sites/slots/config. Set to 'metadata' for type Microsoft.Web/sites/slots/config. Set to 'pushsettings' for type Microsoft.Web/sites/slots/config. Set to 'web' for type Microsoft.Web/sites/slots/config. 'appsettings'
'authsettings'
'authsettingsV2'
'azurestorageaccounts'
'backup'
'connectionstrings'
'logs'
'metadata'
'pushsettings'
'web' (required)

Microsoft.Web/sites/slots/config

Name Description Value
apiVersion The api version '2023-12-01'
kind Kind of resource. string
name The resource name 'appsettings' (required)
properties Settings. StringDictionaryProperties
type The resource type 'Microsoft.Web/sites/slots/config'

Microsoft.Web/sites/slots/config

Name Description Value
apiVersion The api version '2023-12-01'
kind Kind of resource. string
name The resource name 'authsettings' (required)
properties SiteAuthSettings resource specific properties SiteAuthSettingsProperties
type The resource type 'Microsoft.Web/sites/slots/config'

Microsoft.Web/sites/slots/config

Name Description Value
apiVersion The api version '2023-12-01'
kind Kind of resource. string
name The resource name 'authsettingsV2' (required)
properties SiteAuthSettingsV2 resource specific properties SiteAuthSettingsV2Properties
type The resource type 'Microsoft.Web/sites/slots/config'

Microsoft.Web/sites/slots/config

Name Description Value
apiVersion The api version '2023-12-01'
kind Kind of resource. string
name The resource name 'azurestorageaccounts' (required)
properties Azure storage accounts. AzureStoragePropertyDictionaryResourceProperties
type The resource type 'Microsoft.Web/sites/slots/config'

Microsoft.Web/sites/slots/config

Name Description Value
apiVersion The api version '2023-12-01'
kind Kind of resource. string
name The resource name 'backup' (required)
properties BackupRequest resource specific properties BackupRequestProperties
type The resource type 'Microsoft.Web/sites/slots/config'

Microsoft.Web/sites/slots/config

Name Description Value
apiVersion The api version '2023-12-01'
kind Kind of resource. string
name The resource name 'connectionstrings' (required)
properties Connection strings. ConnectionStringDictionaryProperties
type The resource type 'Microsoft.Web/sites/slots/config'

Microsoft.Web/sites/slots/config

Name Description Value
apiVersion The api version '2023-12-01'
kind Kind of resource. string
name The resource name 'logs' (required)
properties SiteLogsConfig resource specific properties SiteLogsConfigProperties
type The resource type 'Microsoft.Web/sites/slots/config'

Microsoft.Web/sites/slots/config

Name Description Value
apiVersion The api version '2023-12-01'
kind Kind of resource. string
name The resource name 'metadata' (required)
properties Settings. StringDictionaryProperties
type The resource type 'Microsoft.Web/sites/slots/config'

Microsoft.Web/sites/slots/config

Name Description Value
apiVersion The api version '2023-12-01'
kind Kind of resource. string
name The resource name 'pushsettings' (required)
properties PushSettings resource specific properties PushSettingsProperties
type The resource type 'Microsoft.Web/sites/slots/config'

Microsoft.Web/sites/slots/config

Name Description Value
apiVersion The api version '2023-12-01'
kind Kind of resource. string
name The resource name 'web' (required)
properties Core resource properties SiteConfig
type The resource type 'Microsoft.Web/sites/slots/config'

NameValuePair

Name Description Value
name Pair name. string
value Pair value. string

Nonce

Name Description Value
nonceExpirationInterval The time after the request is made when the nonce should expire. string
validateNonce <code>false</code> if the nonce should not be validated while completing the login flow; otherwise, <code>true</code>. bool

OpenIdConnectClientCredential

Name Description Value
clientSecretSettingName The app setting that contains the client secret for the custom Open ID Connect provider. string
method The method that should be used to authenticate the user. 'ClientSecretPost'

OpenIdConnectConfig

Name Description Value
authorizationEndpoint The endpoint to be used to make an authorization request. string
certificationUri The endpoint that provides the keys necessary to validate the token. string
issuer The endpoint that issues the token. string
tokenEndpoint The endpoint to be used to request a token. string
wellKnownOpenIdConfiguration The endpoint that contains all the configuration endpoints for the provider. string

OpenIdConnectLogin

Name Description Value
nameClaimType The name of the claim that contains the users name. string
scopes A list of the scopes that should be requested while authenticating. string[]

OpenIdConnectRegistration

Name Description Value
clientCredential The authentication credentials of the custom Open ID Connect provider. OpenIdConnectClientCredential
clientId The client id of the custom Open ID Connect provider. string
openIdConnectConfiguration The configuration settings of the endpoints used for the custom Open ID Connect provider. OpenIdConnectConfig

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. See TiPCallback site extension for the scaffold and contracts.
https://www.siteextensions.net/packages/TiPCallback/
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

SiteAuthSettingsProperties

Name Description Value
aadClaimsAuthorization Gets a JSON string containing the Azure AD Acl settings. string
additionalLoginParams Login parameters to send to the OpenID Connect authorization endpoint when
a user logs in. Each parameter must be in the form "key=value".
string[]
allowedAudiences Allowed audience values to consider when validating JSON Web Tokens issued by
Azure Active Directory. Note that the <code>ClientID</code> value is always considered an
allowed audience, regardless of this setting.
string[]
allowedExternalRedirectUrls External URLs that can be redirected to as part of logging in or logging out of the app. Note that the query string part of the URL is ignored.
This is an advanced setting typically only needed by Windows Store application backends.
Note that URLs within the current domain are always implicitly allowed.
string[]
authFilePath The path of the config file containing auth settings.
If the path is relative, base will the site's root directory.
string
clientId The Client ID of this relying party application, known as the client_id.
This setting is required for enabling OpenID Connection authentication with Azure Active Directory or
other 3rd party OpenID Connect providers.
More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html
string
clientSecret The Client Secret of this relying party application (in Azure Active Directory, this is also referred to as the Key).
This setting is optional. If no client secret is configured, the OpenID Connect implicit auth flow is used to authenticate end users.
Otherwise, the OpenID Connect Authorization Code Flow is used to authenticate end users.
More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html
string
clientSecretCertificateThumbprint An alternative to the client secret, that is the thumbprint of a certificate used for signing purposes. This property acts as
a replacement for the Client Secret. It is also optional.
string
clientSecretSettingName The app setting name that contains the client secret of the relying party application. string
configVersion The ConfigVersion of the Authentication / Authorization feature in use for the current app.
The setting in this value can control the behavior of the control plane for Authentication / Authorization.
string
defaultProvider The default authentication provider to use when multiple providers are configured.
This setting is only needed if multiple providers are configured and the unauthenticated client
action is set to "RedirectToLoginPage".
'AzureActiveDirectory'
'Facebook'
'Github'
'Google'
'MicrosoftAccount'
'Twitter'
enabled <code>true</code> if the Authentication / Authorization feature is enabled for the current app; otherwise, <code>false</code>. bool
facebookAppId The App ID of the Facebook app used for login.
This setting is required for enabling Facebook Login.
Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
string
facebookAppSecret The App Secret of the Facebook app used for Facebook Login.
This setting is required for enabling Facebook Login.
Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
string
facebookAppSecretSettingName The app setting name that contains the app secret used for Facebook Login. string
facebookOAuthScopes The OAuth 2.0 scopes that will be requested as part of Facebook Login authentication.
This setting is optional.
Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
string[]
gitHubClientId The Client Id of the GitHub app used for login.
This setting is required for enabling Github login
string
gitHubClientSecret The Client Secret of the GitHub app used for Github Login.
This setting is required for enabling Github login.
string
gitHubClientSecretSettingName The app setting name that contains the client secret of the Github
app used for GitHub Login.
string
gitHubOAuthScopes The OAuth 2.0 scopes that will be requested as part of GitHub Login authentication.
This setting is optional
string[]
googleClientId The OpenID Connect Client ID for the Google web application.
This setting is required for enabling Google Sign-In.
Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
string
googleClientSecret The client secret associated with the Google web application.
This setting is required for enabling Google Sign-In.
Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
string
googleClientSecretSettingName The app setting name that contains the client secret associated with
the Google web application.
string
googleOAuthScopes The OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication.
This setting is optional. If not specified, "openid", "profile", and "email" are used as default scopes.
Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
string[]
isAuthFromFile "true" if the auth config settings should be read from a file,
"false" otherwise
string
issuer The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.
When using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://sts.windows.net/{tenant-guid}/.
This URI is a case-sensitive identifier for the token issuer.
More information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html
string
microsoftAccountClientId The OAuth 2.0 client ID that was created for the app used for authentication.
This setting is required for enabling Microsoft Account authentication.
Microsoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm
string
microsoftAccountClientSecret The OAuth 2.0 client secret that was created for the app used for authentication.
This setting is required for enabling Microsoft Account authentication.
Microsoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm
string
microsoftAccountClientSecretSettingName The app setting name containing the OAuth 2.0 client secret that was created for the
app used for authentication.
string
microsoftAccountOAuthScopes The OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication.
This setting is optional. If not specified, "wl.basic" is used as the default scope.
Microsoft Account Scopes and permissions documentation: https://msdn.microsoft.com/en-us/library/dn631845.aspx
string[]
runtimeVersion The RuntimeVersion of the Authentication / Authorization feature in use for the current app.
The setting in this value can control the behavior of certain features in the Authentication / Authorization module.
string
tokenRefreshExtensionHours The number of hours after session token expiration that a session token can be used to
call the token refresh API. The default is 72 hours.
int
tokenStoreEnabled <code>true</code> to durably store platform-specific security tokens that are obtained during login flows; otherwise, <code>false</code>.
The default is <code>false</code>.
bool
twitterConsumerKey The OAuth 1.0a consumer key of the Twitter application used for sign-in.
This setting is required for enabling Twitter Sign-In.
Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in
string
twitterConsumerSecret The OAuth 1.0a consumer secret of the Twitter application used for sign-in.
This setting is required for enabling Twitter Sign-In.
Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in
string
twitterConsumerSecretSettingName The app setting name that contains the OAuth 1.0a consumer secret of the Twitter
application used for sign-in.
string
unauthenticatedClientAction The action to take when an unauthenticated client attempts to access the app. 'AllowAnonymous'
'RedirectToLoginPage'
validateIssuer Gets a value indicating whether the issuer should be a valid HTTPS url and be validated as such. bool

SiteAuthSettingsV2Properties

Name Description Value
globalValidation The configuration settings that determines the validation flow of users using App Service Authentication/Authorization. GlobalValidation
httpSettings The configuration settings of the HTTP requests for authentication and authorization requests made against App Service Authentication/Authorization. HttpSettings
identityProviders The configuration settings of each of the identity providers used to configure App Service Authentication/Authorization. IdentityProviders
login The configuration settings of the login flow of users using App Service Authentication/Authorization. Login
platform The configuration settings of the platform of App Service Authentication/Authorization. AuthPlatform

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. 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. 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
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'
'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

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

SiteLogsConfigProperties

Name Description Value
applicationLogs Application logs configuration. ApplicationLogsConfig
detailedErrorMessages Detailed error messages configuration. EnabledConfig
failedRequestsTracing Failed requests tracing configuration. EnabledConfig
httpLogs HTTP logs configuration. HttpLogsConfig

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

StringDictionaryProperties

Name Description Value

StringDictionaryProperties

Name Description Value

TokenStore

Name Description Value
azureBlobStorage The configuration settings of the storage of the tokens if blob storage is used. BlobStorageTokenStore
enabled <code>true</code> to durably store platform-specific security tokens that are obtained during login flows; otherwise, <code>false</code>.
The default is <code>false</code>.
bool
fileSystem The configuration settings of the storage of the tokens if a file system is used. FileSystemTokenStore
tokenRefreshExtensionHours The number of hours after session token expiration that a session token can be used to
call the token refresh API. The default is 72 hours.
int

Twitter

Name Description Value
enabled <code>false</code> if the Twitter provider should not be enabled despite the set registration; otherwise, <code>true</code>. bool
registration The configuration settings of the app registration for the Twitter provider. TwitterRegistration

TwitterRegistration

Name Description Value
consumerKey The OAuth 1.0a consumer key of the Twitter application used for sign-in.
This setting is required for enabling Twitter Sign-In.
Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in
string
consumerSecretSettingName The app setting name that contains the OAuth 1.0a consumer secret of the Twitter
application used for sign-in.
string

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

Terraform (AzAPI provider) resource definition

The sites/slots/config 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/config resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  name = "string"
  // For remaining properties, see microsoft.web/sites/slots/config objects
}

microsoft.web/sites/slots/config objects

Set the name property to specify the type of object.

For appsettings, use:

{
  kind = "string"
  name = "appsettings"
  properties = {
    {customized property} = "string"
  }
}

For authsettings, use:

{
  kind = "string"
  name = "authsettings"
  properties = {
    aadClaimsAuthorization = "string"
    additionalLoginParams = [
      "string"
    ]
    allowedAudiences = [
      "string"
    ]
    allowedExternalRedirectUrls = [
      "string"
    ]
    authFilePath = "string"
    clientId = "string"
    clientSecret = "string"
    clientSecretCertificateThumbprint = "string"
    clientSecretSettingName = "string"
    configVersion = "string"
    defaultProvider = "string"
    enabled = bool
    facebookAppId = "string"
    facebookAppSecret = "string"
    facebookAppSecretSettingName = "string"
    facebookOAuthScopes = [
      "string"
    ]
    gitHubClientId = "string"
    gitHubClientSecret = "string"
    gitHubClientSecretSettingName = "string"
    gitHubOAuthScopes = [
      "string"
    ]
    googleClientId = "string"
    googleClientSecret = "string"
    googleClientSecretSettingName = "string"
    googleOAuthScopes = [
      "string"
    ]
    isAuthFromFile = "string"
    issuer = "string"
    microsoftAccountClientId = "string"
    microsoftAccountClientSecret = "string"
    microsoftAccountClientSecretSettingName = "string"
    microsoftAccountOAuthScopes = [
      "string"
    ]
    runtimeVersion = "string"
    tokenRefreshExtensionHours = int
    tokenStoreEnabled = bool
    twitterConsumerKey = "string"
    twitterConsumerSecret = "string"
    twitterConsumerSecretSettingName = "string"
    unauthenticatedClientAction = "string"
    validateIssuer = bool
  }
}

For authsettingsV2, use:

{
  kind = "string"
  name = "authsettingsV2"
  properties = {
    globalValidation = {
      excludedPaths = [
        "string"
      ]
      redirectToProvider = "string"
      requireAuthentication = bool
      unauthenticatedClientAction = "string"
    }
    httpSettings = {
      forwardProxy = {
        convention = "string"
        customHostHeaderName = "string"
        customProtoHeaderName = "string"
      }
      requireHttps = bool
      routes = {
        apiPrefix = "string"
      }
    }
    identityProviders = {
      apple = {
        enabled = bool
        login = {
          scopes = [
            "string"
          ]
        }
        registration = {
          clientId = "string"
          clientSecretSettingName = "string"
        }
      }
      azureActiveDirectory = {
        enabled = bool
        isAutoProvisioned = bool
        login = {
          disableWWWAuthenticate = bool
          loginParameters = [
            "string"
          ]
        }
        registration = {
          clientId = "string"
          clientSecretCertificateIssuer = "string"
          clientSecretCertificateSubjectAlternativeName = "string"
          clientSecretCertificateThumbprint = "string"
          clientSecretSettingName = "string"
          openIdIssuer = "string"
        }
        validation = {
          allowedAudiences = [
            "string"
          ]
          defaultAuthorizationPolicy = {
            allowedApplications = [
              "string"
            ]
            allowedPrincipals = {
              groups = [
                "string"
              ]
              identities = [
                "string"
              ]
            }
          }
          jwtClaimChecks = {
            allowedClientApplications = [
              "string"
            ]
            allowedGroups = [
              "string"
            ]
          }
        }
      }
      azureStaticWebApps = {
        enabled = bool
        registration = {
          clientId = "string"
        }
      }
      customOpenIdConnectProviders = {
        {customized property} = {
          enabled = bool
          login = {
            nameClaimType = "string"
            scopes = [
              "string"
            ]
          }
          registration = {
            clientCredential = {
              clientSecretSettingName = "string"
              method = "ClientSecretPost"
            }
            clientId = "string"
            openIdConnectConfiguration = {
              authorizationEndpoint = "string"
              certificationUri = "string"
              issuer = "string"
              tokenEndpoint = "string"
              wellKnownOpenIdConfiguration = "string"
            }
          }
        }
      }
      facebook = {
        enabled = bool
        graphApiVersion = "string"
        login = {
          scopes = [
            "string"
          ]
        }
        registration = {
          appId = "string"
          appSecretSettingName = "string"
        }
      }
      gitHub = {
        enabled = bool
        login = {
          scopes = [
            "string"
          ]
        }
        registration = {
          clientId = "string"
          clientSecretSettingName = "string"
        }
      }
      google = {
        enabled = bool
        login = {
          scopes = [
            "string"
          ]
        }
        registration = {
          clientId = "string"
          clientSecretSettingName = "string"
        }
        validation = {
          allowedAudiences = [
            "string"
          ]
        }
      }
      legacyMicrosoftAccount = {
        enabled = bool
        login = {
          scopes = [
            "string"
          ]
        }
        registration = {
          clientId = "string"
          clientSecretSettingName = "string"
        }
        validation = {
          allowedAudiences = [
            "string"
          ]
        }
      }
      twitter = {
        enabled = bool
        registration = {
          consumerKey = "string"
          consumerSecretSettingName = "string"
        }
      }
    }
    login = {
      allowedExternalRedirectUrls = [
        "string"
      ]
      cookieExpiration = {
        convention = "string"
        timeToExpiration = "string"
      }
      nonce = {
        nonceExpirationInterval = "string"
        validateNonce = bool
      }
      preserveUrlFragmentsForLogins = bool
      routes = {
        logoutEndpoint = "string"
      }
      tokenStore = {
        azureBlobStorage = {
          sasUrlSettingName = "string"
        }
        enabled = bool
        fileSystem = {
          directory = "string"
        }
        tokenRefreshExtensionHours = int
      }
    }
    platform = {
      configFilePath = "string"
      enabled = bool
      runtimeVersion = "string"
    }
  }
}

For azurestorageaccounts, use:

{
  kind = "string"
  name = "azurestorageaccounts"
  properties = {
    {customized property} = {
      accessKey = "string"
      accountName = "string"
      mountPath = "string"
      protocol = "string"
      shareName = "string"
      type = "string"
    }
  }
}

For backup, use:

{
  kind = "string"
  name = "backup"
  properties = {
    backupName = "string"
    backupSchedule = {
      frequencyInterval = int
      frequencyUnit = "string"
      keepAtLeastOneBackup = bool
      retentionPeriodInDays = int
      startTime = "string"
    }
    databases = [
      {
        connectionString = "string"
        connectionStringName = "string"
        databaseType = "string"
        name = "string"
      }
    ]
    enabled = bool
    storageAccountUrl = "string"
  }
}

For connectionstrings, use:

{
  kind = "string"
  name = "connectionstrings"
  properties = {
    {customized property} = {
      type = "string"
      value = "string"
    }
  }
}

For logs, use:

{
  kind = "string"
  name = "logs"
  properties = {
    applicationLogs = {
      azureBlobStorage = {
        level = "string"
        retentionInDays = int
        sasUrl = "string"
      }
      azureTableStorage = {
        level = "string"
        sasUrl = "string"
      }
      fileSystem = {
        level = "string"
      }
    }
    detailedErrorMessages = {
      enabled = bool
    }
    failedRequestsTracing = {
      enabled = bool
    }
    httpLogs = {
      azureBlobStorage = {
        enabled = bool
        retentionInDays = int
        sasUrl = "string"
      }
      fileSystem = {
        enabled = bool
        retentionInDays = int
        retentionInMb = int
      }
    }
  }
}

For metadata, use:

{
  kind = "string"
  name = "metadata"
  properties = {
    {customized property} = "string"
  }
}

For pushsettings, use:

{
  kind = "string"
  name = "pushsettings"
  properties = {
    dynamicTagsJson = "string"
    isPushEnabled = bool
    tagsRequiringAuth = "string"
    tagWhitelistJson = "string"
  }
}

For web, use:

{
  kind = "string"
  name = "web"
  properties = {
    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
    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
  }
}

Property values

AllowedAudiencesValidation

Name Description Value
allowedAudiences The configuration settings of the allowed list of audiences from which to validate the JWT token. string[]

AllowedPrincipals

Name Description Value
groups The list of the allowed groups. string[]
identities The list of the allowed identities. string[]

ApiDefinitionInfo

Name Description Value
url The URL of the API definition. string

ApiManagementConfig

Name Description Value
id APIM-Api Identifier. string

Apple

Name Description Value
enabled <code>false</code> if the Apple provider should not be enabled despite the set registration; otherwise, <code>true</code>. bool
login The configuration settings of the login flow. LoginScopes
registration The configuration settings of the Apple registration. AppleRegistration

AppleRegistration

Name Description Value
clientId The Client ID of the app used for login. string
clientSecretSettingName The app setting name that contains the client secret. string

ApplicationLogsConfig

Name Description Value
azureBlobStorage Application logs to blob storage configuration. AzureBlobStorageApplicationLogsConfig
azureTableStorage Application logs to azure table storage configuration. AzureTableStorageApplicationLogsConfig
fileSystem Application logs to file system configuration. FileSystemApplicationLogsConfig

AppRegistration

Name Description Value
appId The App ID of the app used for login. string
appSecretSettingName The app setting name that contains the app secret. string

AuthPlatform

Name Description Value
configFilePath The path of the config file containing auth settings if they come from a file.
If the path is relative, base will the site's root directory.
string
enabled <code>true</code> if the Authentication / Authorization feature is enabled for the current app; otherwise, <code>false</code>. bool
runtimeVersion The RuntimeVersion of the Authentication / Authorization feature in use for the current app.
The setting in this value can control the behavior of certain features in the Authentication / Authorization module.
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[]

AzureActiveDirectory

Name Description Value
enabled <code>false</code> if the Azure Active Directory provider should not be enabled despite the set registration; otherwise, <code>true</code>. bool
isAutoProvisioned Gets a value indicating whether the Azure AD configuration was auto-provisioned using 1st party tooling.
This is an internal flag primarily intended to support the Azure Management Portal. Users should not
read or write to this property.
bool
login The configuration settings of the Azure Active Directory login flow. AzureActiveDirectoryLogin
registration The configuration settings of the Azure Active Directory app registration. AzureActiveDirectoryRegistration
validation The configuration settings of the Azure Active Directory token validation flow. AzureActiveDirectoryValidation

AzureActiveDirectoryLogin

Name Description Value
disableWWWAuthenticate <code>true</code> if the www-authenticate provider should be omitted from the request; otherwise, <code>false</code>. bool
loginParameters Login parameters to send to the OpenID Connect authorization endpoint when
a user logs in. Each parameter must be in the form "key=value".
string[]

AzureActiveDirectoryRegistration

Name Description Value
clientId The Client ID of this relying party application, known as the client_id.
This setting is required for enabling OpenID Connection authentication with Azure Active Directory or
other 3rd party OpenID Connect providers.
More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html
string
clientSecretCertificateIssuer An alternative to the client secret thumbprint, that is the issuer of a certificate used for signing purposes. This property acts as
a replacement for the Client Secret Certificate Thumbprint. It is also optional.
string
clientSecretCertificateSubjectAlternativeName An alternative to the client secret thumbprint, that is the subject alternative name of a certificate used for signing purposes. This property acts as
a replacement for the Client Secret Certificate Thumbprint. It is also optional.
string
clientSecretCertificateThumbprint An alternative to the client secret, that is the thumbprint of a certificate used for signing purposes. This property acts as
a replacement for the Client Secret. It is also optional.
string
clientSecretSettingName The app setting name that contains the client secret of the relying party application. string
openIdIssuer The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.
When using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://login.microsoftonline.com/v2.0/{tenant-guid}/.
This URI is a case-sensitive identifier for the token issuer.
More information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html
string

AzureActiveDirectoryValidation

Name Description Value
allowedAudiences The list of audiences that can make successful authentication/authorization requests. string[]
defaultAuthorizationPolicy The configuration settings of the default authorization policy. DefaultAuthorizationPolicy
jwtClaimChecks The configuration settings of the checks that should be made while validating the JWT Claims. JwtClaimChecks

AzureBlobStorageApplicationLogsConfig

Name Description Value
level Log level. 'Error'
'Information'
'Off'
'Verbose'
'Warning'
retentionInDays Retention in days.
Remove blobs older than X days.
0 or lower means no retention.
int
sasUrl SAS url to a azure blob container with read/write/list/delete permissions. string

AzureBlobStorageHttpLogsConfig

Name Description Value
enabled True if configuration is enabled, false if it is disabled and null if configuration is not set. bool
retentionInDays Retention in days.
Remove blobs older than X days.
0 or lower means no retention.
int
sasUrl SAS url to a azure blob container with read/write/list/delete permissions. string

AzureStaticWebApps

Name Description Value
enabled <code>false</code> if the Azure Static Web Apps provider should not be enabled despite the set registration; otherwise, <code>true</code>. bool
registration The configuration settings of the Azure Static Web Apps registration. AzureStaticWebAppsRegistration

AzureStaticWebAppsRegistration

Name Description Value
clientId The Client ID of the app used for login. string

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'

AzureStoragePropertyDictionaryResourceProperties

Name Description Value

AzureTableStorageApplicationLogsConfig

Name Description Value
level Log level. 'Error'
'Information'
'Off'
'Verbose'
'Warning'
sasUrl SAS URL to an Azure table with add/query/delete permissions. string (required)

BackupRequestProperties

Name Description Value
backupName Name of the backup. string
backupSchedule Schedule for the backup if it is executed periodically. BackupSchedule
databases Databases included in the backup. DatabaseBackupSetting[]
enabled True if the backup schedule is enabled (must be included in that case), false if the backup schedule should be disabled. bool
storageAccountUrl SAS URL to the container. string (required)

BackupSchedule

Name Description Value
frequencyInterval How often the backup should be executed (e.g. for weekly backup, this should be set to 7 and FrequencyUnit should be set to Day) int (required)
frequencyUnit The unit of time for how often the backup should be executed (e.g. for weekly backup, this should be set to Day and FrequencyInterval should be set to 7) 'Day'
'Hour' (required)
keepAtLeastOneBackup True if the retention policy should always keep at least one backup in the storage account, regardless how old it is; false otherwise. bool (required)
retentionPeriodInDays After how many days backups should be deleted. int (required)
startTime When the schedule should start working. string

BlobStorageTokenStore

Name Description Value
sasUrlSettingName The name of the app setting containing the SAS URL of the blob storage containing the tokens. string

ClientRegistration

Name Description Value
clientId The Client ID of the app used for login. string
clientSecretSettingName The app setting name that contains the client secret. string

ConnectionStringDictionaryProperties

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'

ConnStringValueTypePair

Name Description Value
type Type of database. 'ApiHub'
'Custom'
'DocDb'
'EventHub'
'MySql'
'NotificationHub'
'PostgreSQL'
'RedisCache'
'ServiceBus'
'SQLAzure'
'SQLServer' (required)
value Value of pair. string (required)

CookieExpiration

Name Description Value
convention The convention used when determining the session cookie's expiration. 'FixedTime'
'IdentityProviderDerived'
timeToExpiration The time after the request is made when the session cookie should expire. string

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

CustomOpenIdConnectProvider

Name Description Value
enabled <code>false</code> if the custom Open ID provider provider should not be enabled; otherwise, <code>true</code>. bool
login The configuration settings of the login flow of the custom Open ID Connect provider. OpenIdConnectLogin
registration The configuration settings of the app registration for the custom Open ID Connect provider. OpenIdConnectRegistration

DatabaseBackupSetting

Name Description Value
connectionString Contains a connection string to a database which is being backed up or restored. If the restore should happen to a new database, the database name inside is the new one. string
connectionStringName Contains a connection string name that is linked to the SiteConfig.ConnectionStrings.
This is used during restore with overwrite connection strings options.
string
databaseType Database type (e.g. SqlAzure / MySql). 'LocalMySql'
'MySql'
'PostgreSql'
'SqlAzure' (required)
name string

DefaultAuthorizationPolicy

Name Description Value
allowedApplications The configuration settings of the Azure Active Directory allowed applications. string[]
allowedPrincipals The configuration settings of the Azure Active Directory allowed principals. AllowedPrincipals

EnabledConfig

Name Description Value
enabled True if configuration is enabled, false if it is disabled and null if configuration is not set. bool

Experiments

Name Description Value
rampUpRules List of ramp-up rules. RampUpRule[]

Facebook

Name Description Value
enabled <code>false</code> if the Facebook provider should not be enabled despite the set registration; otherwise, <code>true</code>. bool
graphApiVersion The version of the Facebook api to be used while logging in. string
login The configuration settings of the login flow. LoginScopes
registration The configuration settings of the app registration for the Facebook provider. AppRegistration

FileSystemApplicationLogsConfig

Name Description Value
level Log level. 'Error'
'Information'
'Off'
'Verbose'
'Warning'

FileSystemHttpLogsConfig

Name Description Value
enabled True if configuration is enabled, false if it is disabled and null if configuration is not set. bool
retentionInDays Retention in days.
Remove files older than X days.
0 or lower means no retention.
int
retentionInMb Maximum size in megabytes that http log files can use.
When reached old log files will be removed to make space for new ones.
Value can range between 25 and 100.
int

Constraints:
Min value = 25
Max value = 100

FileSystemTokenStore

Name Description Value
directory The directory in which the tokens will be stored. string

ForwardProxy

Name Description Value
convention The convention used to determine the url of the request made. 'Custom'
'NoProxy'
'Standard'
customHostHeaderName The name of the header containing the host of the request. string
customProtoHeaderName The name of the header containing the scheme of the request. string

GitHub

Name Description Value
enabled <code>false</code> if the GitHub provider should not be enabled despite the set registration; otherwise, <code>true</code>. bool
login The configuration settings of the login flow. LoginScopes
registration The configuration settings of the app registration for the GitHub provider. ClientRegistration

GlobalValidation

Name Description Value
excludedPaths The paths for which unauthenticated flow would not be redirected to the login page. string[]
redirectToProvider The default authentication provider to use when multiple providers are configured.
This setting is only needed if multiple providers are configured and the unauthenticated client
action is set to "RedirectToLoginPage".
string
requireAuthentication <code>true</code> if the authentication flow is required any request is made; otherwise, <code>false</code>. bool
unauthenticatedClientAction The action to take when an unauthenticated client attempts to access the app. 'AllowAnonymous'
'RedirectToLoginPage'
'Return401'
'Return403'

Google

Name Description Value
enabled <code>false</code> if the Google provider should not be enabled despite the set registration; otherwise, <code>true</code>. bool
login The configuration settings of the login flow. LoginScopes
registration The configuration settings of the app registration for the Google provider. ClientRegistration
validation The configuration settings of the Azure Active Directory token validation flow. AllowedAudiencesValidation

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

HttpLogsConfig

Name Description Value
azureBlobStorage Http logs to azure blob storage configuration. AzureBlobStorageHttpLogsConfig
fileSystem Http logs to file system configuration. FileSystemHttpLogsConfig

HttpSettings

Name Description Value
forwardProxy The configuration settings of a forward proxy used to make the requests. ForwardProxy
requireHttps <code>false</code> if the authentication/authorization responses not having the HTTPS scheme are permissible; otherwise, <code>true</code>. bool
routes The configuration settings of the paths HTTP requests. HttpSettingsRoutes

HttpSettingsRoutes

Name Description Value
apiPrefix The prefix that should precede all the authentication/authorization paths. string

IdentityProviders

Name Description Value
apple The configuration settings of the Apple provider. Apple
azureActiveDirectory The configuration settings of the Azure Active directory provider. AzureActiveDirectory
azureStaticWebApps The configuration settings of the Azure Static Web Apps provider. AzureStaticWebApps
customOpenIdConnectProviders The map of the name of the alias of each custom Open ID Connect provider to the
configuration settings of the custom Open ID Connect provider.
IdentityProvidersCustomOpenIdConnectProviders
facebook The configuration settings of the Facebook provider. Facebook
gitHub The configuration settings of the GitHub provider. GitHub
google The configuration settings of the Google provider. Google
legacyMicrosoftAccount The configuration settings of the legacy Microsoft Account provider. LegacyMicrosoftAccount
twitter The configuration settings of the Twitter provider. Twitter

IdentityProvidersCustomOpenIdConnectProviders

Name Description Value

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

JwtClaimChecks

Name Description Value
allowedClientApplications The list of the allowed client applications. string[]
allowedGroups The list of the allowed groups. string[]

LegacyMicrosoftAccount

Name Description Value
enabled <code>false</code> if the legacy Microsoft Account provider should not be enabled despite the set registration; otherwise, <code>true</code>. bool
login The configuration settings of the login flow. LoginScopes
registration The configuration settings of the app registration for the legacy Microsoft Account provider. ClientRegistration
validation The configuration settings of the legacy Microsoft Account provider token validation flow. AllowedAudiencesValidation

Login

Name Description Value
allowedExternalRedirectUrls External URLs that can be redirected to as part of logging in or logging out of the app. Note that the query string part of the URL is ignored.
This is an advanced setting typically only needed by Windows Store application backends.
Note that URLs within the current domain are always implicitly allowed.
string[]
cookieExpiration The configuration settings of the session cookie's expiration. CookieExpiration
nonce The configuration settings of the nonce used in the login flow. Nonce
preserveUrlFragmentsForLogins <code>true</code> if the fragments from the request are preserved after the login request is made; otherwise, <code>false</code>. bool
routes The routes that specify the endpoints used for login and logout requests. LoginRoutes
tokenStore The configuration settings of the token store. TokenStore

LoginRoutes

Name Description Value
logoutEndpoint The endpoint at which a logout request should be made. string

LoginScopes

Name Description Value
scopes A list of the scopes that should be requested while authenticating. string[]

microsoft.web/sites/slots/config

Name Description Value
name Set to 'appsettings' for type Microsoft.Web/sites/slots/config. Set to 'authsettings' for type Microsoft.Web/sites/slots/config. Set to 'authsettingsV2' for type Microsoft.Web/sites/slots/config. Set to 'azurestorageaccounts' for type Microsoft.Web/sites/slots/config. Set to 'backup' for type Microsoft.Web/sites/slots/config. Set to 'connectionstrings' for type Microsoft.Web/sites/slots/config. Set to 'logs' for type Microsoft.Web/sites/slots/config. Set to 'metadata' for type Microsoft.Web/sites/slots/config. Set to 'pushsettings' for type Microsoft.Web/sites/slots/config. Set to 'web' for type Microsoft.Web/sites/slots/config. 'appsettings'
'authsettings'
'authsettingsV2'
'azurestorageaccounts'
'backup'
'connectionstrings'
'logs'
'metadata'
'pushsettings'
'web' (required)

Microsoft.Web/sites/slots/config

Name Description Value
kind Kind of resource. string
name The resource name 'appsettings' (required)
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: sites/slots
properties Settings. StringDictionaryProperties
type The resource type "Microsoft.Web/sites/slots/config@2023-12-01"

Microsoft.Web/sites/slots/config

Name Description Value
kind Kind of resource. string
name The resource name 'authsettings' (required)
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: sites/slots
properties SiteAuthSettings resource specific properties SiteAuthSettingsProperties
type The resource type "Microsoft.Web/sites/slots/config@2023-12-01"

Microsoft.Web/sites/slots/config

Name Description Value
kind Kind of resource. string
name The resource name 'authsettingsV2' (required)
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: sites/slots
properties SiteAuthSettingsV2 resource specific properties SiteAuthSettingsV2Properties
type The resource type "Microsoft.Web/sites/slots/config@2023-12-01"

Microsoft.Web/sites/slots/config

Name Description Value
kind Kind of resource. string
name The resource name 'azurestorageaccounts' (required)
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: sites/slots
properties Azure storage accounts. AzureStoragePropertyDictionaryResourceProperties
type The resource type "Microsoft.Web/sites/slots/config@2023-12-01"

Microsoft.Web/sites/slots/config

Name Description Value
kind Kind of resource. string
name The resource name 'backup' (required)
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: sites/slots
properties BackupRequest resource specific properties BackupRequestProperties
type The resource type "Microsoft.Web/sites/slots/config@2023-12-01"

Microsoft.Web/sites/slots/config

Name Description Value
kind Kind of resource. string
name The resource name 'connectionstrings' (required)
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: sites/slots
properties Connection strings. ConnectionStringDictionaryProperties
type The resource type "Microsoft.Web/sites/slots/config@2023-12-01"

Microsoft.Web/sites/slots/config

Name Description Value
kind Kind of resource. string
name The resource name 'logs' (required)
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: sites/slots
properties SiteLogsConfig resource specific properties SiteLogsConfigProperties
type The resource type "Microsoft.Web/sites/slots/config@2023-12-01"

Microsoft.Web/sites/slots/config

Name Description Value
kind Kind of resource. string
name The resource name 'metadata' (required)
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: sites/slots
properties Settings. StringDictionaryProperties
type The resource type "Microsoft.Web/sites/slots/config@2023-12-01"

Microsoft.Web/sites/slots/config

Name Description Value
kind Kind of resource. string
name The resource name 'pushsettings' (required)
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: sites/slots
properties PushSettings resource specific properties PushSettingsProperties
type The resource type "Microsoft.Web/sites/slots/config@2023-12-01"

Microsoft.Web/sites/slots/config

Name Description Value
kind Kind of resource. string
name The resource name 'web' (required)
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: sites/slots
properties Core resource properties SiteConfig
type The resource type "Microsoft.Web/sites/slots/config@2023-12-01"

NameValuePair

Name Description Value
name Pair name. string
value Pair value. string

Nonce

Name Description Value
nonceExpirationInterval The time after the request is made when the nonce should expire. string
validateNonce <code>false</code> if the nonce should not be validated while completing the login flow; otherwise, <code>true</code>. bool

OpenIdConnectClientCredential

Name Description Value
clientSecretSettingName The app setting that contains the client secret for the custom Open ID Connect provider. string
method The method that should be used to authenticate the user. 'ClientSecretPost'

OpenIdConnectConfig

Name Description Value
authorizationEndpoint The endpoint to be used to make an authorization request. string
certificationUri The endpoint that provides the keys necessary to validate the token. string
issuer The endpoint that issues the token. string
tokenEndpoint The endpoint to be used to request a token. string
wellKnownOpenIdConfiguration The endpoint that contains all the configuration endpoints for the provider. string

OpenIdConnectLogin

Name Description Value
nameClaimType The name of the claim that contains the users name. string
scopes A list of the scopes that should be requested while authenticating. string[]

OpenIdConnectRegistration

Name Description Value
clientCredential The authentication credentials of the custom Open ID Connect provider. OpenIdConnectClientCredential
clientId The client id of the custom Open ID Connect provider. string
openIdConnectConfiguration The configuration settings of the endpoints used for the custom Open ID Connect provider. OpenIdConnectConfig

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. See TiPCallback site extension for the scaffold and contracts.
https://www.siteextensions.net/packages/TiPCallback/
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

SiteAuthSettingsProperties

Name Description Value
aadClaimsAuthorization Gets a JSON string containing the Azure AD Acl settings. string
additionalLoginParams Login parameters to send to the OpenID Connect authorization endpoint when
a user logs in. Each parameter must be in the form "key=value".
string[]
allowedAudiences Allowed audience values to consider when validating JSON Web Tokens issued by
Azure Active Directory. Note that the <code>ClientID</code> value is always considered an
allowed audience, regardless of this setting.
string[]
allowedExternalRedirectUrls External URLs that can be redirected to as part of logging in or logging out of the app. Note that the query string part of the URL is ignored.
This is an advanced setting typically only needed by Windows Store application backends.
Note that URLs within the current domain are always implicitly allowed.
string[]
authFilePath The path of the config file containing auth settings.
If the path is relative, base will the site's root directory.
string
clientId The Client ID of this relying party application, known as the client_id.
This setting is required for enabling OpenID Connection authentication with Azure Active Directory or
other 3rd party OpenID Connect providers.
More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html
string
clientSecret The Client Secret of this relying party application (in Azure Active Directory, this is also referred to as the Key).
This setting is optional. If no client secret is configured, the OpenID Connect implicit auth flow is used to authenticate end users.
Otherwise, the OpenID Connect Authorization Code Flow is used to authenticate end users.
More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html
string
clientSecretCertificateThumbprint An alternative to the client secret, that is the thumbprint of a certificate used for signing purposes. This property acts as
a replacement for the Client Secret. It is also optional.
string
clientSecretSettingName The app setting name that contains the client secret of the relying party application. string
configVersion The ConfigVersion of the Authentication / Authorization feature in use for the current app.
The setting in this value can control the behavior of the control plane for Authentication / Authorization.
string
defaultProvider The default authentication provider to use when multiple providers are configured.
This setting is only needed if multiple providers are configured and the unauthenticated client
action is set to "RedirectToLoginPage".
'AzureActiveDirectory'
'Facebook'
'Github'
'Google'
'MicrosoftAccount'
'Twitter'
enabled <code>true</code> if the Authentication / Authorization feature is enabled for the current app; otherwise, <code>false</code>. bool
facebookAppId The App ID of the Facebook app used for login.
This setting is required for enabling Facebook Login.
Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
string
facebookAppSecret The App Secret of the Facebook app used for Facebook Login.
This setting is required for enabling Facebook Login.
Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
string
facebookAppSecretSettingName The app setting name that contains the app secret used for Facebook Login. string
facebookOAuthScopes The OAuth 2.0 scopes that will be requested as part of Facebook Login authentication.
This setting is optional.
Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
string[]
gitHubClientId The Client Id of the GitHub app used for login.
This setting is required for enabling Github login
string
gitHubClientSecret The Client Secret of the GitHub app used for Github Login.
This setting is required for enabling Github login.
string
gitHubClientSecretSettingName The app setting name that contains the client secret of the Github
app used for GitHub Login.
string
gitHubOAuthScopes The OAuth 2.0 scopes that will be requested as part of GitHub Login authentication.
This setting is optional
string[]
googleClientId The OpenID Connect Client ID for the Google web application.
This setting is required for enabling Google Sign-In.
Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
string
googleClientSecret The client secret associated with the Google web application.
This setting is required for enabling Google Sign-In.
Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
string
googleClientSecretSettingName The app setting name that contains the client secret associated with
the Google web application.
string
googleOAuthScopes The OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication.
This setting is optional. If not specified, "openid", "profile", and "email" are used as default scopes.
Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
string[]
isAuthFromFile "true" if the auth config settings should be read from a file,
"false" otherwise
string
issuer The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.
When using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://sts.windows.net/{tenant-guid}/.
This URI is a case-sensitive identifier for the token issuer.
More information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html
string
microsoftAccountClientId The OAuth 2.0 client ID that was created for the app used for authentication.
This setting is required for enabling Microsoft Account authentication.
Microsoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm
string
microsoftAccountClientSecret The OAuth 2.0 client secret that was created for the app used for authentication.
This setting is required for enabling Microsoft Account authentication.
Microsoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm
string
microsoftAccountClientSecretSettingName The app setting name containing the OAuth 2.0 client secret that was created for the
app used for authentication.
string
microsoftAccountOAuthScopes The OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication.
This setting is optional. If not specified, "wl.basic" is used as the default scope.
Microsoft Account Scopes and permissions documentation: https://msdn.microsoft.com/en-us/library/dn631845.aspx
string[]
runtimeVersion The RuntimeVersion of the Authentication / Authorization feature in use for the current app.
The setting in this value can control the behavior of certain features in the Authentication / Authorization module.
string
tokenRefreshExtensionHours The number of hours after session token expiration that a session token can be used to
call the token refresh API. The default is 72 hours.
int
tokenStoreEnabled <code>true</code> to durably store platform-specific security tokens that are obtained during login flows; otherwise, <code>false</code>.
The default is <code>false</code>.
bool
twitterConsumerKey The OAuth 1.0a consumer key of the Twitter application used for sign-in.
This setting is required for enabling Twitter Sign-In.
Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in
string
twitterConsumerSecret The OAuth 1.0a consumer secret of the Twitter application used for sign-in.
This setting is required for enabling Twitter Sign-In.
Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in
string
twitterConsumerSecretSettingName The app setting name that contains the OAuth 1.0a consumer secret of the Twitter
application used for sign-in.
string
unauthenticatedClientAction The action to take when an unauthenticated client attempts to access the app. 'AllowAnonymous'
'RedirectToLoginPage'
validateIssuer Gets a value indicating whether the issuer should be a valid HTTPS url and be validated as such. bool

SiteAuthSettingsV2Properties

Name Description Value
globalValidation The configuration settings that determines the validation flow of users using App Service Authentication/Authorization. GlobalValidation
httpSettings The configuration settings of the HTTP requests for authentication and authorization requests made against App Service Authentication/Authorization. HttpSettings
identityProviders The configuration settings of each of the identity providers used to configure App Service Authentication/Authorization. IdentityProviders
login The configuration settings of the login flow of users using App Service Authentication/Authorization. Login
platform The configuration settings of the platform of App Service Authentication/Authorization. AuthPlatform

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. 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. 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
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'
'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

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

SiteLogsConfigProperties

Name Description Value
applicationLogs Application logs configuration. ApplicationLogsConfig
detailedErrorMessages Detailed error messages configuration. EnabledConfig
failedRequestsTracing Failed requests tracing configuration. EnabledConfig
httpLogs HTTP logs configuration. HttpLogsConfig

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

StringDictionaryProperties

Name Description Value

StringDictionaryProperties

Name Description Value

TokenStore

Name Description Value
azureBlobStorage The configuration settings of the storage of the tokens if blob storage is used. BlobStorageTokenStore
enabled <code>true</code> to durably store platform-specific security tokens that are obtained during login flows; otherwise, <code>false</code>.
The default is <code>false</code>.
bool
fileSystem The configuration settings of the storage of the tokens if a file system is used. FileSystemTokenStore
tokenRefreshExtensionHours The number of hours after session token expiration that a session token can be used to
call the token refresh API. The default is 72 hours.
int

Twitter

Name Description Value
enabled <code>false</code> if the Twitter provider should not be enabled despite the set registration; otherwise, <code>true</code>. bool
registration The configuration settings of the app registration for the Twitter provider. TwitterRegistration

TwitterRegistration

Name Description Value
consumerKey The OAuth 1.0a consumer key of the Twitter application used for sign-in.
This setting is required for enabling Twitter Sign-In.
Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in
string
consumerSecretSettingName The app setting name that contains the OAuth 1.0a consumer secret of the Twitter
application used for sign-in.
string

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