等待terraform,直到执行一个循环
我正在尝试使用terraform脚本和arm模板创建多个数据库。基本上我是从terraform调用arm模板 在这里,我想通过让计数等待到1被创建,然后执行第二个循环来创建多个数据库等待terraform,直到执行一个循环,terraform,arm-template,terraform-provider-azure,Terraform,Arm Template,Terraform Provider Azure,我正在尝试使用terraform脚本和arm模板创建多个数据库。基本上我是从terraform调用arm模板 在这里,我想通过让计数等待到1被创建,然后执行第二个循环来创建多个数据库 resource "azurerm_template_deployment" "db" { count = length(local.env.other_database_to_be_created) name
resource "azurerm_template_deployment" "db" {
count = length(local.env.other_database_to_be_created)
name = "sql-uppers-digital-${local.env.other_database_to_be_created[count.index]}"
resource_group_name = local.env.rg_name
template_body = file("${path.module}/sqldbserver.json")
parameters = {
sqlServerName = local.env.sqlServerName
location = local.env.location
sqlDbName = local.env.other_database_to_be_created[count.index]
sqlDbCollation = local.env.sqlDbCollation
sqlDbEdition = local.env.sqlDbEdition
sqlDbRequestedServiceObjectiveName= local.env.sqlDbRequestedServiceObjectiveName
sqlServerAdminLogin = local.env.sqlServerAdminLogin
sqlServerAdminLoginPassword = local.env.sqlServerAdminLoginPassword
}
deployment_mode = "Incremental"
timeouts {
create = "20m"
}
depends_on = [azurerm_template_deployment.sqlserver]
}
在Terraform的模型中,一个特定资源的所有实例都是并发操作的。具体的执行细节可能会因Terraform的其他工作而有所不同,因为由于资源使用的原因对并发性有限制,但是,您应该在这样的假设下编写配置,即特定资源的所有实例彼此独立,可以按任何顺序创建,也可能同时创建
如果一个对象依赖于另一个对象,则必须将它们作为两个独立的
资源
块写入,即使它们具有相同的资源类型。然后,您可以使用从一个到另一个的引用来显示Terraform,它们之间存在依赖关系,因此必须先创建一个,然后再创建另一个。问题是什么?代码怎么了?有错误吗?@Marcin实际上我是用arm模板创建的,这个arm模板是从terraform调用的。所以我希望它等到第一个循环完成,然后创建第二个数据库。我的主要目标是使用arm模板创建多个数据库,但它应该从TerraForm调用为什么不希望它们都并行创建?如果需要,您还可以将标志设置为一次只做一件事。