Вы можете интерполировать значения, чтобы настроить провайдера так же, как и для всего остального в Terraform.
Так что в вашем случае вы можете использовать что-то вроде следующего:
resource "google_container_cluster" "cluster" {
# ...
}
provider "helm" {
kubernetes {
host = "https://${google_container_cluster.cluster.endpoint}"
username = "${google_container_cluster.cluster.master_auth.0.username}"
password = "${google_container_cluster.cluster.master_auth.0.password}"
client_certificate = "${google_container_cluster.cluster.master_auth.0.client_certificate}"
client_key = "${google_container_cluster.cluster.master_auth.0.client_key}"
cluster_ca_certificate = "${google_container_cluster.cluster.master_auth.0.cluster_ca_certificate}"
}
}
Обратите внимание, что не все поставщики могут выполнять интерполяцию из несуществующего ресурса, поскольку некоторые поставщики выполняют обнаружение функций во время инициализации поставщика, которая происходит до того, как граф зависимостей должен использовать поставщика. Поставщик Postgresql является примером этого. Эти поставщики могут по-прежнему работать с ресурсом после его создания или использовать источник данных для доступа к информации, если зависимый ресурс был создан в другом файле контекста / состояния.