Manages an App Service Environment.
resource "azurerm_resource_group" "example" {
name = "exampleRG1"
location = "West Europe"
}
resource "azurerm_virtual_network" "example" {
name = "example-vnet1"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
address_space = ["10.0.0.0/16"]
}
resource "azurerm_subnet" "ase" {
name = "asesubnet"
resource_group_name = azurerm_resource_group.example.name
virtual_network_name = azurerm_virtual_network.example.name
address_prefixes = ["10.0.1.0/24"]
}
resource "azurerm_subnet" "gateway" {
name = "gatewaysubnet"
resource_group_name = azurerm_resource_group.example.name
virtual_network_name = azurerm_virtual_network.example.name
address_prefixes = ["10.0.2.0/24"]
}
resource "azurerm_app_service_environment" "example" {
name = "example-ase"
resource_group_name = azurerm_resource_group.example.name
subnet_id = azurerm_subnet.ase.id
pricing_tier = "I2"
front_end_scale_factor = 10
internal_load_balancing_mode = "Web, Publishing"
allowed_user_ip_cidrs = ["11.22.33.44/32", "55.66.77.0/24"]
cluster_setting {
name = "DisableTls1.0"
value = "1"
}
}
name
- (Required) The name of the App Service Environment. Changing this forces a new resource to be created.
subnet_id
- (Required) The ID of the Subnet which the App Service Environment should be connected to. Changing this forces a new resource to be created.
cluster_setting
- (Optional) Zero or more cluster_setting
blocks as defined below.
internal_load_balancing_mode
- (Optional) Specifies which endpoints to serve internally in the Virtual Network for the App Service Environment. Possible values are None
, Web
, Publishing
and combined value "Web, Publishing"
. Defaults to None
. Changing this forces a new resource to be created.
pricing_tier
- (Optional) Pricing tier for the front end instances. Possible values are I1
, I2
and I3
. Defaults to I1
.
front_end_scale_factor
- (Optional) Scale factor for front end instances. Possible values are between 5
and 15
. Defaults to 15
.
allowed_user_ip_cidrs
- (Optional) Allowed user added IP ranges on the ASE database. Use the addresses you want to set as the explicit egress address ranges.
resource_group_name
- (Required) The name of the Resource Group where the App Service Environment exists. Defaults to the Resource Group of the Subnet (specified by subnet_id
).
tags
- (Optional) A mapping of tags to assign to the resource. Changing this forces a new resource to be created.
A cluster_setting
block supports the following:
name
- (Required) The name of the Cluster Setting.
value
- (Required) The value for the Cluster Setting.
id
- The ID of the App Service Environment.
internal_ip_address
- IP address of internal load balancer of the App Service Environment.
location
- The location where the App Service Environment exists.
outbound_ip_addresses
- List of outbound IP addresses of the App Service Environment.
service_ip_address
- IP address of service endpoint of the App Service Environment.
The timeouts
block allows you to specify timeouts for certain actions:
create
- (Defaults to 6 hours) Used when creating the App Service Environment.update
- (Defaults to 6 hours) Used when updating the App Service Environment.read
- (Defaults to 5 minutes) Used when retrieving the App Service Environment.delete
- (Defaults to 6 hours) Used when deleting the App Service Environment.The App Service Environment can be imported using the resource id
, e.g.
terraform import azurerm_app_service_environment.myAppServiceEnv /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Web/hostingEnvironments/myAppServiceEnv