如何在Terraform中添加资源依赖项

时间:2019-08-22 14:52:21

标签: terraform

我已经使用terraform创建了一个gcp kubernetes集群,并配置了一些kubernetes资源,例如名称空间和helm版本。如果gcp集群被破坏/创建,我希望terraform自动破坏/重新创建所有kubernetes集群资源,但是我似乎不知道该怎么做。

我尝试重新创建的行为类似于将触发器与null_resources一起使用时所得到的行为。普通资源有可能吗?

resource "google_container_cluster" "primary" {
  name               = "marcellus-wallace"
  location           = "us-central1-a"
  initial_node_count = 3


resource "kubernetes_namespace" "example" {
  metadata {
    annotations = {
      name = "example-annotation"
    }

    labels = {
      mylabel = "label-value"
    }

    name = "terraform-example-namespace"

    #Something like this, but this only works with null_resources
    triggers {
       cluster_id = "${google_container_cluster.primary.id}" 
     }
  }
}

1 个答案:

答案 0 :(得分:0)

在您的特定情况下,您无需指定任何显式依赖项。由于您的第二个资源中有cluster_id = "${google_container_cluster.primary.id}",因此将自动设置它们。

如果需要设置手动依赖性,可以使用depends_on元参数。