This commit is contained in:
2025-05-21 16:38:25 +03:00
parent 2c70109d2d
commit 9e68edb2b9
1034 changed files with 73925 additions and 3187 deletions

View File

@@ -3,7 +3,7 @@
Получение информации о k8ci
*/
#Расскомментируйте этот код,
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
@@ -27,56 +27,69 @@ provider "decort" {
}
data "decort_k8ci_list" "k8ci_list" {
#поиск по ID
#фильтр по id кластера
#опциональный параметр
#тип - целое число
by_id = 12
#by_id = 100
#поиск по наименованию
#фильтр по имени кластера
#опциональный параметр
#тип - строка
name = "name"
#name = "test"
#поиск по статус
#фильтр по ip
#опциональный параметр
#тип - строка
status = "status"
#ip_address = "test"
#поиск по worker драйверу
#фильтр по id ресурсной группы
#опциональный параметр
#тип - целое число
#rg_id = 100
#фильтр по id балансировщика нагрузки
#опциональный параметр
#тип - целое число
#lb_id = 100
#фильтр по id ресурсной группы
#опциональный параметр
#тип - целое число
#bservice_id = 100
#фильтр по статусу
#опциональный параметр
#тип - строка
worker_driver = "wdriver"
#status = "ENABLED"
#поиск по master драйверу
#фильтр по техническому статусу
#опциональный параметр
#тип - строка
master_driver = "wdriver"
#tech_status = "STOPPED"
#поиск по network плагину
#опциональный параметр
#тип - строка
network_plugin = "flannel"
#показать выключенные K8CI
#включение удаленных k8s в результат
#опциональный параметр
#тип - булев
include_disabled = true
#если не задан - выводятся все неудаленные данные
#includedeleted = true
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
sort_by = "+name"
#sort_by = "+name"
#номер страницы
#номер страницы для отображения
#опциональный параметр
#тип - целое число
page = 1
#если не задан - выводятся все доступные данные
#page = 1
#размер страницы
#опциональный параметр
#тип - целое число
size = 5
#если не задан - выводятся все доступные данные
#size = 1
}
output "output_k8ci" {

View File

@@ -3,7 +3,7 @@
Получение информации о k8s кластере
*/
#Расскомментируйте этот код,
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*

View File

@@ -3,7 +3,7 @@
Получения информации о виртуальных машинах кластера
*/
#Расскомментируйте этот код,
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*

View File

@@ -3,7 +3,7 @@
Получение списка доступных кластеров
*/
#Расскомментируйте этот код,
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*

View File

@@ -3,7 +3,7 @@
Получение списка удаленных кластеров
*/
#Расскомментируйте этот код,
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*

View File

@@ -3,7 +3,7 @@
Получение информации о k8s кластере
*/
#Расскомментируйте этот код,
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*

View File

@@ -3,7 +3,7 @@
Получение информации о мета данных рабочей группы k8s кластера
*/
#Расскомментируйте этот код,
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*

View File

@@ -3,7 +3,7 @@
Получение списка доступных групп воркеров в кластере
*/
#Расскомментируйте этот код,
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*

View File

@@ -6,7 +6,7 @@
2. Управлять кластером
*/
#Расскомментируйте этот код,
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
@@ -32,284 +32,311 @@ provider "decort" {
resource "decort_k8s" "cluster" {
#имя кластера
#обязательный параметр
#при изменении - обновляет имя кластера
#тип - строка
#используется при создании и обновлении
name = "tftest"
#id resource group
#обязательный параметр
#тип - целое число
#используется при создании
rg_id = 776
#id catalogue item
#обязательный параметр
#тип - целое число
#используется при создании
k8sci_id = 9
#сетевой плагин
#обязательный параметр
#тип - строка
#используется при создании
network_plugin = "flannel"
#имя для первой worker group, созданной в кластере
#обязательный параметр
#тип - строка
#используется при создании
wg_name = "workers"
# список labels для дефолтной worker группы
# опциональный параметр
# тип - массив строк
labels = ["key1=val1", "key2=val2"]
#список labels для дефолтной worker группы
#опциональный параметр
#тип - массив строк
#используется при создании
#labels = ["key1=val1", "key2=val2"]
# список annotations для дефолтной worker группы
# опциональный параметр
# В скором времени параметры labels, annotations, taints будут полностью перенесены в блок workers
# тип - массив строк
annotations = ["key1=val1", "key2=val2"]
#список annotations для дефолтной worker группы
#опциональный параметр
#в скором времени параметры labels, annotations, taints будут полностью перенесены в блок workers
#тип - массив строк
#используется при создании
#annotations = ["key1=val1", "key2=val2"]
# список taints для дефолтной worker группы
# опциональный параметр
# В скором времени параметры labels, annotations, taints будут полностью перенесены в блок workers
# тип - массив строк
taints = ["key1=value1:NoSchedule", "key2=value2:NoExecute"]
#список taints для дефолтной worker группы
#опциональный параметр
#в скором времени параметры labels, annotations, taints будут полностью перенесены в блок workers
#тип - массив строк
#используется при создании
#taints = ["key1=value1:NoSchedule", "key2=value2:NoExecute"]
#настройка мастер node или nodes
#опциональный параметр
#максимальное кол-во элементов - 1
#тип - список нод
masters {
#используется при создании
#masters {
#кол-во node (1, 3 или 5)
#обязательный параметр
#тип - целое число
num = 1
#num = 1
#кол-во cpu
#обязательный параметр
#тип - целое число
cpu = 2
#cpu = 2
#кол-во RAM в Мбайтах
#кол-во RAM, в МБ
#обязательный параметр
#тип - целое число
ram = 2048
#ram = 2048
#размер диска в Гбайтах
#размер диска, в ГБ
#обязательный параметр
#тип - целое число
disk = 10
#disk = 10
#идентификатор SEP для создания загрузочных дисков для master узлов
#опциональный параметр
#тип - целое число
sep_id = 3
#sep_id = 3
#наименование MasterSEPPool используется если установлен master sepId, также может быть пустым
#наименование MasterSEPPool, используется если установлен master sepId, также может быть пустым
#опциональный параметр
#тип - строка
sep_pool = "data_01"
}
#sep_pool = "data_01"
#}
#настройка worker группы
#опциональный параметр
#Первая указанная воркер-группа должна соответствовать изначально созданной вместе с кластером.
#первая указанная воркер-группа должна соответствовать изначально созданной вместе с кластером.
#используется при создании и обновлении
#labels, annotations, taints для дефолтной worker группы указываются в корне ресурса при создании кластера.
workers {
#workers {
#имя группы
#обязательный параметр
#тип - строка
name = "test"
#name = "test"
#кол-во node
#обязательный параметр
#тип - целое число
num = 1
#num = 1
#кол-во cpu
#обязательный параметр
#тип - целое число
cpu = 2
#cpu = 2
#кол-во RAM в Мбайтах
#кол-во RAM, в МБ
#обязательный параметр
#тип - целое число
ram = 2048
#ram = 2048
#размер диска в Гбайтах
#размер диска, в ГБ
#обязательный параметр
#тип - целое число
disk = 10
#Идентификатор SEP
#опциональный параметр
#тип - целое число
sep_id = 1010
#Имя SEP pool'a
#опциональный параметр
#тип - строка
sep_pool = "data01"
#тип эмулируемой системы
#опциональный параметр
#тип - строка
chipset = "i440fx"
}
#...Далее можно создавать произвольное кол-во дополнительных worker групп
#labels, annotations и taints для последующих групп указываются непосредственно в блоке workers
workers {
#наименование worker группы
#обязательный параметр
#тип - строка
name = "additional_wg"
#кол-во node
#обязательный параметр
#тип - целое число
num = 2
#кол-во cpu
#обязательный параметр
#тип - целое число
cpu = 2
#кол-во RAM в Мбайтах
#обязательный параметр
#тип - целое число
ram = 4096
#размер диска в Гбайтах
#обязательный параметр
#тип - целое число
disk = 10
#disk = 10
#идентификатор SEP
#опциональный параметр
#тип - целое число
sep_id = 1010
#sep_id = 1010
#имя SEP pool'a
#опциональный параметр
#тип - строка
sep_pool = "data01"
#sep_pool = "data01"
#тип эмулируемой системы
#опциональный параметр
#тип - строка
chipset = "i440fx"
#chipset = "i440fx"
#}
#далее можно создавать произвольное кол-во дополнительных worker групп
#labels, annotations и taints для последующих групп указываются непосредственно в блоке workers
#workers {
#наименование worker группы
#обязательный параметр
#тип - строка
#name = "additional_wg"
#кол-во node
#обязательный параметр
#тип - целое число
#num = 2
#кол-во cpu
#обязательный параметр
#тип - целое число
#cpu = 2
#кол-во RAM, в МБ
#обязательный параметр
#тип - целое число
#ram = 4096
#размер диска, в ГБ
#обязательный параметр
#тип - целое число
#disk = 10
#идентификатор SEP
#опциональный параметр
#тип - целое число
#sep_id = 1010
#имя SEP pool'a
#опциональный параметр
#тип - строка
#sep_pool = "data01"
#тип эмулируемой системы
#опциональный параметр
#тип - строка
#chipset = "i440fx"
#список лейблов
#опциональный параметр
#тип - массив строк
labels = ["label1=value1", "label2=value2"]
#labels = ["label1=value1", "label2=value2"]
#список аннотаций
#опциональный параметр
#тип - массив строк
annotations = ["key1=value1", "key2=value2"]
#annotations = ["key1=value1", "key2=value2"]
#список taints
#опциональный параметр
#тип - массив строк
taints = ["key1=value1:NoSchedule", "key2=value2:NoExecute"]
}
#taints = ["key1=value1:NoSchedule", "key2=value2:NoExecute"]
#}
#id extnet
#опциональный параметр
#тип - целое число
extnet_id = 0
#используется при создании
#extnet_id = 0
#id vins
#опциональный параметр
#тип - целое число
vins_id = 1234
#используется при создании
#vins_id = 1234
#создать Kubernetes cluster с masters nodes с подключенным LB
#опциональный параметр
#тип - булев
with_lb = true
#тип - булев
#используется при создании
#with_lb = true
# пользовательские значения sysctl для LB
# опциональный параметр
# тип - список мап
lb_sysctl_params = [{ key1 = "value1", key2 = "value2" }]
#пользовательские значения sysctl для LB
#опциональный параметр
#тип - список мап
#используется при создании и обновлении
#lb_sysctl_params = [{ key1 = "value1", key2 = "value2" }]
# позволяет создать схему отказоустройчивой LB
# опциональный параметр
# тип - булев
ha_mode = true
#создать схему отказоустойчивой LB
#опциональный параметр
#тип - булев
#используется при создании
#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"]
#дополнительные SAN (Subject Alternative Names) для использования в процессе автоматического выписывания сертификата Кластера Kubernetes;
#возможность взаимодействовать с кластером по FQDN
#параметр получает список строк IP-адреса и/или DNS (по формату RFC 1123 c поддержкой wildcard)
#опциональный параметр
#тип - массив строк
#используется при создании
#additional_sans = ["192.168.201.0", "192.168.201.1"]
# используется для определения настроек и действий, которые должны быть выполнены перед запуском любого другого компонента в кластере
# это позволяет вам настраивать такие вещи, как регистрация node, настройка network и другие задачи инициализации
# опциональный параметр
# тип - строка
init_config = "{JSON string}"
#используется для определения настроек и действий, которые должны быть выполнены перед запуском любого другого компонента в кластере
#это позволяет вам настраивать такие вещи, как регистрация node, настройка network и другие задачи инициализации
#опциональный параметр
#тип - строка
#используется при создании
#init_config = "{JSON string}"
# используется для определения глобальных настроек и конфигураций для всего кластера
# он включает в себя такие параметры, как имя кластера, настройки DNS, методы аутентификации и другие конфигурации в масштабах кластера
# опциональный параметр
# тип - строка
cluster_config = "{JSON string}"
#используется для определения глобальных настроек и конфигураций для всего кластера
#он включает в себя такие параметры, как имя кластера, настройки DNS, методы аутентификации и другие конфигурации в масштабах кластера
#опциональный параметр
#тип - строка
#используется при создании
#cluster_config = "{JSON string}"
# используется для настройки поведения и параметров Kubelet, который является агентом primary node, запускаемым на каждом node кластера
# он включает в себя такие параметры, как IP-адрес node, распределение ресурсов, политики удаления модулей и другие конфигурации, специфичные для Kubelet
# опциональный параметр
# тип - строка
kubelet_config = "{JSON string}"
#используется для настройки поведения и параметров Kubelet, который является агентом primary node, запускаемым на каждом node кластера
#он включает в себя такие параметры, как IP-адрес node, распределение ресурсов, политики удаления модулей и другие конфигурации, специфичные для Kubelet
#опциональный параметр
#тип - строка
#используется при создании
#kubelet_config = "{JSON string}"
# используется для настройки поведения и параметров присоединения node к кластеру
# он включает в себя такие параметры, как режим прокси-сервера, диапазоны IP-адресов кластера и другие конфигурации, специфичные для Kube-proxy
# опциональный параметр
# тип - строка
kube_proxy_config = "{JSON string}"
#используется для настройки поведения и параметров присоединения node к кластеру
#он включает в себя такие параметры, как режим прокси-сервера, диапазоны IP-адресов кластера и другие конфигурации, специфичные для Kube-proxy
#опциональный параметр
#тип - строка
#используется при создании
#kube_proxy_config = "{JSON string}"
# используется для настройки поведения и параметров присоединения node к кластеру
# он включает в себя такие параметры, как cluster's control plane endpoint, токен и ключ сертификата
# опциональный параметр
# тип - строка
join_config = "{JSON string}"
#используется для настройки поведения и параметров присоединения node к кластеру
#он включает в себя такие параметры, как cluster's control plane endpoint, токен и ключ сертификата
#опциональный параметр
#тип - строка
#используется при создании
#join_config = "{JSON string}"
# описание кластера
# опциональный параметр
# тип - строка
desc = "description"
#описание кластера
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#desc = "description"
# перечень аргументов для cloud-init создаваемым группам узлов Worker
# необязательный параметр
# тип - файл с форматом в виде yaml
cloud_init = file("initconfig.tftpl")
#перечень аргументов для cloud-init создаваемым группам узлов Worker
#опциональный параметр
#тип - файл с форматом в виде yaml
#используется при создании
#cloud_init = file("initconfig.tftpl")
# при создании кластре использовать подключение только к сети ExtNet
# опциональный параметр
# тип - булев
extnet_only = true
#при создании кластера использовать подключение только к сети ExtNet
#опциональный параметр
#тип - булев
#используется при создании
#extnet_only = true
# добавить ssl-сертификат в формате x509 pem
# необязательный параметр
# тип - файл с форматом в виде x509 pem
oidc_cert = file("ca.crt")
#добавить ssl-сертификат в формате x509 pem
#опциональный параметр
#тип - файл с форматом в виде x509 pem
#используется при создании
#oidc_cert = file("ca.crt")
#тип эмулируемой системы
#опциональный параметр
#тип - строка
chipset = "i440fx"
#используется при создании
#chipset = "i440fx"
# запуск,остановка кластера
# опциональный параметр
# тип - булев
start = true
#запуск,остановка кластера
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#start = true
# команда destroy удаляет кластер без возможности восстановления
# опциональный параметр
# тип - булев
permanently = true
#флаг для удаления кластера, без возможности восстановления
#опциональный параметр
#тип - булев
#используется при удалении
#permanently = true
}

View File

@@ -8,7 +8,7 @@
4. Изменить кол-во ВМ в мастер-узле
*/
#Расскомментируйте этот код,
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
@@ -35,139 +35,165 @@ resource "decort_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"
#старт/стоп кластера
#опциональный параметр
#тип - булев
start = true
#используется при создании и обновлении
#start = true
#создать кластер с/без балансировщика нагрузки
#опциональный параметр
#тип - булев
with_lb = true
#используется при создании
#with_lb = true
#позволяет создать схему отказоустройчивой LB
#создать схему отказоустойчивой LB
#опциональный параметр
#тип - булев
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
#опциональный параметр
#тип - булев
extnet_only = true
#используется при создании
#extnet_only = true
#добавить ssl-сертификат в формате x509 pem
#необязательный параметр
#опциональный параметр
#тип - файл с форматом в виде x509 pem
oidc_cert = file("ca.crt")
#используется при создании
#oidc_cert = file("ca.crt")
#пользовательские значения sysctl для LB
#опциональный параметр
#тип - список мап
lb_sysctl_params = [{ key1 = "value1", key2 = "value2" }]
#используется при создании и обновлении
#lb_sysctl_params = [{ key1 = "value1", key2 = "value2" }]
#команда destroy удаляет кластер без возможности восстановления
#флаг для удаления кластера, без возможности восстановления
#опциональный параметр
#тип - булев
permanently = true
#используется при удалении
#permanently = true
}

View File

@@ -5,7 +5,7 @@
1. Создавать wg
*/
#Расскомментируйте этот код,
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
@@ -33,48 +33,55 @@ resource "decort_k8s_wg" "wg" {
#id экземпляра k8s
#обязательный параметр
#тип - целое число
#используется при создании
k8s_id = 1234
#имя worker group
#обязательный параметр
#тип - строка
#используется при создании
name = "workers-2"
#количество worker node для создания
#количество worker node
#опциональный параметр
#тип - целое число
#по - умолчанию - 1
num = 2
#по умолчанию - 1
#используется при создании и обновлении
#num = 2
#количество cpu для 1 worker node
#опциональный параметр
#тип - целое число
#по - умолчанию - 1
cpu = 1
#по умолчанию - 1
#используется при создании
#cpu = 1
#количество RAM для одной worker node в Мбайтах
#количество RAM для одной worker node, в МБ
#опциональный параметр
#тип - целое число
#по-умолчанию - 1024
ram = 1024
#по умолчанию - 1024
#используется при создании
#ram = 1024
#тип эмулируемой системы
#опциональный параметр
#тип - строка
chipset = "i440fx"
#используется при создании
#chipset = "i440fx"
#размер загрузочного диска для worker node, в Гбайтах
#размер загрузочного диска для worker node, в ГБ
#опциональный параметр
#тип - целое число
#по - умолчанию - 0
#по умолчанию - 0
#если установлен параметр 0, то размер диска будет равен размеру образа
disk = 10
#используется при создании
#disk = 10
#Перечень аргументов для cloud-init для виртуальных машин worker групп
#перечень аргументов для cloud-init для виртуальных машин worker групп
#опциональный параметр
#тип - файл с форматом в виде yaml
#используется при создании и обновлении ресурса
cloud_init = file("initconfig.tftpl")
#используется при создании и обновлении
#cloud_init = file("initconfig.tftpl")
}