上下文:
我正在使用Terraform使用OpenAPI Specification 3.0构建API网关。我在与terraform代码不同的回购中获得了api-spec.yaml
文件。所以,这是我到目前为止所做的。
resource "null_resource" "clone-spec-file" {
provisioner "local-exec" {
command = "git clone https://gitlab.com/dShringi/openapi-spec.git"
}
}
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")
。
感谢您对如何最好地处理它的想法,谢谢。