我们有一个 terraform 实例和脚本,可以在 azure 中创建基础设施。我们希望使用相同的脚本为 azure 上的每位客户创建/更新/销毁隔离的基础设施。我们通过为每个客户端分配一个工作区、不同的 var 文件并使用 azure 上的后端远程状态文件来实现这一目标。
我们的目的是创建一个包装器 python 程序,它可以创建多个线程并触发 terraform 并行应用于所有工作区。这似乎不起作用,因为 terraform 一次只运行一个工作区。关于如何实现适用于不同工作空间的 terraform 并行执行的任何建议/建议?
地图/对象变量内的任何字符串属性的命令行输入都存在问题。 以下配置适用于以下命令。但是当我在对象变量中使用任何字符串属性时。它失败
terraform plan -var='storageProfile2={"storage_mb":102400,"backup_retention_days":15,"geo_redundant_backup_enabled":false}'
Run Code Online (Sandbox Code Playgroud)
//main.tf
resource "azurerm_postgresql_server" "dmcdevops_postgress" {
name = "pstgressdb101"
location = azurerm_resource_group.dmc_rg_creation.location
resource_group_name = azurerm_resource_group.dmc_rg_creation.name
sku_name = "GP_Gen5_4"
backup_retention_days = var.storageProfile2.backup_retention_days
storage_mb = var.storageProfile2.storage_mb
geo_redundant_backup_enabled = var.storageProfile2.geo_redundant_backup_enabled
administrator_login = "sdfgsgfsg"
administrator_login_password = "H@Sh1CoR3!"
version = "11"
ssl_enforcement_enabled = true
}
//variables.tf
variable "storageProfile2" {
default = {
storage_mb = 102400
backup_retention_days = 15
geo_redundant_backup_enabled = false
}
type = object(
{
storage_mb = number
backup_retention_days = number
geo_redundant_backup_enabled = bool
}
)
}
Run Code Online (Sandbox Code Playgroud)
下面的配置不起作用。我刚刚将 …