121 lines
3.0 KiB
HCL
121 lines
3.0 KiB
HCL
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"
|
|
}
|
|
}
|
|
} |