Если ваш внешний источник данных выводит имя файла, вы можете использовать интерполяцию Terraform, чтобы вызвать зависимость между двумя источниками данных.
Таким образом, предполагая, что вывод python XXXXX.py fileName
дает {"filename": "dashboardData.json"}
или подобное, вы можете просто использовать что-то вроде этого:
data "external" "example" {
program = ["python", "XXXXX.py", "${var.fileName}"]
}
data "local_file" "dashboard" {
filename = "${path.module}/${data.external.example.result.filename}"
}
Поскольку источник данных local_file
теперь ссылается на источник данных external
, это заставит Terraform ожидать завершения источника данных external
.
Альтернатива - установить явную зависимость между ними, используя depends_on
:
data "external" "example" {
program = ["python", "XXXXX.py", "${var.fileName}"]
}
data "local_file" "dashboard" {
filename = "${path.module}/dashboardData.json"
depends_on = "data.external.example"
}