Terraform загрузить JSON объект из AWS S3 - PullRequest
0 голосов
/ 25 октября 2018

Мне нужно загрузить данные из непубличного сегмента S3.Используя этот JSON, я хотел иметь возможность перебирать списки внутри terraform.

Пример:

{
  info: [
    "10.0.0.0/24",
    "10.1.1.0/24",
    "10.2.2.0/24"
  ]
}

Я могу получить штраф JSON, используя следующее:

data "aws_s3_bucket_object" "config" {
  bucket = "our-bucket"
  key = "global.json"
}

Я не могу использовать это как карту | список в terraformтак что я могу использовать эти данные.Есть идеи?

1 Ответ

0 голосов
/ 26 октября 2018

После долгих проб и ошибок я нашел решение.Обратите внимание, что для того, чтобы это работало, кажется, что JSON-источник должен быть простым, и я имею в виду отсутствие вложенных объектов, таких как списки или карты.

{
 foo1: "my foo1",
 foo2: "my foo2",
 foo3: "my foo3"
}

data "aws_s3_bucket_object" "config-json" {
  bucket = "my-bucket"
  key = "foo.json"
}

data "external" "config-map" {
  program = ["echo", "${data.aws_s3_bucket_object.config-json.body}"]
}

output "foo" {
  value = ["${values(data.external.config-map.result)}"]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...