Можно ли обращаться к внутренним полям terraform как к переменным? - PullRequest
0 голосов
/ 10 июля 2019

Мне интересно, возможно ли получить поля, явно предоставленные для конфигурации бэкэнда в другом месте модуля.

В Интернете есть многих людей, спрашивающих, можно ли использовать переменные для настройки бэкэнда. Я знаю, что это невозможно из-за порядка операций, выполняемых terraform, но я хочу сделать наоборот.

Простой объяснимый пример был бы, если бы я хотел передать область состояния бэкэнда / ключ тегу ресурса. Я мог бы написать ключ состояния дважды (один раз в конфигурации бэкэнда и один раз как переменную), но это нарушает DRY и может быть подвержено ошибкам или, в лучшем случае, раздражает.

Я понимаю, почему невозможно иметь переменные в конфигурации бэкэнда, но я не могу представить никакого технического ограничения, чтобы предотвратить обращение к конфигурации бэкэнда в другом месте модуля. Тем не менее я не смог найти какой-либо способ сделать это, и попытки гуглить его затопляют люди, которые хотят поместить переменные в конфигурацию бэкенда. Возможно, существует простой синтаксис, который мне не удалось найти, или, возможно, он не поддерживается, и я мог бы рассмотреть запрос функции.

Так есть ли сейчас способ сделать это?

Ответы [ 2 ]

1 голос
/ 10 июля 2019

Как насчет передачи файла конфигурации бэкенда в виде файла tfvars в terraform apply или в план terraform? тогда вы можете ссылаться на него как на переменные. Вы можете передать несколько файлов tfvars в terraform с параметрами -var-file.

например Серверные-config.tfvars

bucket = "test-bucket"
key = "test/terraform.tfstate"
...

и variables.tf

...
variable "bucket" {
 description="backend bucket"
}
variable "key" {
 description="backend key"
}

тогда вы можете начать терраформ,

terraform init -backend-config=backend-config.tfvars

и

terraform plan -var-file={your varfile} -var-file=backend-config.tfvars
0 голосов
/ 16 июля 2019

Знаете ли вы провайдера удаленного состояния? Вы можете прочитать его обратно как ресурс данных. Вот что говорит terraform doc .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...