124 lines
4.4 KiB
Terraform
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 для машин за шлюзом."
|
|
}
|