我想使用Terraform创建azure应用服务。
resource "azurerm_app_service" "one-app-sts" {
name = "${var.environment}-one-app-sts"
location = "${var.location}"
resource_group_name = "${azurerm_resource_group.one.name}"
app_service_plan_id = "${azurerm_app_service_plan.one.id}"
app_settings {
"Serilog:WriteTo:0:Args:workspaceId" = "${azurerm_log_analytics_workspace.one.workspace_id}"
}
tags {
environment = "${var.environment}"
source = "terraform"
}
}
对于测试,应将其命名为 test-one-app-sts ,对于生产环境,应将其命名为 prod-one-app-sts 。 我试图用tfvar文件注入变量,但是terrafrom计划重命名服务而不是创建新服务。
我将如何以某种方式制作脚本,以便可以根据需要创建/销毁尽可能多的不同环境(开发,测试,上一个版本,一个产品,一个产品)?
PS>示例用于服务,但我也有服务总线,数据库,作为环境一部分的功能,应重新创建/销毁。
答案 0 :(得分:0)
好吧,弄清楚了:工作区是一个答案https://www.terraform.io/docs/state/workspaces.html
我可以部署环境的任意数量的副本=)
terraform workspace new test
将创建新状态,仅用于测试。