resource "random_pet" "rg_name" { prefix = var.resource_group_name_prefix } resource "azurerm_resource_group" "rg" { location = var.resource_group_location name = random_pet.rg_name.id } resource "random_string" "storage_account_name" { length = 8 lower = true numeric = false special = false upper = false } resource "azurerm_storage_account" "example" { name = random_string.storage_account_name.result resource_group_name = azurerm_resource_group.rg.name location = azurerm_resource_group.rg.location account_tier = "Standard" account_replication_type = "LRS" } resource "random_string" "storage_container_name" { length = 8 lower = true numeric = false special = false upper = false } resource "azurerm_storage_container" "example" { name = random_string.storage_container_name.result storage_account_name = azurerm_storage_account.example.name container_access_type = "private" } resource "random_string" "service_plan_name" { length = 8 lower = true numeric = false special = false upper = false } resource "azurerm_service_plan" "example" { name = random_string.service_plan_name.result location = azurerm_resource_group.rg.location resource_group_name = azurerm_resource_group.rg.name os_type = "Windows" sku_name = "S1" } data "azurerm_storage_account_sas" "example" { connection_string = azurerm_storage_account.example.primary_connection_string https_only = true resource_types { service = false container = false object = true } services { blob = true queue = false table = false file = false } # Please change the start_date variable (in variables.tf) to the appropriate # value for your environment. start = formatdate(var.start_date, timestamp()) expiry = formatdate(var.start_date, timeadd(timestamp(), "8765h")) permissions { read = false write = true delete = false list = false add = false create = false update = false process = false tag = false filter = false } } resource "random_string" "windows_web_app_name" { length = 8 lower = true numeric = false special = false upper = false } resource "azurerm_windows_web_app" "example" { name = random_string.windows_web_app_name.result location = azurerm_resource_group.rg.location resource_group_name = azurerm_resource_group.rg.name service_plan_id = azurerm_service_plan.example.id backup { name = "Example" storage_account_url = "https://${azurerm_storage_account.example.name}.blob.core.windows.net/${azurerm_storage_container.example.name}${data.azurerm_storage_account_sas.example.sas}&sr=b" schedule { frequency_interval = 30 frequency_unit = "Day" } } site_config { application_stack { dotnet_version = "v6.0" current_stack = "dotnet" } } }