Входные переменные манифеста TerraformBeta

Входные переменные для конфигурации ресурсов условно делятся на специальные, внешние и локальные.

Группа

Описание

Возможные типы

Специальные

Переменные, позволяющие использовать данные, полученные от брокера.

Поддерживаются следующие переменные:

  • instance_uuid — идентификатор развертывания сервиса. Используется для описании большинства ресурсов провайдера iVK CS.
  • email — email пользователя, подключившего сервис.

При объявлении таких переменных в манифесте, их значение будет получено Terraform автоматически

string

Внешние

Переменные, позволяющие задать значения тарифных опций, которые настраиваются в мастере конфигурации тарифного плана.

Имя переменной должно соответствовать имени YAML-файла тарифной опции.

Кроме объявления такой переменной в манифесте, она должна быть:

  • Описана как тарифная опция в своем YAML-файле.
  • Указана в тарифном плане (файл plans/<ИМЯ_ПЛАНА>/plan.yaml).
  • Указана в мастере конфигурации тарифного плана (файл plans/<ИМЯ_ПЛАНА>/display.yaml).

Для внешней переменной можно задать значение по умолчанию. Оно будет применено, если не удалось получить внешнее значение

number, string, boolean

Локальные

Переменные, использующиеся только в манифесте. Значение переменной задается при ее объявлении в аргументе default

Любые типы, поддерживаемые Terraform

Пример объявления специальных переменных:

# Идентификатор развертывания сервисаvariable "instance_uuid" {  type    = string}# Email пользователяvariable "email" {  type    = string}

Пример объявления внешних и локальных переменных:

# Имя виртуальной сети, где будет создана ВМvariable "sub_network" {  type    = string  default = "test-net"}# Количество CPU для ВМvariable "flavor_vcpus" {  type    = number  default = 2}

При описании входных переменных можно использовать блоки locals. Они позволяют вычислять значения переменных при их объявлении, в том числе через значения других объявленных переменных. Пример: указание имени хоста с помощью локальной переменной.