是否可以向terraform模块添加模板或循环

是否可以向terraform模块添加模板或循环,terraform,Terraform,如果我有一个地形模块: module "name_1" { source = "../some_path" account_id = "name_1" } module "name_2" { source = "../some_path" account_id = "name_2" } module "name_3" { source = "../some_path" account_id = "name_3" } 是否可以添加一些逻辑(循环)或模板,这样我就不必一

如果我有一个地形模块:

module "name_1" {
  source = "../some_path"
  account_id = "name_1"
}

module "name_2" {
  source = "../some_path"
  account_id = "name_2"
}

module "name_3" {
  source = "../some_path"
  account_id = "name_3"
}
是否可以添加一些逻辑(循环)或模板,这样我就不必一次又一次地重复模块

比如:

module "name_{num}" {
  source = "../some_path"
  account_id = "name_{num}"
}
到目前为止(地形0.11),这是不可能的。即将发布的版本0.12将由于更好的HCL解析器而带来很多改进

如上所述,以下语法的计划将在0.12版中不可用:

resource "aws_subnet" "example" {
  for_each = var.subnet_numbers

  vpc_id            = aws_vpc.example.id
  availability_zone = each.key
  cidr_block        = cidrsubnet(aws_vpc.example.cidr_block, 8, each.value)
}

尽管如此,我想我们都很期待这一点。

请注意,0.11,像
aws\u subnet
这样的正常资源可以使用
count
()进行缩放。但是,对于
模块
,这是不可能的。