Create Web App for Containers (Azure App Service).
resource "azurerm_resource_group" "example" {
  name     = "example-resources"
  location = "centralus"
}
module "web_app_container" {
  # Example source URL points to Terraform Enterprise Private Module Registry
  source  = "app.terraform.io/multicloud/web-app-container/azurerm"
  version = "2.6.1"
  name = "hello-world"
  resource_group_name = azurerm_resource_group.example.name
  container_type = "docker"
  container_image = "robpco/palacearcade:latest"
}| Name | Type | Description | 
|---|---|---|
name | 
string | 
The name of the web app. | 
resource_group_name | 
string | 
The name of an existing resource group to use for the web app. | 
plan | 
object | 
App Service plan properties. This should be plan object. | 
container_type | 
string | 
Type of container. The options are: docker, compose and kube. Default: docker. | 
container_config | 
string | 
Configuration for the container. This should be YAML. | 
container_image | 
string | 
Container image name. Example: innovationnorway/go-hello-world:latest. | 
port | 
string | 
The value of the expected container port number. | 
enable_storage | 
bool | 
Mount an SMB share to the /home/ directory. Default: false. | 
start_time_limit | 
string | 
Configure the amount of time (in seconds) the app service will wait before it restarts the container. Default: 230. | 
command | 
string | 
A command to be run on the container. | 
app_settings | 
map | 
Set app settings. These are avilable as environment variables at runtime. | 
secure_app_settings | 
map | 
Set sensitive app settings. Uses Key Vault references as values for app settings. | 
key_vault_id | 
string | 
The ID of an existing Key Vault. Required if secure_app_settings is set. | 
https_only | 
bool | 
Redirect all traffic made to the web app using HTTP to HTTPS. Default: true. | 
ftps_state | 
string | 
Set the FTPS state value the web app. The options are: AllAllowed, Disabled and FtpsOnly. Default: Disabled. | 
ip_restrictions | 
list | 
A list of IP addresses in CIDR format specifying Access Restrictions. | 
custom_hostnames | 
list | 
List of custom hostnames to use for the web app. | 
identity | 
object | 
Managed service identity properties. This should be identity object. | 
auth | 
object | 
Auth settings for the web app. This should be auth object. | 
docker_registry_username | 
string | 
The container registry username. | 
docker_registry_url | 
string | 
The container registry url. Default: https://index.docker.io | 
docker_registry_password | 
string | 
The container registry password. | 
storage_mounts | 
list | 
List of storage mounts for the web app. | 
tags | 
map | 
A mapping of tags to assign to the web app. | 
The plan object accepts the following keys:
| Name | Type | Description | 
|---|---|---|
id | 
string | 
The ID of an existing app service plan. | 
name | 
string | 
The name of a new app service plan. | 
sku_size | 
string | 
The SKU size of a new app service plan. The options are: F1, D1, B1, B2, B3, S1, S2, S3, P1v2, P2v2, P3v2. Default: F1. | 
The sku_size parameter can be one of the following:
| Size | Tier | Description | 
|---|---|---|
F1, Free | 
Free | Free | 
D1, Shared | 
Shared | Shared | 
B1, B2, B3 | 
Basic | Small, Medium, Large | 
S1, S2, S3 | 
Standard | Small, Medium, Large | 
P1v2, P2v2, P3v2 | 
PremiumV2 | Small, Medium, Large | 
The identity object accepts the following keys:
| Name | Type | Description | 
|---|---|---|
enabled | 
bool | 
Whether managed service identity is enabled for the web app. Default: true. | 
ids | 
list | 
List of user managed identity IDs. | 
The storage_mounts object accepts the following keys:
| Name | Type | Description | 
|---|---|---|
name | 
string | 
The identifier of the storage mount. | 
account_name | 
string | 
The name of the storage account. | 
share_name | 
string | 
The name of the file share. | 
container_name | 
string | 
The name of the blob container. Either this or share_name should be specified, but not both. | 
mount_path | 
string | 
The path to mount the storage within the web app. | 
The auth object accepts the following keys:
| Name | Type | Description | 
|---|---|---|
enabled | 
bool | 
Whether authentication is enabled for the web app. | 
token_store_enabled | 
bool | 
Whether token store is enabled for the web app. | 
active_directory | 
object | 
Azure Active Directory auth settings. This should be active_directory object. | 
The active_directory object accepts the following keys:
| Name | Type | Description | 
|---|---|---|
client_id | 
string | 
The ID of the Azure AD application. | 
client_secret | 
string | 
The password of the Azure AD Application. |