具有可重复变量的Terraform模块

时间:2018-10-17 05:35:16

标签: terraform

几种资源,例如aws_dynamodb_table具有可重复的变量。对于aws_dynamodb_table资源,attribute是可重复的,它允许您使用以下两种语法之一指定多个属性

attribute {
  name = "UserId"
  type = "S"
}

attribute {
  name = "GameTitle"
  type = "S"
}

attribute {
  name = "TopScore"
  type = "N"
}

attribute = [{
  name = "UserId"
  type = "S"
}, {
  name = "GameTitle"
  type = "S"
}, {
  name = "TopScore"
  type = "N"
}]

我喜欢这个界面,并希望在我的模块中提供相同的灵活性,但是我似乎找不到任何有关如何执行此操作的文档。这对于模块是否可行,还是只有内置资源可以做到这一点?

1 个答案:

答案 0 :(得分:0)

看起来您可以多次提供attribute作为单独的地图(然后合并)或作为列表。

您将要查看与Input Variable Configuration

相关的文档

特别是,您将要查看标题为Variable Merging的部分。

我相信您可以针对类似的行为执行类似的操作(从上述文档中,请给他们阅读:P)

foo {
   quux="bar"
} 
foo {
   bar="baz"
} 

这意味着foo返回:

{
  quux = "bar"
  bar = "baz"
}

希望有帮助!