БастыАудиоКомикстерБалаларға арналған
Дмитрий Быков
Дмитрий Быковдәйексөз келтірді5 күн бұрын
Иногда нужен скрипт для извлечения данных и предоставления доступа к ним прямо в коде Terraform. Для этого можно использовать источник данных external, который позволяет выполнить внешнюю команду, реализующую определенный протокол. Этот протокол работает определенным образом. • Вы можете передавать данные из Terraform во внешнюю программу, используя аргумент query источника данных external. Внешняя программа может читать эти аргументы из стандартного ввода в виде JSON. • Внешняя программа может передавать данные обратно в Terraform, записывая JSON в стандартный вывод. Остальной код Terraform может извлекать эти данные из JSON с помощью выходного атрибута result, принадлежащего внешнему источнику данных. Вот пример: data "external" "echo" { program = ["bash", "-c", "cat /dev/stdin"] query = { foo = "bar" } } output "echo" { value = data.external.echo.result } output "echo_foo" { value = data.external.echo.result.foo } В этом примере источник данных external используется для выполнения bash-скрипта, который возвращает обратно в стандартный вывод любые данные, полученные из стандартного ввода. Таким образом, любое значение, которое мы передадим через аргумент query, должно вернуться без изменений в виде выходного атрибута result. Вот что получится, когда мы выполним terraformapply для этого кода: $ terraform apply (...) Apply complete! Resources: 0 added, 0 changed, 0 destroyed. Outputs: echo = { "foo" = "bar" } echo_foo = bar
Terraform: инфраструктура на уровне кода
Terraform: инфраструктура на уровне кода
·
Евгений Брикман
Terraform: инфраструктура на уровне кода
Евгений Брикманжәне т.б.
1.2K

Кіру не тіркелу пікір қалдыру үшін