Terraform 地形资源中的条件嵌套块

Terraform 地形资源中的条件嵌套块,terraform,Terraform,鉴于这一资源: resource "google_compute_instance" "instance" { ... network_interface { ... access_config { ... } } } 我想根据条件有条件地定义access\u config属性 [编辑]解决方案 我不是很熟悉,但我认为您可以使用count参数来实现这一点 首先,需要在variables.tf文件中添

鉴于这一资源:

resource "google_compute_instance" "instance" {
    ...
    network_interface {
        ...
        access_config {
            ...
        }
    }
}
我想根据条件有条件地定义
access\u config
属性

[编辑]解决方案
我不是很熟悉,但我认为您可以使用count参数来实现这一点

首先,需要在variables.tf文件中添加一个变量:

variable "conditional_on" {
  description = "enable or disable"
  type        = bool
}
然后可以将count参数与变量一起添加:

resource "google_compute_instance" "instance" {
    ...
    network_interface {
        ...
        dynamic "access_config" {
            count = var.conditional_on ? 1 : 0
            content {
                ...
            }
        }
    }
}
有关Terraform文档的更多信息:

类似于Josep Nadal所提到的内容,但将每个
计数更改为

  dynamic "access_config" {
    for_each = var.conditional_on ? ["1"] : []
    content {
      nat_ip = null
    }
  }

您能用动态嵌套块的结果更新吗?此外,这可能会成为TerraformGithub跟踪器上的一个问题。事实上,我发现我编写的语法是正确的!我的IDE只是在抱怨,我以为出了什么问题。。。我的错!要么我遗漏了什么,要么动态块不支持
count
  dynamic "access_config" {
    for_each = var.conditional_on ? ["1"] : []
    content {
      nat_ip = null
    }
  }