Terraform клон git репо на стадии планирования или инициации - PullRequest
1 голос
/ 21 апреля 2020

Контекст:

Я строю API-шлюз с OpenAPI Спецификации 3.0 с использованием terraform. У меня есть файл api-spec.yaml в другом репо из кода terraform. Итак, вот что я сделал до сих пор.

  1. Использование null_resource для клонирования репо в нужном месте
resource "null_resource" "clone-spec-file" {
  provisioner "local-exec" {
    command = "git clone https://gitlab.com/dShringi/openapi-spec.git"
  }
}
Использование клонированного файла api-spe c при создании ресурса шлюза api
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").

Буду признателен за любые мысли относительно того, как с ним лучше всего справиться, спасибо.

...