在Terraform中提供模块之间的依赖性

时间:2020-01-24 10:16:15

标签: terraform

我正在使用<?php namespace App\Http\Controllers; use App\Http\Requests\IndexRequest; class HomeController extends Controller { public function about(IndexRequest $request) { return $request->all(); } } ?> 文件中的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模块后之后执行。

在Terraform kube中是否有办法(甚至可以解决)?

documentation中找不到任何相关内容。

1 个答案:

答案 0 :(得分:1)

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"]
}