Обеспечить зависимость между модулями в Terraform - PullRequest
0 голосов
/ 24 января 2020

Я использую модули Terraform в файле main.tf следующим образом:

module "jenkins" {
  install_jenkins = "${var.install_jenkins}"
  jenkins_plugins_list = "${var.jenkins_plugins_list}"
}

module "kube" {
  source        = "../../../../modules-terraform/kube_internal"
  cluster_count = "${var.gke_cluster_create}"

}

Я хочу, чтобы модуль jenkins выполнял после модуля kube.

Есть ли способ сделать это в Terraform 0.11.14 (или даже обойти это решение)?

Я не смог найти ничего релевантного в документации .

1 Ответ

1 голос
/ 24 января 2020

Хакерский обходной путь, доступный в 0.11.14, заключается в том, чтобы модуль jenkins создавал ресурс на основе выходных данных модуля kube, а другие ресурсы зависели от этого ресурса, например,

variable "cluster_id" {
  descripion = "passed by kube module to create dependency on kube module"
}

resource "null_resource" "cluster" {
  provisioner "local-exec" {
    # Create dependency on kubernetes cluster by calling variable
    command = "echo ${var.cluster_id}"
  }
}

resource "some_other_resource" "other" {
  depends_on = ["null_resource.cluster"]
}
...