4.5.3
This commit is contained in:
@@ -13,11 +13,15 @@ terraform {
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
controller_url = "https://mr4.digitalenergy.online"
|
||||
app_id = ""
|
||||
app_secret = ""
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
#app_id = <APP-ID>
|
||||
#app_secret = <APP-SECRET>
|
||||
allow_unverified_ssl = true
|
||||
|
||||
}
|
||||
|
||||
resource "decort_cb_k8s_cp" "cp" {
|
||||
|
||||
@@ -1,96 +1,99 @@
|
||||
|
||||
#Расскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
controller_url = "https://mr4.digitalenergy.online"
|
||||
app_id = ""
|
||||
app_secret = ""
|
||||
}
|
||||
|
||||
|
||||
resource "decort_cb_k8s_wg" "wg" {
|
||||
#id экземпляра k8s
|
||||
#обязательный параметр
|
||||
#тип - число
|
||||
k8s_id = 1234 //это значение должно быть и результат вызова decort_cb_k8s.cluster.k8s_id
|
||||
|
||||
#имя worker group
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
name = "workers-2"
|
||||
|
||||
#количество worker node для создания
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
#по - умолчанию - 1
|
||||
num = 2
|
||||
|
||||
#количество cpu для 1 worker node
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
#по - умолчанию - 1
|
||||
cpu = 1
|
||||
|
||||
#количество RAM для одной worker node в Мбайтах
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
#по-умолчанию - 1024
|
||||
ram = 1024
|
||||
|
||||
#размер загрузочного диска для worker node, в Гбайтах
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
#по - умолчанию - 0
|
||||
#если установлен параметр 0, то размер диска будет равен размеру образа
|
||||
disk = 10
|
||||
|
||||
#список строк с labels для worker группы, в формате: ["label1=value1", "label2=value2"]
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
labels = ["label1=value1", "label2=value2"]
|
||||
|
||||
#Список строк с annotations для worker группы, в формате: ["key1=value1", "key2=value2"]
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
annotations = ["key1=value1", "key2=value2"]
|
||||
|
||||
#Список строк с taints для worker группы, в формате: ["key1=value1:NoSchedule", "key2=value2:NoExecute"]
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
taints = ["key1=value1", "key2=value2"]
|
||||
|
||||
#ID СХД для создания загрузочных дисков для Worker-групп по умолчанию. Использует sepId образа, если не указан.
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
worker_sep_id = 1
|
||||
|
||||
#Пул для хранения Workers. Если не заполнить, будет выбран системой
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
worker_sep_pool = "worker_pool"
|
||||
|
||||
#Перечень аргументов для cloud-init для виртуальных машин worker групп
|
||||
#опциональный параметр
|
||||
#тип - файл
|
||||
#используется при создании и обновлении ресурса
|
||||
cloud_init = file("initconfig.tftpl")
|
||||
}
|
||||
|
||||
|
||||
output "test_wg" {
|
||||
value = decort_cb_k8s_wg.wg
|
||||
}
|
||||
|
||||
#Расскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
#app_id = <APP-ID>
|
||||
#app_secret = <APP-SECRET>
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
|
||||
resource "decort_cb_k8s_wg" "wg" {
|
||||
#id экземпляра k8s
|
||||
#обязательный параметр
|
||||
#тип - число
|
||||
k8s_id = 1234 //это значение должно быть и результат вызова decort_cb_k8s.cluster.k8s_id
|
||||
|
||||
#имя worker group
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
name = "workers-2"
|
||||
|
||||
#количество worker node для создания
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
#по - умолчанию - 1
|
||||
num = 2
|
||||
|
||||
#количество cpu для 1 worker node
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
#по - умолчанию - 1
|
||||
cpu = 1
|
||||
|
||||
#количество RAM для одной worker node в Мбайтах
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
#по-умолчанию - 1024
|
||||
ram = 1024
|
||||
|
||||
#размер загрузочного диска для worker node, в Гбайтах
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
#по - умолчанию - 0
|
||||
#если установлен параметр 0, то размер диска будет равен размеру образа
|
||||
disk = 10
|
||||
|
||||
#список строк с labels для worker группы, в формате: ["label1=value1", "label2=value2"]
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
labels = ["label1=value1", "label2=value2"]
|
||||
|
||||
#Список строк с annotations для worker группы, в формате: ["key1=value1", "key2=value2"]
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
annotations = ["key1=value1", "key2=value2"]
|
||||
|
||||
#Список строк с taints для worker группы, в формате: ["key1=value1:NoSchedule", "key2=value2:NoExecute"]
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
taints = ["key1=value1", "key2=value2"]
|
||||
|
||||
#ID СХД для создания загрузочных дисков для Worker-групп по умолчанию. Использует sepId образа, если не указан.
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
worker_sep_id = 1
|
||||
|
||||
#Пул для хранения Workers. Если не заполнить, будет выбран системой
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
worker_sep_pool = "worker_pool"
|
||||
|
||||
#Перечень аргументов для cloud-init для виртуальных машин worker групп
|
||||
#опциональный параметр
|
||||
#тип - файл
|
||||
#используется при создании и обновлении ресурса
|
||||
cloud_init = file("initconfig.tftpl")
|
||||
}
|
||||
|
||||
|
||||
output "test_wg" {
|
||||
value = decort_cb_k8s_wg.wg
|
||||
}
|
||||
|
||||
@@ -1,423 +1,429 @@
|
||||
/*
|
||||
Пример использования
|
||||
Работа с ресурсом kvmvm (compute)
|
||||
Ресурс позволяет:
|
||||
1. Создавать compute
|
||||
2. Редактировать compute
|
||||
3. Удалять compute
|
||||
*/
|
||||
#Расскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
version = "<VERSION>"
|
||||
source = "basis/decort/decort"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_cb_kvmvm" "comp" {
|
||||
#имя compute
|
||||
#обязательный параметр
|
||||
#мб изменен
|
||||
#тип - строка
|
||||
name = "test-tf-compute-update-new"
|
||||
|
||||
#id resource group
|
||||
#обязательный параметр
|
||||
#тип - число
|
||||
rg_id = 1111
|
||||
|
||||
#тип драйвера для compute
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
driver = "KVM_X86"
|
||||
|
||||
#число cpu
|
||||
#обязательный параметр
|
||||
#тип - число
|
||||
cpu = 1
|
||||
|
||||
#кол-во оперативной памяти, МБ
|
||||
#обязательный параметр
|
||||
#тип - число
|
||||
ram = 2048
|
||||
|
||||
#id образа диска для создания compute
|
||||
#обязательный параметр
|
||||
#тип - число
|
||||
image_id = 111
|
||||
|
||||
#размер загрузочного диска
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
boot_disk_size = 20
|
||||
|
||||
#ID сепа для boot диска
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
sep_id = 1
|
||||
|
||||
#Название пула
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
pool = "data02"
|
||||
|
||||
#конфигурация cloud init
|
||||
#опциональный параметр
|
||||
#тип - файл в формате JSON/YAML
|
||||
cloud_init = file("initconfig.tftpl")
|
||||
|
||||
#описание compute
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
description = "test update description in tf words update"
|
||||
|
||||
#stack id
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
stack_id = 1
|
||||
|
||||
#id образа CD-ROM для загрузки
|
||||
#используется при изменении ресурса, при повторном старте вм
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
alt_boot_id = 1
|
||||
|
||||
#Создание и добавление диска дял compute
|
||||
#опциональный параметр
|
||||
#тип - список дисков
|
||||
disks {
|
||||
#Имя диска
|
||||
#Обязательный для диска параметр
|
||||
#Тип - строка
|
||||
disk_name = "disk_name"
|
||||
|
||||
#Размер диска
|
||||
#Обязательный для диска параметр
|
||||
#Тип - число
|
||||
size = 5
|
||||
|
||||
#Тип диска
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
disk_type = "D"
|
||||
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
sep_id = 1
|
||||
|
||||
#Название пула
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
pool = "data01"
|
||||
|
||||
#Описание диска
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
desc = ""
|
||||
|
||||
#Айди образа
|
||||
#опциональный параметр
|
||||
image_id = 378
|
||||
|
||||
#Флаг для удаления диска
|
||||
#опциональный параметр
|
||||
#тип - bool
|
||||
permanently = false
|
||||
}
|
||||
|
||||
#правила affinity
|
||||
#опциональный параметр
|
||||
#может быть один, несколько или ни одного блока
|
||||
#тип - блок
|
||||
affinity_rules {
|
||||
#тип правила
|
||||
#возможные значения - compute или node
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
topology = "compute"
|
||||
|
||||
#строгость правила
|
||||
#возможные значения - RECOMMENDED и REQUIRED
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
policy = "RECOMMENDED"
|
||||
|
||||
#режим проверки
|
||||
#возможные значения - ANY, EQ, NE
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
mode = "ANY"
|
||||
|
||||
#ключ правила
|
||||
#обязательный параметр
|
||||
#тип строка
|
||||
key = "testkey"
|
||||
|
||||
#ключ правила
|
||||
#обязательный параметр
|
||||
#тип строка
|
||||
value = "testvalue"
|
||||
}
|
||||
|
||||
#правила anti-affinity
|
||||
#опциональный параметр
|
||||
#может быть один, несколько или ни одного блока
|
||||
#тип - блок
|
||||
anti_affinity_rules {
|
||||
#тип правила
|
||||
#возможные значения - compute или node
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
topology = "compute"
|
||||
|
||||
#строгость правила
|
||||
#возможные значения - RECOMMENDED и REQUIRED
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
policy = "RECOMMENDED"
|
||||
|
||||
#режим проверки
|
||||
#возможные значения - ANY, EQ, NE
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
mode = "ANY"
|
||||
|
||||
#ключ правила
|
||||
#обязательный параметр
|
||||
#тип строка
|
||||
key = "testkey"
|
||||
|
||||
#ключ правила
|
||||
#обязательный параметр
|
||||
#тип строка
|
||||
value = "testvalue"
|
||||
}
|
||||
|
||||
#установка метки для вм
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
affinity_label = "test4"
|
||||
|
||||
|
||||
#наименование системы
|
||||
#опциональный параметр
|
||||
#используется при создании вм
|
||||
#по умолчанию - не задан
|
||||
#тип - строка
|
||||
is=""
|
||||
|
||||
#назначение вм
|
||||
#опциональный параметр
|
||||
#используется при создании вм
|
||||
#по умолчанию - не задан
|
||||
#тип - строка
|
||||
ipa_type = ""
|
||||
|
||||
#Id экстра дисков
|
||||
#опциональный параметр
|
||||
#тип - список чисел
|
||||
extra_disks = [1234, 4322, 1344]
|
||||
|
||||
#Управление XML виртуальной машины
|
||||
#опциональный параметр
|
||||
#тип - строка (json-encoded)
|
||||
custom_fields = "{`key`:`value`}"
|
||||
|
||||
#Описание необходимости выполнения действия
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
reason = "need"
|
||||
|
||||
#Присоеденения сетей и удаление сетей в компьюте
|
||||
#опциональный параметр
|
||||
#тип - блок
|
||||
network {
|
||||
#Тип сети VINS/EXTNET
|
||||
#Обязательный параметр
|
||||
#тип - строка
|
||||
net_type = "VINS"
|
||||
|
||||
#ID сети
|
||||
#Обязательный параметр
|
||||
#тип - число
|
||||
net_id = 1234
|
||||
|
||||
#IP адрес входящий в сеть
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
ip_address = "127.0.0.1"
|
||||
}
|
||||
|
||||
#добавление и удаление тэгов
|
||||
#опциональный параметр
|
||||
#тип - блок
|
||||
tags {
|
||||
#Ключ для тэга
|
||||
#Обязательный параметр
|
||||
#тип - строка
|
||||
key = "key"
|
||||
|
||||
#Значения тэга
|
||||
#Обязательный параметр
|
||||
#тип - строка
|
||||
value = "value"
|
||||
}
|
||||
|
||||
#добавление и удаление port forwarding
|
||||
#опциональный параметр
|
||||
#тип - блок
|
||||
port_forwarding {
|
||||
#номер внешнего начального порта для правила
|
||||
#Обязательный параметр
|
||||
#тип - число
|
||||
public_port_start = 2023
|
||||
|
||||
#номер внешнего последнего порта для правила
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
#по умолчанию - -1
|
||||
public_port_end = 2023
|
||||
|
||||
#номер внутреннего базового порта
|
||||
#Обязательный параметр
|
||||
#тип - число
|
||||
local_port = 80
|
||||
|
||||
#сетевой протокол
|
||||
#Обязательный параметр
|
||||
#тип - строка
|
||||
proto = "tcp"
|
||||
}
|
||||
|
||||
#предоставить/забрать пользователю доступ к компьюту
|
||||
#опциональный параметр
|
||||
#тип - блок
|
||||
user_access {
|
||||
#Имя юзера, которому предоставляем доступ
|
||||
#Обязательный параметр
|
||||
#тип - строка
|
||||
username = "some@decs3o"
|
||||
|
||||
#Права: 'R' - только на чтение, 'RCX' - чтение/запись, 'ARCXDU' - админ
|
||||
#Обязательный параметр
|
||||
#тип - строка
|
||||
access_type = "ARCXDU"
|
||||
}
|
||||
|
||||
#Создать/удалить снапшот компьюта
|
||||
#опциональный параметр
|
||||
#тип - блок
|
||||
snapshot {
|
||||
#Лейбл снапшота
|
||||
#Обязательный параметр
|
||||
#тип - строка
|
||||
label = "label1"
|
||||
}
|
||||
|
||||
#Rollback на нужный снапшот
|
||||
#опциональный параметр
|
||||
#Не имеет смысла при отсутсвии снапшотов
|
||||
#тип - блок
|
||||
rollback {
|
||||
#Лейбл снапшота
|
||||
#Обязательный параметр
|
||||
#тип - строка
|
||||
label = "label1"
|
||||
}
|
||||
|
||||
#Вставить/удалить СD rom
|
||||
#опциональный параметр
|
||||
#Максимальное кол-во - 1
|
||||
#тип - блок
|
||||
cd {
|
||||
#ID образа диска CD rom
|
||||
#Обязательный параметр
|
||||
#тип - число
|
||||
cdrom_id = 344
|
||||
}
|
||||
|
||||
#Добавить компьют на стэк
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
pin_to_stack = true
|
||||
|
||||
#id stack для добавления компьюта на этот стэк
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
target_stack_id = 1
|
||||
|
||||
#Флаг для принужительного добавления компьюта на стэк
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
force_pin = true
|
||||
|
||||
#Флаг доступности компьюта для проведения с ним операций
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
enabled = true
|
||||
|
||||
#pause/resume компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
pause = true
|
||||
|
||||
#сделать компьют заново
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
reset = true
|
||||
|
||||
#восстановить удаленный компьют из корзины
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
restore = true
|
||||
|
||||
#флаг для редеплоя компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
auto_start = true
|
||||
|
||||
#флаг для редеплоя компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
force_stop = true
|
||||
|
||||
#поле для редеплоя компьюта
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
data_disks = "KEEP"
|
||||
|
||||
#запуск/стоп компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
started = true
|
||||
|
||||
#detach диска при удалении компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
detach_disks = true
|
||||
|
||||
#Флаг для удаления компьюта
|
||||
#опциональный параметр
|
||||
#тип - bool
|
||||
permanently = false
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = decort_cb_kvmvm.comp
|
||||
}
|
||||
/*
|
||||
Пример использования
|
||||
Работа с ресурсом kvmvm (compute)
|
||||
Ресурс позволяет:
|
||||
1. Создавать compute
|
||||
2. Редактировать compute
|
||||
3. Удалять compute
|
||||
*/
|
||||
#Расскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
#app_id = <APP-ID>
|
||||
#app_secret = <APP-SECRET>
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_cb_kvmvm" "comp" {
|
||||
#имя compute
|
||||
#обязательный параметр
|
||||
#мб изменен
|
||||
#тип - строка
|
||||
name = "test-tf-compute-update-new"
|
||||
|
||||
#id resource group
|
||||
#обязательный параметр
|
||||
#тип - число
|
||||
rg_id = 1111
|
||||
|
||||
#тип драйвера для compute
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
driver = "KVM_X86"
|
||||
|
||||
#число cpu
|
||||
#обязательный параметр
|
||||
#тип - число
|
||||
cpu = 1
|
||||
|
||||
#кол-во оперативной памяти, МБ
|
||||
#обязательный параметр
|
||||
#тип - число
|
||||
ram = 2048
|
||||
|
||||
#id образа диска для создания compute
|
||||
#обязательный параметр
|
||||
#тип - число
|
||||
image_id = 111
|
||||
|
||||
#размер загрузочного диска
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
boot_disk_size = 20
|
||||
|
||||
#ID сепа для boot диска
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
sep_id = 1
|
||||
|
||||
#Название пула
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
pool = "data02"
|
||||
|
||||
#конфигурация cloud init
|
||||
#опциональный параметр
|
||||
#тип - файл в формате JSON/YAML
|
||||
cloud_init = file("initconfig.tftpl")
|
||||
|
||||
#описание compute
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
description = "test update description in tf words update"
|
||||
|
||||
#stack id
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
stack_id = 1
|
||||
|
||||
#id образа CD-ROM для загрузки
|
||||
#используется при изменении ресурса, при повторном старте вм
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
alt_boot_id = 1
|
||||
|
||||
#Создание и добавление диска дял compute
|
||||
#опциональный параметр
|
||||
#тип - список дисков
|
||||
disks {
|
||||
#Имя диска
|
||||
#Обязательный для диска параметр
|
||||
#Тип - строка
|
||||
disk_name = "disk_name"
|
||||
|
||||
#Размер диска
|
||||
#Обязательный для диска параметр
|
||||
#Тип - число
|
||||
size = 5
|
||||
|
||||
#Тип диска
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
disk_type = "D"
|
||||
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
sep_id = 1
|
||||
|
||||
#Название пула
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
pool = "data01"
|
||||
|
||||
#Описание диска
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
desc = ""
|
||||
|
||||
#Айди образа
|
||||
#опциональный параметр
|
||||
image_id = 378
|
||||
|
||||
#Флаг для удаления диска
|
||||
#опциональный параметр
|
||||
#тип - bool
|
||||
permanently = false
|
||||
}
|
||||
|
||||
#правила affinity
|
||||
#опциональный параметр
|
||||
#может быть один, несколько или ни одного блока
|
||||
#тип - блок
|
||||
affinity_rules {
|
||||
#тип правила
|
||||
#возможные значения - compute или node
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
topology = "compute"
|
||||
|
||||
#строгость правила
|
||||
#возможные значения - RECOMMENDED и REQUIRED
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
policy = "RECOMMENDED"
|
||||
|
||||
#режим проверки
|
||||
#возможные значения - ANY, EQ, NE
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
mode = "ANY"
|
||||
|
||||
#ключ правила
|
||||
#обязательный параметр
|
||||
#тип строка
|
||||
key = "testkey"
|
||||
|
||||
#ключ правила
|
||||
#необязательный параметр
|
||||
#тип строка
|
||||
value = "testvalue"
|
||||
}
|
||||
|
||||
#правила anti-affinity
|
||||
#опциональный параметр
|
||||
#может быть один, несколько или ни одного блока
|
||||
#тип - блок
|
||||
anti_affinity_rules {
|
||||
#тип правила
|
||||
#возможные значения - compute или node
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
topology = "compute"
|
||||
|
||||
#строгость правила
|
||||
#возможные значения - RECOMMENDED и REQUIRED
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
policy = "RECOMMENDED"
|
||||
|
||||
#режим проверки
|
||||
#возможные значения - ANY, EQ, NE
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
mode = "ANY"
|
||||
|
||||
#ключ правила
|
||||
#обязательный параметр
|
||||
#тип строка
|
||||
key = "testkey"
|
||||
|
||||
#ключ правила
|
||||
#необязательный параметр
|
||||
#тип строка
|
||||
value = "testvalue"
|
||||
}
|
||||
|
||||
#установка метки для вм
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
affinity_label = "test4"
|
||||
|
||||
|
||||
#наименование системы
|
||||
#опциональный параметр
|
||||
#используется при создании вм
|
||||
#по умолчанию - не задан
|
||||
#тип - строка
|
||||
is=""
|
||||
|
||||
#назначение вм
|
||||
#опциональный параметр
|
||||
#используется при создании вм
|
||||
#по умолчанию - не задан
|
||||
#тип - строка
|
||||
ipa_type = ""
|
||||
|
||||
#Id экстра дисков
|
||||
#опциональный параметр
|
||||
#тип - список чисел
|
||||
extra_disks = [1234, 4322, 1344]
|
||||
|
||||
#Управление XML виртуальной машины
|
||||
#опциональный параметр
|
||||
#тип - строка (json-encoded)
|
||||
custom_fields = "{`key`:`value`}"
|
||||
|
||||
#Описание необходимости выполнения действия
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
reason = "need"
|
||||
|
||||
#Присоеденения сетей и удаление сетей в компьюте
|
||||
#опциональный параметр
|
||||
#тип - блок
|
||||
network {
|
||||
#Тип сети VINS/EXTNET
|
||||
#Обязательный параметр
|
||||
#тип - строка
|
||||
net_type = "VINS"
|
||||
|
||||
#ID сети
|
||||
#Обязательный параметр
|
||||
#тип - число
|
||||
net_id = 1234
|
||||
|
||||
#IP адрес входящий в сеть
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
ip_address = "127.0.0.1"
|
||||
}
|
||||
|
||||
#добавление и удаление тэгов
|
||||
#опциональный параметр
|
||||
#тип - блок
|
||||
tags {
|
||||
#Ключ для тэга
|
||||
#Обязательный параметр
|
||||
#тип - строка
|
||||
key = "key"
|
||||
|
||||
#Значения тэга
|
||||
#Обязательный параметр
|
||||
#тип - строка
|
||||
value = "value"
|
||||
}
|
||||
|
||||
#добавление и удаление port forwarding
|
||||
#опциональный параметр
|
||||
#тип - блок
|
||||
port_forwarding {
|
||||
#номер внешнего начального порта для правила
|
||||
#Обязательный параметр
|
||||
#тип - число
|
||||
public_port_start = 2023
|
||||
|
||||
#номер внешнего последнего порта для правила
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
#по умолчанию - -1
|
||||
public_port_end = 2023
|
||||
|
||||
#номер внутреннего базового порта
|
||||
#Обязательный параметр
|
||||
#тип - число
|
||||
local_port = 80
|
||||
|
||||
#сетевой протокол
|
||||
#Обязательный параметр
|
||||
#тип - строка
|
||||
proto = "tcp"
|
||||
}
|
||||
|
||||
#предоставить/забрать пользователю доступ к компьюту
|
||||
#опциональный параметр
|
||||
#тип - блок
|
||||
user_access {
|
||||
#Имя юзера, которому предоставляем доступ
|
||||
#Обязательный параметр
|
||||
#тип - строка
|
||||
username = "some@decs3o"
|
||||
|
||||
#Права: 'R' - только на чтение, 'RCX' - чтение/запись, 'ARCXDU' - админ
|
||||
#Обязательный параметр
|
||||
#тип - строка
|
||||
access_type = "ARCXDU"
|
||||
}
|
||||
|
||||
#Создать/удалить снапшот компьюта
|
||||
#опциональный параметр
|
||||
#тип - блок
|
||||
snapshot {
|
||||
#Лейбл снапшота
|
||||
#Обязательный параметр
|
||||
#тип - строка
|
||||
label = "label1"
|
||||
}
|
||||
|
||||
#Rollback на нужный снапшот
|
||||
#опциональный параметр
|
||||
#Не имеет смысла при отсутсвии снапшотов
|
||||
#тип - блок
|
||||
rollback {
|
||||
#Лейбл снапшота
|
||||
#Обязательный параметр
|
||||
#тип - строка
|
||||
label = "label1"
|
||||
}
|
||||
|
||||
#Вставить/удалить СD rom
|
||||
#опциональный параметр
|
||||
#Максимальное кол-во - 1
|
||||
#тип - блок
|
||||
cd {
|
||||
#ID образа диска CD rom
|
||||
#Обязательный параметр
|
||||
#тип - число
|
||||
cdrom_id = 344
|
||||
}
|
||||
|
||||
#Добавить компьют на стэк
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
pin_to_stack = true
|
||||
|
||||
#id stack для добавления компьюта на этот стэк
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
target_stack_id = 1
|
||||
|
||||
#Флаг для принужительного добавления компьюта на стэк
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
force_pin = true
|
||||
|
||||
#Флаг доступности компьюта для проведения с ним операций
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
enabled = true
|
||||
|
||||
#pause/resume компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
pause = true
|
||||
|
||||
#сделать компьют заново
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
reset = true
|
||||
|
||||
#восстановить удаленный компьют из корзины
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
restore = true
|
||||
|
||||
#флаг для редеплоя компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
auto_start = true
|
||||
|
||||
#флаг для редеплоя компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
force_stop = true
|
||||
|
||||
#флаг для ресайза компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
force_resize = true
|
||||
|
||||
#поле для редеплоя компьюта
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
data_disks = "KEEP"
|
||||
|
||||
#запуск/стоп компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
started = true
|
||||
|
||||
#detach диска при удалении компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
detach_disks = true
|
||||
|
||||
#Флаг для удаления компьюта
|
||||
#опциональный параметр
|
||||
#тип - bool
|
||||
permanently = false
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = decort_cb_kvmvm.comp
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user