小编Dim*_*uts的帖子

Terraform 可选嵌套对象变量

新的地形。使用地形 0.12。我正在尝试改造我们的 Cloudflare 设置。

需要创建多个相同类型的资源(cloudflare provider page_rule 资源)并使用 config.tfvars 将值传递给资源“模板”。

我已经声明了一个 list(object({...})) 类型的变量。

需要一些对象参数是可选的,因此如果没有在 config.tfvars 中为某些列表元素指定条目,则创建的资源没有它们。

我已经阅读了 terraform 的 0.12 null 默认变量值,但我不确定是否有办法为 terraform 对象参数指定默认值。我见过的所有例子都只指定了参数的类型。

代码示例:

变量.tf

variable "example_page_rule"{
      type = list(object({
            cache_level = string,
            ssl = string,
            target = string    
      }))   
}
Run Code Online (Sandbox Code Playgroud)

主文件

resource "cloudflare_page_rule" "page_rule" {
        count = length(var.example_page_rule)
    cache_level = var.example_page_rule[count.index].cache_level
    ssl = var.example_page_rule[count.index].ssl
    target = var.example_page_rule[count.index].target
}
Run Code Online (Sandbox Code Playgroud)

配置文件

page_rules = [
{
   target = "www.target-url.com",
   ssl = "flexible",
   cache_level = "simplified",
},

{
   target = "www.target-url.com",
   cache_level …
Run Code Online (Sandbox Code Playgroud)

terraform

7
推荐指数
2
解决办法
1万
查看次数

标签 统计

terraform ×1