{
"$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-properties-schema.json",
"title": "SiteProperties",
"description": "Site resource specific properties",
"type": "object",
"properties": {
"state": {
"type": "string",
"description": "Current state of the app.",
"readOnly": true
},
"hostNames": {
"type": "array",
"description": "Hostnames associated with the app.",
"items": {
"type": "string"
},
"readOnly": true
},
"repositorySiteName": {
"type": "string",
"description": "Name of the repository site.",
"readOnly": true
},
"usageState": {
"$ref": "#/definitions/UsageState",
"description": "State indicating whether the app has exceeded its quota usage. Read-only.",
"readOnly": true
},
"enabled": {
"type": "boolean",
"description": "true if the app is enabled; otherwise, false. Setting this value to false disables the app (takes the app offline)."
},
"enabledHostNames": {
"type": "array",
"description": "Enabled hostnames for the app.Hostnames need to be assigned (see HostNames) AND enabled. Otherwise,\nthe app is not served on those hostnames.",
"items": {
"type": "string"
},
"readOnly": true
},
"availabilityState": {
"$ref": "#/definitions/SiteAvailabilityState",
"description": "Management information availability state for the app.",
"readOnly": true
},
"hostNameSslStates": {
"type": "array",
"description": "Hostname SSL states are used to manage the SSL bindings for app's hostnames.",
"items": {
"$ref": "#/definitions/HostNameSslState"
},
"x-ms-identifiers": [
"name"
]
},
"serverFarmId": {
"type": "string",
"description": "Resource ID of the associated App Service plan, formatted as: \"/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}\"."
},
"reserved": {
"type": "boolean",
"description": "true if reserved; otherwise, false.",
"default": false,
"x-ms-mutability": [
"read",
"create"
]
},
"isXenon": {
"type": "boolean",
"description": "Obsolete: Hyper-V sandbox.",
"default": false,
"x-ms-mutability": [
"read",
"create"
]
},
"hyperV": {
"type": "boolean",
"description": "Hyper-V sandbox.",
"default": false,
"x-ms-mutability": [
"read",
"create"
]
},
"lastModifiedTimeUtc": {
"type": "string",
"format": "date-time",
"description": "Last time the app was modified, in UTC. Read-only.",
"readOnly": true
},
"dnsConfiguration": {
"$ref": "#/definitions/SiteDnsConfig",
"description": "Property to configure various DNS related settings for a site."
},
"outboundVnetRouting": {
"$ref": "#/definitions/OutboundVnetRouting",
"description": "Property to configure various outbound traffic routing options over virtual network for a site"
},
"siteConfig": {
"$ref": "#/definitions/SiteConfig",
"description": "Configuration of an App Service app. This property is not returned in response to normal create and read requests since it may contain sensitive information.",
"x-ms-mutability": [
"update",
"create"
]
},
"functionAppConfig": {
"$ref": "#/definitions/FunctionAppConfig",
"description": "Configuration specific of the Azure Function app."
},
"daprConfig": {
"$ref": "#/definitions/DaprConfig",
"description": "Dapr configuration of the app."
},
"workloadProfileName": {
"type": "string",
"description": "Workload profile name for function app to execute on."
},
"resourceConfig": {
"$ref": "#/definitions/ResourceConfig",
"description": "Function app resource requirements."
},
"trafficManagerHostNames": {
"type": "array",
"description": "Azure Traffic Manager hostnames associated with the app. Read-only.",
"items": {
"type": "string"
},
"readOnly": true
},
"scmSiteAlsoStopped": {
"type": "boolean",
"description": "true to stop SCM (KUDU) site when the app is stopped; otherwise, false. The default is false.",
"default": false
},
"targetSwapSlot": {
"type": "string",
"description": "Specifies which deployment slot this app will swap into. Read-only.",
"readOnly": true
},
"hostingEnvironmentProfile": {
"$ref": "#/definitions/HostingEnvironmentProfile",
"description": "App Service Environment to use for the app.",
"x-ms-mutability": [
"read",
"create"
]
},
"clientAffinityEnabled": {
"type": "boolean",
"description": "true to enable client affinity; false to stop sending session affinity cookies, which route client requests in the same session to the same instance. Default is true.",
"default": false
},
"clientAffinityPartitioningEnabled": {
"type": "boolean",
"description": "true to enable client affinity partitioning using CHIPS cookies, this will add the partitioned property to the affinity cookies; false to stop sending partitioned affinity cookies. Default is false."
},
"clientAffinityProxyEnabled": {
"type": "boolean",
"description": "true to override client affinity cookie domain with X-Forwarded-Host request header. false to use default domain. Default is false."
},
"clientCertEnabled": {
"type": "boolean",
"description": "true to enable client certificate authentication (TLS mutual authentication); otherwise, false. Default is false."
},
"clientCertMode": {
"$ref": "#/definitions/ClientCertMode",
"description": "This composes with ClientCertEnabled setting.\n- ClientCertEnabled: false means ClientCert is ignored.\n- ClientCertEnabled: true and ClientCertMode: Required means ClientCert is required.\n- ClientCertEnabled: true and ClientCertMode: Optional means ClientCert is optional or accepted."
},
"clientCertExclusionPaths": {
"type": "string",
"description": "client certificate authentication comma-separated exclusion paths"
},
"ipMode": {
"$ref": "#/definitions/IPMode",
"description": "Specifies the IP mode of the app."
},
"endToEndEncryptionEnabled": {
"type": "boolean",
"description": "Whether to use end to end encryption between the FrontEnd and the Worker"
},
"sshEnabled": {
"type": "boolean",
"description": "Whether to enable ssh access."
},
"hostNamesDisabled": {
"type": "boolean",
"description": "true to disable the public hostnames of the app; otherwise, false.\nIf true, the app is only accessible via API management process."
},
"customDomainVerificationId": {
"type": "string",
"description": "Unique identifier that verifies the custom domains assigned to the app. Customer will add this id to a txt record for verification."
},
"outboundIpAddresses": {
"type": "string",
"description": "List of IP addresses that the app uses for outbound connections (e.g. database access). Includes VIPs from tenants that site can be hosted with current settings. Read-only.",
"readOnly": true
},
"possibleOutboundIpAddresses": {
"type": "string",
"description": "List of IP addresses that the app uses for outbound connections (e.g. database access). Includes VIPs from all tenants except dataComponent. Read-only.",
"readOnly": true
},
"containerSize": {
"type": "integer",
"format": "int32",
"description": "Size of the function container."
},
"dailyMemoryTimeQuota": {
"type": "integer",
"format": "int32",
"description": "Maximum allowed daily memory-time quota (applicable on dynamic apps only)."
},
"suspendedTill": {
"type": "string",
"format": "date-time",
"description": "App suspended till in case memory-time quota is exceeded.",
"readOnly": true
},
"maxNumberOfWorkers": {
"type": "integer",
"format": "int32",
"description": "Maximum number of workers.\nThis only applies to Functions container.",
"readOnly": true
},
"cloningInfo": {
"$ref": "#/definitions/CloningInfo",
"description": "If specified during app creation, the app is cloned from a source app.",
"x-ms-mutability": [
"create"
]
},
"resourceGroup": {
"type": "string",
"description": "Name of the resource group the app belongs to. Read-only.",
"readOnly": true
},
"isDefaultContainer": {
"type": "boolean",
"description": "true if the app is a default container; otherwise, false.",
"readOnly": true
},
"defaultHostName": {
"type": "string",
"description": "Default hostname of the app. Read-only.",
"readOnly": true
},
"slotSwapStatus": {
"$ref": "#/definitions/SlotSwapStatus",
"description": "Status of the last deployment slot swap operation.",
"readOnly": true
},
"httpsOnly": {
"type": "boolean",
"description": "HttpsOnly: configures a web site to accept only https requests. Issues redirect for\nhttp requests"
},
"redundancyMode": {
"$ref": "#/definitions/RedundancyMode",
"description": "Site redundancy mode"
},
"inProgressOperationId": {
"type": "string",
"format": "uuid",
"description": "Specifies an operation id if this site has a pending operation.",
"readOnly": true
},
"publicNetworkAccess": {
"type": "string",
"description": "Property to allow or block all public traffic. Allowed Values: 'Enabled', 'Disabled' or an empty string."
},
"storageAccountRequired": {
"type": "boolean",
"description": "Checks if Customer provided storage account is required"
},
"keyVaultReferenceIdentity": {
"type": "string",
"description": "Identity to use for Key Vault Reference authentication."
},
"autoGeneratedDomainNameLabelScope": {
"$ref": "#/definitions/AutoGeneratedDomainNameLabelScope",
"description": "Specifies the scope of uniqueness for the default hostname during resource creation"
},
"virtualNetworkSubnetId": {
"type": "string",
"description": "Azure Resource Manager ID of the Virtual network and subnet to be joined by Regional VNET Integration.\nThis must be of the form /subscriptions/{subscriptionName}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}"
},
"managedEnvironmentId": {
"type": "string",
"description": "Azure Resource Manager ID of the customer's selected Managed Environment on which to host this app. This must be of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.App/managedEnvironments/{managedEnvironmentName}"
},
"sku": {
"type": "string",
"description": "Current SKU of application based on associated App Service Plan. Some valid SKU values are Free, Shared, Basic, Dynamic, FlexConsumption, Standard, Premium, PremiumV2, PremiumV3, Isolated, IsolatedV2",
"readOnly": true
}
}
}