计划或初始化阶段的Terraform克隆git repo

时间:2020-04-21 02:57:04

标签: terraform aws-api-gateway openapi terraform-provider-aws

上下文:

我正在使用Terraform使用OpenAPI Specification 3.0构建API网关。我在与terraform代码不同的回购中获得了api-spec.yaml文件。所以,这是我到目前为止所做的。

  1. 使用null_resource在所需位置克隆存储库
resource "null_resource" "clone-spec-file" {
  provisioner "local-exec" {
    command = "git clone https://gitlab.com/dShringi/openapi-spec.git"
  }
}
  1. 在创建api网关资源时使用克隆的api-spec文件
data "template_file" swagger {
  template = file("./openapi-spec/api-spec.yaml")
  depends_on = ["null_resource.clone-spec-file"]
}

问题: 该脚本在terraform计划中失败,因为尽管我在depends_on中使用了template_file,但实际上并没有在计划阶段克隆存储库,但它会检查文件是否存在,因此会失败并找不到文件在template = file("./openapi-spec/api-spec.yaml")

感谢您对如何最好地处理它的想法,谢谢。

0 个答案:

没有答案