Microsoft.Web hostingEnvironments 2020-10-01

Bicep resource definition

The hostingEnvironments 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/hostingEnvironments resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.Web/hostingEnvironments@2020-10-01' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  kind: 'string'
  properties: {
    apiManagementAccountId: 'string'
    clusterSettings: [
      {
        name: 'string'
        value: 'string'
      }
    ]
    dnsSuffix: 'string'
    dynamicCacheEnabled: bool
    frontEndScaleFactor: int
    hasLinuxWorkers: bool
    internalLoadBalancingMode: 'string'
    ipsslAddressCount: int
    location: 'string'
    multiRoleCount: int
    multiSize: 'string'
    name: 'string'
    networkAccessControlList: [
      {
        action: 'string'
        description: 'string'
        order: int
        remoteSubnet: 'string'
      }
    ]
    sslCertKeyVaultId: 'string'
    sslCertKeyVaultSecretName: 'string'
    suspended: bool
    userWhitelistedIpRanges: [
      'string'
    ]
    virtualNetwork: {
      id: 'string'
      subnet: 'string'
    }
    vnetName: 'string'
    vnetResourceGroupName: 'string'
    vnetSubnetName: 'string'
    workerPools: [
      {
        computeMode: 'string'
        workerCount: int
        workerSize: 'string'
        workerSizeId: int
      }
    ]
  }
}

Property values

hostingEnvironments

Name Description Value
name The resource name string (required)
location Resource Location. string (required)
tags Resource tags. Dictionary of tag names and values. See Tags in templates
kind Kind of resource. string
properties Core resource properties AppServiceEnvironment

AppServiceEnvironment

Name Description Value
apiManagementAccountId API Management Account associated with the App Service Environment. string
clusterSettings Custom settings for changing the behavior of the App Service Environment. NameValuePair[]
dnsSuffix DNS suffix of the App Service Environment. string
dynamicCacheEnabled True/false indicating whether the App Service Environment is suspended. The environment can be suspended e.g. when the management endpoint is no longer available
(most likely because NSG blocked the incoming traffic).
bool
frontEndScaleFactor Scale factor for front-ends. int
hasLinuxWorkers Flag that displays whether an ASE has linux workers or not bool
internalLoadBalancingMode Specifies which endpoints to serve internally in the Virtual Network for the App Service Environment. 'None'
'Publishing'
'Web'
'Web,Publishing'
ipsslAddressCount Number of IP SSL addresses reserved for the App Service Environment. int
location Location of the App Service Environment, e.g. "West US". string (required)
multiRoleCount Number of front-end instances. int
multiSize Front-end VM size, e.g. "Medium", "Large". string
name Name of the App Service Environment. string (required)
networkAccessControlList Access control list for controlling traffic to the App Service Environment. NetworkAccessControlEntry[]
sslCertKeyVaultId Key Vault ID for ILB App Service Environment default SSL certificate string
sslCertKeyVaultSecretName Key Vault Secret Name for ILB App Service Environment default SSL certificate string
suspended true if the App Service Environment is suspended; otherwise, false. The environment can be suspended, e.g. when the management endpoint is no longer available
(most likely because NSG blocked the incoming traffic).
bool
userWhitelistedIpRanges User added list of IP Ranges allowed on ASE db string[]
virtualNetwork Description of the Virtual Network. VirtualNetworkProfile (required)
vnetName Name of the Virtual Network for the App Service Environment. string
vnetResourceGroupName Resource group of the Virtual Network. string
vnetSubnetName Subnet of the Virtual Network. string
workerPools Description of worker pools with worker size IDs, VM sizes, and number of workers in each pool. WorkerPool[] (required)

NameValuePair

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

NetworkAccessControlEntry

Name Description Value
action Action object. 'Deny'
'Permit'
description Description of network access control entry. string
order Order of precedence. int
remoteSubnet Remote subnet. string

VirtualNetworkProfile

Name Description Value
id Resource id of the Virtual Network. string
subnet Subnet within the Virtual Network. string

WorkerPool

Name Description Value
computeMode Shared or dedicated app hosting. 'Dedicated'
'Dynamic'
'Shared'
workerCount Number of instances in the worker pool. int
workerSize VM size of the worker pool instances. string
workerSizeId Worker size ID for referencing this worker pool. int

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
ILB App Service Environment with Azure Firewall

Deploy to Azure
Resource Manager templates and parameters demonstrating how to deploy App Service environment with Azure Firewall integration
App Service Environment with Azure SQL backend

Deploy to Azure
This template creates an App Service Environment with an Azure SQL backend along with private endpoints along with associated resources typically used in an private/isolated environment.
App Service Environment with Hosting Plan and Azure WebApp

Deploy to Azure
Creates an App Service Environment v2 with an ILB Address in a existing virtual network that will be privately availible. The App Service Environment will contain a Hosting Plan and a Azure Web App
Create Azure App Service Environment With An Web App Added

Deploy to Azure
Creates an Azure App Service Environment inside A Virtual Network Subnet. This template also adds a Azure Web App inside the App Service Environment. Template originally authored by Callum Brankin of PixelPin
Create an App Service Environment

Deploy to Azure
Creates an App Service Environment in your virtual network
SSL certificate for an ILB ASE or an ILB ASE v2

Deploy to Azure
Configures the default SSL certificate for an ILB ASE or an ILB ASE v2
Create App Service Environment with an ILB Address

Deploy to Azure
Creates an App Service Environment in your virtual network with a private internal load balancer address
Create an App Service Environment v2

Deploy to Azure
Creates an App Service Environment v2 in your virtual network
Create App Service Environment v2 with an ILB Address

Deploy to Azure
Creates an App Service Environment v2 in your virtual network with a private internal load balancer address
Create an AppServicePlan and App in an ASEv3

Deploy to Azure
Create an AppServicePlan and App in an ASEv3

ARM template resource definition

The hostingEnvironments 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/hostingEnvironments resource, add the following JSON to your template.

{
  "type": "Microsoft.Web/hostingEnvironments",
  "apiVersion": "2020-10-01",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "kind": "string",
  "properties": {
    "apiManagementAccountId": "string",
    "clusterSettings": [
      {
        "name": "string",
        "value": "string"
      }
    ],
    "dnsSuffix": "string",
    "dynamicCacheEnabled": "bool",
    "frontEndScaleFactor": "int",
    "hasLinuxWorkers": "bool",
    "internalLoadBalancingMode": "string",
    "ipsslAddressCount": "int",
    "location": "string",
    "multiRoleCount": "int",
    "multiSize": "string",
    "name": "string",
    "networkAccessControlList": [
      {
        "action": "string",
        "description": "string",
        "order": "int",
        "remoteSubnet": "string"
      }
    ],
    "sslCertKeyVaultId": "string",
    "sslCertKeyVaultSecretName": "string",
    "suspended": "bool",
    "userWhitelistedIpRanges": [ "string" ],
    "virtualNetwork": {
      "id": "string",
      "subnet": "string"
    },
    "vnetName": "string",
    "vnetResourceGroupName": "string",
    "vnetSubnetName": "string",
    "workerPools": [
      {
        "computeMode": "string",
        "workerCount": "int",
        "workerSize": "string",
        "workerSizeId": "int"
      }
    ]
  }
}

Property values

hostingEnvironments

Name Description Value
type The resource type 'Microsoft.Web/hostingEnvironments'
apiVersion The resource api version '2020-10-01'
name The resource name string (required)
location Resource Location. string (required)
tags Resource tags. Dictionary of tag names and values. See Tags in templates
kind Kind of resource. string
properties Core resource properties AppServiceEnvironment

AppServiceEnvironment

Name Description Value
apiManagementAccountId API Management Account associated with the App Service Environment. string
clusterSettings Custom settings for changing the behavior of the App Service Environment. NameValuePair[]
dnsSuffix DNS suffix of the App Service Environment. string
dynamicCacheEnabled True/false indicating whether the App Service Environment is suspended. The environment can be suspended e.g. when the management endpoint is no longer available
(most likely because NSG blocked the incoming traffic).
bool
frontEndScaleFactor Scale factor for front-ends. int
hasLinuxWorkers Flag that displays whether an ASE has linux workers or not bool
internalLoadBalancingMode Specifies which endpoints to serve internally in the Virtual Network for the App Service Environment. 'None'
'Publishing'
'Web'
'Web,Publishing'
ipsslAddressCount Number of IP SSL addresses reserved for the App Service Environment. int
location Location of the App Service Environment, e.g. "West US". string (required)
multiRoleCount Number of front-end instances. int
multiSize Front-end VM size, e.g. "Medium", "Large". string
name Name of the App Service Environment. string (required)
networkAccessControlList Access control list for controlling traffic to the App Service Environment. NetworkAccessControlEntry[]
sslCertKeyVaultId Key Vault ID for ILB App Service Environment default SSL certificate string
sslCertKeyVaultSecretName Key Vault Secret Name for ILB App Service Environment default SSL certificate string
suspended true if the App Service Environment is suspended; otherwise, false. The environment can be suspended, e.g. when the management endpoint is no longer available
(most likely because NSG blocked the incoming traffic).
bool
userWhitelistedIpRanges User added list of IP Ranges allowed on ASE db string[]
virtualNetwork Description of the Virtual Network. VirtualNetworkProfile (required)
vnetName Name of the Virtual Network for the App Service Environment. string
vnetResourceGroupName Resource group of the Virtual Network. string
vnetSubnetName Subnet of the Virtual Network. string
workerPools Description of worker pools with worker size IDs, VM sizes, and number of workers in each pool. WorkerPool[] (required)

NameValuePair

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

NetworkAccessControlEntry

Name Description Value
action Action object. 'Deny'
'Permit'
description Description of network access control entry. string
order Order of precedence. int
remoteSubnet Remote subnet. string

VirtualNetworkProfile

Name Description Value
id Resource id of the Virtual Network. string
subnet Subnet within the Virtual Network. string

WorkerPool

Name Description Value
computeMode Shared or dedicated app hosting. 'Dedicated'
'Dynamic'
'Shared'
workerCount Number of instances in the worker pool. int
workerSize VM size of the worker pool instances. string
workerSizeId Worker size ID for referencing this worker pool. int

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
ILB App Service Environment with Azure Firewall

Deploy to Azure
Resource Manager templates and parameters demonstrating how to deploy App Service environment with Azure Firewall integration
App Service Environment with Azure SQL backend

Deploy to Azure
This template creates an App Service Environment with an Azure SQL backend along with private endpoints along with associated resources typically used in an private/isolated environment.
App Service Environment with Hosting Plan and Azure WebApp

Deploy to Azure
Creates an App Service Environment v2 with an ILB Address in a existing virtual network that will be privately availible. The App Service Environment will contain a Hosting Plan and a Azure Web App
Create Azure App Service Environment With An Web App Added

Deploy to Azure
Creates an Azure App Service Environment inside A Virtual Network Subnet. This template also adds a Azure Web App inside the App Service Environment. Template originally authored by Callum Brankin of PixelPin
Create an App Service Environment

Deploy to Azure
Creates an App Service Environment in your virtual network
SSL certificate for an ILB ASE or an ILB ASE v2

Deploy to Azure
Configures the default SSL certificate for an ILB ASE or an ILB ASE v2
Create App Service Environment with an ILB Address

Deploy to Azure
Creates an App Service Environment in your virtual network with a private internal load balancer address
Create an App Service Environment v2

Deploy to Azure
Creates an App Service Environment v2 in your virtual network
Create App Service Environment v2 with an ILB Address

Deploy to Azure
Creates an App Service Environment v2 in your virtual network with a private internal load balancer address
Create an AppServicePlan and App in an ASEv3

Deploy to Azure
Create an AppServicePlan and App in an ASEv3

Terraform (AzAPI provider) resource definition

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

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Web/hostingEnvironments@2020-10-01"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  body = jsonencode({
    properties = {
      apiManagementAccountId = "string"
      clusterSettings = [
        {
          name = "string"
          value = "string"
        }
      ]
      dnsSuffix = "string"
      dynamicCacheEnabled = bool
      frontEndScaleFactor = int
      hasLinuxWorkers = bool
      internalLoadBalancingMode = "string"
      ipsslAddressCount = int
      location = "string"
      multiRoleCount = int
      multiSize = "string"
      name = "string"
      networkAccessControlList = [
        {
          action = "string"
          description = "string"
          order = int
          remoteSubnet = "string"
        }
      ]
      sslCertKeyVaultId = "string"
      sslCertKeyVaultSecretName = "string"
      suspended = bool
      userWhitelistedIpRanges = [
        "string"
      ]
      virtualNetwork = {
        id = "string"
        subnet = "string"
      }
      vnetName = "string"
      vnetResourceGroupName = "string"
      vnetSubnetName = "string"
      workerPools = [
        {
          computeMode = "string"
          workerCount = int
          workerSize = "string"
          workerSizeId = int
        }
      ]
    }
    kind = "string"
  })
}

Property values

hostingEnvironments

Name Description Value
type The resource type "Microsoft.Web/hostingEnvironments@2020-10-01"
name The resource name string (required)
location Resource Location. string (required)
parent_id To deploy to a resource group, use the ID of that resource group. string (required)
tags Resource tags. Dictionary of tag names and values.
kind Kind of resource. string
properties Core resource properties AppServiceEnvironment

AppServiceEnvironment

Name Description Value
apiManagementAccountId API Management Account associated with the App Service Environment. string
clusterSettings Custom settings for changing the behavior of the App Service Environment. NameValuePair[]
dnsSuffix DNS suffix of the App Service Environment. string
dynamicCacheEnabled True/false indicating whether the App Service Environment is suspended. The environment can be suspended e.g. when the management endpoint is no longer available
(most likely because NSG blocked the incoming traffic).
bool
frontEndScaleFactor Scale factor for front-ends. int
hasLinuxWorkers Flag that displays whether an ASE has linux workers or not bool
internalLoadBalancingMode Specifies which endpoints to serve internally in the Virtual Network for the App Service Environment. "None"
"Publishing"
"Web"
"Web,Publishing"
ipsslAddressCount Number of IP SSL addresses reserved for the App Service Environment. int
location Location of the App Service Environment, e.g. "West US". string (required)
multiRoleCount Number of front-end instances. int
multiSize Front-end VM size, e.g. "Medium", "Large". string
name Name of the App Service Environment. string (required)
networkAccessControlList Access control list for controlling traffic to the App Service Environment. NetworkAccessControlEntry[]
sslCertKeyVaultId Key Vault ID for ILB App Service Environment default SSL certificate string
sslCertKeyVaultSecretName Key Vault Secret Name for ILB App Service Environment default SSL certificate string
suspended true if the App Service Environment is suspended; otherwise, false. The environment can be suspended, e.g. when the management endpoint is no longer available
(most likely because NSG blocked the incoming traffic).
bool
userWhitelistedIpRanges User added list of IP Ranges allowed on ASE db string[]
virtualNetwork Description of the Virtual Network. VirtualNetworkProfile (required)
vnetName Name of the Virtual Network for the App Service Environment. string
vnetResourceGroupName Resource group of the Virtual Network. string
vnetSubnetName Subnet of the Virtual Network. string
workerPools Description of worker pools with worker size IDs, VM sizes, and number of workers in each pool. WorkerPool[] (required)

NameValuePair

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

NetworkAccessControlEntry

Name Description Value
action Action object. "Deny"
"Permit"
description Description of network access control entry. string
order Order of precedence. int
remoteSubnet Remote subnet. string

VirtualNetworkProfile

Name Description Value
id Resource id of the Virtual Network. string
subnet Subnet within the Virtual Network. string

WorkerPool

Name Description Value
computeMode Shared or dedicated app hosting. "Dedicated"
"Dynamic"
"Shared"
workerCount Number of instances in the worker pool. int
workerSize VM size of the worker pool instances. string
workerSizeId Worker size ID for referencing this worker pool. int