В чем разница между variables.tf и terraform.tfvars? - PullRequest
3 голосов
/ 02 мая 2019

В чем разница между variables.tf и terraform.tfvars? Оба могут определять (назначать значения) переменным, верно? Есть ли разница в объеме или поведении переменных, определенных в этих двух? Что касается присвоения значений переменным, можно ли использовать одно вместо другого?

Ответы [ 2 ]

3 голосов
/ 03 мая 2019
  • variables.tf - здесь вы определяете переменные, которые должны иметь значения, чтобы ваш код Terraform мог быть проверен и запущен.Вы также можете определить значения по умолчанию для ваших переменных в этом файле.Обратите внимание, что вам не нужно определять все свои переменные в файле с именем variables.tf - они могут быть определены где угодно, но эта практика рекомендуется для организационных целей.

  • terraform.tfvars - этот файл содержит одну или несколько пар variablename = variablevalue.Когда Terraform загружает этот файл, он ищет любые переменные в вашем Terraform с именем variablename и устанавливает их значение равным variablevalue.Вы не можете определить новые переменные здесь, и можете только установить значения существующих, определенных в variables.tf.

1 голос
/ 07 мая 2019

В variables.tf вы создаете и потенциально назначаете значения.Обычный вариант использования - у вас есть модуль, которому необходимо назначить name в ресурсе.Затем вы можете также создать переменную с именем name.Итак, в вашем определении вы делаете присваивание:

name = "${var.name}"

Когда вы запускаете terraform plan или terraform apply, все ваши переменные должны быть установлены.Вы можете установить их в фактическом коде, например name = "test", ввести их в консоль при появлении соответствующего запроса при выполнении или передать их в команду, выполнив terraform apply -var-file terraform.tfvars.

tfvars файлы содержат назначения и могут бытьиспользуется, когда у вас есть несколько сред.Передав этот файл в команду, вы присвоите значения соответствующим переменным.Например, вы можете использовать его для назначения региона, идентификаторов учетных записей и т. Д. Если эти файлы содержат конфиденциальные учетные данные, обязательно .gitignore и сохраните их в отдельном обработчике учетных данных.

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