Files
tf_examples/fullpipe_chain/variables.tf
T

124 lines
4.4 KiB
Terraform

# =============================================================================
# Переменные. Все значения задаются в terraform.tfvars.
# Шаблон файла: terraform.tfvars.example (скопируйте в terraform.tfvars).
# Где взять каждое значение — в описании переменной и в README.md.
# =============================================================================
variable "api_token" {
type = string
sensitive = true
description = "Токен API. ЛК → Профиль → Токены → «Технический». Никому не передавайте: токен даёт полный доступ к услугам."
}
variable "api_endpoint" {
type = string
default = "https://lk-api-gateway-dev.ngcloud.ru/api/v1/svc"
description = "Адрес API. Менять не нужно."
}
# --- Организация ---
variable "organization" {
type = string
description = "Название услуги «Организация в Cloud Director» в ЛК (например: organ). Можно указать и её UUID. Организация создаётся заранее в ЛК — Terraform её не создаёт."
}
variable "ip_space_name" {
type = string
description = "Имя ipSpace для внешнего IP. Смотреть в ЛК в карточке организации (например: internet-ipv4-v1)."
}
variable "ip_count" {
type = string
default = "3"
description = "Сколько внешних IP выделить на организации. Строкой — так его отдаёт платформа."
}
# --- vDC (виртуальный датацентр) ---
variable "vdc_resource_name" {
type = string
default = "fullpipe-vdc"
description = "Имя vDC в ЛК. Любое, удобное вам."
}
variable "vdc_network_provider" {
type = string
default = null
description = "Сетевой провайдер vDC. Взять в ЛК на странице создания vDC (например: snb1)."
}
variable "vdc_provider_vdc" {
type = string
default = null
description = "Provider VDC. Взять в ЛК на странице создания vDC (например: Intel Broadwell 2.4)."
}
variable "vdc_cpu_allocated" {
type = number
default = 8
description = "vCPU, шт."
}
variable "vdc_cpu_guaranteed" {
type = number
default = 0
description = "Резервирование vCPU, %. Допустимы только 0, 50 или 80."
}
variable "vdc_mem_allocated" {
type = number
default = 32
description = "RAM, ГБ."
}
variable "vdc_storage_config" {
type = string
default = "[{\"name\":\"SATA\",\"size\":\"200\"}]"
description = "Дисковая политика: JSON-массив, name — имя политики из ЛК, size — размер в ГБ (строкой). Имя политики должно существовать в ресурсном пуле (например: SATA, SSD)."
}
# --- Edge (сетевой шлюз периметра, vc_nsxt) ---
variable "nsxt_resource_name" {
type = string
default = "fullpipe-edge"
description = "Имя Edge в ЛК. Любое, удобное вам."
}
variable "nsxt_vdc_type" {
type = string
default = "vdc"
description = "Тип родительской услуги: vdc (нужен vdc_uid) или vdcGroup."
}
variable "nsxt_need_enable_avi" {
type = bool
default = true
description = "Включить балансировщик AVI (ALB)."
}
variable "nsxt_virtual_services_count" {
type = number
default = 3
description = "Количество виртуальных сервисов на AVI: 1..4. Для кластера Штурвал нужно не меньше 3."
}
variable "nsxt_ip_addr_pool" {
type = string
default = "10.10.102.0/24"
description = "Адресный пул routed-сети шлюза. Маска /24 обязательна."
}
variable "nsxt_main_dns" {
type = string
default = "81.22.46.22"
description = "Основной DNS для машин за шлюзом."
}
variable "nsxt_second_dns" {
type = string
default = "185.247.187.77"
description = "Второй DNS для машин за шлюзом."
}