This commit is contained in:
2025-08-04 16:11:16 +03:00
parent bae25296bb
commit 4b3f21d9be
239 changed files with 6585 additions and 784 deletions

View File

@@ -160,12 +160,6 @@ resource "decort_cb_account" "acc" {
#используется при удалении
#permanently = true
#причина восстановления после удаления или отключения
#опциональный параметр
#тип - строка
#используется при обновлении и удалении
#reason = "something_reason"
#флаг для восстановление аккаунта из корзины
#опциональный параметр
#тип - булев
@@ -180,10 +174,22 @@ resource "decort_cb_account" "acc" {
#доступ к дополнительным функциям управления ВМ
#опциональный параметр
#возможные значенния - "hugepages", "numa", "cpupin", "vfnic", "dpdk, "changemac"
#возможные значенния - "hugepages", "numa", "cpupin", "vfnic", "dpdk, "changemac", "trunk"
#тип - массив строк
#используется при создании и обновлении
#compute_features = ["hugepages", "numa", "cpupin", "vfnic"]
#зона по умолчанию для аккаунта
#опциональный параметр
#тип - целое число
#используется при создании и обновлении
#default_zone_id = 1111
#управление зонами аккаунта
#опциональный параметр
#тип - массив целых чисел
#используется при создании и обновлении
#zone_ids = [1,2,3]
}
output "test" {

View File

@@ -106,11 +106,11 @@ resource "decort_cb_extnet" "new_extnet" {
#используется при создании
#end_ip = "191.255.0.40"
#ip с которым будет создан vnfdev
#IP для создания первичного vnfdev
#опциональный параметр
#тип - строка
#используется при создании
#vnfdev_ip = "191.255.0.20"
#vnfdev_ip = "191.255.0.20"
#количество предварительно созданных бронирований
#опциональный параметр
@@ -221,6 +221,30 @@ resource "decort_cb_extnet" "new_extnet" {
#тип - булев
#используется при обновлении
#restart = true
#идентификатор экземпляра zone
#опциональный параметр
#тип - целое число
#используется при создании и обновлении
#zone_id = 1111
#режим высокой доступности
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#highly_available = true
#IP для создания вторичного vnfdev
#опциональный параметр
#тип - строка
#используется при создании
#sec_vnfdev_ip = "191.255.0.20"
#mtu
#опциональный параметр
#тип - целое число
#используется при создании и обновлении
#mtu = 1500
}
output "extnet" {

View File

@@ -55,12 +55,12 @@ resource "decort_cb_flipgroup" "fg" {
#используется при создании
net_id = 13
#тип клиентов
#обязательный параметр
#тип клиентов (в данный момент поддерживается только тип 'compute')
#опциональный параметр
#тип - строка
#в данный момент поддерживается только тип 'compute'
#используется при создании
client_type = "compute"
#по умолчанию - "compute"
#client_type = "compute"
#ip-адрес
#опциональный параметр

View File

@@ -60,9 +60,9 @@ resource "decort_cb_image" "my_image" {
#драйвера
#обязательный параметр
#тип - массив строк
#возможные варианты - ["KVM_X86", "SVA_KVM_X86"], ["KVM_X86"], ["SVA_KVM_X86"]
#возможные варианты - ["KVM_X86"]
#используется при создании
drivers = ["KVM_X86", "SVA_KVM_X86"]
drivers = ["KVM_X86"]
#поддержка hot resize
#опциональный параметр
@@ -102,13 +102,6 @@ resource "decort_cb_image" "my_image" {
#используется при создании
#pool_name = "vmstor"
#архитектура системы образа
#опциональный параметр
#тип - строка
#доступные значения: "X86_64"
#используется при создании
#architecture = "X86_64"
#доступность образа
#опциональный параметр
#тип - булев
@@ -125,6 +118,7 @@ resource "decort_cb_image" "my_image" {
#опциональный параметр
#тип - булев
#используется при создании
#по умолчанию - false
#sync_mode = true
#настройка доступа образа аккаунтам

View File

@@ -56,13 +56,6 @@ resource "decort_cb_image_from_platform_disk" "my_image" {
#используется при создании
image_type = "linux"
#архитектура образа
#обязательный параметр
#возможные значения - X86_64
#тип - строка
#используется при создании
architecture = "X86_64"
#драйверы компьютов, подходящие для данного образа
#обязательный параметр
#тип - массив строк

View File

@@ -213,6 +213,12 @@ resource "decort_cb_k8s_cp" "cp" {
#тип - массив мап
#используется при создании и обновлении
#lb_sysctl_params = [{ key1 = "value1", key2 = "value2" }]
#идентификатор экземпляра zone
#опциональный параметр
#тип - целое число
#используется при создании и обновлении
#zone_id = 1111
}
output "cp_out" {

View File

@@ -46,7 +46,7 @@ resource "decort_cb_kvmvm" "comp" {
#тип драйвера для compute
#обязательный параметр
#тип - строка
#возможные значения: "SVA_KVM_X86", "KVM_X86"
#возможные значения: "KVM_X86"
#используется при создании
driver = "KVM_X86"
@@ -305,12 +305,13 @@ resource "decort_cb_kvmvm" "comp" {
#network {
#тип сети
#обязательный параметр
#возможные значения - "VINS", "EXTNET", "VFNIC", "DPDK" (при выборе типа DPDK, необходимо указать hp_backed = true)
#возможные значения - "VINS", "EXTNET", "VFNIC", "DPDK", "SDN", "TRUNK" (при выборе типа DPDK, необходимо указать hp_backed = true)
#тип - строка
#net_type = "VINS"
#id сети
#обязательный параметр
#при использовании SDN необходимо указать любое значение отличное от 0
#тип - целое число
#net_id = 1234
@@ -332,11 +333,17 @@ resource "decort_cb_kvmvm" "comp" {
#weight = 15
#максимальный объём данных, который может быть передан за одну итерацию
#используется только с сетями типа "DPDK"
#используется только с сетями типа "DPDK" и "EXTNET"
#возможные значения - 1-9216
#опциональный параметр
#тип - целое число
#mtu = 1500
#id sdn сети
#используется только с сетями типа "SDN"
#опциональный параметр
#тип - строка число
#sdn_interface_id = "f2d87a70-ea35-468d-8aef-bb1ecbe2e476"
#}
#добавление и удаление тэгов
@@ -603,6 +610,12 @@ resource "decort_cb_kvmvm" "comp" {
#тип - строка
#используется при создании и обновлении
#network_interface_naming = "ens"
#идентификатор экземпляра zone
#опциональный параметр
#тип - целое число
#используется при создании и обновлении
#zone_id = 1111
}
output "test" {

View File

@@ -126,6 +126,12 @@ resource "decort_cb_lb" "lb" {
#используется при создании и обновлении
#sysctl_params = [{ key1 = "value1", key2 = "value2" }]
#идентификатор экземпляра zone
#опциональный параметр
#тип - целое число
#используется при создании и обновлении
#zone_id = 1111
}
output "test" {

View File

@@ -198,13 +198,18 @@ resource "decort_cb_rg" "rg" {
#доступ к дополнительным функциям управления ВМ
#опциональный параметр
#возможные значенния - "hugepages", "numa", "cpupin", "vfnic", "dpdk, "changemac"
#возможные значенния - "hugepages", "numa", "cpupin", "vfnic", "dpdk, "changemac", "trunk"
#тип - массив строк
#внимание - требуется указывать итоговое желаемое состояние для ресурсной группы (рг), так как поле compute_features не будет автоматически
#наследоваться от аккаунта, в котором создается рг.
#используется при создании и обновлении
#compute_features = ["hugepages", "numa", "cpupin", "vfnic"]
#идентификатор группы доступа SDN
#опциональный параметр
#тип - строка
#используется при создании
#sdn_access_group_id = "64e039f4-3705-4feb-84ff-a59fbdb1ebfe"
}
output "output" {

View File

@@ -0,0 +1,38 @@
/*
Пример использования
Получение данных транка
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_cb_trunk" "name" {
#идентификатор транка
#обязательный параметр
#тип - целое число
trunk_id = 1111
}
output "test" {
value = data.decort_cb_trunk.name
}

View File

@@ -0,0 +1,57 @@
/*
Пример использования
Получение списка транковых портов.
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
data "decort_cb_trunk_list" "name" {
#фильтр по id транка
#опциональный параметр
#тип - массив целых чисел
#trunk_ids = [10,11]
#фильтр по id учетных записей с доступом к транку
#опциональный параметр
#тип - массив целых чисел
#account_ids = [10,11]
#фильтр по тегам транка (значение от 1 до 4095)
#опциональный параметр
#тип - строка
#trunk_tags = "4095"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#page = 1
#размер страницы
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#size = 1
}
output "test" {
value = data.decort_cb_trunk_list.name
}

View File

@@ -0,0 +1,80 @@
/*
Пример использования
Ресурса транкового порта:
1. Создание ресурса
2. Изменение ресурса
3. Удаление ресурса
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_cb_trunk" "name" {
#имя транка
#обязательный параметр
#тип - строка
#используется при создании и обновлении
name = "trunk_name"
#список тегов транка (значения от 1 до 4095)
#обязательный параметр
#тип - строка
#используется при создании и обновлении
trunk_tags = "4095"
#имя моста ovs
#обязательный параметр
#тип - строка
#используется при создании
ovs_bridge = "ovs_bridge_name"
#описание
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#description = "desc"
#список идентификаторов учетных записей с доступом к этому транку
#опциональный параметр
#тип - массив целых чисел
#используется при создании и обновлении
#account_ids = [10,11]
#идентификатор vlan
#опциональный параметр
#тип - целое число
#используется при создании и обновлении
#native_vlan_id = 123
#сделать доступным или отключить
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#по умолчанию - true
#enable = true
}
output "test" {
value = decort_cb_trunk.name
}

View File

@@ -37,6 +37,11 @@ data "decort_cb_user_list" "users" {
#тип - булев
#active = true
#фильтр по электронной почте
#опциональный параметр
#тип - строка
#email = "user@site.domen"
#фильтр по сервисным аккаунтам
#опциональный параметр
#тип - булев

View File

@@ -44,22 +44,31 @@ resource "decort_cb_user" "user" {
emailaddress = ["user1@example.com"]
#пароль пользователя
#значение по умолчанию strongpassword
#опциональный параметр
#тип - строка
#используется при создании
#password = "user1Password"
#список групп, к которым принадлежит этот пользователь
#опциональный параметр
#тип - массив строк
#используется при создании
#groups = ["user"]
#список групп доступа к api, к которым принадлежит этот пользователь
#опциональный параметр
#тип - массив целых чисел
#используется при создании и обновлении
#apiaccess = [1,2]
#заблокировать пользователя
#значение по умолчанию - false
#опциональный параметр
#тип - булев
#используется при обновлении
#blocked = false
#провайдер
#опциональный параметр
#возможные значения - bvs, decs3o
#тип - строка
#используется при создании
#provider_name = "bvs"
}

View File

@@ -242,6 +242,12 @@ resource "decort_cb_vins" "vins" {
#используется при создании и обновлении
#dns = ["1.1.1.1", "2.2.2.2"]
#идентификатор экземпляра zone
#опциональный параметр
#тип - целое число
#используется при создании и обновлении
#zone_id = 1111
}
output "test" {

View File

@@ -0,0 +1,38 @@
/*
Пример использования
Получение информации о zone по ее id
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_cb_zone" "zone" {
#идентификатор zone
#обязательный параметр
#тип - целое число
zone_id = 2
}
output "test" {
value = data.decort_cb_zone.zone
}

View File

@@ -0,0 +1,87 @@
/*
Пример использования
Получение списка zone
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_cb_zone_list" "zone_list" {
#фильтрация списка для получения информации о конкретном zone по его id
#опциональный параметр
#тип - целое число
#by_id = 1
#фильтрация списка для получения информации о zone, которые принадлежат к определенному GRID
#опциональный параметр
#тип - целое число
#gid = 1
#фильтрация списка для получения информации о конкретном zone по его имени
#опциональный параметр
#тип - строка
#name = "alpha-cpu-04"
#фильтрация списка для получения информации о конкретном zone по его описанию
#опциональный параметр
#тип - строка
#description = "some"
#фильтрация списка для получения информации о zone, которые имеют соответствующий статус
#опциональный параметр
#тип - строка
#status = "ENABLED"
#фильтрация списка для получения информации о zone, которые удалены
#опциональный параметр
#тип - булев
#deletable = false
#фильтрация списка для получения информации о zone с конкретными nodeId
#опциональный параметр
#тип - целое число
#node_id = 1
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 2
#размер страницы
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 3
}
output "test" {
value = data.decort_cb_zone_list.zone_list
}

View File

@@ -0,0 +1,59 @@
/*
Пример использования
Ресурс позволяет:
1. Создавать зону
2. Изменять зону
3. Добавлять новые узлы в зону
4. Удалять узлы из зоны
5. Удалять зону
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_cb_zone" "zone" {
#наименование зоны
#обязательный параметр
#тип - строка
#используется при создании и обновлении
name = "test"
#описание зоны
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#description = "desc"
#прикрепленные узлы
#опциональный параметр
#тип - массив целых чисел
#используется при создании и обновлении
#node_ids = [1,2,3]
}
output "test" {
value = decort_cb_zone.comp
}