在以后的Terraform步骤中如何使用尚不可用的信息?

时间:2019-06-29 20:12:32

标签: google-cloud-platform terraform google-kubernetes-engine terraform-provider-gcp

我正在使用以下身份验证设置来创建这样的GKE集群:

master_auth {
    # Setting an empty username and password explicitly disables basic auth
    username = ""
    password = ""

    # Whether client certificate authorization is enabled for this cluster.
    client_certificate_config {
      issue_client_certificate = false
    }
  }

创建集群后,我正在使用另一个提供程序来安装头盔图表:

provider "helm" {
  kubernetes {
    host = ...
  }
  tiller_image = "gcr.io/kubernetes-helm/tiller:v2.14.1"
}

我的问题是如何用大概可以从集群创建步骤获得的身份验证信息填充kubernetes块?

1 个答案:

答案 0 :(得分:1)

您可以插值以设置提供程序,就像在Terraform中使用其他任何内容一样。

因此,在您的情况下,您可以使用以下内容:

template<typename T, typename Allocator>
void PrintVect(const std::vector<T, Allocator> &vect)
{
    for (const auto &i : vect) std::cout << i;
}

请注意,并非所有提供者都可以从不存在的资源中进行插值,因为某些提供者会在提供者初始化期间进行特征检测,这是在依赖图需要使用提供者之前进行的。 Postgresql提供程序就是一个例子。这些提供者一旦创建了资源,仍可以使用它;如果从属资源是在另一个上下文/状态文件中创建的,则它们可以使用数据源来访问信息。