Арина Калинскаяцитируетв прошлом месяце
Чтобы можно было сделать ваш код более конфигурируемым и отвечающим принципу DRY, Terraform позволяет определять входные переменные. Для этого предусмотрен следующий синтаксис:

variable "NAME" {

[CONFIG ...]

}

Тело объявления переменной может содержать три необязательных параметра.

•description. Этот параметр всегда желательно указывать для документирования того, как используется переменная. Ваши коллеги смогут просмотреть это описание не только при чтении кода, но и во время выполнения команд plan или apply (пример этого показан чуть ниже).

• default. Вы можете присвоить значение переменной несколькими способами, в том числе через командную строку (с помощью параметра -var), файл (указывая параметр -var-file) или переменную среды (Terraform ищет переменные среды вида TF_VAR_<имя_переменной>). Если переменная не инициализирована, ей присваивается значение по умолчанию. Если такого нет, Terraform запросит его у пользователя в интерактивном режиме.

•type. Позволяет применить к переменным, которые передает пользователь, ограничения типов. Terraform поддерживает ряд ограничений для таких типов, как string, number, bool, list, map, set, object, tuple и any. Если тип не указан, Terraform воспринимает значение как any.

Вот пример входной переменной, которая проверяет, является ли передаваемое значение числом:

variable "number_example" {

description = "An example of a number variable in Terraform"

type = number

default = 42

}

А вот пример переменной, которая проверяет, является ли значение списком:

variable "list_example" {

description = "An example of a list in Terraform"

type = list

default = ["a", "b", "c"]

}
  • Войти или зарегистрироваться, чтобы комментировать