Terraform - данные зависят от данных - PullRequest
0 голосов
/ 29 августа 2018

Я использую данные external и data local_file в своем коде terraform. data external выполняет скрипт и создает файл json. Теперь мои данные local_file должны прочитать файл json.

data "external" "example" {
   program = ["python", "XXXXX.py", "${var.fileName}"]
}

data "local_file" "dashboard" {
    filename = "${path.module}/dashboardData.json"
}

Здесь данные local_file зависят от данных, внешних для файла json.

Есть ли работа aroud?

1 Ответ

0 голосов
/ 29 августа 2018

Если ваш внешний источник данных выводит имя файла, вы можете использовать интерполяцию 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"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...