SiteConfig

Configuration of an App Service app.

AzureCloudComputeEvent-DrivenMicrosoftServerless

Properties

Name Type Description
numberOfWorkers integer Number of workers.
defaultDocuments array Default documents.
netFrameworkVersion string .NET Framework version.
phpVersion string Version of PHP.
pythonVersion string Version of Python.
nodeVersion string Version of Node.js.
powerShellVersion string Version of PowerShell.
linuxFxVersion string Linux App Framework and version
windowsFxVersion string Xenon App Framework and version
requestTracingEnabled boolean true if request tracing is enabled; otherwise, false.
requestTracingExpirationTime string Request tracing expiration time.
remoteDebuggingEnabled boolean true if remote debugging is enabled; otherwise, false.
remoteDebuggingVersion string Remote debugging version.
httpLoggingEnabled boolean true if HTTP logging is enabled; otherwise, false.
acrUseManagedIdentityCreds boolean Flag to use Managed Identity Creds for ACR pull
acrUserManagedIdentityID string If using user managed identity, the user managed identity ClientId
logsDirectorySizeLimit integer HTTP logs directory size limit.
detailedErrorLoggingEnabled boolean true if detailed error logging is enabled; otherwise, false.
publishingUsername string Publishing user name.
appSettings array Application settings. This property is not returned in response to normal create and read requests since it may contain sensitive information.
metadata array Application metadata. This property cannot be retrieved, since it may contain secrets.
connectionStrings array Connection strings. This property is not returned in response to normal create and read requests since it may contain sensitive information.
machineKey object Site MachineKey.
handlerMappings array Handler mappings.
documentRoot string Document root.
scmType object SCM type.
use32BitWorkerProcess boolean true to use 32-bit worker process; otherwise, false.
webSocketsEnabled boolean true if WebSocket is enabled; otherwise, false.
alwaysOn boolean true if Always On is enabled; otherwise, false.
javaVersion string Java version.
javaContainer string Java container.
javaContainerVersion string Java container version.
appCommandLine string App command line to launch.
managedPipelineMode object Managed pipeline mode.
virtualApplications array Virtual applications.
loadBalancing object Site load balancing.
experiments object This is work around for polymorphic types.
limits object Site limits.
autoHealEnabled boolean true if Auto Heal is enabled; otherwise, false.
autoHealRules object Auto Heal rules.
tracingOptions string Tracing options.
vnetName string Virtual Network name.
vnetRouteAllEnabled boolean Virtual Network Route All enabled. This causes all outbound traffic to have Virtual Network Security Groups and User Defined Routes applied.
vnetPrivatePortsCount integer The number of private ports assigned to this app. These will be assigned dynamically on runtime.
cors object Cross-Origin Resource Sharing (CORS) settings.
push object Push endpoint settings.
apiDefinition object Information about the formal API definition for the app.
apiManagementConfig object Azure API management settings linked to the app.
autoSwapSlotName string Auto-swap slot name.
localMySqlEnabled boolean true to enable local MySQL; otherwise, false.
managedServiceIdentityId integer Managed Service Identity Id
xManagedServiceIdentityId integer Explicit Managed Service Identity Id
keyVaultReferenceIdentity string Identity to use for Key Vault Reference authentication.
ipSecurityRestrictions array IP security restrictions for main.
ipSecurityRestrictionsDefaultAction object Default action for main access restriction if no rules are matched.
scmIpSecurityRestrictions array IP security restrictions for scm.
scmIpSecurityRestrictionsDefaultAction object Default action for scm access restriction if no rules are matched.
scmIpSecurityRestrictionsUseMain boolean IP security restrictions for scm to use main.
http20Enabled boolean Http20Enabled: configures a web site to allow clients to connect over http2.0
http20ProxyFlag integer Http20ProxyFlag: Configures a website to allow http2.0 to pass be proxied all the way to the app. 0 = disabled, 1 = pass through all http2 traffic, 2 = pass through gRPC only.
minTlsVersion object MinTlsVersion: configures the minimum version of TLS required for SSL requests
minTlsCipherSuite object The minimum strength TLS cipher suite allowed for an application
scmMinTlsVersion object ScmMinTlsVersion: configures the minimum version of TLS required for SSL requests for SCM site
ftpsState object State of FTP / FTPS service
preWarmedInstanceCount integer Number of preWarmed instances. This setting only applies to the Consumption and Elastic Plans
functionAppScaleLimit integer Maximum number of workers that a site can scale out to. This setting only applies to the Consumption and Elastic Premium Plans
elasticWebAppScaleLimit integer Maximum number of workers that a site can scale out to. This setting only applies to apps in plans where ElasticScaleEnabled is true
healthCheckPath string Health check path
functionsRuntimeScaleMonitoringEnabled boolean 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 t
websiteTimeZone string 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
minimumElasticInstanceCount integer Number of minimum instance count for a site This setting only applies to the Elastic Plans
azureStorageAccounts object List of Azure Storage Accounts.
publicNetworkAccess string Property to allow or block all public traffic.
View JSON Schema on GitHub

JSON Schema

azure-functions-site-config-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/microsoft-azure-functions/refs/heads/main/json-schema/azure-functions-site-config-schema.json",
  "title": "SiteConfig",
  "description": "Configuration of an App Service app.",
  "type": "object",
  "properties": {
    "numberOfWorkers": {
      "type": "integer",
      "format": "int32",
      "description": "Number of workers."
    },
    "defaultDocuments": {
      "type": "array",
      "description": "Default documents.",
      "items": {
        "type": "string"
      }
    },
    "netFrameworkVersion": {
      "type": "string",
      "description": ".NET Framework version.",
      "default": "v4.6"
    },
    "phpVersion": {
      "type": "string",
      "description": "Version of PHP."
    },
    "pythonVersion": {
      "type": "string",
      "description": "Version of Python."
    },
    "nodeVersion": {
      "type": "string",
      "description": "Version of Node.js."
    },
    "powerShellVersion": {
      "type": "string",
      "description": "Version of PowerShell."
    },
    "linuxFxVersion": {
      "type": "string",
      "description": "Linux App Framework and version"
    },
    "windowsFxVersion": {
      "type": "string",
      "description": "Xenon App Framework and version"
    },
    "requestTracingEnabled": {
      "type": "boolean",
      "description": "<code>true</code> if request tracing is enabled; otherwise, <code>false</code>."
    },
    "requestTracingExpirationTime": {
      "type": "string",
      "format": "date-time",
      "description": "Request tracing expiration time."
    },
    "remoteDebuggingEnabled": {
      "type": "boolean",
      "description": "<code>true</code> if remote debugging is enabled; otherwise, <code>false</code>."
    },
    "remoteDebuggingVersion": {
      "type": "string",
      "description": "Remote debugging version."
    },
    "httpLoggingEnabled": {
      "type": "boolean",
      "description": "<code>true</code> if HTTP logging is enabled; otherwise, <code>false</code>."
    },
    "acrUseManagedIdentityCreds": {
      "type": "boolean",
      "description": "Flag to use Managed Identity Creds for ACR pull"
    },
    "acrUserManagedIdentityID": {
      "type": "string",
      "description": "If using user managed identity, the user managed identity ClientId"
    },
    "logsDirectorySizeLimit": {
      "type": "integer",
      "format": "int32",
      "description": "HTTP logs directory size limit."
    },
    "detailedErrorLoggingEnabled": {
      "type": "boolean",
      "description": "<code>true</code> if detailed error logging is enabled; otherwise, <code>false</code>."
    },
    "publishingUsername": {
      "type": "string",
      "description": "Publishing user name."
    },
    "appSettings": {
      "type": "array",
      "description": "Application settings. This property is not returned in response to normal create and read requests since it may contain sensitive information.",
      "items": {
        "$ref": "#/definitions/NameValuePair"
      },
      "x-ms-identifiers": [
        "name"
      ],
      "x-ms-mutability": [
        "update",
        "create"
      ]
    },
    "metadata": {
      "type": "array",
      "description": "Application metadata. This property cannot be retrieved, since it may contain secrets.",
      "items": {
        "$ref": "#/definitions/NameValuePair"
      },
      "x-ms-identifiers": [
        "name"
      ],
      "x-ms-mutability": [
        "update",
        "create"
      ]
    },
    "connectionStrings": {
      "type": "array",
      "description": "Connection strings. This property is not returned in response to normal create and read requests since it may contain sensitive information.",
      "items": {
        "$ref": "#/definitions/ConnStringInfo"
      },
      "x-ms-identifiers": [
        "name"
      ],
      "x-ms-mutability": [
        "update",
        "create"
      ]
    },
    "machineKey": {
      "$ref": "#/definitions/SiteMachineKey",
      "description": "Site MachineKey.",
      "readOnly": true
    },
    "handlerMappings": {
      "type": "array",
      "description": "Handler mappings.",
      "items": {
        "$ref": "#/definitions/HandlerMapping"
      },
      "x-ms-identifiers": [
        "extension"
      ]
    },
    "documentRoot": {
      "type": "string",
      "description": "Document root."
    },
    "scmType": {
      "$ref": "#/definitions/ScmType",
      "description": "SCM type."
    },
    "use32BitWorkerProcess": {
      "type": "boolean",
      "description": "<code>true</code> to use 32-bit worker process; otherwise, <code>false</code>."
    },
    "webSocketsEnabled": {
      "type": "boolean",
      "description": "<code>true</code> if WebSocket is enabled; otherwise, <code>false</code>."
    },
    "alwaysOn": {
      "type": "boolean",
      "description": "<code>true</code> if Always On is enabled; otherwise, <code>false</code>."
    },
    "javaVersion": {
      "type": "string",
      "description": "Java version."
    },
    "javaContainer": {
      "type": "string",
      "description": "Java container."
    },
    "javaContainerVersion": {
      "type": "string",
      "description": "Java container version."
    },
    "appCommandLine": {
      "type": "string",
      "description": "App command line to launch."
    },
    "managedPipelineMode": {
      "$ref": "#/definitions/ManagedPipelineMode",
      "description": "Managed pipeline mode."
    },
    "virtualApplications": {
      "type": "array",
      "description": "Virtual applications.",
      "items": {
        "$ref": "#/definitions/VirtualApplication"
      },
      "x-ms-identifiers": [
        "virtualPath"
      ]
    },
    "loadBalancing": {
      "$ref": "#/definitions/SiteLoadBalancing",
      "description": "Site load balancing."
    },
    "experiments": {
      "$ref": "#/definitions/Experiments",
      "description": "This is work around for polymorphic types."
    },
    "limits": {
      "$ref": "#/definitions/SiteLimits",
      "description": "Site limits."
    },
    "autoHealEnabled": {
      "type": "boolean",
      "description": "<code>true</code> if Auto Heal is enabled; otherwise, <code>false</code>."
    },
    "autoHealRules": {
      "$ref": "#/definitions/AutoHealRules",
      "description": "Auto Heal rules."
    },
    "tracingOptions": {
      "type": "string",
      "description": "Tracing options."
    },
    "vnetName": {
      "type": "string",
      "description": "Virtual Network name.",
      "x-ms-mutability": [
        "read",
        "create"
      ]
    },
    "vnetRouteAllEnabled": {
      "type": "boolean",
      "description": "Virtual Network Route All enabled. This causes all outbound traffic to have Virtual Network Security Groups and User Defined Routes applied."
    },
    "vnetPrivatePortsCount": {
      "type": "integer",
      "format": "int32",
      "description": "The number of private ports assigned to this app. These will be assigned dynamically on runtime."
    },
    "cors": {
      "$ref": "#/definitions/CorsSettings",
      "description": "Cross-Origin Resource Sharing (CORS) settings."
    },
    "push": {
      "$ref": "#/definitions/PushSettings",
      "description": "Push endpoint settings."
    },
    "apiDefinition": {
      "$ref": "#/definitions/ApiDefinitionInfo",
      "description": "Information about the formal API definition for the app."
    },
    "apiManagementConfig": {
      "$ref": "#/definitions/ApiManagementConfig",
      "description": "Azure API management settings linked to the app."
    },
    "autoSwapSlotName": {
      "type": "string",
      "description": "Auto-swap slot name."
    },
    "localMySqlEnabled": {
      "type": "boolean",
      "description": "<code>true</code> to enable local MySQL; otherwise, <code>false</code>.",
      "default": false
    },
    "managedServiceIdentityId": {
      "type": "integer",
      "format": "int32",
      "description": "Managed Service Identity Id"
    },
    "xManagedServiceIdentityId": {
      "type": "integer",
      "format": "int32",
      "description": "Explicit Managed Service Identity Id"
    },
    "keyVaultReferenceIdentity": {
      "type": "string",
      "description": "Identity to use for Key Vault Reference authentication."
    },
    "ipSecurityRestrictions": {
      "type": "array",
      "description": "IP security restrictions for main.",
      "items": {
        "$ref": "#/definitions/IpSecurityRestriction"
      },
      "x-ms-identifiers": [
        "name"
      ]
    },
    "ipSecurityRestrictionsDefaultAction": {
      "$ref": "#/definitions/DefaultAction",
      "description": "Default action for main access restriction if no rules are matched."
    },
    "scmIpSecurityRestrictions": {
      "type": "array",
      "description": "IP security restrictions for scm.",
      "items": {
        "$ref": "#/definitions/IpSecurityRestriction"
      },
      "x-ms-identifiers": [
        "name"
      ]
    },
    "scmIpSecurityRestrictionsDefaultAction": {
      "$ref": "#/definitions/DefaultAction",
      "description": "Default action for scm access restriction if no rules are matched."
    },
    "scmIpSecurityRestrictionsUseMain": {
      "type": "boolean",
      "description": "IP security restrictions for scm to use main."
    },
    "http20Enabled": {
      "type": "boolean",
      "description": "Http20Enabled: configures a web site to allow clients to connect over http2.0",
      "default": true
    },
    "http20ProxyFlag": {
      "type": "integer",
      "format": "int32",
      "description": "Http20ProxyFlag: Configures a website to allow http2.0 to pass be proxied all the way to the app. 0 = disabled, 1 = pass through all http2 traffic, 2 = pass through gRPC only.",
      "default": 0
    },
    "minTlsVersion": {
      "$ref": "#/definitions/SupportedTlsVersions",
      "description": "MinTlsVersion: configures the minimum version of TLS required for SSL requests"
    },
    "minTlsCipherSuite": {
      "$ref": "#/definitions/TlsCipherSuites",
      "description": "The minimum strength TLS cipher suite allowed for an application"
    },
    "scmMinTlsVersion": {
      "$ref": "#/definitions/SupportedTlsVersions",
      "description": "ScmMinTlsVersion: configures the minimum version of TLS required for SSL requests for SCM site"
    },
    "ftpsState": {
      "$ref": "#/definitions/FtpsState",
      "description": "State of FTP / FTPS service"
    },
    "preWarmedInstanceCount": {
      "type": "integer",
      "format": "int32",
      "description": "Number of preWarmed instances.\nThis setting only applies to the Consumption and Elastic Plans",
      "minimum": 0,
      "maximum": 10
    },
    "functionAppScaleLimit": {
      "type": "integer",
      "format": "int32",
      "description": "Maximum number of workers that a site can scale out to.\nThis setting only applies to the Consumption and Elastic Premium Plans",
      "minimum": 0
    },
    "elasticWebAppScaleLimit": {
      "type": "integer",
      "format": "int32",
      "description": "Maximum number of workers that a site can scale out to.\nThis setting only applies to apps in plans where ElasticScaleEnabled is <code>true</code>",
      "minimum": 0
    },
    "healthCheckPath": {
      "type": "string",
      "description": "Health check path"
    },
    "functionsRuntimeScaleMonitoringEnabled": {
      "type": "boolean",
      "description": "Gets or sets a value indicating whether functions runtime scale monitoring is enabled. When enabled,\nthe ScaleController will not monitor event sources directly, but will instead call to the\nruntime to get scale status."
    },
    "websiteTimeZone": {
      "type": "string",
      "description": "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"
    },
    "minimumElasticInstanceCount": {
      "type": "integer",
      "format": "int32",
      "description": "Number of minimum instance count for a site\nThis setting only applies to the Elastic Plans",
      "minimum": 0,
      "maximum": 20
    },
    "azureStorageAccounts": {
      "type": "object",
      "description": "List of Azure Storage Accounts.",
      "additionalProperties": {
        "$ref": "#/definitions/AzureStorageInfoValue"
      }
    },
    "publicNetworkAccess": {
      "type": "string",
      "description": "Property to allow or block all public traffic."
    }
  }
}