Контекст:
Я строю API-шлюз с OpenAPI Спецификации 3.0 с использованием terraform. У меня есть файл api-spec.yaml
в другом репо из кода terraform. Итак, вот что я сделал до сих пор.
- Использование 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")
.
Буду признателен за любые мысли относительно того, как с ним лучше всего справиться, спасибо.