This commit is contained in:
2026-06-19 17:45:18 +03:00
parent c00c608ce9
commit 89c77ddcbe
1324 changed files with 199523 additions and 1 deletions

View File

@@ -0,0 +1,39 @@
/*
Пример использования
Получение данных о 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"
allow_unverified_ssl = true
}
data "decort_kvmvm" "comp" {
#получение информации по идентификатору машины - compute_id
#id виртуальной машины
#обязательный параметр
#тип - целое число
compute_id = 11346
}
output "test" {
value = data.decort_kvmvm.comp
}

View File

@@ -0,0 +1,92 @@
/*Deprecated
Данный datasource является **deprecated** и будет удалён в следующих версиях. Вместо него неоходимо использовать datasource **decort_audit_list**.
*/
/*
Пример использования
Получение данных об аудитах 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"
allow_unverified_ssl = true
}
data "decort_kvmvm_audits" "kvmvm_audits" {
#id виртуальной машины
#обязательный параметр
#тип - целое число
compute_id = 10154
#найти все аудиты после определенного момента времени
#опциональный параметр
#тип - целое число
#timestamp_to = 11
#найти все аудиты до определенного момента времени
#опциональный параметр
#тип - целое число
#timestamp_at = 11
#фильтр по юзеру
#опциональный параметр
#тип - строка
#user = "user"
#фильтр по эндпоинту апи
#опциональный параметр
#тип - строка
#call = "call"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - целое число
#значение по умолчанию - 1
#page = 1
#размер страницы
#опциональный параметр
#тип - целое число
#значение по умолчанию - 100
#size = 100
#найти по минимальному коду статуса HTTP
#опциональный параметр
#тип - целое число
#min_status_code = 1
#найти по максимальному коду статуса HTTP
#опциональный параметр
#тип - целое число
#max_status_code = 140
}
output "output" {
value = data.decort_kvmvm_audits.kvmvm_audits
}

View File

@@ -0,0 +1,38 @@
/*
Пример использования
Получение данных о профиле CPU alignment виртуальной машины
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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"
allow_unverified_ssl = true
}
data "decort_kvmvm_cpu_alignment_profile" "cpu_alignment_profile" {
#id виртуальной машины
#обязательный параметр
#тип - целое число
compute_id = 100
}
output "output" {
value = data.decort_kvmvm_cpu_alignment_profile.cpu_alignment_profile
}

View File

@@ -0,0 +1,38 @@
/*
Пример использования
Получение данных об аудитах 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"
allow_unverified_ssl = true
}
data "decort_kvmvm_get_audits" "kvmvm_get_audits" {
#id виртуальной машины
#обязательный параметр
#тип - целое число
compute_id = 10154
}
output "output" {
value = data.decort_kvmvm_get_audits.kvmvm_get_audits
}

View File

@@ -0,0 +1,38 @@
/*
Пример использования
Получение url 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"
allow_unverified_ssl = true
}
data "decort_kvmvm_get_console_url" "kvmvm_get_console_url" {
#id виртуальной машины
#обязательный параметр
#тип - целое число
compute_id = 10154
}
output "output" {
value = data.decort_kvmvm_get_console_url.kvmvm_get_console_url
}

View File

@@ -0,0 +1,43 @@
/*
Пример использования
Получение логов 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"
allow_unverified_ssl = true
}
data "decort_kvmvm_get_log" "kvmvm_get_log" {
#id виртуальной машины
#обязательный параметр
#тип - целое число
compute_id = 10154
#путь до log файла
#обязательный параметр
#тип - строка
path = "/var/log/file.log"
}
output "output" {
value = data.decort_kvmvm_get_log.kvmvm_get_log
}

View File

@@ -0,0 +1,115 @@
/*
Пример использования
Получение данных об списке 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"
allow_unverified_ssl = true
}
data "decort_kvmvm_list" "compute_list" {
#фильтр по id ВМ
#опциональный параметр
#тип - целое число
#by_id = 100
#фильтр по имени ВМ
#опциональный параметр
#тип - строка
#name = "test"
#id аккаунта для получения списка ВМ
#опциональный параметр
#тип - целое число
#account_id = 11111
#фильтр по имени ресурсной группы
#опциональный параметр
#тип - строка
#rg_name = "test"
#фильтр по id ресурсной группы
#опциональный параметр
#тип - целое число
#rg_id = 100
#фильтр по техническому статусу
#опциональный параметр
#тип - строка
#tech_status = "STOPPED"
#фильтр по статусу
#опциональный параметр
#тип - строка
#status = "ENABLED"
#фильтр по ip
#опциональный параметр
#тип - строка
#ip_address = "test"
#фильтр по имени extnet
#опциональный параметр
#тип - строка
#extnet_name = "test"
#фильтр по id extnet
#опциональный параметр
#тип - целое число
#extnet_id = 100
#флаг влючения в результат удаленных балансироващиков нагрузки
#опциональный параметр
#тип - булев
#по умолчанию - false
#если не задан - выводятся все доступные неудаленные балансировщики
#includedeleted = true
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 1
#размер страницы
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 1
#id зоны
#опциональный параметр
#тип - целое число
#значение по умолчанию - 0
#zone_id = 11
}
output "output" {
value = data.decort_kvmvm_list.compute_list
}

View File

@@ -0,0 +1,96 @@
/*
Пример использования
Получение данных о списке удаленных 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"
allow_unverified_ssl = true
}
data "decort_kvmvm_list_deleted" "compute_list" {
#фильтр по id виртуальной машины
#опциональный параметр
#тип - целое число
#by_id = 100
#фильтр по имени виртуальной машины
#опциональный параметр
#тип - строка
#name = "test"
#фильтр по id аккаунта
#опциональный параметр
#тип - целое число
#account_id = 100
#фильтр по имени ресурсной группы
#опциональный параметр
#тип - строка
#rg_name = "test"
#фильтр по id ресурсной группы
#опциональный параметр
#тип - целое число
#rg_id = 100
#фильтр по техническому статусу
#опциональный параметр
#тип - строка
#tech_status = "some"
#фильтр по ip
#опциональный параметр
#тип - строка
#ip_address = "test"
#фильтр по имени extNet
#опциональный параметр
#тип - строка
#extnet_name = "test"
#фильтр по id extNet
#опциональный параметр
#тип - целое число
#extnet_id = 100
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 1
#размер страницы
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 1
}
output "output" {
value = data.decort_kvmvm_list_deleted.compute_list
}

View File

@@ -0,0 +1,76 @@
/*
Пример использования
Получение данных о списке подключенных устройств (PCI)
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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"
allow_unverified_ssl = true
}
data "decort_kvmvm_pci_device_list" "pci_device_list" {
#id виртуальной машины
#обязательный параметр
#тип - целое число
compute_id = 100
#фильтр по id ресурсной группы
#опциональный параметр
#тип - целое число
#rg_id = 100
#фильтр по id устройства
#опциональный параметр
#тип - целое число
#device_id = 100
#фильтр по имени устройства
#опциональный параметр
#тип - строка
#name = "test"
#фильтр по статусу
#опциональный параметр
#тип - строка
#status = "ENABLED"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 1
#размер страницы
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 1
}
output "output" {
value = data.decort_kvmvm_pci_device_list.pci_device_list
}

View File

@@ -0,0 +1,38 @@
/*
Пример использования
Получение данных об списке port forwarding 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
}
data "decort_kvmvm_pfw_list" "kvmvm_pfw_list" {
#id виртуальной машины
#обязательный параметр
#тип - целое число
compute_id = 10524
}
output "output" {
value = data.decort_kvmvm_pfw_list.kvmvm_pfw_list
}

View File

@@ -0,0 +1,43 @@
/*
Пример использования
Получение информации об использовании снапшотов
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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"
allow_unverified_ssl = true
}
data "decort_kvmvm_snapshot_usage" "snapshot_usage" {
#id виртуальной машины
#обязательный параметр
#тип - целое число
compute_id = 10154
#название снапшота
#опциональный параметр
#тип - строка
label = "label 1"
}
output "output" {
value = data.decort_kvmvm_snapshot_usage.snapshot_usage
}

View File

@@ -0,0 +1,38 @@
/*
Пример использования
Получение данных об юзерах 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"
allow_unverified_ssl = true
}
data "decort_kvmvm_user_list" "kvmvm_user_list" {
#id виртуальной машины
#обязательный параметр
#тип - целое число
compute_id = 10154
}
output "output" {
value = data.decort_kvmvm_user_list.kvmvm_user_list
}

View File

@@ -0,0 +1,75 @@
/*
Пример использования
Получение данных о списке подключенных графических процессоров
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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"
allow_unverified_ssl = true
}
data "decort_kvmvm_vgpu_list" "vgpu_list" {
#id виртуальной машины
#обязательный параметр
#тип - целое число
compute_id = 100
#фильтр по id графического процессора
#опциональный параметр
#тип - целое число
#gpu_id = 100
#фильтр по типу графического процессора
#опциональный параметр
#тип - строка
#type = "NVIDIA"
#фильтр по статусу
#опциональный параметр
#тип - строка
#status = "ENABLED"
#фильтр "включая удаленные графические процессоры"
#опциональный параметр
#тип - булев
#includedeleted = "false"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 1
#размер страницы
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 1
}
output "output" {
value = data.decort_kvmvm_vgpu_list.vgpu_list
}

View File

@@ -0,0 +1,14 @@
{
"users": [
{
"groups": "users, wheel",
"name": "user",
"plain_text_passwd": "examplePassword",
"primary_group": "user",
"ssh_authorized_keys": [
"ssh-rsa EXAMPLE%id_rsa.pub"
],
"sudo": "ALL=(ALL) NOPASSWD:ALL"
}
]
}

View File

@@ -0,0 +1,622 @@
/*
Пример использования
Работа с ресурсом 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"
allow_unverified_ssl = true
}
resource "decort_kvmvm" "comp" {
#имя compute
#обязательный параметр
#тип - строка
#используется при создании и обновлении
name = "test-tf-compute-update-new"
#id resource group
#обязательный параметр
#тип - целое число
#используется при создании
rg_id = 1111
#число cpu
#обязательный параметр
#тип - целое число
#используется при создании и обновлении
cpu = 1
#кол-во оперативной памяти, МБ
#обязательный параметр
#тип - целое число
#используется при создании и обновлении
ram = 2048
#id политики хранения
#обязательный параметр
#тип - целое число
#используется при создании
storage_policy_id = 1
#тип эмулируемой системы
#опциональный параметр
#тип - строка
#возможные значения: "i440fx", "Q35"
#по умолчанию - "Q35"
#используется при создании и обновлении
#chipset = "i440fx"
#тип часов для ВМ
#опциональный параметр
#возможные значения: "default", "linux", "windows", "none"
#по умолчанию - "default"
#используется при создании и обновлении
#clock = "linux"
#размер загрузочного диска
#опциональный параметр
#тип - целое число
#используется при создании и обновлении
#boot_disk_size = 20
#id сепа для boot диска
#опциональный параметр
#тип - целое число
#используется при создании
#sep_id = 1
#название пула
#опциональный параметр
#тип - строка
#используется при создании
#pool = "data02"
#конфигурация cloud init
#опциональный параметр
#тип - файл в формате JSON
#используется при создании
#cloud_init = file("initconfig.tftpl")
#описание compute
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#description = "test update description in tf words update"
#id образа диска для создания compute
#опциональный параметр
#тип - целое число
#используется при создании и обновлении
#image_id = 111
#создание без загрузочного диска в остановленном состоянии
#опциональный параметр
#если значение равно True, параметры image_id, boot_disk_size, sep_id, pool игнорируются
#тип - булев
#используется при создании
#without_boot_disk = true
#создание без образа ОС
#опциональный параметр
#тип - булев
#используется при создании
#create_blank = false
#необходимость выравнивать ВМ по NUMA
#опциональный параметр
#возможные значения - "none, "strict", "loose"
#по умолчанию - "none"
#тип - строка
#используется при создании и обновлении
#numa_affinity = "loose"
#id образа CD-ROM для загрузки
#опциональный параметр
#тип - целое число
#используется при создании и обновлении
#alt_boot_id = 1
#необходимость запускать ВМ на выделенных CPU ядрах
#опциональный параметр
#по умолчанию - false
#тип - булев
#используется при создании и обновлении
#cpu_pin = true
#необходимость использовать для выделения RAM виртуальной машины Huge Pages
#опциональный параметр
#по умолчанию - false
#тип - булев
#используется при создании и обновлении
#hp_backed = true
#список PCI девайсов
#опциональный параметр
#тип - массив целых чисел
#используется при создании и обновлении
#pci_devices = [1, 2]
#создание и добавление диска для compute
#опциональный параметр
#тип - список дисков
#используется при создании и обновлении
#disks {
#имя диска
#обязательный для диска параметр
#тип - строка
#disk_name = "disk_name"
#id политики хранения
#обязательный для диска параметр
#тип - целое число
#storage_policy_id = 1
#размер диска
#обязательный для диска параметр
#тип - целое число
#size = 5
#id сепа
#опциональный параметр
#тип - целое число
#sep_id = 1
#название пула
#опциональный параметр
#тип - строка
#pool = "data01"
#описание диска
#опциональный параметр
#тип - строка
#desc = ""
#id образа
#опциональный параметр
#тип - целое число
#image_id = 378
#флаг для удаления диска
#опциональный параметр
#тип - булев
#permanently = false
#блок для управления IO-лимитами диска
#опциональный параметр
#тип - блок
#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
#}
#}
#правила 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"
#имя профиля CPU alignment
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#cpu_alignment_profile = "balanced"
#id экстра дисков
#опциональный параметр
#тип - список целых чисел
#используется при создании и обновлении
#extra_disks = [1234, 4322, 1344]
#присоединение сетей и удаление сетей в компьюте
#опциональный параметр
#тип - блок сетей
#используется при создании и обновлении
#network {
#тип сети
#обязательный параметр
#тип - строка
#возможные значения - "VINS", "EXTNET", "VFNIC", "DPDK", "SDN", "TRUNK" (при выборе типа DPDK, необходимо указать hp_backed = true)
#net_type = "VINS"
#id сети
#обязательный параметр
#при использовании SDN необходимо указать любое значение отличное от 0
#тип - целое число
#net_id = 1234
#ip адрес входящий в сеть
#опциональный параметр
#тип - строка
#ip_address = "127.0.0.1"
#mac-адрес интерфейса компьюта
#опциональный параметр
#тип - строка
#mac = "52:54:01:12:34:60"
#вес сети, указывается при необходимости указания порядка подключения сетей
#первой подключается сеть с наименьшим весом
#сеть с нулевым или неуказанным весом имеет наименьший приоритет
#опциональный параметр
#тип - целое число
#weight = 15
#максимальный объём данных, который может быть передан за одну итерацию
#используется с сетями типа "DPDK", "TRUNK", "EXTNET"
#возможные значения - 1500-9216
#опциональный параметр
#тип - целое число
#mtu = 1500
#id sdn сети
#используется только с сетями типа "SDN"
#опциональный параметр
#тип - строка
#sdn_interface_id = "f2d87a70-ea35-468d-8aef-bb1ecbe2e476"
#включение сетевого интерфейса
#используется с сетями типа "VINS", "EXTNET", "DPDK", "SDN", "TRUNK"
#по умолчанию - true
#опциональный параметр
#тип - булев
#enabled = true
#маска подсети
#используется только с сетями типа "DPDK" и "VFNIC"
#опциональный параметр
#тип - целое число
#net_mask = 32
#}
#группы безопасности
#опциональный параметр
#тип - блок
#не применяется к сетям типа "VFNIC", "TRUNK", "SDN"
#используется при создании и обновлении
#security_groups {
#тип сети
#обязательный параметр
#тип - строка
#возможные значения - "VINS", "EXTNET", "DPDK" (при выборе типа DPDK, необходимо указать hp_backed = true)
#net_type = "VINS"
#id сети
#обязательный параметр
#при использовании SDN необходимо указать любое значение отличное от 0
#тип - целое число
#net_id = 1234
#список id групп безопасности
#обязательный параметр
#тип - массив целых чисел
#security_groups = [12, 34]
#флаг, указывающий, включены ли группы безопасности
#опциональный параметр
#тип - булев
#по умолчанию: false
#enable_secgroups = false
#}
#добавление и удаление тэгов
#опциональный параметр
#тип - блок тэгов
#используется при создании и обновлении
#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 = "kasim_baybikov_1@decs3o"
#права: 'R' - только на чтение, 'RCX' - чтение/запись, 'ARCXDU' - админ
#обязательный параметр
#тип - строка
#access_type = "ARCXDU"
#}
#создать/удалить снапшот компьюта
#опциональный параметр
#тип - блок снапшотов
#используется при создании и обновлении
#snapshot {
#лейбл снапшота
#обязательный параметр
#тип - строка
#label = "label1"
#}
#флаг для удаления снапшотов в асинхронном режиме
#опциональный параметр
#по умолчанию - false
#тип - булев
#используется при удалении
#snapshot_delete_async = true
#rollback на нужный снапшот
#опциональный параметр
#не имеет смысла при отсутсвии снапшотов
#тип - блок rollback
#используется при обновлении
#rollback {
#лейбл снапшота
#обязательный параметр
#тип - строка
#label = "label1"
#}
#вставить/удалить СD rom
#опциональный параметр
#максимальное кол-во - 1
#тип - блок cd
#используется при создании и обновлении
#cd {
#id образа диска CD rom
#обязательный параметр
#тип - целое число
#cdrom_id = 344
#}
#добавить компьют на ноду
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#pin_to_node = true
#список ядер для использования в механизме vcpupinning. Количество указанных ядер должно быть равно количеству виртуальных процессоров ВМ
#игнорируется если cpu_pin=false или pin_to_node=false
#опциональный параметр
#тип - массив целых чисел
#используется при создании и обновлении
#preferred_cpu = [1234, 456]
#флаг для старта компьюта при рестарте ноды
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#auto_start_w_node = true
#флаг доступности компьюта для проведения с ним операций
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#enabled = true
#pause/resume компьюта
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#pause = true
#сделать компьют заново
#опциональный параметр
#тип - булев
#используется при обновлении
#reset = true
#восстановить компьют из корзины
#опциональный параметр
#тип - булев
#используется при обновлении
#restore = true
#флаг для редеплоя компьюта
#опциональный параметр
#тип - булев
#используется при обновлении
#force_stop = true
#флаг для ресайза компьюта
#опциональный параметр
#тип - булев
#используется при обновлении
#force_resize = true
#запуск/стоп компьюта
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#started = true
#detach диска при удалении компьюта
#опциональный параметр
#тип - булев
#используется при удалении
#detach_disks = true
#флаг для удаления компьюта, без возможности восстановления
#опциональный параметр
#тип - булев
#используется при удалении
#permanently = false
#тип вм
#возможные значения - linux, windows, unknown
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#loader_type = "unknown"
#тип загрузки образа
#возможные значения - bios, uefi
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#boot_type = "bios"
#изменение размера ВМ
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#hot_resize = false
#наименование сетевого интерфейса
#возможные значения - eth, ens
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#network_interface_naming = "ens"
#идентификатор экземпляра zone
#опциональный параметр
#тип - целое число
#используется при создании и обновлении
#zone_id = 1111
#версия ОС, установленная на ВМ
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#os_version = "name"
}
output "test" {
value = decort_kvmvm.comp
}