1.3.0
This commit is contained in:
@@ -2,7 +2,6 @@
|
||||
Пример использования
|
||||
Ресурса account
|
||||
Ресурс позволяет:
|
||||
1. Создавать аккаунт
|
||||
2. Редактировать аккаунт
|
||||
3. Удалять аккаунт
|
||||
*/
|
||||
@@ -34,45 +33,32 @@ resource "dynamix_account" "a" {
|
||||
#имя аккаунта
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и редактировании аккаунта
|
||||
#используется при обновлении
|
||||
account_name = "new_my_account"
|
||||
|
||||
#имя пользователя - создателя аккаунта
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
username = "username@decs3o"
|
||||
|
||||
#доступность аккаунта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#может применяться при редактировании аккаунта
|
||||
enable = true
|
||||
|
||||
#id аккаунта, позволяет сформировать .tfstate, если аккаунт имеет в платформе
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
account_id = 11111
|
||||
|
||||
#электронная почта, на которую будет отправлена информация о доступе
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#применяется при создании аккаунта
|
||||
emailaddress = "fff@fff.ff"
|
||||
#по умолчанию - true
|
||||
#используется при обновлении
|
||||
#enable = true
|
||||
|
||||
#отправлять ли на электронную почту письмо о доступе
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#применяется при создании аккаунта и редактировании аккаунта
|
||||
send_access_emails = true
|
||||
#по умолчанию - true
|
||||
#используется при обновлении
|
||||
#send_access_emails = true
|
||||
|
||||
#добавление/редактирование/удаление пользователей, к которым привязан аккаунт
|
||||
#опциональный параметр
|
||||
#тип - объект, кол-во таких объектов не ограничено
|
||||
users = [{
|
||||
#тип - массив объектов, кол-во таких объектов не ограничено
|
||||
#используется при обновлении
|
||||
#users = [{
|
||||
#id пользователя
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
user_id = "username_2@decs3o"
|
||||
#user_id = "username_2@decs3o"
|
||||
|
||||
#тип доступа пользователя
|
||||
#обязательный параметр
|
||||
@@ -81,50 +67,50 @@ resource "dynamix_account" "a" {
|
||||
#R - чтение
|
||||
#RCX - запись
|
||||
#ARCXDU - админ
|
||||
access_type = "R"
|
||||
}]
|
||||
#access_type = "R"
|
||||
#}]
|
||||
|
||||
#ограничение используемых ресурсов
|
||||
#опциональный параметр
|
||||
#тип - объект
|
||||
#используется при создании и редактировании
|
||||
resource_limits = {
|
||||
#используется при обновлении
|
||||
#resource_limits = {
|
||||
#кол-во используемых ядер cpu
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если установлена -1 - кол-во неограиченно
|
||||
cu_c = 2
|
||||
#cu_c = 2
|
||||
|
||||
#кол-во используемой RAM в МБ
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если установлена -1 - кол-во неограиченно
|
||||
cu_m = 1024
|
||||
#cu_m = 1024
|
||||
|
||||
#размер дисков, в ГБ
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если установлена -1 - размер неограичен
|
||||
cu_d = 23
|
||||
#cu_d = 23
|
||||
|
||||
#кол-во используемых публичных IP
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если установлена -1 - кол-во неограиченно
|
||||
cu_i = 2
|
||||
#cu_i = 2
|
||||
|
||||
#ограничения на кол-во передачи данных, в ГБ
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если установлена -1 - кол-во неограиченно
|
||||
cu_np = 2
|
||||
#cu_np = 2
|
||||
|
||||
#кол-во графических процессоров
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если установлена -1 - кол-во неограиченно
|
||||
gpu_units = 2
|
||||
}
|
||||
#gpu_units = 2
|
||||
#}
|
||||
|
||||
#восстановление аккаунта
|
||||
#опциональный параметр
|
||||
@@ -133,13 +119,23 @@ resource "dynamix_account" "a" {
|
||||
#по умолчанию - true
|
||||
#restore = false
|
||||
|
||||
#мгновеное удаление аккаунта, если да - то аккаунт невозможно будет восстановить
|
||||
#флаг для удаления аккаунта, без возможности восстановления
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при удалении аккаунта
|
||||
#по умолчанию - true
|
||||
#используется при удалении
|
||||
#permanently = true
|
||||
|
||||
#описание
|
||||
#опциональный параметр
|
||||
#строка
|
||||
#desc = "description"
|
||||
|
||||
#причина отключения аккаунта
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при обновлении
|
||||
#reason = "something_reason"
|
||||
}
|
||||
|
||||
output "test" {
|
||||
|
||||
@@ -48,7 +48,7 @@ resource "dynamix_bservice" "b" {
|
||||
#необязательный параметр
|
||||
#тип - булев
|
||||
#используется при редактировании ресурса
|
||||
#по-умолачанию - false
|
||||
#по-умолчанию - true
|
||||
#enable = true
|
||||
|
||||
#снимок состояния
|
||||
@@ -76,7 +76,7 @@ resource "dynamix_bservice" "b" {
|
||||
#необязательный параметр
|
||||
#тип - булев
|
||||
#используется при редактировании ресурса
|
||||
#по-умолачанию - false
|
||||
#по-умолчанию - false
|
||||
#start = false
|
||||
|
||||
#восстановление сервиса после удаления
|
||||
@@ -90,7 +90,7 @@ resource "dynamix_bservice" "b" {
|
||||
#необязательный параметр
|
||||
#тип - булев
|
||||
#используется при удалении ресурса
|
||||
#по-умолачанию - false
|
||||
#по-умолчанию - true
|
||||
#permanently = true
|
||||
|
||||
}
|
||||
|
||||
@@ -75,6 +75,13 @@ resource "dynamix_bservice_group" "bsg" {
|
||||
#тип - строка
|
||||
driver = "kvm_x86"
|
||||
|
||||
#чипсет
|
||||
#возможные значения - i440fx, Q35
|
||||
#значение по умолчанию - i440fx
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#chipset = "i440fx"
|
||||
|
||||
#id Storage endpoint provider
|
||||
#необязательный параметр
|
||||
#тип - целое число
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса диска
|
||||
1. Создавать диск
|
||||
2. Редактировать диск
|
||||
3. Удалять диск
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
@@ -30,80 +33,80 @@ resource "dynamix_disk" "disk" {
|
||||
#id аккаунта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
account_id = 88366
|
||||
|
||||
#gid
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
gid = 212
|
||||
|
||||
#название диска диска
|
||||
#название диска
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
disk_name = "super-disk-re"
|
||||
|
||||
#максимальный размер диска
|
||||
#максимальный размер диска, в ГБ
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
size_max = 20
|
||||
|
||||
#тип диска
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#допустимые значения: "D", "B", "T"
|
||||
#значение по умолчанию: "D"
|
||||
#type = "d"
|
||||
|
||||
#sep id
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#значение по умолчанию 0
|
||||
#по умолчанию - 0
|
||||
#используется при создании
|
||||
#sep_id = 1
|
||||
|
||||
#название pool
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#pool = "pool_name"
|
||||
|
||||
#описание диска
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#desc = "description"
|
||||
|
||||
#флаг поделиться диском
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - false
|
||||
#используется при создании и обновлении
|
||||
#shareable = true
|
||||
|
||||
#настройки лимитов операций записи/чтения с диска
|
||||
#опциональный параметр
|
||||
#тип - блок, тип вложенных полей - число
|
||||
iotune = {
|
||||
read_bytes_sec = 0
|
||||
read_bytes_sec_max = 0
|
||||
read_iops_sec = 0
|
||||
read_iops_sec_max = 0
|
||||
size_iops_sec = 0
|
||||
total_bytes_sec = 0
|
||||
total_bytes_sec_max = 0
|
||||
total_iops_sec = 3000
|
||||
total_iops_sec_max = 0
|
||||
write_bytes_sec = 0
|
||||
write_bytes_sec_max = 0
|
||||
write_iops_sec = 0
|
||||
write_iops_sec_max = 0
|
||||
}
|
||||
#тип - блок
|
||||
#тип вложенных полей - целое число
|
||||
#используется при создании и обновлении
|
||||
#iotune = {
|
||||
#read_bytes_sec = 0
|
||||
#read_bytes_sec_max = 0
|
||||
#read_iops_sec = 0
|
||||
#read_iops_sec_max = 0
|
||||
#size_iops_sec = 0
|
||||
#total_bytes_sec = 0
|
||||
#total_bytes_sec_max = 0
|
||||
#total_iops_sec = 3000
|
||||
#total_iops_sec_max = 0
|
||||
#write_bytes_sec = 0
|
||||
#write_bytes_sec_max = 0
|
||||
#write_iops_sec = 0
|
||||
#write_iops_sec_max = 0
|
||||
#}
|
||||
|
||||
#настройки для удаления диска
|
||||
|
||||
#флаг для удаления диска
|
||||
#флаг для удаления диска, без возможности восстановления
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - true
|
||||
#используется при удалении
|
||||
#permanently = true
|
||||
|
||||
#флаг отсоединения диска от машины перед удалением
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - true
|
||||
#используется при удалении
|
||||
#detach = true
|
||||
}
|
||||
|
||||
|
||||
@@ -62,6 +62,11 @@ data "dynamix_extnet_list" "el" {
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#имя моста openVswitch
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#ovs_bridge = "ovs_bridge_name"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
|
||||
@@ -35,42 +35,50 @@ resource "dynamix_flipgroup" "fg" {
|
||||
#id аккаунта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
account_id = 999
|
||||
|
||||
#наименование Flipgroup
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
name = "flipgroup_name"
|
||||
|
||||
#тип сети (EXTNET, ViNS)
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
net_type = "EXTNET"
|
||||
|
||||
#id сети
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
net_id = 13
|
||||
|
||||
#тип клиентов (в данный момент поддерживается только тип 'compute')
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
client_type = "compute"
|
||||
|
||||
#ip-адрес
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
ip = "127.0.0.1"
|
||||
#используется при создании
|
||||
#ip = "127.0.0.1"
|
||||
|
||||
#список клиентов, прикрепленных к флипгруппе
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
client_ids = [11269]
|
||||
#используется при создании и обновлении
|
||||
#client_ids = [11269]
|
||||
|
||||
#описание флипгруппы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
desc = "CHANGED"
|
||||
#используется при создании и обновлении
|
||||
#desc = "CHANGED"
|
||||
}
|
||||
|
||||
output "fg_out" {
|
||||
|
||||
@@ -36,144 +36,190 @@ resource "dynamix_k8s_cp" "cp" {
|
||||
#название кластера
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
name = "k8s-cp"
|
||||
|
||||
#K8sCI ID
|
||||
#k8sCI ID
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
k8sci_id = 55
|
||||
|
||||
#плагин сети (flannel, weavenet или calico)
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
network_plugin = "flannel"
|
||||
|
||||
#id ресурсной группы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
rg_id = 1387
|
||||
|
||||
#кол-во ядер мастер-узла
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
cpu = 2
|
||||
#используется при создании
|
||||
#cpu = 2
|
||||
|
||||
#объем RAM мастер-узла
|
||||
#объем RAM мастер-узла, в МБ
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
ram = 2048
|
||||
#используется при создании
|
||||
#ram = 2048
|
||||
|
||||
#кол-во ВМ мастер-узла (1, 3 или 5)
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
num = 1
|
||||
#используется при создании и обновлении
|
||||
#num = 1
|
||||
|
||||
#размер диска мастер-узла
|
||||
#размер диска мастер-узла, в ГБ
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
disk = 10
|
||||
#используется при создании
|
||||
#disk = 10
|
||||
|
||||
#описание кластера
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
desc = "<DESCRIPTION>"
|
||||
#используется при создании и обновлении
|
||||
#desc = "<DESCRIPTION>"
|
||||
|
||||
#id extnet
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
extnet_id = 0
|
||||
#используется при создании
|
||||
#extnet_id = 0
|
||||
|
||||
#id vins
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
vins_id = 1234
|
||||
#используется при создании
|
||||
#vins_id = 1234
|
||||
|
||||
#storage Endpoint ID
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
sep_id = 0
|
||||
#используется при создании
|
||||
#sep_id = 0
|
||||
|
||||
#SEP Pool
|
||||
#sep pool
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
sep_pool = "pool"
|
||||
#используется при создании
|
||||
#sep_pool = "pool"
|
||||
|
||||
#старт/стоп кластера
|
||||
#опциональный параметр
|
||||
#по умолчанию - false
|
||||
#тип - булев
|
||||
start = true
|
||||
#используется при создании и обновлении
|
||||
#start = true
|
||||
|
||||
#флаг доступности кластера
|
||||
#опциональный параметр
|
||||
#по умолчанию - true
|
||||
#тип - булев
|
||||
#enable = true
|
||||
|
||||
#создать кластер с/без балансировщика нагрузки
|
||||
#опциональный параметр
|
||||
#по умолчанию - true
|
||||
#тип - булев
|
||||
with_lb = true
|
||||
#используется при создании
|
||||
#with_lb = true
|
||||
|
||||
#позволяет создать схему отказоустройчивой LB
|
||||
#создать схему отказоустойчивой LB
|
||||
#опциональный параметр
|
||||
#по умолчанию - false
|
||||
#тип - булев
|
||||
ha_mode = true
|
||||
#используется при создании
|
||||
#ha_mode = true
|
||||
|
||||
#дополнительные SAN (Subject Alternative Names) для использования в процессе автоматического выписывания сертификата Кластера Kubernetes;
|
||||
#возможность взаимодействовать с кластером по FQDN
|
||||
#параметр получает список строк – IP-адреса и/или DNS (по формату RFC 1123 c поддержкой wildcard)
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
additional_sans = ["192.168.201.0","192.168.201.1"]
|
||||
#используется при создании
|
||||
#additional_sans = ["192.168.201.0","192.168.201.1"]
|
||||
|
||||
#используется для определения настроек и действий, которые должны быть выполнены перед запуском любого другого компонента в кластере
|
||||
#это позволяет вам настраивать такие вещи, как регистрация node, настройка network и другие задачи инициализации
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
init_config = "{JSON string}"
|
||||
#используется при создании
|
||||
#init_config = "{JSON string}"
|
||||
|
||||
#используется для определения глобальных настроек и конфигураций для всего кластера
|
||||
#он включает в себя такие параметры, как имя кластера, настройки DNS, методы аутентификации и другие конфигурации в масштабах кластера
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
cluster_config = "{JSON string}"
|
||||
#используется при создании
|
||||
#cluster_config = "{JSON string}"
|
||||
|
||||
#используется для настройки поведения и параметров Kubelet, который является агентом primary node, запускаемым на каждом node кластера
|
||||
#он включает в себя такие параметры, как IP-адрес node, распределение ресурсов, политики удаления модулей и другие конфигурации, специфичные для Kubelet
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
kubelet_config = "{JSON string}"
|
||||
#используется при создании
|
||||
#kubelet_config = "{JSON string}"
|
||||
|
||||
#используется для настройки поведения и параметров присоединения node к кластеру
|
||||
#он включает в себя такие параметры, как режим прокси-сервера, диапазоны IP-адресов кластера и другие конфигурации, специфичные для Kube-proxy
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
kube_proxy_config = "{JSON string}"
|
||||
#используется при создании
|
||||
#kube_proxy_config = "{JSON string}"
|
||||
|
||||
#используется для настройки поведения и параметров присоединения node к кластеру
|
||||
#он включает в себя такие параметры, как cluster's control plane endpoint, токен и ключ сертификата
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
join_config = "{JSON string}"
|
||||
#используется при создании
|
||||
#join_config = "{JSON string}"
|
||||
|
||||
#при создании кластре использовать подключение только к сети ExtNet
|
||||
#опциональный параметр
|
||||
#по умолчанию - false
|
||||
#тип - булев
|
||||
extnet_only = true
|
||||
#используется при создании
|
||||
#extnet_only = true
|
||||
|
||||
#добавить ssl-сертификат в формате x509 pem
|
||||
#необязательный параметр
|
||||
#тип - файл с форматом в виде x509 pem
|
||||
oidc_cert = file("ca.crt")
|
||||
#опциональный параметр
|
||||
#тип - файл с форматом в виде .crt
|
||||
#используется при создании
|
||||
#oidc_cert = file("ca.crt")
|
||||
|
||||
#тип эмулируемой системы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
chipset = "i440fx"
|
||||
#используется при создании
|
||||
#chipset = "i440fx"
|
||||
|
||||
#пользовательские значения sysctl для LB
|
||||
#опциональный параметр
|
||||
#тип - список мап
|
||||
lb_sysctl_params = [{text = "1", text = "some"}]
|
||||
#тип - массив мап
|
||||
#используется при создании и обновлении
|
||||
#lb_sysctl_params = [{ key1 = "value1", key2 = "value2" }]
|
||||
|
||||
#команда destroy удаляет кластер без возможности восстановления
|
||||
#флаг для удаления k8s_cp, без возможности восстановления
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
permanently = true
|
||||
#по умолчанию - true
|
||||
#используется при удалении
|
||||
#permanently = true
|
||||
|
||||
#восстановление группы после удаления
|
||||
#опциональный параметр
|
||||
#используется при редактировании ресурса
|
||||
#по умолчанию - true
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#restore = true
|
||||
}
|
||||
|
||||
output "cp_out" {
|
||||
|
||||
@@ -31,64 +31,85 @@ resource "dynamix_k8s_wg" "wg" {
|
||||
#id экземпляра k8s
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
k8s_id = 1234
|
||||
|
||||
#имя worker group
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
name = "workers-2"
|
||||
|
||||
#количество worker node для создания
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#по - умолчанию - 1
|
||||
num = 2
|
||||
#по умолчанию - 1
|
||||
#используется при создании и обновлении
|
||||
#num = 2
|
||||
|
||||
#тип эмулируемой системы worker nodes
|
||||
#тип эмулируемой системы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
worker_chipset = "i440fx"
|
||||
#используется при создании
|
||||
#chipset = "i440fx"
|
||||
|
||||
#количество cpu для 1 worker node
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#по - умолчанию - 1
|
||||
cpu = 1
|
||||
#по умолчанию - 1
|
||||
#используется при создании
|
||||
#cpu = 1
|
||||
|
||||
#тип эмулируемой системы worker группы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
chipset = "i440fx"
|
||||
|
||||
#количество RAM для одной worker node в Мбайтах
|
||||
#количество RAM для одной worker node в МБ
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#по-умолчанию - 1024
|
||||
ram = 1024
|
||||
#по умолчанию - 1024
|
||||
#используется при создании
|
||||
#ram = 1024
|
||||
|
||||
#размер загрузочного диска для worker node, в Гбайтах
|
||||
#размер загрузочного диска для worker node, в ГБ
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#по - умолчанию - 0
|
||||
#по умолчанию - 0
|
||||
#если установлен параметр 0, то размер диска будет равен размеру образа
|
||||
disk = 10
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#disk = 10
|
||||
|
||||
#id SEP'а для создания загрузочных дисков для группы worker node по умолчанию,
|
||||
#если не указан, используется sep_id образа
|
||||
#список строк с 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
|
||||
#используется при создании
|
||||
#worker_sep_id = 1
|
||||
|
||||
#pool для использования, если установлен worker_sep_id, если не указан, выбирается системой
|
||||
#пул для хранения Workers. Если не заполнить, будет выбран системой
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
worker_sep_pool = "pool"
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#worker_sep_pool = "worker_pool"
|
||||
|
||||
#Перечень аргументов для cloud-init для виртуальных машин worker групп
|
||||
#перечень аргументов для cloud-init для виртуальных машин worker групп
|
||||
#опциональный параметр
|
||||
#тип - файл с форматом в виде yaml
|
||||
#используется при создании и обновлении ресурса
|
||||
cloud_init = file("initconfig.tftpl")
|
||||
#тип - файл в формате YAML
|
||||
#используется при создании и обновлении
|
||||
#cloud_init = file("initconfig.tftpl")
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -35,360 +35,398 @@ resource "dynamix_kvmvm" "comp" {
|
||||
#может быть изменен
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
name = "test-tf-compute-update-new"
|
||||
|
||||
#id resource group
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
rg_id = 1111
|
||||
|
||||
#тип драйвера для compute
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#возможные значения: "SVA_KVM_X86", "KVM_X86"
|
||||
#используется при создании
|
||||
driver = "KVM_X86"
|
||||
|
||||
#число cpu
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
cpu = 1
|
||||
|
||||
#кол-во оперативной памяти, МБ
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#возможные значения: кратные 128
|
||||
#используется при создании и обновлении
|
||||
ram = 2048
|
||||
|
||||
#размер загрузочного диска
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
boot_disk_size = 20
|
||||
#используется при создании и обновлении
|
||||
#boot_disk_size = 20
|
||||
|
||||
#тип эмулируемой системы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#возможные значения: "i440fx", "Q35"
|
||||
chipset = "i440fx"
|
||||
#используется при создании и обновлении
|
||||
#chipset = "i440fx"
|
||||
|
||||
#id сепа для boot диска
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
sep_id = 1
|
||||
#используется при создании
|
||||
#sep_id = 1
|
||||
|
||||
#название пула
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
pool = "data02"
|
||||
#используется при создании
|
||||
#pool = "data02"
|
||||
|
||||
#конфигурация cloud init
|
||||
#опциональный параметр
|
||||
#тип - файл в формате JSON
|
||||
cloud_init = file("initconfig.tftpl")
|
||||
#используется при создании
|
||||
#cloud_init = file("initconfig.tftpl")
|
||||
|
||||
#описание compute
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
description = "test update description in tf words update"
|
||||
#используется при создании и обновлении
|
||||
#description = "test update description in tf words update"
|
||||
|
||||
#id образа диска для создания compute
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
image_id = 111
|
||||
#используется при создании и обновлении
|
||||
#image_id = 111
|
||||
|
||||
#создание без загрузочного диска в остановленном состоянии
|
||||
#опциональный параметр
|
||||
#если значение равно True, параметры image_id, boot_disk_size, sep_id, pool должны быть пустыми
|
||||
#тип - булев
|
||||
without_boot_disk = true
|
||||
#используется при создании
|
||||
#without_boot_disk = true
|
||||
|
||||
#необходимость выравнивать ВМ по NUMA
|
||||
#опциональный параметр
|
||||
#возможные значения - "none "strict" "loose"
|
||||
#по умолчанию - "none"
|
||||
#тип - строка
|
||||
numa_affinity = "loose"
|
||||
#используется при создании и обновлении
|
||||
#numa_affinity = "loose"
|
||||
|
||||
#необходимость запускать ВМ на выделенных CPU ядрах
|
||||
#опциональный параметр
|
||||
#по умолчанию - false
|
||||
#тип - булев
|
||||
cpu_pin = true
|
||||
#используется при создании и обновлении
|
||||
#cpu_pin = true
|
||||
|
||||
#необходимость использовать для выделения RAM виртуальной машины Huge Pages
|
||||
#опциональный параметр
|
||||
#по умолчанию - false
|
||||
#тип - булев
|
||||
hp_backed = true
|
||||
#используется при создании и обновлении
|
||||
#hp_backed = true
|
||||
|
||||
#список PCI девайсов
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
pci_devices = [1,2]
|
||||
#используется при создании и обновлении
|
||||
#pci_devices = [1,2]
|
||||
|
||||
#правила affinity
|
||||
#опциональный параметр
|
||||
#может быть один, несколько или ни одного
|
||||
#тип - список объектов правил
|
||||
affinity_rules = [{
|
||||
#используется при создании и обновлении
|
||||
#affinity_rules = [{
|
||||
#тип правила
|
||||
#обязательный параметр
|
||||
#возможные значения - compute или node
|
||||
#тип - строка
|
||||
topology = "compute"
|
||||
#topology = "compute"
|
||||
|
||||
#строгость правила
|
||||
#обязательный параметр
|
||||
#возможные значения - RECOMMENDED и REQUIRED
|
||||
#тип - строка
|
||||
policy = "RECOMMENDED"
|
||||
#policy = "RECOMMENDED"
|
||||
|
||||
#режим проверки
|
||||
#обязательный параметр
|
||||
#возможные значения - ANY, EQ, NE
|
||||
#тип - строка
|
||||
mode = "ANY"
|
||||
#mode = "ANY"
|
||||
|
||||
#ключ правила
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
key = "testkey"
|
||||
#key = "testkey"
|
||||
|
||||
#ключ правила
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
value = "testvalue"
|
||||
}]
|
||||
#value = "testvalue"
|
||||
#}]
|
||||
|
||||
#правила anti-affinity
|
||||
#опциональный параметр
|
||||
#может быть один, несколько или ни одного
|
||||
#тип - список объектов правил
|
||||
anti_affinity_rules = [{
|
||||
#используется при создании и обновлении
|
||||
#anti_affinity_rules = [{
|
||||
#тип правила
|
||||
#обязательный параметр
|
||||
#возможные значения - compute или node
|
||||
#тип - строка
|
||||
topology = "compute"
|
||||
#topology = "compute"
|
||||
|
||||
#строгость правила
|
||||
#обязательный параметр
|
||||
#возможные значения - RECOMMENDED и REQUIRED
|
||||
#тип - строка
|
||||
policy = "RECOMMENDED"
|
||||
#policy = "RECOMMENDED"
|
||||
|
||||
#режим проверки
|
||||
#обязательный параметр
|
||||
#возможные значения - ANY, EQ, NE
|
||||
#тип - строка
|
||||
mode = "ANY"
|
||||
#mode = "ANY"
|
||||
|
||||
#ключ правила
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
key = "testkey"
|
||||
#key = "testkey"
|
||||
|
||||
#ключ правила
|
||||
#опциональный параметр
|
||||
#тип -строка
|
||||
value = "testvalue"
|
||||
}]
|
||||
#value = "testvalue"
|
||||
#}]
|
||||
|
||||
#установка метки для вм
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
affinity_label = "test4"
|
||||
#используется при создании и обновлении
|
||||
#affinity_label = "test4"
|
||||
|
||||
#Управление XML виртуальной машины
|
||||
#опциональный параметр
|
||||
#тип - строка (json-encoded)
|
||||
custom_fields = "{`key`:`value`}"
|
||||
#используется при создании и обновлении
|
||||
#custom_fields = "{`key`:`value`}"
|
||||
|
||||
#наименование системы
|
||||
#опциональный параметр
|
||||
#используется при создании вм
|
||||
#по умолчанию - не задан
|
||||
#тип - строка
|
||||
is = ""
|
||||
#используется при создании
|
||||
#is = ""
|
||||
|
||||
#назначение вм
|
||||
#опциональный параметр
|
||||
#используется при создании вм
|
||||
#по умолчанию - не задан
|
||||
#тип - строка
|
||||
ipa_type = ""
|
||||
#используется при создании
|
||||
#ipa_type = ""
|
||||
|
||||
#id экстра дисков
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
extra_disks = [1234, 4322, 1344]
|
||||
#используется при создании и обновлении
|
||||
#extra_disks = [1234, 4322, 1344]
|
||||
|
||||
#присоединения сетей и удаление сетей в компьюте
|
||||
#опциональный параметр
|
||||
#тип - список объектов сетей
|
||||
network = [{
|
||||
#используется при создании и обновлении
|
||||
#network = [{
|
||||
#тип сети
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#возможные значения - "VINS", "EXTNET", "VFNIC", "DPDK" (при выборе типа DPDK, необходимо указать hp_backed = true)
|
||||
net_type = "VINS"
|
||||
#net_type = "VINS"
|
||||
|
||||
#id сети
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
net_id = 1234
|
||||
#net_id = 1234
|
||||
|
||||
#ip адрес входящий в сеть
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
ip_address = "127.0.0.1"
|
||||
#ip_address = "127.0.0.1"
|
||||
|
||||
#mac-адрес интерфейса компьюта
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#mac = "52:54:01:12:34:60"
|
||||
|
||||
#вес сети, указывается при необходимости указания порядка подключения сетей
|
||||
#первой подключается сеть с наименьшим весом
|
||||
#сеть с нулевым или неуказанным весом имеет наименьший приоритет
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
weight = 15
|
||||
#weight = 15
|
||||
|
||||
#максимальный объём данных, который может быть передан за одну итерацию
|
||||
#используется только с сетями типа "DPDK"
|
||||
#возможные значения - 1-9216
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
mtu = 1500
|
||||
}]
|
||||
#mtu = 1500
|
||||
#}]
|
||||
|
||||
#добавление и удаление тэгов
|
||||
#опциональный параметр
|
||||
#тип - список тэгов
|
||||
tags = [{
|
||||
#используется при создании и обновлении
|
||||
#tags = [{
|
||||
#ключ для тэга
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
key = "key"
|
||||
#key = "key"
|
||||
|
||||
#значения тэга
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
value = "value"
|
||||
}]
|
||||
#value = "value"
|
||||
#}]
|
||||
|
||||
#добавление и удаление port forwarding
|
||||
#опциональный параметр
|
||||
#тип - список объектов переадресации портов
|
||||
port_forwarding = [{
|
||||
#используется при создании и обновлении
|
||||
#port_forwarding = [{
|
||||
#номер внешнего начального порта для правила
|
||||
#Обязательный параметр
|
||||
#тип - целое число
|
||||
public_port_start = 2023
|
||||
#public_port_start = 2023
|
||||
|
||||
#номер внешнего последнего порта для правила
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#по умолчанию - -1
|
||||
public_port_end = 2023
|
||||
#public_port_end = 2023
|
||||
|
||||
#номер внутреннего базового порта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
local_port = 80
|
||||
#local_port = 80
|
||||
|
||||
#сетевой протокол
|
||||
#Обязательный параметр
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
proto = "tcp"
|
||||
}]
|
||||
#proto = "tcp"
|
||||
#}]
|
||||
|
||||
#предоставить/забрать пользователю доступ к компьюту
|
||||
#опциональный параметр
|
||||
#тип - список объектов прав пользователя
|
||||
user_access = [{
|
||||
#используется при создании и обновлении
|
||||
#user_access = [{
|
||||
#имя юзера, которому предоставляем доступ
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
username = "some@decs3o"
|
||||
#username = "some@decs3o"
|
||||
|
||||
#права: 'R' - только на чтение, 'RCX' - чтение/запись, 'ARCXDU' - админ
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
access_type = "ARCXDU"
|
||||
}]
|
||||
#access_type = "ARCXDU"
|
||||
#}]
|
||||
|
||||
#создать/удалить снапшот компьюта
|
||||
#опциональный параметр
|
||||
#тип - список объектов снапшотов
|
||||
snapshot = [{
|
||||
#используется при создании и обновлении
|
||||
#snapshot = [{
|
||||
#лейбл снапшота
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
label = "label1"
|
||||
}]
|
||||
#label = "label1"
|
||||
#}]
|
||||
|
||||
#флаг для удаления снапшотов в асинхронном режиме
|
||||
#опциональный параметр
|
||||
#по умолчанию - false
|
||||
#тип - булев
|
||||
#используется при удалении
|
||||
#snapshot_delete_async = true
|
||||
|
||||
#rollback на нужный снапшот
|
||||
#опциональный параметр
|
||||
#не имеет смысла при отсутсвии снапшотов
|
||||
#тип - объект
|
||||
rollback = {
|
||||
#Лейбл снапшота
|
||||
#Обязательный параметр
|
||||
#используется при обновлении
|
||||
#rollback = {
|
||||
#лейбл снапшота
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
label = "label1"
|
||||
}
|
||||
#label = "label1"
|
||||
#}
|
||||
|
||||
#вставить/удалить СD rom
|
||||
#опциональный параметр
|
||||
#максимальное кол-во - 1
|
||||
#тип - объект
|
||||
cd = {
|
||||
#id образа диска CD rom
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
cdrom_id = 344
|
||||
}
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#cd_image_id = 344
|
||||
|
||||
#список ядер для использования в механизме vcpupinning. Количество указанных ядер должно быть равно количеству виртуальных процессоров ВМ
|
||||
#игнорируется если cpu_pin=false или pin_to_stack=false
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
preferred_cpu = [1234, 456]
|
||||
#используется при создании и обновлении
|
||||
#preferred_cpu = [1234, 456]
|
||||
|
||||
#добавить компьют на стэк
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
pin_to_stack = true
|
||||
#используется при создании и обновлении
|
||||
#pin_to_stack = true
|
||||
|
||||
#флаг для старта компьюта при рестарте ноды
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
auto_start_w_node = true
|
||||
#используется при создании и обновлении
|
||||
#auto_start_w_node = true
|
||||
|
||||
#флаг доступности компьюта для проведения с ним операций
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
enabled = true
|
||||
#используется при создании и обновлении
|
||||
#enabled = true
|
||||
|
||||
#pause/resume компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - false
|
||||
pause = true
|
||||
#используется при создании и обновлении
|
||||
#pause = true
|
||||
|
||||
#reset компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - false
|
||||
reset = true
|
||||
#используется при обновлении
|
||||
#reset = true
|
||||
|
||||
#восстановить компьют из корзины
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - true
|
||||
restore = true
|
||||
|
||||
#флаг для редеплоя компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - false
|
||||
auto_start = true
|
||||
#используется при обновлении
|
||||
#restore = true
|
||||
|
||||
#флаг для редеплоя компьюта
|
||||
#опциональный параметр
|
||||
@@ -400,31 +438,56 @@ resource "dynamix_kvmvm" "comp" {
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - false
|
||||
force_resize = true
|
||||
|
||||
#поле для редеплоя компьюта
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#возможные значения - "KEEP", "DETACH", "DESTROY"
|
||||
data_disks = "KEEP"
|
||||
#используется при обновлении
|
||||
#force_resize = true
|
||||
|
||||
#запуск/стоп компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - true
|
||||
started = true
|
||||
#используется при создании и обновлении
|
||||
#started = true
|
||||
|
||||
#detach диска при удалении компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - true
|
||||
detach_disks = true
|
||||
#используется при удалении
|
||||
#detach_disks = true
|
||||
|
||||
#флаг для удаления компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - true
|
||||
permanently = false
|
||||
#используется при удалении
|
||||
#permanently = false
|
||||
|
||||
#тип вм
|
||||
#возможные значения - linux, windows, unknown
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#loader_type = "unknown"
|
||||
|
||||
#тип загрузки образа
|
||||
#возможные значения - bios, uefi
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#boot_type = "bios"
|
||||
|
||||
#изменение размера ВМ
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#hot_resize = false
|
||||
|
||||
#наименование сетевого интерфейса
|
||||
#возможные значения - eth, ens
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#network_interface_naming = "ens"
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -31,26 +31,30 @@ provider "dynamix" {
|
||||
}
|
||||
|
||||
resource "dynamix_lb" "lb" {
|
||||
#id ресурсной группы для со
|
||||
#id ресурсной группы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
rg_id = 1111
|
||||
|
||||
#наименование load balancer
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
name = "tf-test-lb"
|
||||
|
||||
#id внешней сети
|
||||
#опциональный параметр
|
||||
#id внешней сети и id виртуальной сети не могут быть одновременно = 0
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#extnet_id = 6
|
||||
|
||||
#id виртуальной сети
|
||||
#опциональный параметр
|
||||
#id внешней сети и id виртуальной сети не могут быть одновременно = 0
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#vins_id = 758
|
||||
|
||||
#флаг запуска load balancer
|
||||
@@ -59,33 +63,41 @@ resource "dynamix_lb" "lb" {
|
||||
#то для успешного старта, он должен быть доступен (enable = true)
|
||||
#по умолчанию - true
|
||||
#тип - булев
|
||||
#start = true
|
||||
#используется при создании и обновлении
|
||||
start = true
|
||||
|
||||
#позволяет создать схему отказоустройчивой LB
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - false
|
||||
#используется при создании и обновлении
|
||||
#ha_mode = true
|
||||
|
||||
#описание
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#desc = "temp super lb for testing tf provider"
|
||||
|
||||
#флаг доступности load balancer
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - true
|
||||
#используется при создании и обновлении
|
||||
#enable = true
|
||||
|
||||
#флаг перезапуска load balancer
|
||||
#перезагрузка срабатывает только при изменении флага с false или null на true
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#restart = false
|
||||
|
||||
#флаг сброса конфигурации load balancer
|
||||
#сброс срабатывает только при изменении флага с false или null на true
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#config_reset = false
|
||||
|
||||
#флаг моментального удаления load balancer
|
||||
@@ -93,6 +105,7 @@ resource "dynamix_lb" "lb" {
|
||||
#применяется при выполнении команды terraform destroy
|
||||
#по умолчанию - true
|
||||
#тип - булев
|
||||
#используется при удалении
|
||||
#permanently = true
|
||||
|
||||
#флаг восстановления load balancer
|
||||
@@ -100,6 +113,7 @@ resource "dynamix_lb" "lb" {
|
||||
#восстановить можно load balancer, удаленным с флагом permanently = false
|
||||
#по умолчанию - true
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#restore = true
|
||||
|
||||
#флаг используемый при рестарте load balancer
|
||||
@@ -107,11 +121,13 @@ resource "dynamix_lb" "lb" {
|
||||
#при значении "true" рестарт производится на обоих нодах в HA mode
|
||||
#значение по умолчанию - true
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#safe = true
|
||||
|
||||
#пользовательские значения sysctl для LB
|
||||
#опциональный параметр
|
||||
#тип - список мап
|
||||
#используется при создании и обновлении
|
||||
#sysctl_params = [{key = "1", value = "some" }]
|
||||
|
||||
}
|
||||
|
||||
@@ -34,11 +34,13 @@ resource "dynamix_lb_backend" "lb" {
|
||||
#id балансировщика нагрузок
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
lb_id = 668
|
||||
|
||||
#имя бекенда для создания сервера
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
name = "testBackend"
|
||||
|
||||
#алгоритм балансировки
|
||||
@@ -46,6 +48,7 @@ resource "dynamix_lb_backend" "lb" {
|
||||
#по умолчанию - "roundrobin"
|
||||
#доступные значения - "roundrobin", "static-rr", "leastconn"
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#algorithm = "roundrobin"
|
||||
|
||||
#-------------------
|
||||
@@ -56,42 +59,49 @@ resource "dynamix_lb_backend" "lb" {
|
||||
#опциональный параметр
|
||||
#по умолчанию - 5000
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#inter = 5000
|
||||
|
||||
#интервал между проверками доступности сервера после восстановления, в миллисекундах
|
||||
#опциональный параметр
|
||||
#по умолчанию - 1000
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#downinter = 1000
|
||||
|
||||
#кол-во проверок, которые сервер должен успешно пройти
|
||||
#опциональный параметр
|
||||
#по умолчанию - 2
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#rise = 2
|
||||
|
||||
#кол-во проверок, которые сервер может не пройти и после этого получить статус "unavailable"
|
||||
#опциональный параметр
|
||||
#по умолчанию - 2
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#fall = 2
|
||||
|
||||
#кол-во миллисекунд - время между получением сервера статуса "available" и открытием соединений
|
||||
#опциональный параметр
|
||||
#по умолчанию - 60000
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#slowstart = 60000
|
||||
|
||||
#максимальное кол-во соединений сервера, при достижении этого кол-ва, сервер выходит из схемы балансирования
|
||||
#опциональный параметр
|
||||
#по умолчанию - 250
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#maxconn = 250
|
||||
|
||||
#максимальное кол-во соединений в очереди сервера, при достижении этого кол-ва, соединения будут перенаправлены на другой сервер
|
||||
#опциональный параметр
|
||||
#по умолчанию - 256
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#maxqueue = 256
|
||||
|
||||
#вес сервера для балансировки
|
||||
@@ -100,6 +110,7 @@ resource "dynamix_lb_backend" "lb" {
|
||||
#макс - 255
|
||||
#по умолчанию - 100
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#weight = 100
|
||||
|
||||
}
|
||||
|
||||
@@ -34,26 +34,31 @@ resource "dynamix_lb_backend_server" "lb" {
|
||||
#id балансировщика нагрузок
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
lb_id = 668
|
||||
|
||||
#имя бекенда для создания сервера
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
backend_name = "testBackend"
|
||||
|
||||
#имя сервера
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
name = "testServer"
|
||||
|
||||
#ip адрес сервера
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
address = "192.168.5.33"
|
||||
|
||||
#порт сервера
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
port = 6553
|
||||
|
||||
#проверка доступности сервера
|
||||
@@ -61,48 +66,56 @@ resource "dynamix_lb_backend_server" "lb" {
|
||||
#по умолчанию - "enabled"
|
||||
#доступные значения - "disabled", "enabled"
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#check = "enabled"
|
||||
|
||||
#интервал между проверками, в миллисекундах
|
||||
#опциональный параметр
|
||||
#по умолчанию - 5000
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#inter = 5000
|
||||
|
||||
#интервал между проверками доступности сервера после восстановления, в миллисекундах
|
||||
#опциональный параметр
|
||||
#по умолчанию - 1000
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#downinter = 1000
|
||||
|
||||
#кол-во проверок, которые сервер должен успешно пройти
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#по умолчанию - 2
|
||||
#используется при создании и обновлении
|
||||
#rise = 2
|
||||
|
||||
#кол-во проверок, которые сервер может не пройти и после этого получить статус "unavailable"
|
||||
#опциональный параметр
|
||||
#по умолчанию - 2
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#fall = 2
|
||||
|
||||
#кол-во миллисекунд - время между получением сервера статуса "available" и открытием соединений
|
||||
#опциональный параметр
|
||||
#по умолчанию - 60000
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#slowstart = 60000
|
||||
|
||||
#максимальное кол-во соединений сервера, при достижении этого кол-ва, сервер выходит из схемы балансирования
|
||||
#опциональный параметр
|
||||
#по умолчанию - 250
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#maxconn = 250
|
||||
|
||||
#максимальное кол-во соединений в очереди сервера, при достижении этого кол-ва, соединения будут перенаправлены на другой сервер
|
||||
#опциональный параметр
|
||||
#по умолчанию - 256
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#maxqueue = 256
|
||||
|
||||
#вес сервера для балансировки
|
||||
@@ -111,6 +124,7 @@ resource "dynamix_lb_backend_server" "lb" {
|
||||
#макс - 255
|
||||
#по умолчанию - 100
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#weight = 100
|
||||
|
||||
}
|
||||
|
||||
@@ -33,16 +33,19 @@ resource "dynamix_lb_frontend" "lb" {
|
||||
#id балансировщика нагрузок
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
lb_id = 668
|
||||
|
||||
#имя бекенда для создания фронтенда
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
backend_name = "testBackend"
|
||||
|
||||
#имя фронтенда
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
name = "testFrontend"
|
||||
|
||||
}
|
||||
|
||||
@@ -34,26 +34,31 @@ resource "dynamix_lb_frontend_bind" "lb" {
|
||||
#id балансировщика нагрузок
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
lb_id = 668
|
||||
|
||||
#имя фронтенда для создания привязки
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
frontend_name = "testFrontend"
|
||||
|
||||
#наименование привязки
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
name = "testBinding"
|
||||
|
||||
#адрес привязки фронтенда
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
address = "111.111.111.111"
|
||||
|
||||
#порт для привязки фронтенда
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
port = 1111
|
||||
|
||||
}
|
||||
|
||||
@@ -34,148 +34,168 @@ resource "dynamix_resgroup" "rg" {
|
||||
#имя ресурсной группы
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
name = "testing_rg_1"
|
||||
|
||||
#id аккаунта которому будет принадлежать ресурсная группа
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
account_id = 123
|
||||
|
||||
#id сети
|
||||
#id платформы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
gid = 1234
|
||||
|
||||
#тип сети по умолчанию для этой ресурсной группы
|
||||
#опциональный параметр
|
||||
#виртуальные машины, созданные в этой RG, по умолчанию будут подключены к этой сети
|
||||
#допустимые значения: PRIVATE, PUBLIC, NONE
|
||||
#по умолчанию - PRIVATE
|
||||
#тип - строка
|
||||
def_net_type = "NONE"
|
||||
#используется при создании
|
||||
#def_net_type = "NONE"
|
||||
|
||||
#ip cidr частной сети, если сеть по умолчанию PRIVATE
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
ipcidr = "1.1.1.1"
|
||||
#используется при создании
|
||||
#ipcidr = "1.1.1.1"
|
||||
|
||||
#id внешней сети
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
ext_net_id = 123
|
||||
#используется при создании
|
||||
#ext_net_id = 123
|
||||
|
||||
#ip внешней сети
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
ext_ip = "1.1.1.1"
|
||||
#используется при создании
|
||||
#ext_ip = "1.1.1.1"
|
||||
|
||||
#описание
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
description = "qwerty"
|
||||
#используется при создании и обновлении
|
||||
#description = "qwerty"
|
||||
|
||||
#флаг доступности ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
enable = true
|
||||
#используется при создании и обновлении
|
||||
#по умолчанию - true
|
||||
#enable = true
|
||||
|
||||
#имя пользователя
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
owner = "name_user"
|
||||
#используется при создании
|
||||
#owner = "name_user"
|
||||
|
||||
#блок для предоставления прав на ресурсную группу
|
||||
#опциональный параметр
|
||||
#тип - блок прав доступа
|
||||
access = [{
|
||||
#имя юзера предоставляемому права
|
||||
#используется при создании и обновлении
|
||||
#access = [{
|
||||
#имя юзера предоставляемому права
|
||||
#обязательный параметр при использовании блока
|
||||
#тип - строка
|
||||
user = "kasim_baybikov_1@decs3o"
|
||||
#user = "kasim_baybikov_1@decs3o"
|
||||
|
||||
#тип прав
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
right = "RCX"
|
||||
}]
|
||||
#right = "RCX"
|
||||
#}]
|
||||
|
||||
#установить сеть по умолчанию
|
||||
#опциональный параметр
|
||||
#тип - блок сетей
|
||||
def_net = {
|
||||
#используется при создании и обновлении
|
||||
#def_net = {
|
||||
#тип сети
|
||||
#обязательный параметр при использовании блока
|
||||
#тип - строка
|
||||
net_type = "PUBLIC"
|
||||
#net_type = "PUBLIC"
|
||||
|
||||
#id сети
|
||||
#опциональный параметр
|
||||
#идентификатор сегмента сети. Если net_type — PUBLIC, а net_id — 0,
|
||||
#то будет выбран сегмент внешней сети по умолчанию. Если net_type
|
||||
#имеет значение PRIVATE и net_id=0, будет выбран первый vins, определенный для этой ресурсной группы.
|
||||
#В противном случае net_id идентифицирует либо существующий сегмент внешней сети, либо vins.
|
||||
#имеет значение PRIVATE и net_id=0, будет выбран первый vins, определенный для этой ресурсной группы
|
||||
#в противном случае net_id идентифицирует либо существующий сегмент внешней сети, либо vins
|
||||
#тип - целое число
|
||||
net_id = 1234
|
||||
}
|
||||
#net_id = 1234
|
||||
#}
|
||||
|
||||
#лимиты ресурсов для ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - блок конфигураций
|
||||
quota = {
|
||||
#используется при создании и обновлении
|
||||
#quota = {
|
||||
#максимальное количество ядер процессора
|
||||
#опциональный параметр
|
||||
#значение по умолчанию: -1
|
||||
#по умолчанию: -1
|
||||
#тип - целое число
|
||||
cpu = 5
|
||||
#cpu = 5
|
||||
|
||||
#максимальный размер памяти в мегабайтах
|
||||
#максимальный размер памяти, в МБ
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
#значение по умолчанию: -1
|
||||
ram = 1024
|
||||
#по умолчанию: -1
|
||||
#тип - целое число
|
||||
#ram = 1024
|
||||
|
||||
#максимальный размер объединенных виртуальных дисков в ГБ
|
||||
#опциональный параметр
|
||||
#значение по умолчанию: -1
|
||||
#по умолчанию: -1
|
||||
#тип - целое число
|
||||
disk = 180
|
||||
#disk = 180
|
||||
|
||||
#максимальное количество отправленных/полученных сетевых узлов
|
||||
#опциональный параметр
|
||||
#значение по умолчанию: -1
|
||||
#по умолчанию: -1
|
||||
#тип - целое число
|
||||
ext_traffic = 21
|
||||
#ext_traffic = 21
|
||||
|
||||
#максимальное количество назначенных общедоступных IP-адресов
|
||||
#опциональный параметр
|
||||
#значение по умолчанию: -1
|
||||
#по умолчанию: -1
|
||||
#тип - целое число
|
||||
ext_ips = 29
|
||||
}
|
||||
#ext_ips = 29
|
||||
#}
|
||||
|
||||
#список названий pools
|
||||
#необязательный параметр
|
||||
#опциональный параметр
|
||||
#игнорируется при создании ресурса, применяется только при обновлении
|
||||
#тип - массив строк
|
||||
uniq_pools = ["sep1_poolName1", "sep2_poolName2"]
|
||||
#используется при обновлении
|
||||
#uniq_pools = ["sep1_poolName1", "sep2_poolName2"]
|
||||
|
||||
#флаг для принудительного удаления ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при удалении
|
||||
#по умолчанию - true
|
||||
force = true
|
||||
#force = true
|
||||
|
||||
#флаг для моментального удаления ресурсной группы
|
||||
#флаг для удаления ресурсной группы, без возможности восстановления
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при удалении
|
||||
#по умолчанию - true
|
||||
permanently = true
|
||||
#permanently = true
|
||||
|
||||
#восстановление группы после удаления
|
||||
#опциональный параметр
|
||||
#используется при редактировании ресурса
|
||||
#по умолчанию - true
|
||||
#тип - булев
|
||||
restore = true
|
||||
#используется при обновлении
|
||||
#по умолчанию - true
|
||||
#restore = true
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -69,6 +69,11 @@ data "dynamix_vins_list" "vl" {
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#поиск по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
@@ -80,6 +85,7 @@ data "dynamix_vins_list" "vl" {
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 1
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
|
||||
@@ -39,136 +39,153 @@ resource "dynamix_vins" "vins" {
|
||||
#имя создаваемого ресурса
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
name = "Test_name"
|
||||
|
||||
#id ресурсной группы для создания ресурса
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
rg_id = 10101
|
||||
|
||||
#id аккаунта для создания ресурса
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
account_id = 2023
|
||||
|
||||
#блок правил extnet
|
||||
#опциональный параметр
|
||||
#тип - блок extnet
|
||||
ext_net = {
|
||||
#ext_net = {
|
||||
#id внешней сети для подключения к ней ресурса
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
ext_net_id = 2222
|
||||
#используется при создании и обновлении
|
||||
#ext_net_id = 2222
|
||||
|
||||
#ip внешней сети для подключения к нему ресурса
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
ext_ip_addr = "1.1.1.1"
|
||||
}
|
||||
#используется при создании и обновлении
|
||||
#ext_ip_addr = "1.1.1.1"
|
||||
#}
|
||||
|
||||
#private network IP CIDR
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
ipcidr = "192.168.0.1"
|
||||
#используется при создании
|
||||
#ipcidr = "192.168.0.1"
|
||||
|
||||
#количество зарезервированных адресов на момент создания
|
||||
#опциональный параметр
|
||||
#значение по умолчанию 32
|
||||
#тип - целое число
|
||||
pre_reservations_num = 2
|
||||
#используется при создании
|
||||
#pre_reservations_num = 2
|
||||
|
||||
#grid (platform) ID
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
gid = 2002
|
||||
#используется при создании
|
||||
#gid = 2002
|
||||
|
||||
#описание
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
desc = "Description"
|
||||
#используется при создании и обновлении
|
||||
#desc = "Description"
|
||||
|
||||
#ручное подключение и отключение ресурса
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
enable = true
|
||||
#используется при создании и обновлении
|
||||
#enable = true
|
||||
|
||||
#удаление навсегда
|
||||
#опциональный параметр
|
||||
#по умолчанию - true
|
||||
#тип - булев
|
||||
permanently = true
|
||||
#используется при удалении
|
||||
#permanently = true
|
||||
|
||||
#удаляет за собой все зависимые ресурсы
|
||||
#опциональный параметр
|
||||
#по умолчанию - true
|
||||
#тип - булев
|
||||
force = true
|
||||
#используется при удалении
|
||||
#force = true
|
||||
|
||||
#список для резервирования ip
|
||||
#опциональный параметр
|
||||
#тип - массив объектов ip
|
||||
ip = [{
|
||||
#используется при создании и обновлении
|
||||
#ip = [{
|
||||
#тип подключения
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
type = "DHCP"
|
||||
#type = "DHCP"
|
||||
|
||||
#ip который необходимо зарезервировать
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
ip_addr = "192.168.5.5"
|
||||
#ip_addr = "192.168.5.5"
|
||||
|
||||
#mac который необходимо зарезервировать
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
mac_addr = "ff:ff:ff:ff:ff:ff"
|
||||
}]
|
||||
#mac_addr = "ff:ff:ff:ff:ff:ff"
|
||||
#}]
|
||||
|
||||
#список для резервирования ip
|
||||
#опциональный параметр
|
||||
#тип - массив объектов ip
|
||||
nat_rule = [{
|
||||
#используется при создании и обновлении
|
||||
#nat_rule = [{
|
||||
#ip внутренний
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
int_ip = "192.168.0.28"
|
||||
#int_ip = "192.168.0.28"
|
||||
|
||||
#внутренний порт
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
int_port = 80
|
||||
#int_port = 80
|
||||
|
||||
#начало диапазона внешних портов
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
ext_port_start = 8001
|
||||
#ext_port_start = 8001
|
||||
|
||||
#конец диапазона внешних портов
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
ext_port_end = 8001
|
||||
#ext_port_end = 8001
|
||||
|
||||
#протокол natRule
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
proto = "tcp"
|
||||
}]
|
||||
#proto = "tcp"
|
||||
#}]
|
||||
|
||||
#восстановление ресурса
|
||||
#опциональный параметр
|
||||
#по умолчанию - true
|
||||
#тип - булев
|
||||
restore = true
|
||||
#используется при обновлении
|
||||
#restore = true
|
||||
|
||||
#перезапуск vnfDev
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
vnfdev_restart = true
|
||||
#используется при обновлении
|
||||
#vnfdev_restart = true
|
||||
|
||||
#редеплой vnfDev
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
vnfdev_redeploy = true
|
||||
#используется при обновлении
|
||||
#vnfdev_redeploy = true
|
||||
|
||||
#список dns
|
||||
#опциональный параметр
|
||||
@@ -176,6 +193,7 @@ resource "dynamix_vins" "vins" {
|
||||
#если при создании указать пустой список, то ресурс создается с полем vnfs.dhcp.config.dns, имеющим значение по умолчанию
|
||||
#если при обновлении указать пустой список, то ресурс обновит в модели поле vnfs.dhcp.config.dns с текущего значения на пустой список
|
||||
#тип - список строк
|
||||
#используется при создании и обновлении
|
||||
#dns = ["1.1.1.1", "2.2.2.2"]
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user