{ "$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 } } }