Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Bicep resource definition
The staticSites 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/staticSites resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.Web/staticSites@2025-03-01' = {
scope: resourceSymbolicName or scope
identity: {
type: 'string'
userAssignedIdentities: {
{customized property}: {}
}
}
kind: 'string'
location: 'string'
name: 'string'
properties: {
allowConfigFileUpdates: bool
branch: 'string'
buildProperties: {
apiBuildCommand: 'string'
apiLocation: 'string'
appArtifactLocation: 'string'
appBuildCommand: 'string'
appLocation: 'string'
githubActionSecretNameOverride: 'string'
outputLocation: 'string'
skipGithubActionWorkflowGeneration: bool
}
enterpriseGradeCdnStatus: 'string'
provider: 'string'
publicNetworkAccess: 'string'
repositoryToken: 'string'
repositoryUrl: 'string'
stagingEnvironmentPolicy: 'string'
templateProperties: {
description: 'string'
isPrivate: bool
owner: 'string'
repositoryName: 'string'
templateRepositoryUrl: 'string'
}
}
sku: {
capabilities: [
{
name: 'string'
reason: 'string'
value: 'string'
}
]
capacity: int
family: 'string'
locations: [
'string'
]
name: 'string'
size: 'string'
skuCapacity: {
default: int
elasticMaximum: int
maximum: int
minimum: int
scaleType: 'string'
}
tier: 'string'
}
tags: {
{customized property}: 'string'
}
}
Property Values
Microsoft.Web/staticSites
| Name | Description | Value |
|---|---|---|
| identity | Managed service identity. | ManagedServiceIdentity |
| kind | Kind of resource. If the resource is an app, you can refer to https://github.com/Azure/app-service-linux-docs/blob/master/Things_You_Should_Know/kind_property.md#app-service-resource-kind-reference for details supported values for kind. | string |
| location | Resource Location. | string (required) |
| name | The resource name | string (required) |
| properties | Core resource properties | StaticSite |
| scope | Use when creating a resource at a scope that is different than the deployment scope. | Set this property to the symbolic name of a resource to apply the extension resource. |
| sku | Description of a SKU for a scalable resource. | SkuDescription |
| tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
Capability
| Name | Description | Value |
|---|---|---|
| name | Name of the SKU capability. | string |
| reason | Reason of the SKU capability. | string |
| value | Value of the SKU capability. | string |
ManagedServiceIdentity
| Name | Description | Value |
|---|---|---|
| type | Type of managed service identity. | 'None' 'SystemAssigned' 'SystemAssigned, UserAssigned' 'UserAssigned' |
| userAssignedIdentities | The list of user assigned identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} | ManagedServiceIdentityUserAssignedIdentities |
ManagedServiceIdentityUserAssignedIdentities
| Name | Description | Value |
|---|
ResourceTags
| Name | Description | Value |
|---|
SkuCapacity
| Name | Description | Value |
|---|---|---|
| default | Default number of workers for this App Service plan SKU. | int |
| elasticMaximum | Maximum number of Elastic workers for this App Service plan SKU. | int |
| maximum | Maximum number of workers for this App Service plan SKU. | int |
| minimum | Minimum number of workers for this App Service plan SKU. | int |
| scaleType | Available scale configurations for an App Service plan. | string |
SkuDescription
| Name | Description | Value |
|---|---|---|
| capabilities | Capabilities of the SKU, e.g., is traffic manager enabled? | Capability[] |
| capacity | Current number of instances assigned to the resource. | int |
| family | Family code of the resource SKU. | string |
| locations | Locations of the SKU. | string[] |
| name | Name of the resource SKU. | string |
| size | Size specifier of the resource SKU. | string |
| skuCapacity | Min, max, and default scale values of the SKU. | SkuCapacity |
| tier | Service tier of the resource SKU. | string |
StaticSite
| Name | Description | Value |
|---|---|---|
| allowConfigFileUpdates | <code>false</code> if config file is locked for this static web app; otherwise, <code>true</code>. | bool |
| branch | The target branch in the repository. | string |
| buildProperties | Build properties to configure on the repository. | StaticSiteBuildProperties |
| enterpriseGradeCdnStatus | State indicating the status of the enterprise grade CDN serving traffic to the static web app. | 'Disabled' 'Disabling' 'Enabled' 'Enabling' |
| provider | The provider that submitted the last deployment to the primary environment of the static site. | string |
| publicNetworkAccess | State indicating whether public traffic are allowed or not for a static web app. Allowed Values: 'Enabled', 'Disabled' or an empty string. | string |
| repositoryToken | A user's github repository token. This is used to setup the Github Actions workflow file and API secrets. | string |
| repositoryUrl | URL for the repository of the static site. | string |
| stagingEnvironmentPolicy | State indicating whether staging environments are allowed or not allowed for a static web app. | 'Disabled' 'Enabled' |
| templateProperties | Template options for generating a new repository. | StaticSiteTemplateOptions |
StaticSiteBuildProperties
| Name | Description | Value |
|---|---|---|
| apiBuildCommand | A custom command to run during deployment of the Azure Functions API application. | string |
| apiLocation | The path to the api code within the repository. | string |
| appArtifactLocation | Deprecated: The path of the app artifacts after building (deprecated in favor of OutputLocation) | string |
| appBuildCommand | A custom command to run during deployment of the static content application. | string |
| appLocation | The path to the app code within the repository. | string |
| githubActionSecretNameOverride | Github Action secret name override. | string |
| outputLocation | The output path of the app after building. | string |
| skipGithubActionWorkflowGeneration | Skip Github Action workflow generation. | bool |
StaticSiteTemplateOptions
| Name | Description | Value |
|---|---|---|
| description | Description of the newly generated repository. | string |
| isPrivate | Whether or not the newly generated repository is a private repository. Defaults to false (i.e. public). | bool |
| owner | Owner of the newly generated repository. | string |
| repositoryName | Name of the newly generated repository. | string |
| templateRepositoryUrl | URL of the template repository. The newly generated repository will be based on this one. | string |
UserAssignedIdentity
| Name | Description | Value |
|---|
Usage Examples
Azure Verified Modules
The following Azure Verified Modules can be used to deploy this resource type.
| Module | Description |
|---|---|
| Static Web App | AVM Resource Module for Static Web App |
ARM template resource definition
The staticSites 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/staticSites resource, add the following JSON to your template.
{
"type": "Microsoft.Web/staticSites",
"apiVersion": "2025-03-01",
"name": "string",
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": {
}
}
},
"kind": "string",
"location": "string",
"properties": {
"allowConfigFileUpdates": "bool",
"branch": "string",
"buildProperties": {
"apiBuildCommand": "string",
"apiLocation": "string",
"appArtifactLocation": "string",
"appBuildCommand": "string",
"appLocation": "string",
"githubActionSecretNameOverride": "string",
"outputLocation": "string",
"skipGithubActionWorkflowGeneration": "bool"
},
"enterpriseGradeCdnStatus": "string",
"provider": "string",
"publicNetworkAccess": "string",
"repositoryToken": "string",
"repositoryUrl": "string",
"stagingEnvironmentPolicy": "string",
"templateProperties": {
"description": "string",
"isPrivate": "bool",
"owner": "string",
"repositoryName": "string",
"templateRepositoryUrl": "string"
}
},
"sku": {
"capabilities": [
{
"name": "string",
"reason": "string",
"value": "string"
}
],
"capacity": "int",
"family": "string",
"locations": [ "string" ],
"name": "string",
"size": "string",
"skuCapacity": {
"default": "int",
"elasticMaximum": "int",
"maximum": "int",
"minimum": "int",
"scaleType": "string"
},
"tier": "string"
},
"tags": {
"{customized property}": "string"
}
}
Property Values
Microsoft.Web/staticSites
| Name | Description | Value |
|---|---|---|
| apiVersion | The api version | '2025-03-01' |
| identity | Managed service identity. | ManagedServiceIdentity |
| kind | Kind of resource. If the resource is an app, you can refer to https://github.com/Azure/app-service-linux-docs/blob/master/Things_You_Should_Know/kind_property.md#app-service-resource-kind-reference for details supported values for kind. | string |
| location | Resource Location. | string (required) |
| name | The resource name | string (required) |
| properties | Core resource properties | StaticSite |
| sku | Description of a SKU for a scalable resource. | SkuDescription |
| tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
| type | The resource type | 'Microsoft.Web/staticSites' |
Capability
| Name | Description | Value |
|---|---|---|
| name | Name of the SKU capability. | string |
| reason | Reason of the SKU capability. | string |
| value | Value of the SKU capability. | string |
ManagedServiceIdentity
| Name | Description | Value |
|---|---|---|
| type | Type of managed service identity. | 'None' 'SystemAssigned' 'SystemAssigned, UserAssigned' 'UserAssigned' |
| userAssignedIdentities | The list of user assigned identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} | ManagedServiceIdentityUserAssignedIdentities |
ManagedServiceIdentityUserAssignedIdentities
| Name | Description | Value |
|---|
ResourceTags
| Name | Description | Value |
|---|
SkuCapacity
| Name | Description | Value |
|---|---|---|
| default | Default number of workers for this App Service plan SKU. | int |
| elasticMaximum | Maximum number of Elastic workers for this App Service plan SKU. | int |
| maximum | Maximum number of workers for this App Service plan SKU. | int |
| minimum | Minimum number of workers for this App Service plan SKU. | int |
| scaleType | Available scale configurations for an App Service plan. | string |
SkuDescription
| Name | Description | Value |
|---|---|---|
| capabilities | Capabilities of the SKU, e.g., is traffic manager enabled? | Capability[] |
| capacity | Current number of instances assigned to the resource. | int |
| family | Family code of the resource SKU. | string |
| locations | Locations of the SKU. | string[] |
| name | Name of the resource SKU. | string |
| size | Size specifier of the resource SKU. | string |
| skuCapacity | Min, max, and default scale values of the SKU. | SkuCapacity |
| tier | Service tier of the resource SKU. | string |
StaticSite
| Name | Description | Value |
|---|---|---|
| allowConfigFileUpdates | <code>false</code> if config file is locked for this static web app; otherwise, <code>true</code>. | bool |
| branch | The target branch in the repository. | string |
| buildProperties | Build properties to configure on the repository. | StaticSiteBuildProperties |
| enterpriseGradeCdnStatus | State indicating the status of the enterprise grade CDN serving traffic to the static web app. | 'Disabled' 'Disabling' 'Enabled' 'Enabling' |
| provider | The provider that submitted the last deployment to the primary environment of the static site. | string |
| publicNetworkAccess | State indicating whether public traffic are allowed or not for a static web app. Allowed Values: 'Enabled', 'Disabled' or an empty string. | string |
| repositoryToken | A user's github repository token. This is used to setup the Github Actions workflow file and API secrets. | string |
| repositoryUrl | URL for the repository of the static site. | string |
| stagingEnvironmentPolicy | State indicating whether staging environments are allowed or not allowed for a static web app. | 'Disabled' 'Enabled' |
| templateProperties | Template options for generating a new repository. | StaticSiteTemplateOptions |
StaticSiteBuildProperties
| Name | Description | Value |
|---|---|---|
| apiBuildCommand | A custom command to run during deployment of the Azure Functions API application. | string |
| apiLocation | The path to the api code within the repository. | string |
| appArtifactLocation | Deprecated: The path of the app artifacts after building (deprecated in favor of OutputLocation) | string |
| appBuildCommand | A custom command to run during deployment of the static content application. | string |
| appLocation | The path to the app code within the repository. | string |
| githubActionSecretNameOverride | Github Action secret name override. | string |
| outputLocation | The output path of the app after building. | string |
| skipGithubActionWorkflowGeneration | Skip Github Action workflow generation. | bool |
StaticSiteTemplateOptions
| Name | Description | Value |
|---|---|---|
| description | Description of the newly generated repository. | string |
| isPrivate | Whether or not the newly generated repository is a private repository. Defaults to false (i.e. public). | bool |
| owner | Owner of the newly generated repository. | string |
| repositoryName | Name of the newly generated repository. | string |
| templateRepositoryUrl | URL of the template repository. The newly generated repository will be based on this one. | string |
UserAssignedIdentity
| Name | Description | Value |
|---|
Usage Examples
Terraform (AzAPI provider) resource definition
The staticSites 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/staticSites resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Web/staticSites@2025-03-01"
name = "string"
parent_id = "string"
identity {
type = "string"
identity_ids = [
"string"
]
}
location = "string"
tags = {
{customized property} = "string"
}
body = {
kind = "string"
properties = {
allowConfigFileUpdates = bool
branch = "string"
buildProperties = {
apiBuildCommand = "string"
apiLocation = "string"
appArtifactLocation = "string"
appBuildCommand = "string"
appLocation = "string"
githubActionSecretNameOverride = "string"
outputLocation = "string"
skipGithubActionWorkflowGeneration = bool
}
enterpriseGradeCdnStatus = "string"
provider = "string"
publicNetworkAccess = "string"
repositoryToken = "string"
repositoryUrl = "string"
stagingEnvironmentPolicy = "string"
templateProperties = {
description = "string"
isPrivate = bool
owner = "string"
repositoryName = "string"
templateRepositoryUrl = "string"
}
}
sku = {
capabilities = [
{
name = "string"
reason = "string"
value = "string"
}
]
capacity = int
family = "string"
locations = [
"string"
]
name = "string"
size = "string"
skuCapacity = {
default = int
elasticMaximum = int
maximum = int
minimum = int
scaleType = "string"
}
tier = "string"
}
}
}
Property Values
Microsoft.Web/staticSites
| Name | Description | Value |
|---|---|---|
| identity | Managed service identity. | ManagedServiceIdentity |
| kind | Kind of resource. If the resource is an app, you can refer to https://github.com/Azure/app-service-linux-docs/blob/master/Things_You_Should_Know/kind_property.md#app-service-resource-kind-reference for details supported values for kind. | string |
| location | Resource Location. | string (required) |
| name | The resource name | string (required) |
| parent_id | The ID of the resource to apply this extension resource to. | string (required) |
| properties | Core resource properties | StaticSite |
| sku | Description of a SKU for a scalable resource. | SkuDescription |
| tags | Resource tags | Dictionary of tag names and values. |
| type | The resource type | "Microsoft.Web/staticSites@2025-03-01" |
Capability
| Name | Description | Value |
|---|---|---|
| name | Name of the SKU capability. | string |
| reason | Reason of the SKU capability. | string |
| value | Value of the SKU capability. | string |
ManagedServiceIdentity
| Name | Description | Value |
|---|---|---|
| type | Type of managed service identity. | 'None' 'SystemAssigned' 'SystemAssigned, UserAssigned' 'UserAssigned' |
| userAssignedIdentities | The list of user assigned identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} | ManagedServiceIdentityUserAssignedIdentities |
ManagedServiceIdentityUserAssignedIdentities
| Name | Description | Value |
|---|
ResourceTags
| Name | Description | Value |
|---|
SkuCapacity
| Name | Description | Value |
|---|---|---|
| default | Default number of workers for this App Service plan SKU. | int |
| elasticMaximum | Maximum number of Elastic workers for this App Service plan SKU. | int |
| maximum | Maximum number of workers for this App Service plan SKU. | int |
| minimum | Minimum number of workers for this App Service plan SKU. | int |
| scaleType | Available scale configurations for an App Service plan. | string |
SkuDescription
| Name | Description | Value |
|---|---|---|
| capabilities | Capabilities of the SKU, e.g., is traffic manager enabled? | Capability[] |
| capacity | Current number of instances assigned to the resource. | int |
| family | Family code of the resource SKU. | string |
| locations | Locations of the SKU. | string[] |
| name | Name of the resource SKU. | string |
| size | Size specifier of the resource SKU. | string |
| skuCapacity | Min, max, and default scale values of the SKU. | SkuCapacity |
| tier | Service tier of the resource SKU. | string |
StaticSite
| Name | Description | Value |
|---|---|---|
| allowConfigFileUpdates | <code>false</code> if config file is locked for this static web app; otherwise, <code>true</code>. | bool |
| branch | The target branch in the repository. | string |
| buildProperties | Build properties to configure on the repository. | StaticSiteBuildProperties |
| enterpriseGradeCdnStatus | State indicating the status of the enterprise grade CDN serving traffic to the static web app. | 'Disabled' 'Disabling' 'Enabled' 'Enabling' |
| provider | The provider that submitted the last deployment to the primary environment of the static site. | string |
| publicNetworkAccess | State indicating whether public traffic are allowed or not for a static web app. Allowed Values: 'Enabled', 'Disabled' or an empty string. | string |
| repositoryToken | A user's github repository token. This is used to setup the Github Actions workflow file and API secrets. | string |
| repositoryUrl | URL for the repository of the static site. | string |
| stagingEnvironmentPolicy | State indicating whether staging environments are allowed or not allowed for a static web app. | 'Disabled' 'Enabled' |
| templateProperties | Template options for generating a new repository. | StaticSiteTemplateOptions |
StaticSiteBuildProperties
| Name | Description | Value |
|---|---|---|
| apiBuildCommand | A custom command to run during deployment of the Azure Functions API application. | string |
| apiLocation | The path to the api code within the repository. | string |
| appArtifactLocation | Deprecated: The path of the app artifacts after building (deprecated in favor of OutputLocation) | string |
| appBuildCommand | A custom command to run during deployment of the static content application. | string |
| appLocation | The path to the app code within the repository. | string |
| githubActionSecretNameOverride | Github Action secret name override. | string |
| outputLocation | The output path of the app after building. | string |
| skipGithubActionWorkflowGeneration | Skip Github Action workflow generation. | bool |
StaticSiteTemplateOptions
| Name | Description | Value |
|---|---|---|
| description | Description of the newly generated repository. | string |
| isPrivate | Whether or not the newly generated repository is a private repository. Defaults to false (i.e. public). | bool |
| owner | Owner of the newly generated repository. | string |
| repositoryName | Name of the newly generated repository. | string |
| templateRepositoryUrl | URL of the template repository. The newly generated repository will be based on this one. | string |
UserAssignedIdentity
| Name | Description | Value |
|---|
Usage Examples
Terraform Samples
A basic example of deploying Static Web App.
terraform {
required_providers {
azapi = {
source = "Azure/azapi"
}
}
}
provider "azapi" {
skip_provider_registration = false
}
variable "resource_name" {
type = string
default = "acctest0001"
}
variable "location" {
type = string
default = "westeurope"
}
resource "azapi_resource" "resourceGroup" {
type = "Microsoft.Resources/resourceGroups@2020-06-01"
name = var.resource_name
location = var.location
}
resource "azapi_resource" "staticSite" {
type = "Microsoft.Web/staticSites@2021-02-01"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
location = var.location
body = {
properties = {
}
sku = {
name = "Free"
tier = "Free"
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
Azure Verified Modules
The following Azure Verified Modules can be used to deploy this resource type.
| Module | Description |
|---|---|
| Static Web App | AVM Resource Module for Static Web App |