This commit is contained in:
2024-05-31 14:05:21 +03:00
parent 84b7a80e1b
commit db1760cb72
815 changed files with 58194 additions and 11049 deletions

View File

@@ -1,8 +1,8 @@
/*
Пример использования
Получение информации об аккаунте
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -10,8 +10,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -29,7 +29,7 @@ provider "decort" {
data "decort_cb_account" "acc" {
#id аккаунта
#обязательный параметр
#тип - число
#тип - целое число
account_id = 11111
}

View File

@@ -1,8 +1,8 @@
/*
Пример использования
Получение информации об использовании аккаунта
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -10,14 +10,13 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
@@ -30,7 +29,7 @@ provider "decort" {
data "decort_cb_account_audits_list" "aal" {
#id аккаунта
#обязательный параметр
#тип - число
#тип - целое число
account_id = 11111
}

View File

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

View File

@@ -1,8 +1,8 @@
/*
Пример использования
Получение списка computes, используемых аккаунтом
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -10,8 +10,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -29,12 +29,12 @@ provider "decort" {
data "decort_cb_account_computes_list" "acl" {
#id аккаунта
#обязательный параметр
#тип - число
#тип - целое число
account_id = 1111
#фильтр по id compute
#опциональный параметр
#тип - число
#тип - целое число
#compute_id = 100
#фильтр по имени compute
@@ -49,7 +49,7 @@ data "decort_cb_account_computes_list" "acl" {
#фильтр по id ресурсной группы
#опциональный параметр
#тип - число
#тип - целое число
#rg_id = 100
#фильтр по техническому статусу
@@ -69,20 +69,27 @@ data "decort_cb_account_computes_list" "acl" {
#фильтр по id внешней сети
#опциональный параметр
#тип - число
#тип - целое число
#extnet_id = 100
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#тип - целое число
#page = 1
#размер страницы
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#тип - целое число
#size = 1
}
output "test" {

View File

@@ -1,8 +1,8 @@
/*
Пример использования
Получение информации о дисках, которые использует аккаунт
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -10,8 +10,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -29,12 +29,12 @@ provider "decort" {
data "decort_cb_account_disks_list" "adl" {
#id аккаунта
#обязательный параметр
#тип - число
#тип - целое число
account_id = 11111
#фильтр по id диска
#опциональный параметр
#тип - число
#тип - целое число
#disk_id = 100
#фильтр по имени диска
@@ -44,7 +44,7 @@ data "decort_cb_account_disks_list" "adl" {
#фильтр по максимальному размеру диска
#опциональный параметр
#тип - число
#тип - целое число
#disk_max_size = 100
#тип диска
@@ -53,15 +53,22 @@ data "decort_cb_account_disks_list" "adl" {
#возможные типы: "b" - boot_disk, "d" - data_disk
#type = "d"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#кол-во страниц для вывода
#опицональный параметр
#тип - число
#тип - целое число
#page = 1
#размер страницы
#опицональный параметр
#тип - число
#тип - целое число
#size = 1
}
output "test" {

View File

@@ -1,8 +1,8 @@
/*
Пример использования
Получение информации о flipgroups, используемых аккаунтом
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -10,8 +10,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -27,9 +27,9 @@ provider "decort" {
}
data "decort_cb_account_flipgroups_list" "afgl" {
#id аккаунта
#id аккаунта
#обязательный параметр
#тип - число
#тип - целое число
account_id = 1111
#фильтр по имени flipgroup
@@ -39,7 +39,7 @@ data "decort_cb_account_flipgroups_list" "afgl" {
#фильтр по id vins
#опциональный параметр
#тип - число
#тип - целое число
#vins_id = 100
#фильтр по имени vins
@@ -49,7 +49,7 @@ data "decort_cb_account_flipgroups_list" "afgl" {
#фильтр по id extnet
#опциональный параметр
#тип - число
#тип - целое число
#extnet_id = 100
#фильтр по IP
@@ -59,17 +59,23 @@ data "decort_cb_account_flipgroups_list" "afgl" {
#фильтр по id flipgroup
#опциональный параметр
#тип - число
#тип - целое число
#flipgroup_id = 100
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#кол-во страниц для вывода
#опицональный параметр
#тип - число
#тип - целое число
#page = 1
#размер страницы
#опицональный параметр
#тип - число
#тип - целое число
#size = 1
}

View File

@@ -1,4 +1,5 @@
/*
Пример использования
Получение списка текущего потребления ресурсов аккаунта
*/
@@ -9,12 +10,13 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
@@ -27,11 +29,11 @@ provider "decort" {
data "decort_cb_account_resource_consumption_get" "rc_get" {
#id аккаунта
#обязательный параметр
#тип - число
#тип - целое число
account_id = 111
}
output "test" {
value = data.decort_cb_account_resource_consumption_get.rc_get
}

View File

@@ -2,6 +2,7 @@
Пример использования
Получение всех аккаунтов,имеющихся в системе
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -9,8 +10,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -28,7 +29,7 @@ provider "decort" {
data "decort_cb_account_list" "al" {
#фильтр по id аккаунта
#опциональный параметр
#тип - число
#тип - целое число
#by_id = 100
#фильтр по имени аккаунта
@@ -46,17 +47,24 @@ data "decort_cb_account_list" "al" {
#тип - строка
#status = "ENABLED"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#тип - целое число
#page = 2
#размер страницы
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#тип - целое число
#size = 3
}
output "test" {

View File

@@ -3,6 +3,7 @@
Получение информации об удаленных аккаунтах
Информация предоставляется только по аккаунтам, удаленным без флага permanently
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -10,8 +11,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -27,21 +28,27 @@ provider "decort" {
}
data "decort_cb_account_list_deleted" "adl" {
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#тип - целое число
#page = 2
#размер страницы
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#тип - целое число
#size = 3
#фильтр по id аккаунта
#опциональный параметр
#тип - число
#тип - целое число
#by_id = 100
#фильтр по имени аккаунта
@@ -53,7 +60,7 @@ data "decort_cb_account_list_deleted" "adl" {
#опциональный параметр
#тип - строка
#acl = "test"
}
output "test" {

View File

@@ -1,4 +1,5 @@
/*
Пример использования
Получение списка текущего потребления ресурсов
*/
@@ -9,12 +10,13 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>

View File

@@ -2,6 +2,7 @@
Пример использования
Получение информации о ресурных группах, используемых аккаунтом
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -9,8 +10,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -26,26 +27,32 @@ provider "decort" {
}
data "decort_cb_account_rg_list" "argl" {
#id аккаунта
#id аккаунта
#обязательный параметр
#тип - число
#тип - целое число
account_id = 66666
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#тип - целое число
#page = 2
#размер страницы
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#тип - целое число
#size = 3
#фильтр по id ресурсной группы
#опциональный параметр
#тип - число
#тип - целое число
#rg_id = 11111
#фильтр по имени ресурсной группы
@@ -55,18 +62,19 @@ data "decort_cb_account_rg_list" "argl" {
#фильтр по id vins
#опциональный параметр
#тип - число
#тип - целое число
#vins_id = 100
#фильтр по id compute
#опциональный параметр
#тип - число
#тип - целое число
#vm_id = 100
#фильтр по статусу
#опциональный параметр
#тип - строка
#status = "CREATED"
}
output "test" {

View File

@@ -1,8 +1,8 @@
/*
Пример использования
Получение списка vins, используемых аккаунтом
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -10,8 +10,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -27,14 +27,14 @@ provider "decort" {
}
data "decort_cb_account_vins_list" "avl" {
#id аккаунта
#id аккаунта
#обязательный параметр
#тип - число
#тип - целое число
account_id = 22222
#фильтр по id vins
#опциональный параметр
#тип - число
#тип - целое число
#vins_id = 100
#фильтр по имени vins
@@ -44,7 +44,7 @@ data "decort_cb_account_vins_list" "avl" {
#фильтр по id ресурсной группы
#опциональный параметр
#тип - число
#тип - целое число
#rg_id = 11111
#фильтр по IP внешней сети
@@ -52,19 +52,24 @@ data "decort_cb_account_vins_list" "avl" {
#тип - строка
#ext_ip = "test"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#тип - целое число
#page = 2
#размер страницы
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#тип - целое число
#size = 3
}
output "test" {

View File

@@ -5,8 +5,8 @@
1. Создавать аккаунт
2. Редактировать аккаунт
3. Удалять аккаунт
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -14,8 +14,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -43,75 +43,75 @@ resource "decort_cb_account" "acc" {
username = "username@decs3o"
#доступность аккаунта
#необязательный параметр
#тип - булев тип
#опциональный параметр
#тип - булев
#может применяться при создании аккаунта и редактировании аккаунта
enable = true
#электронная почта, на которую будет отправлена информация о доступе
#необязательный параметр
#опциональный параметр
#тип - строка
#применяется при создании аккаунта
emailaddress = "fff@fff.ff"
#отправлять ли на электронную почту письмо о доступе
#необязательный параметр
#тип - булев тип
#опциональный параметр
#тип - булев
#применяется при создании аккаунта и редактировании аккаунта
send_access_emails = true
#пары sep_id и sep_pool_name
#необязательный параметр
#тип - список строк
#опциональный параметр
#тип - массив строк
#применяется при создании аккаунта и редактировании аккаунта
#каждая строка представляет собой пару, sepID_sepPoolName
uniq_pools = ["sep1_poolName1", "sep2_poolName2"]
#ограничение используемых ресурсов
#необязательный параметр
#тип - объект
#опциональный параметр
#тип - блок
#используется при создании и редактировании
resource_limits {
#кол-во используемых ядер cpu
#необязательный параметр
#тип - число
#если установлена -1 - кол-во неограничено
cu_c = 2
#опциональный параметр
#тип - целое число
#если установлена -1 - кол-во неограниченно
#cu_c = 2
#кол-во используемой RAM в МБ
#необязательный параметр
#тип - число
#если установлена -1 - кол-во неограничено
cu_m = 1024
#опциональный параметр
#тип - целое число
#если установлена -1 - кол-во неограниченно
#cu_m = 1024
#размер дисков, в ГБ
#необязательный параметр
#тип - число
#опциональный параметр
#тип - целое число
#если установлена -1 - размер неограничен
cu_dm = 23
#cu_dm = 23
#кол-во используемых публичных IP
#необязательный параметр
#тип - число
#опциональный параметр
#тип - целое число
#если установлена -1 - кол-во неограничено
cu_i = 2
#cu_i = 2
#ограничения на кол-во передачи данных, в ГБ
#необязательный параметр
#тип - число
#опциональный параметр
#тип - целое число
#если установлена -1 - кол-во неограничено
cu_np = 2
#cu_np = 2
#кол-во графических процессоров
#необязательный параметр
#тип - число
#опциональный параметр
#тип - целое число
#если установлена -1 - кол-во неограничено
gpu_units = 2
#gpu_units = 2
}
#добавление/редактирование/удаление пользователей, к которым привязан аккаунт
#необязательный параметр
#тип - объект, кол-во таких объектов не ограничено
#добавление/редактирование/удаление пользователей, к которым привязан аккаунт
#опциональный параметр
#тип - блок, кол-во таких блоков не ограничено
/*users {
#id пользователя
#обязательный параметр
@@ -128,8 +128,8 @@ resource "decort_cb_account" "acc" {
access_type = "R"
#рекурсивное удаление пользователя из всех ресурсов аккаунтов
#необязательный параметр
#тип - булев тип
#опциональный параметр
#тип - булев
#по-умолчанию - false
#применяется при удалении пользователя из аккаунта
recursive_delete = true
@@ -137,29 +137,40 @@ resource "decort_cb_account" "acc" {
*/
#параметр распределения CPU
#необязательный параметр
#опциональный параметр
#тип - строка
#если "strict" виртуальная машина не может быть запущена из-за нехватки ресурсов.
#"loose" позволяет запускать виртуальную машину, если недостаточно ресурсов.
#cpu_allocation_parameter = "strict"
#параметр коэффициента распределения CPU
#необязательный параметр
#тип - число
#опциональный параметр
#тип - целое число
#один pCPU = коэффициент*vCPU (принимает нулевое или положительное значение)
#cpu_allocation_ratio = 1
#мгновеное удаление аккаунта, если да - то аккаунт невозможно будет восстановить
#необязательный параметр
#тип - булев тип
#мгновенное удаление аккаунта, если да - то аккаунт невозможно будет восстановить
#опциональный параметр
#тип - булев
#используется при удалении аккаунта
#по-умолчанию - false
#permanently = true
#флаг для восстановление аккаунта из корзины
#необязательный параметр
#тип - булев тип
#опциональный параметр
#тип - булев
#restore = true
#предоставление аккаунту доступа к конкретным образам
#опциональный параметр
#тип - массив целых чисел
#available_templates = [1,2]
#доступ к дополнительным функциям управления ВМ
#опциональный параметр
#возможные значенния - "hugepages", "numa", "cpupin", "vfnic"
#тип - массив строк
#compute_features = ["hugepages", "numa", "cpupin", "vfnic"]
}
output "test" {

View File

@@ -10,8 +10,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -31,6 +31,7 @@ data "decort_cb_audit" "audit" {
#обязательный параметр
#тип - строка
audit_guid = "abcdefg"
}
output "test" {

View File

@@ -10,8 +10,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -31,6 +31,7 @@ data "decort_cb_audit_linked_jobs" "jobs" {
#обязательный параметр
#тип - строка
audit_guid = "abcdefg"
}
output "test" {

View File

@@ -10,8 +10,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -29,12 +29,12 @@ provider "decort" {
data "decort_cb_audit_list" "al" {
#фильтр по аудитам с временной меткой после указанного значения
#опциональный параметр
#тип - число
#тип - целое число
#timestamp_at = 123456
#фильтр по аудитам с временной меткой до указанного значения
#опциональный параметр
#тип - число
#тип - целое число
#timestamp_to = 123456
#фильтр по пользователю (Mongo RegExp поддерживаются)
@@ -47,20 +47,32 @@ data "decort_cb_audit_list" "al" {
#тип - строка
#call = "/restmachine/cloudbroker/audit/list"
#фильтр по HTTP статус-коду
#фильтр по минимальному HTTP статус-коду
#опциональный параметр
#тип - число
#status_code = 200
#тип - целое число
#min_status_code = 200
#фильтр по максимальному HTTP статус-коду
#опциональный параметр
#тип - целое число
#max_status_code = 500
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#тип - целое число
#page = 2
#размер страницы
#опциональный параметр
#тип - число
#тип - целое число
#size = 3
}
output "test" {

View File

@@ -1,37 +0,0 @@
/*
Пример использования
Получение flipgroup по id
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
oauth2_url = "https://sso-alpha.dev.decs.online"
controller_url = "https://alpha.dev.decs.online"
app_id = ""
app_secret = ""
}
data "decort_cb_flipgroup" "fg" {
# ID флипгруппы
# Обязательный параметр
# int
flipgroup_id = 999
}
output "fg_out" {
value = data.decort_cb_flipgroup.fg
}

View File

@@ -1,50 +0,0 @@
/*
Пример использования
Получение снимка платформы с дополнительной диагностической информацией
(журналы и т. д.).
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_cb_grid_get_diagnosis" "gd" {
#id grid для получения информации
#обязательный параметр
#тип - число
gid = 215
}
data "decort_cb_grid_post_diagnosis" "pd" {
#id grid для получения информации
#обязательный параметр
#тип - число
gid = 215
}
output "test-gd" {
value = data.decort_cb_grid_get_diagnosis.gd
}
output "test-pd" {
value = data.decort_cb_grid_post_diagnosis.pd
}

View File

@@ -1,68 +0,0 @@
/*
Пример использования
Получение информации о списке винсов в ресурсной группе
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_cb_rg_list_vins" "list_vins" {
#id ресурсной группы
#обязательный параметр
#тип - число
rg_id = 123
# фильтр по id vins
# опциональный параметр
# тип - число
# vins_id = 100
# фильтр по имени vins
# опциональный параметр
# тип - строка
# name = "test"
# id аккаунта для получения списка балансировщиков нагрузки
# опциональный параметр
# тип - число
# account_id = 11111
# фильтр по IP внешней сети
# опциональный параметр
# тип - строка
# ext_ip = "test"
# номер страницы для отображения
# опциональный параметр
# тип - число
# если не задан - выводятся все доступные данные
# page = 2
# размер страницы
# опциональный параметр
# тип - число
# если не задан - выводятся все доступные данные
# size = 3
}
output "output" {
value = data.decort_cb_rg_list_vins.list_vins
}

View File

@@ -1,20 +1,21 @@
/*
Пример использования
Получение данных диска
Получение информации об уже существующем диске.
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
@@ -28,8 +29,9 @@ provider "decort" {
data "decort_cb_disk" "acl" {
#id диска
#обязательный параметр
#тип - число
#тип - целое число
disk_id = 49304
}
output "test" {

View File

@@ -2,6 +2,7 @@
Пример использования
Получение списка доступных дисков
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -9,14 +10,13 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
@@ -29,7 +29,7 @@ provider "decort" {
data "decort_cb_disk_list" "dl" {
#фильтр по id диска
#опциональный параметр
#тип - число
#тип - целое число
#by_id = 11111
#фильтр по имени диска
@@ -44,7 +44,7 @@ data "decort_cb_disk_list" "dl" {
#фильтр по максимальному размеру диска
#опциональный параметр
#тип - число
#тип - целое число
#disk_max_size = 3
#фильтр по статусу
@@ -59,7 +59,7 @@ data "decort_cb_disk_list" "dl" {
#id аккаунта для получения списка дисков
#опциональный параметр
#тип - число
#тип - целое число
#account_id = 11111
#тип диска
@@ -70,7 +70,7 @@ data "decort_cb_disk_list" "dl" {
#фильтр по sep id
#опциональный параметр
#тип - число
#тип - целое число
#sep_id = 1
#фильтр по названию pool
@@ -78,15 +78,22 @@ data "decort_cb_disk_list" "dl" {
#тип - строка
#pool = "pool name"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#кол-во страниц для вывода
#опицональный параметр
#тип - число
#опциональный параметр
#тип - целое число
#page = 1
#размер страницы
#опицональный параметр
#тип - число
#опциональный параметр
#тип - целое число
#size = 1
}
output "test" {

View File

@@ -2,6 +2,7 @@
Пример использования
Получение списка удаленных дисков
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -9,14 +10,13 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
@@ -29,7 +29,7 @@ provider "decort" {
data "decort_cb_disk_list_deleted" "dld" {
#фильтр по id диска
#опциональный параметр
#тип - число
#тип - целое число
#by_id = 11111
#фильтр по имени диска
@@ -44,7 +44,7 @@ data "decort_cb_disk_list_deleted" "dld" {
#фильтр по максимальному размеру диска
#опциональный параметр
#тип - число
#тип - целое число
#disk_max_size = 3
#фильтр по полю shared
@@ -54,24 +54,31 @@ data "decort_cb_disk_list_deleted" "dld" {
#id аккаунта для получения списка дисков
#опциональный параметр
#тип - число
#тип - целое число
#account_id = 11111
#тип диска
#опциональный параметр
#тип - строка
#опциональный параметр
#возможные типы: "b" - boot_disk, "d" - data_disk
#тип - строка
#type = "d"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#кол-во страниц для вывода
#опицональный параметр
#тип - число
#опциональный параметр
#тип - целое число
#page = 1
#размер страницы
#опицональный параметр
#тип - число
#опциональный параметр
#тип - целое число
#size = 1
}
output "test" {

View File

@@ -2,6 +2,7 @@
Пример использования
Получение списка типов дисков (недетализированное)
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -9,8 +10,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -26,17 +27,24 @@ provider "decort" {
}
data "decort_cb_disk_list_types" "dlt" {
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#тип - целое число
#page = 2
#размер страницы
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#тип - целое число
#size = 3
}
output "test" {

View File

@@ -2,6 +2,7 @@
Пример использования
Получение списка типов дисков, но детально
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -9,14 +10,13 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
@@ -26,19 +26,25 @@ provider "decort" {
allow_unverified_ssl = true
}
data "decort_cb_disk_list_types_detailed" "dltd" {
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#тип - целое число
#page = 2
#размер страницы
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#тип - целое число
#size = 3
}
output "test" {

View File

@@ -2,6 +2,7 @@
Пример использования
Получение списка доступных неприсоединенных дисков
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -9,8 +10,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -28,9 +29,9 @@ provider "decort" {
data "decort_cb_disk_list_unattached" "dlu" {
#фильтр по id диска
#опциональный параметр
#тип - число
#тип - целое число
#by_id = 100
#фильтр по имени аккаунта
#опциональный параметр
#тип - строка
@@ -38,7 +39,7 @@ data "decort_cb_disk_list_unattached" "dlu" {
#фильтр по максимальному размеру диска
#опциональный параметр
#тип - число
#тип - целое число
#disk_max_size = 100
#фильтр по статусу
@@ -54,12 +55,12 @@ data "decort_cb_disk_list_unattached" "dlu" {
#фильтр по id аккаунта
#опциональный параметр
#тип - число
#тип - целое число
#account_id = 100
#фильтр по id sep
#опциональный параметр
#тип - число
#тип - целое число
#sep_id = 1
#фильтр по имени pool
@@ -67,17 +68,24 @@ data "decort_cb_disk_list_unattached" "dlu" {
#тип - строка
#pool = "test"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#тип - целое число
#page = 2
#размер страницы
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#тип - целое число
#size = 3
}
output "test" {

View File

@@ -0,0 +1,44 @@
/*
Пример использования
Получение статуса репликации диска
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_disk_replication" "dr" {
#id диска для которого подключена репликация
#обязательный параметр
#тип - целое число
disk_id = 49304
#id реплики диска
#обязательный параметр
#тип - целое число
replica_disk_id = 1213
}
output "test" {
value = data.decort_cb_disk_replication.dr
}

View File

@@ -2,6 +2,7 @@
Пример использования
Получение конкретного снапшота
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -9,8 +10,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -26,15 +27,16 @@ provider "decort" {
}
data "decort_cb_disk_snapshot" "ds" {
#Номер диска
#номер диска
#обязательный параметр
#тип - число
#тип - целое число
disk_id = 20100
#Ярлык диска
#ярлык диска
#обязательный параметр
#тип - строка
label = "label"
}
output "test" {

View File

@@ -2,6 +2,7 @@
Пример использования
Получение списка снапшотов диска
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -9,8 +10,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -26,10 +27,11 @@ provider "decort" {
}
data "decort_cb_disk_snapshot_list" "ds" {
#Номер диска
#номер диска
#обязательный параметр
#тип - число
#тип - целое число
disk_id = 20100
}
output "test" {

View File

@@ -1,22 +1,25 @@
/*
Пример использования
Ресура диска:
Ресурса диска:
1. Создание ресурса
2. Изменение ресурса
3. Удаление ресурса
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
@@ -30,12 +33,12 @@ provider "decort" {
resource "decort_cb_disk" "acl" {
#id аккаунта
#обязательный параметр
#тип - число
#тип - целое число
account_id = 88366
#gid
#обязательный параметр
#тип - число
#тип - целое число
gid = 212
#название диска диска
@@ -47,11 +50,11 @@ resource "decort_cb_disk" "acl" {
#обязательный параметр
#тип - строка
#допустимые значения: "D", "B", "T"
type = "d"
type = "D"
#максимальный размер диска
#обязательный параметр
#тип - число
#тип - целое число
#значение по умолчанию 10
size_max = 20
@@ -62,19 +65,19 @@ resource "decort_cb_disk" "acl" {
#размер ssd
#опциональный параметр
#тип - число
#тип - целое число
#значение по умолчанию 0
#ssd_size = 1
#max IOPS disk can perform
#опциональный параметр
#тип - число
#тип - целое число
#значение по умолчанию 2000
#iops = 1
#sep id
#опциональный параметр
#тип - число
#тип - целое число
#значение по умолчанию 0
#sep_id = 1
@@ -83,6 +86,11 @@ resource "decort_cb_disk" "acl" {
#тип - строка
#pool = 1
#список node
#опциональный параметр
#тип - массив целых чисел
#node_ids = [10,11]
#флаг для восстановления диска
#опциональный параметр
#тип - булев
@@ -110,7 +118,8 @@ resource "decort_cb_disk" "acl" {
#настройки лимитов операций записи/чтения с диска
#опциональный параметр
#тип - блок, тип вложенных полей - число
#тип - блок
#тип вложенных полей - целое число
iotune {
read_bytes_sec = 0
read_bytes_sec_max = 0

View File

@@ -0,0 +1,84 @@
/*
Пример использования
Ресурс репликации диска
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_disk_replication" "dr" {
#ID диска из которого будет создана реплика
#обязательный параметр
#тип - целое число
disk_id = 20100
#Имя реплики диска
#обязательный параметр
#тип - строка
disk_name = "test"
#sep id
#обязательный параметр
#тип - целое число
sep_id = 1
#название pool
#обязательный параметр
#тип - строка
pool_name = "some"
#флаг паузы
#опциональный параметр
#тип - булев
#pause = false
#флаг для изменения ролей дисков
#опциональный параметр
#тип - булев
#reverse = false
#флаг для запуска связи между диском и репликой
#опциональный параметр
#тип - булев
#start = false
#флаг для отключения диска от ВМ при удалении
#опциональный параметр
#тип - булев
#detach = false
#флаг для удаления реплики диска безвозвратно
#опциональный параметр
#тип - булев
#permanently = false
#описание причины удаления
#опциональный параметр
#тип - строка
#reason = "some"
}
output "test" {
value = decort_cb_disk_replication.dr
}

View File

@@ -2,18 +2,21 @@
Пример использования
Ресурс снапшота диска
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
@@ -25,25 +28,25 @@ provider "decort" {
}
resource "decort_cb_disk_snapshot" "ds" {
#Номер диска
#номер диска
#обязательный параметр
#тип - число
#тип - целое число
disk_id = 20100
#Ярлык диска
#ярлык диска
#обязательный параметр
#тип - строка
label = "label"
#флаг rollback
#опциональный параметр
#тип - bool
#тип - булев
#значение по умолчанию - false
#rollback = true
#timestamp
#опциональный параметр
#тип - число
#тип - целое число
#применимо совместно с rollback = true
#timestamp = 15
}

View File

@@ -1,7 +1,8 @@
/*
Пример использования
Получение информации о сети
Получение информации о внешней сети
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -9,14 +10,13 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
@@ -27,10 +27,11 @@ provider "decort" {
}
data "decort_cb_extnet" "ex" {
# ID сети
# Обязательный параметр
# Тип - число
#id сети
#обязательный параметр
#тип - целое число
extnet_id = 13
}
output "ex_out" {

View File

@@ -1,8 +1,8 @@
/*
Пример использования
Получение информации о сети по-умолчанию
Получение информации о доступной внешней сети по-умолчанию
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -10,14 +10,13 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>

View File

@@ -1,7 +1,8 @@
/*
Пример использования
Получение списка сетей
Получение списка внешних сетей
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -9,14 +10,13 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
@@ -28,13 +28,13 @@ provider "decort" {
data "decort_cb_extnet_list" "ex_list" {
#id аккаунта для фильтрации результата
#необязательный параметр
#тип - число
#опциональный параметр
#тип - целое число
#account_id = 1111111
#фильтр по id внешней сети
#опциональный параметр
#тип - число
#тип - целое число
#by_id = 100
#фильтр по имени внешней сети
@@ -49,12 +49,12 @@ data "decort_cb_extnet_list" "ex_list" {
#фильтр по id vlan
#опциональный параметр
#тип - число
#тип - целое число
#vlan_id = 100
#фильтр по id vnfDevices
#опциональный параметр
#тип - число
#тип - целое число
#vnfdev_id = 100
#фильтр по статусу
@@ -62,15 +62,22 @@ data "decort_cb_extnet_list" "ex_list" {
#тип - строка
#status = "ENABLED"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#кол-во страниц для вывода
#опицональный параметр
#тип - число
#опциональный параметр
#тип - целое число
#page = 1
#размер страницы
#опицональный параметр
#тип - число
#опциональный параметр
#тип - целое число
#size = 1
}
output "ex_out" {

View File

@@ -1,7 +1,6 @@
/*
Пример использования
Получение информации о static routes по id в данном extnet
*/
#Расскомментируйте этот код,
@@ -11,8 +10,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -30,12 +29,12 @@ provider "decort" {
data "decort_cb_extnet_static_route" "route" {
#обязательный параметр
#id extnet в котором добавлены routes
#тип - число
#тип - целое число
extnet_id = 1111
#обязательный параметр
#id route
#тип - число
#тип - целое число
route_id = 1
}

View File

@@ -3,7 +3,6 @@
Получение списка static routes в данном extnet
*/
/*
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -30,7 +29,7 @@ provider "decort" {
data "decort_cb_extnet_static_route_list" "list" {
#обязательный параметр
#id extnet в котором добавлены routes
#тип - число
#тип - целое число
extnet_id = 1111
}

View File

@@ -0,0 +1,184 @@
/*
Пример использования
Ресурса extnet
Ресурс позволяет:
1. Создавать extnet
2. Удалять extnet
3. Получать информацию о extnet
4. Предоставлять доступ аккаунтов к extnet
5. Удалять доступ аккаунтов к extnet
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_extnet" "new_extnet" {
#наименование внешней сети
#обязательный параметр
#тип - строка
name = "test_extnet"
#id платформы
#обязательный параметр
#тип - целое число
gid = 500
#CIDR
#обязательный параметр
#тип - строка
ipcidr = "192.168.0.0/24"
#id виртуальной локальной сети
#обязательный параметр
#тип - целое число
vlan_id = 111
#IP-адрес шлюза внешней сети
#опциональный параметр
#тип - строка
#gateway = "test desc"
#cписок DNS адресов
#опциональный параметр
#тип - массив строк
#dns = ["8.8.8.8", "9.9.9.9"]
#список NTP адресов
#опциональный параметр
#тип - массив строк
#ntp = ["ntp0.ntp-servers.net", "ntp1.ntp-servers.net"]
#IP-адреса для проверки доступности сети
#опциональный параметр
#тип - массив строк
#check_ips = ["191.255.0.0,", "191.255.0.0,"]
#если true - DHCP-сервер создан не будет
#опциональный параметр
#тип - булев
#virtual = true
#описание
#опциональный параметр
#тип - строка
#desc = "test desc"
#начало диапазона IP-адресов
#опциональный параметр
#тип - строка
#start_ip = "191.255.0.0"
#окончание диапазона IP-адресов
#опциональный параметр
#тип - строка
#end_ip = "191.255.0.40"
#IP с которым будет создан vnfdev
#опциональный параметр
#тип - строка
#vnfdev_ip = "191.255.0.20"
#количество предварительно созданных бронирований
#опциональный параметр
#тип - целое число
#по умолчанию - 128
#pre_reservations_num = 128
#имя bridge Openvswitch для подключения к внешней сети
#опциональный параметр
#тип - строка
#ovs_bridge = "some"
#включение/выключение внешней сети
#опциональный параметр
#тип - булев
#enable = true
#сделать сеть сетью по умолчанию
#опциональный параметр
#тип - булев
#set_default = true
#список исключенных IP адресов
#опциональный параметр
#тип - массив строк
#excluded_ips = ["192.168.0.4", "192.168.0.5"]
#диапазон исключенных IP адресов
#опциональный параметр
#тип - блок,
#тип вложенных полей - строка
excluded_ips_range {
#начало диапазона
#обязательный параметр
#тип - строка
ip_start = "192.168.0.4"
#окончание диапазона
#обязательный параметр
#тип - строка
ip_end = "192.168.0.50"
}
#список id аккаунтов, которым предоставлен доступ к extnet
#опциональный параметр
#тип - массив целых чисел
#shared_with = [112, 123]
#изменение настроек ограничения трафика сети
#значение по умолчанию 0, то есть без ограничений
#опциональный параметр
#тип - блок,
#тип вложенных полей - целое число
default_qos {
#ограничение внутреннего трафика в кбит
#опциональный параметр
#тип - целое число
#in_rate = 0
#ограничение внутреннего burst трафика в кбит
#опциональный параметр
#тип - целое число
#in_burst = 0
#ограничение внешнего трафика в кбит
#опциональный параметр
#тип - целое число
#e_rate = 0
}
#ID stack на который происходит миграция
#опциональный параметр
#тип - целое число
#migrate = 1
#перезапустить сеть
#опциональный параметр
#тип - булев
#restart = true
}
output "extnet" {
value = decort_cb_extnet.new_extnet
}

View File

@@ -7,7 +7,6 @@
3. Получать информацию о всех static routes в данном extnet
4. Предоставлять доступ виртуальным машинам к static routes
5. Удалять доступ виртуальным машинам к static routes
*/
#Расскомментируйте этот код,
@@ -17,8 +16,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -35,30 +34,30 @@ provider "decort" {
resource "decort_cb_extnet_static_route" "sr" {
#id extnet
#обязательный параметр
#тип - число
extnet_id = 1111
#id extnet
#обязательный параметр
#тип - целое число
extnet_id = 1111
# destination network
# обязательный параметр
#тип - строка
destination = "192.168.201.0"
#destination network
#обязательный параметр
#тип - строка
destination = "192.168.201.0"
# destination network mask
#обязательный параметр
#тип - строка
netmask = "255.255.255.255"
#destination network mask
#обязательный параметр
#тип - строка
netmask = "255.255.255.255"
# IP-адрес из пула свободных IP-адресов extnet ID
#обязательный параметр
#тип - строка
gateway = "192.168.201.40"
#IP-адрес из пула свободных IP-адресов extnet ID
#обязательный параметр
#тип - строка
gateway = "192.168.201.40"
# список виртуальных машин, которым будет предоставлен доступ к роуту
#опциональный параметр
#тип - массив чисел
compute_ids = [111,222]
#список виртуальных машин, которым будет предоставлен доступ к роуту
#опциональный параметр
#тип - массив целых чисел
#compute_ids = [111,222]
}
output "sr" {

View File

@@ -0,0 +1,39 @@
/*
Пример использования
Получение flipgroup по 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_flipgroup" "fg" {
#id флипгруппы
#обязательный параметр
#тип - целое число
flipgroup_id = 999
}
output "fg_out" {
value = data.decort_cb_flipgroup.fg
}

View File

@@ -18,17 +18,18 @@ terraform {
*/
provider "decort" {
authenticator = "decs3o"
oauth2_url = "https://sso-alpha.dev.decs.online"
controller_url = "https://alpha.dev.decs.online"
app_id = ""
app_secret = ""
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_cb_flipgroup_list" "fg" {
#фильтр по id flipgroup
#опциональный параметр
#тип - число
#тип - целое число
#by_id = 100
#фильтр по имени flipgroup
@@ -38,7 +39,7 @@ data "decort_cb_flipgroup_list" "fg" {
#фильтр по id vins
#опциональный параметр
#тип - число
#тип - целое число
#vins_id = 100
#фильтр по имени vins
@@ -48,7 +49,7 @@ data "decort_cb_flipgroup_list" "fg" {
#фильтр по id extnet
#опциональный параметр
#тип - число
#тип - целое число
#extnet_id = 100
#фильтр по IP
@@ -58,20 +59,47 @@ data "decort_cb_flipgroup_list" "fg" {
#фильтр по id ресурсной группы
#опциональный параметр
#тип - число
#тип - целое число
#rg_id = 11111
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#тип - целое число
#page = 2
#размер страницы
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#тип - целое число
#size = 3
#фильтр по id аккаунта
#опциональный параметр
#тип - целое число
#account_id = 100
#фильтр по id conn
#опциональный параметр
#тип - целое число
#conn_id = 100
#фильтр по id клиентов
#опциональный параметр
#тип - массив целых чисел
#client_ids = [10,11]
#фильтр по статусу
#опциональный параметр
#тип - строка
#status = "CREATED"
}
output "fg_out" {

View File

@@ -0,0 +1,78 @@
/*
Пример использования
Работа с ресурсом flipgroup (группа с плавающим ip-адресом)
Ресурс позволяет:
1. Создавать flipgroup
2. Редактировать flipgroup
3. Удалять flipgroup
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
oauth2_url = "https://sso-alpha.dev.decs.online"
controller_url = "https://alpha.dev.decs.online"
app_id = ""
app_secret = ""
}
resource "decort_cb_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"
#cписок клиентов, прикрепленных к флипгруппе
#опциональный параметр
#тип - массив целых чисел
#client_ids = [11269]
#описание флипгруппы
#опциональный параметр
#тип - строка
#desc = "CHANGED"
}
output "fg_out" {
value = decort_cb_flipgroup.fg
}

View File

@@ -10,8 +10,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -29,8 +29,9 @@ provider "decort" {
data "decort_cb_grid" "grid" {
#id grid для получения информации
#обязательный параметр
#тип - число
#тип - целое число
grid_id = 215
}
output "test" {

View File

@@ -10,8 +10,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -29,8 +29,9 @@ provider "decort" {
data "decort_cb_grid_get_consumption" "cons" {
#id grid для получения информации
#обязательный параметр
#тип - число
#тип - целое число
grid_id = 215
}
output "test" {

View File

@@ -10,8 +10,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}

View File

@@ -10,8 +10,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -29,7 +29,7 @@ provider "decort" {
data "decort_cb_grid_list" "gl" {
#фильтр по id grid
#опциональный параметр
#тип - число
#тип - целое число
#by_id = 1
#название grid
@@ -37,15 +37,24 @@ data "decort_cb_grid_list" "gl" {
#тип - строка
#name = "grid name"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр, тип - число
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#page = 2
#размер страницы
#опциональный параметр, тип - число
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#size = 3
}
output "test" {

View File

@@ -10,8 +10,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}

View File

@@ -10,8 +10,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -28,14 +28,17 @@ provider "decort" {
data "decort_cb_grid_list_emails" "gle" {
#номер страницы для отображения
#опциональный параметр, тип - число
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#page = 2
#размер страницы
#опциональный параметр, тип - число
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#size = 3
}
output "test" {

View File

@@ -10,8 +10,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -29,8 +29,9 @@ provider "decort" {
data "decort_cb_image" "image" {
#id образа
#обязательный параметр
#тип - число
#тип - целое число
image_id = 5912
}
output "test" {

View File

@@ -3,7 +3,6 @@
Получение списка образов
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -11,8 +10,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -30,12 +29,12 @@ provider "decort" {
data "decort_cb_image_list" "il" {
#фильтр по id sep
#опциональный параметр
#тип - число
#тип - целое число
#sep_id = 1
#фильтр по id образа
#опциональный параметр
#тип - число
#тип - целое число
#by_id = 100
#фильтр по имени образа
@@ -52,7 +51,7 @@ data "decort_cb_image_list" "il" {
#опциональный параметр
#тип - строка
#architecture = "x86_64"
#фильтр по типу образа
#опциональный параметр
#тип - строка
@@ -60,7 +59,7 @@ data "decort_cb_image_list" "il" {
#фильтр по размеру образа
#опциональный параметр
#тип - число
#тип - целое число
#image_size = 100
#фильтр по имени SEP
@@ -75,30 +74,37 @@ data "decort_cb_image_list" "il" {
#фильтр по доступу
#опциональный параметр
#тип - булевый тип
#тип - булев
#public = "true"
#фильтр по hot_resize
#опциональный параметр
#тип - булевый тип
#тип - булев
#hot_resize = "true"
#фильтр по bootable
#опциональный параметр
#тип - булевый тип
#тип - булев
#bootable = "true"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#тип - целое число
#page = 2
#размер страницы
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#тип - целое число
#size = 3
}
output "test" {

View File

@@ -2,6 +2,7 @@
Пример использования
Получение списка stack по id образа
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -9,8 +10,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -28,7 +29,7 @@ provider "decort" {
data "decort_cb_image_list_stacks" "im" {
#id образа
#обязательный параметр
#тип - число
#тип - целое число
image_id = 6040
#фильтр по имени образа
@@ -46,17 +47,24 @@ data "decort_cb_image_list_stacks" "im" {
#тип - строка
#type_image = "cdrom"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#номер страницы для отображения информации
#опциональный параметр
#тип - число
#если не задан - отображается вся доступная информация
#тип - целое число
#page = 2
#количество отображаемых объектов на странице
#опциональный параметр
#тип - число
#если не задан - отображается вся доступная информация
#тип - целое число
#size = 3
}
output "test" {

View File

@@ -12,8 +12,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -31,13 +31,13 @@ provider "decort" {
resource "decort_delete_images" "my_images" {
#массив, содержащий набор id образов для удаления
#обязательный параметр
#тип - массив чисел
#тип - массив целых чисел
image_ids = [6125]
#параметр удаления
#опциональный тип
#по-умолчанию - false
#тип - булев тип
#тип - булев
permanently = true
#причина удаления

View File

@@ -5,7 +5,6 @@
1. Создавать образ
2. Редактировать образ
3. Удалять образ
*/
#Расскомментируйте этот код,
@@ -15,8 +14,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -39,13 +38,20 @@ resource "decort_cb_image" "my_image" {
name = "test_image_rename"
#адрес образа
#обязательный параметр
#опциональный параметр
#внимание, для создания ресурса обязательно должен быть указан или url, или image_file
#тип - строка
url = "https://colba.decs.online/index.php/s/G3H7AREngzeKGw2/download"
#путь к образу для загрузки
#опциональный параметр
#внимание, для создания ресурса обязательно должен быть указан или url, или image_file
#тип - строка
file_path = "img.iso"
#grid id образа
#обязательный параметр
#тип - число
#тип - целое число
gid = 212
#тип загрузки образа
@@ -68,14 +74,14 @@ resource "decort_cb_image" "my_image" {
#поддержка hot resize
#опциональный параметр
#тип - булев тип
#тип - булев
#hot_resize = true
#id аккаунта владельца образа
#опциональный параметр
#может быть использован как при создании,
#так и при редактировании образа
#тип данных - число
#тип данных - целое число
#account_id = 57252
#имя пользователя и пароль
@@ -94,9 +100,9 @@ resource "decort_cb_image" "my_image" {
#username_dl = "Valera1"
#password_dl = "1231"
#id storage endpoint
#sep id
#опциональный параметр, используется при создании
#тип - число
#тип - целое число
#sep_id = 1206
#пул для создания образа
@@ -105,53 +111,64 @@ resource "decort_cb_image" "my_image" {
#pool_name = "vmstor"
#архитектура системы образа
#опциаональный параметр, используется при создании
#опциональный параметр, используется при создании
#тип - строка
#доступные значения: "X86_64"
#architecture = "X86_64"
#доступность образа
#опциональный параметр, используется на уже созданном ресурсе
#тип - булево значение
#тип - булев
#enabled = true
#является ли образ загрузочным
#опциональный параметр, используется на уже созданном ресурсе
#тип - булево значение
#тип - булев
#bootable = true
#позволяет создавать образ в синхронном режиме
#опциональный параметр
#тип - булево значение
#тип - булев
#sync_mode = true
#настройка доступа образа аккаунтам
#опциональный параметр, используется на уже созданном ресурсе
#тип - массив чисел
#тип - массив целых чисел
#пустой массив - удаление всех доступов, если они были
#shared_with = [28096, 57121]
#установка computeci
#опциональный параметр, используется на уже созданном ресурсе
#тип - число
#тип - целое число
#чтобы сбросить, необходимо передать 0
#computeci_id = 1
#доступные стаки
#опциональный параметр, используется на уже созданном ресурсе
#тип - массив строк
#тип - массив целых чисел
#для удаления всех доступных стаков, необходимо передать пустой массив
#enabled_stacks = [9]
#аккаунты, которым предоставляется доступ к образу
#опциональный параметр
#тип - массив целых чисел
#для удаления всех доступных аккаунтов, необходимо передать пустой массив
#accounts = [9, 5]
#мгновенное удаление
#опциональный параметр, можно использовать перед удалением
#тип - булев тип
#тип - булев
#permanently = true
#причина удаления
#опциональный параметр, можно использовать перед удалением
#тип - строка
#reason = "test"
#наименование сетевого интерфейса для вашего компьютера с Linux, eth - встроенный, ens - pci слот
#опциональный параметр
#тип - строка
#network_interface_naming = "ens"
}
output "test" {

View File

@@ -5,8 +5,8 @@
1. Создавать образ
2. Редактировать образ
3. Удалять образ
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -14,8 +14,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -44,7 +44,7 @@ resource "decort_cb_cdrom_image" "my_image" {
#grid id образа
#обязательный параметр
#тип - число
#тип - целое число
gid = 212
#драйвера
@@ -55,14 +55,14 @@ resource "decort_cb_cdrom_image" "my_image" {
#поддержка hot resize
#опциональный параметр
#тип - булев тип
#тип - булев
#hot_resize = true
#id аккаунта владельца образа
#опциональный параметр
#может быть использован как при создании,
#так и при редактировании образа
#тип данных - число
#тип данных - целое число
#account_id = 57252
#имя пользователя и пароль для загрузки бинарных данных
@@ -73,9 +73,9 @@ resource "decort_cb_cdrom_image" "my_image" {
#username_dl = "Valera1"
#password_dl = "1231"
#id storage endpoint
#sep id
#опциональный параметр, используется при создании
#тип - число
#тип - целое число
#sep_id = 1206
#пул для создания образа
@@ -91,37 +91,36 @@ resource "decort_cb_cdrom_image" "my_image" {
#доступность образа
#опциональный параметр, используется на уже созданном ресурсе
#тип - булево значение
#тип - булев
#enabled = true
#настройка доступа образа аккаунтам
#опциональный параметр, используется на уже созданном ресурсе
#тип - массив чисел
#тип - массив целых чисел
#пустой маасив - удаление всех доступов, если они были
#shared_with = [28096, 57121]
#установка computeci
#опциональный параметр, используется на уже созданном ресурсе
#тип - число
#тип - целое число
#чтобы сбросить, необходимо передать 0
#computeci_id = 1
#доступные стаки
#опциональный параметр, используется на уже созданном ресурсе
#тип - массив чисел
#тип - массив целых чисел
#для удаления всех доступных стаков, необходимо передать пустой массив
#enabled_stacks = [9]
#является ли образ загрузочным
#опциональный параметр, используется на уже созданном ресурсе
#тип - булево значение
#тип - булев
#bootable = true
#мгновенное удаление
#опциональный параметр, можно использовать перед удалением
#тип - булев тип
#тип - булев
#permanently = true
}
output "test" {

View File

@@ -0,0 +1,155 @@
/*
Ресурс образа из компьюта, созданного как blank позволяет:
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_image_from_blank_compute" "my_image" {
#ID виртуальной машины, созданной как blank
#используется для создания образа
#обязательный параметр
#тип - целое число
compute_id = 1234
#имя образа
#используется для обновления и создания образа
#обязательный параметр
#тип - строка
#при изменении - изменяет название созданного образа
name = "test_image_rename"
#тип загрузки образа
#используется для создания образа
#обязательный параметр
#тип - строка
#возможные варианты: "bios" или "uefi"
boot_type = "bios"
#тип образа
#используется для создания образа
#обязательный параметр
#тип - строка
#возможные варианты - "linux", "windows"
image_type = "linux"
#имя пользователя для образа
#используется для обновления и создания образа
#опциональный параметр
#тип - строка
#username = "userx"
#пароль для образа
#используется для обновления и создания образа
#опциональный параметр
#тип - строка
#password = "passx"
#ID аккаунта
#используется для обновления и создания образа
#опциональный параметр
#тип - целое число
#account_id = 138
#sep id
#используется для создания образа
#опциональный параметр
#тип - целое число
#sep_id = 1
#название pool
#используется для создания образа
#опциональный параметр
#тип - строка
#pool_name = "pool"
#поддержка hot resize
#используется для обновления и создания образа
#опциональный параметр
#тип - булев
#hot_resize = true
#флаг для создания образа в асинхронном режиме
#опциональный параметр
#по умолчанию - false
#тип - булев
#async_mode = true
#доступность образа
#опциональный параметр, используется на уже созданном ресурсе
#тип - булев
#enabled = true
#является ли образ загрузочным
#опциональный параметр, используется на уже созданном ресурсе
#тип - булев
#bootable = true
#настройка доступа образа аккаунтам
#опциональный параметр, используется на уже созданном ресурсе
#тип - массив целых чисел
#пустой массив - удаление всех доступов, если они были
#shared_with = [28096, 57121]
#установка computeci
#опциональный параметр, используется на уже созданном ресурсе
#тип - целое число
#чтобы сбросить, необходимо передать 0
#computeci_id = 1
#доступные стаки
#опциональный параметр, используется на уже созданном ресурсе
#тип - массив целых чисел
#для удаления всех доступных стаков, необходимо передать пустой массив
#enabled_stacks = [9]
#аккаунты, которым предоставляется доступ к образу
#Используется для обновления и создания образа
#опциональный параметр
#тип - массив целых чисел
#для удаления всех доступных аккаунтов, необходимо передать пустой массив
#accounts = [9, 5]
#мгновенное удаление
#опциональный параметр, можно использовать перед удалением
#тип - булев
#permanently = true
#причина удаления
#опциональный параметр, можно использовать перед удалением
#тип - строка
#reason = "test"
#наименование сетевого интерфейса для вашего компьютера с Linux, eth - встроенный, ens - pci слот
#используется для обновления образа
#опциональный параметр
#тип - строка
#network_interface_naming = "ens"
}
output "test" {
value = decort_cb_image_from_blank_compute.my_image
}

View File

@@ -0,0 +1,168 @@
/*
Ресурс образа из платформенного диска:
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_image_from_platform_disk" "my_image" {
#ID платформенного диска
#используется для создания образа
#обязательный параметр
#тип - целое число
disk_id = 1234
#имя образа
#используется для обновления и создания образа
#обязательный параметр
#тип - строка
#при изменении - изменяет название созданного образа
name = "test_image_rename"
#тип загрузки образа
#используется для создания образа
#обязательный параметр
#тип - строка
#возможные варианты: "bios" или "uefi"
boot_type = "bios"
#тип образа
#используется для создания образа
#обязательный параметр
#тип - строка
#возможные варианты - "linux", "windows"
image_type = "linux"
#архитектура образа
#используется для создания образа
#обязательный параметр
#возможные значения - X86_64 or PPC64_LE
#тип - строка
architecture = "X86_64"
#имя пользователя для образа
#используется для обновления и создания образа
#опциональный параметр
#тип - строка
#username = "userx"
#пароль для образа
#используется для обновления и создания образа
#опциональный параметр
#тип - строка
#password = "passx"
#ID аккаунта
#используется для обновления и создания образа
#опциональный параметр
#тип - целое число
#account_id = 138
#sep id
#используется для создания образа
#опциональный параметр
#тип - целое число
#sep_id = 1
#название pool
#используется для создания образа
#опциональный параметр
#тип - строка
#pool_name = "pool"
#драйверы компьютов, подходящие для данного образа
#используется для создания образа
#опциональный параметр
#тип - массив строк
#drivers = ["KVM_X86"]
#поддержка hot resize
#используется для обновления и создания образа
#опциональный параметр
#тип - булев
#hot_resize = true
#является ли образ загрузочным
#опциональный параметр, используется на уже созданном ресурсе или при создании ресурса
#тип - булев
#bootable = true
#флаг для создания образа в асинхронном режиме
#опциональный параметр
#по умолчанию - false
#тип - булев
#async_mode = true
#доступность образа
#опциональный параметр, используется на уже созданном ресурсе
#тип - булев
#enabled = true
#настройка доступа образа аккаунтам
#опциональный параметр, используется на уже созданном ресурсе
#тип - массив целых чисел
#пустой массив - удаление всех доступов, если они были
#shared_with = [28096, 57121]
#установка computeci
#опциональный параметр, используется на уже созданном ресурсе
#тип - целое число
#чтобы сбросить, необходимо передать 0
#computeci_id = 1
#доступные стаки
#опциональный параметр, используется на уже созданном ресурсе
#тип - массив целых чисел
#для удаления всех доступных стаков, необходимо передать пустой массив
#enabled_stacks = [9]
#аккаунты, которым предоставляется доступ к образу
#Используется для обновления и создания образа
#опциональный параметр
#тип - массив целых чисел
#для удаления всех доступных аккаунтов, необходимо передать пустой массив
#accounts = [9, 5]
#мгновенное удаление
#опциональный параметр, можно использовать перед удалением
#тип - булев
#permanently = true
#причина удаления
#опциональный параметр, можно использовать перед удалением
#тип - строка
#reason = "test"
#наименование сетевого интерфейса для вашего компьютера с Linux, eth - встроенный, ens - pci слот
#используется для обновления образа
#опциональный параметр
#тип - строка
#network_interface_naming = "ens"
}
output "test" {
value = decort_cb_image_from_platform_disk.my_image
}

View File

@@ -5,8 +5,8 @@
1. Создавать образ
2. Редактировать образ
3. Удалять образ
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -14,8 +14,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -39,64 +39,75 @@ resource "decort_cb_virtual_image" "my_image" {
#id образа, на основе котрого будет создан виртуальный
#обязательный параметр
#может быть также использован при редактировании
#тип - число
#тип - целое число
link_to = 6125
#id аккаунта владельца образа
#опциональный параметр
#может быть использован при редактировании образа
#тип данных - число
#тип данных - целое число
#account_id = 57252
#является ли образ загрузочным
#опциональный параметр, используется на уже созданном ресурсе
#тип - булево значение
#опциональный параметр
#используется на уже созданном ресурсе
#тип - булев
#bootable = true
#поддержка hot resize
#опциональный параметр
#тип - булев тип
#тип - булев
#hot_resize = true
#имя пользователя и пароль
#опциональные параметры,
#могут быть использованы при редактировании образа
#имя пользователя
#опциональный параметр
#может быть использован при редактировании образа
#тип - строка
#username = "Valera"
#пароль пользователя
#опциональный параметр
#может быть использован при редактировании образа
#тип - строка
#password = "123"
#доступность образа
#опциональный параметр, используется на уже созданном ресурсе
#тип - булево значение
#опциональный параметр
#используется на уже созданном ресурсе
#тип - булев
#enabled = false
#настройка доступа образа аккаунтам
#опциональный параметр, используется на уже созданном ресурсе
#тип - массив чисел
#опциональный параметр
#используется на уже созданном ресурсе
#пустой маасив - удаление всех доступов, если они были
#тип - массив целых чисел
#shared_with = [28096, 57121]
#установка computeci
#опциональный параметр, используется на уже созданном ресурсе
#тип - число
#чтобы сбросить, необходимо передать 0
#тип - целое число
#computeci_id = 1
#доступные стаки
#опциональный параметр, используется на уже созданном ресурсе
#тип - массив строк
#для удаления всех доступных стаков, необходимо передать пустой массив
#тип - массив целых чисел
#enabled_stacks = [9]
#мгновенное удаление
#опциональный параметр, можно использовать перед удалением
#тип - булев тип
#опциональный параметр
#можно использовать перед удалением
#тип - булев
#permanently = true
#причина удаления
#опциональный параметр, можно использовать перед удалением
#опциональный параметр
#можно использовать перед удалением
#тип - строка
#reason = "test"
}
output "test" {

View File

@@ -1,8 +1,8 @@
/*
Пример использования
Получение информации о k8ci
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -10,14 +10,13 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
@@ -27,11 +26,10 @@ provider "decort" {
allow_unverified_ssl = true
}
data "decort_cb_k8ci" "k8ci" {
#id k8ci
#обязательный параметр
#тип - число
#тип - целое число
k8ci_id = 111
}

View File

@@ -1,8 +1,8 @@
/*
Пример использования
Получение списка k8ci
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -10,14 +10,13 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
@@ -27,11 +26,10 @@ provider "decort" {
allow_unverified_ssl = true
}
data "decort_cb_k8ci_list" "k8cil" {
#фильтр по id k8ci
#опциональный параметр
#тип - число
#тип - целое число
#by_id = 111
#фильтр по имени k8ci
@@ -61,17 +59,23 @@ data "decort_cb_k8ci_list" "k8cil" {
#исключить из результата недоступные k8ci
#опциональный параметр
#тип - булево значение
#тип - булев
#include_disabled = "true"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#тип - целое число
#page = 2
#размер страницы
#опциональный параметр
#тип - число
#тип - целое число
#size = 3
}

View File

@@ -1,8 +1,8 @@
/*
Пример использования
Получение списка удаленных k8ci
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -10,14 +10,13 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
@@ -27,11 +26,10 @@ provider "decort" {
allow_unverified_ssl = true
}
data "decort_cb_k8ci_list_deleted" "k8cild" {
#фильтр по id k8ci
#опциональный параметр
#тип - число
#тип - целое число
#by_id = 111
#фильтр по имени k8ci
@@ -54,14 +52,20 @@ data "decort_cb_k8ci_list_deleted" "k8cild" {
#тип - строка
#network_plugin = "flannel"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#тип - целое число
#page = 2
#размер страницы
#опциональный параметр
#тип - число
#тип - целое число
#size = 3
}

View File

@@ -2,19 +2,20 @@
Пример использования
Получение информации о k8s кластере
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
@@ -28,7 +29,7 @@ provider "decort" {
data "decort_cb_k8s" "k8s" {
#id кластера
#обязательный параметр
#тип - число
#тип - целое число
k8s_id = 49304
}

View File

@@ -1,6 +1,12 @@
/*
Пример использования
Получение информации о компьютах k8s кластера
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
@@ -21,8 +27,9 @@ provider "decort" {
}
data "decort_cb_k8s_computes" "computes" {
# ID кластера
# Обязательный параметр
#id кластера
#обязательный параметр
#тип - целое число
k8s_id = 999
}

View File

@@ -2,19 +2,20 @@
Пример использования
Получение списка доступных кластеров
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
@@ -28,7 +29,7 @@ provider "decort" {
data "decort_cb_k8s_list" "k8s_list" {
#фильтр по id кластера
#опциональный параметр
#тип - число
#тип - целое число
#by_id = 100
#фильтр по имени кластера
@@ -43,17 +44,17 @@ data "decort_cb_k8s_list" "k8s_list" {
#фильтр по id ресурсной группы
#опциональный параметр
#тип - число
#тип - целое число
#rg_id = 100
#фильтр по id балансировщика нагрузки
#опциональный параметр
#тип - число
#тип - целое число
#lb_id = 100
#фильтр по id ресурсной группы
#опциональный параметр
#тип - число
#тип - целое число
#bservice_id = 100
#фильтр по статусу
@@ -68,21 +69,27 @@ data "decort_cb_k8s_list" "k8s_list" {
#включение удаленных k8s в результат
#опциональный параметр
#тип - булев тип
#тип - булев
#если не задан - выводятся все неудаленные данные
# include_deleted = true
#include_deleted = true
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
# page = 1
#page = 1
#размер страницы
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
# size = 1
#size = 1
}
output "output_k8s_list" {

View File

@@ -2,19 +2,20 @@
Пример использования
Получение списка удаленных кластеров
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
@@ -28,7 +29,7 @@ provider "decort" {
data "decort_cb_k8s_list_deleted" "k8s_list_deleted" {
#фильтр по id кластера
#опциональный параметр
#тип - число
#тип - целое число
#by_id = 100
#фильтр по имени кластера
@@ -43,17 +44,17 @@ data "decort_cb_k8s_list_deleted" "k8s_list_deleted" {
#фильтр по id ресурсной группы
#опциональный параметр
#тип - число
#тип - целое число
#rg_id = 100
#фильтр по id балансировщика нагрузки
#опциональный параметр
#тип - число
#тип - целое число
#lb_id = 100
#фильтр по id ресурсной группы
#опциональный параметр
#тип - число
#тип - целое число
#bservice_id = 100
#фильтр по техническому статусу
@@ -61,15 +62,21 @@ data "decort_cb_k8s_list_deleted" "k8s_list_deleted" {
#тип - строка
#tech_status = "STOPPED"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 1
#размер страницы
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 1
}

View File

@@ -2,19 +2,20 @@
Пример использования
Получение информации о k8s кластере
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
@@ -28,12 +29,12 @@ provider "decort" {
data "decort_cb_k8s_wg" "k8s_wg" {
#id кластера
#обязательный параметр
#тип - число
#тип - целое число
k8s_id = 49304
#id группы воркеров
#обязательный параметр
#тип - число
#тип - целое число
wg_id = 43329
}

View File

@@ -2,19 +2,20 @@
Пример использования
Получение информации о мета данных рабочей группы k8s кластера
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
@@ -28,12 +29,12 @@ provider "decort" {
data "decort_cb_k8s_wg_cloud_init" "wg_cloud_init" {
#id кластера
#обязательный параметр
#тип - число
#тип - целое число
k8s_id = 977
#id группы воркеров
#обязательный параметр
#тип - число
#тип - целое число
wg_id = 2110
}

View File

@@ -1,20 +1,21 @@
/*
Пример использования
Получение списка доступных групп воркеров в кластере
Получение списка доступных рабочих групп в кластере
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
@@ -28,7 +29,7 @@ provider "decort" {
data "decort_cb_k8s_wg_list" "k8s_wg_list" {
#id кластера
#обязательный параметр
#тип - число
#тип - целое число
k8s_id = 49304
}

View File

@@ -5,8 +5,8 @@
1. Создавать k8ci
2. Редактировать k8ci
3. Удалять k8ci
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -14,14 +14,13 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
@@ -35,56 +34,56 @@ resource "decort_cb_k8ci" "k8ci" {
#имя k8ci
#обязательный параметр
#тип - строка
name = "test"
name = "test"
#тег версии
#обязательный параметр
#тип - строка
version = "1.1.1"
version = "1.1.1"
#тип master driver
#обязательный параметр
#тип - строка
master_driver = "KVM_X86"
master_driver = "KVM_X86"
#тип worker driver
#обязательный параметр
#тип - строка
worker_driver = "KVM_X86"
worker_driver = "KVM_X86"
#максимальное число master компутов
#обязательный параметр
#тип - число
#тип - целое число
max_master_count = 1
#максимальное число worker компутов
#обязательный параметр
#тип - число
#тип - целое число
max_worker_count = 1
#id образа для master
#обязательный параметр
#тип - число
#тип - целое число
master_image_id = 4
#id образа для worker
#обязательный параметр
#тип - число
#тип - целое число
worker_image_id = 4
#network plugins
#обязательный параметр
#тип - список строк
#тип - массив строк
network_plugins = ["flannel"]
#доступность k8ci
#опциональный параметр
#тип - булево значение
#тип - булев
#enabled = false
#флаг для моментального удаления k8ci
#опциональный параметр
#тип - булевый
#тип - булев
#permanently = true
#описание
@@ -94,8 +93,9 @@ resource "decort_cb_k8ci" "k8ci" {
#доступность k8ci другим аккаунтам
#опциональный параметр
#тип - список чисел
#тип - массив целых чисел
#shared_with = [1111]
}
output "test" {

View File

@@ -0,0 +1,186 @@
/*
Пример использования
Ресурса k8s
Ресурс позволяет:
1. Создавать кластер
2. Редактировать кластер
3. Удалять кластер
4. Настроить мастер-узел
5. Изменить кол-во ВМ в мастер-узле
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
oauth2_url = "https://sso.digitalenergy.online"
controller_url = "https://mr4.digitalenergy.online"
app_id = ""
app_secret = ""
}
resource "decort_cb_k8s_cp" "cp" {
#название кластера
#обязательный параметр
#тип - строка
name = "k8s-cp"
#k8sCI ID
#обязательный параметр
#тип - целое число
k8sci_id = 55
#плагин сети
#обязательный параметр
#возможные значения - "flannel", "weavenet", "calico"
#тип - строка
network_plugin = "flannel"
#id ресурсной группы
#обязательный параметр
#тип - целое число
rg_id = 1387
#кол-во ядер мастер-узла
#опциональный параметр
#тип - целое число
cpu = 2
#объем RAM мастер-узла
#опциональный параметр
#тип - целое число
ram = 2048
#кол-во ВМ мастер-узла (1, 3 или 5)
#опциональный параметр
#тип - целое число
num = 1
#размер диска мастер-узла
#опциональный параметр
#тип - целое число
disk = 10
#описание кластера
#опциональный параметр
#тип - строка
desc = "<DESCRIPTION>"
#id extnet
#опциональный параметр
#тип - целое число
extnet_id = 0
#id vins
#опциональный параметр
#тип - целое число
vins_id = 1234
#sep ip
#опциональный параметр
#тип - целое число
sep_id = 0
#название пула
#опциональный параметр
#тип - строка
sep_pool = "pool"
#старт/стоп кластера
#опциональный параметр
#тип - булев
start = true
#включить/отключить кластер
#опциональный параметр
#тип - булев
enabled = true
#удалить кластер безвозвратно
#опциональный параметр
#тип - булев
permanently = true
#восстановить кластер из корзины
#опциональный параметр
#тип - булев
restore = true
#создать кластер с/без балансировщика нагрузки
#опциональный параметр
#тип - булев
with_lb = 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"]
#используется для определения настроек и действий, которые должны быть выполнены перед запуском любого другого компонента в кластере
#это позволяет вам настраивать такие вещи, как регистрация node, настройка network и другие задачи инициализации
#опциональный параметр
#тип - строка
init_config = "{JSON string}"
#используется для определения глобальных настроек и конфигураций для всего кластера
#он включает в себя такие параметры, как имя кластера, настройки DNS, методы аутентификации и другие конфигурации в масштабах кластера
#опциональный параметр
#тип - строка
cluster_config = "{JSON string}"
#используется для настройки поведения и параметров Kubelet, который является агентом primary node, запускаемым на каждом node кластера
#он включает в себя такие параметры, как IP-адрес node, распределение ресурсов, политики удаления модулей и другие конфигурации, специфичные для Kubelet
#опциональный параметр
#тип - строка
kubelet_config = "{JSON string}"
#используется для настройки поведения и параметров присоединения node к кластеру
#он включает в себя такие параметры, как режим прокси-сервера, диапазоны IP-адресов кластера и другие конфигурации, специфичные для Kube-proxy
#опциональный параметр
#тип - строка
kube_proxy_config = "{JSON string}"
#используется для настройки поведения и параметров присоединения node к кластеру
#он включает в себя такие параметры, как cluster's control plane endpoint, токен и ключ сертификата
#опциональный параметр
#тип - строка
join_config = "{JSON string}"
#при создании кластере использовать подключение только к сети ExtNet
#опциональный параметр
#тип - булев
extnet_only = true
#добавить ssl-сертификат в формате x509 pem
#опциональный параметр
#тип - файл с форматом в виде .crt
oidc_cert = file("ca.crt")
#пользовательские значения sysctl для LB
#опциональный параметр
#тип - массив мап
lb_sysctl_params = [{text = "1", text = "some"}]
}
output "cp_out" {
value = decort_cb_k8s_cp.cp
}

View File

@@ -1,3 +1,7 @@
/*
Пример использования
Получение информации о группе воркеров кластера Kubernetes(k8s)
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
@@ -19,17 +23,15 @@ provider "decort" {
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
#app_id = <APP-ID>
#app_secret = <APP-SECRET>
allow_unverified_ssl = true
}
resource "decort_cb_k8s_wg" "wg" {
#id экземпляра k8s
#обязательный параметр
#тип - число
k8s_id = 1234 //это значение должно быть и результат вызова decort_cb_k8s.cluster.k8s_id
#это значение должно быть и результат вызова decort_cb_k8s.cluster.k8s_id
#тип - целое число
k8s_id = 1234
#имя worker group
#обязательный параметр
@@ -38,27 +40,27 @@ resource "decort_cb_k8s_wg" "wg" {
#количество worker node для создания
#опциональный параметр
#тип - число
#по - умолчанию - 1
#тип - целое число
#по умолчанию - 1
num = 2
#количество cpu для 1 worker node
#опциональный параметр
#тип - число
#по - умолчанию - 1
#тип - целое число
#по умолчанию - 1
cpu = 1
#количество RAM для одной worker node в Мбайтах
#опциональный параметр
#тип - число
#по-умолчанию - 1024
#тип - целое число
#по умолчанию - 1024
ram = 1024
#размер загрузочного диска для worker node, в Гбайтах
#опциональный параметр
#тип - число
#по - умолчанию - 0
#по умолчанию - 0
#если установлен параметр 0, то размер диска будет равен размеру образа
#тип - целое число
disk = 10
#список строк с labels для worker группы, в формате: ["label1=value1", "label2=value2"]
@@ -66,33 +68,33 @@ resource "decort_cb_k8s_wg" "wg" {
#тип - массив строк
labels = ["label1=value1", "label2=value2"]
#Список строк с annotations для worker группы, в формате: ["key1=value1", "key2=value2"]
#список строк с annotations для worker группы, в формате: ["key1=value1", "key2=value2"]
#опциональный параметр
#тип - массив строк
annotations = ["key1=value1", "key2=value2"]
#Список строк с taints для worker группы, в формате: ["key1=value1:NoSchedule", "key2=value2:NoExecute"]
#список строк с taints для worker группы, в формате: ["key1=value1:NoSchedule", "key2=value2:NoExecute"]
#опциональный параметр
#тип - массив строк
taints = ["key1=value1", "key2=value2"]
#ID СХД для создания загрузочных дисков для Worker-групп по умолчанию. Использует sepId образа, если не указан.
#id СХД для создания загрузочных дисков для Worker-групп по умолчанию. Использует sepId образа, если не указан.
#опциональный параметр
#тип - число
#тип - целое число
worker_sep_id = 1
#Пул для хранения Workers. Если не заполнить, будет выбран системой
#пул для хранения Workers. Если не заполнить, будет выбран системой
#опциональный параметр
#тип - число
#тип - целое число
worker_sep_pool = "worker_pool"
#Перечень аргументов для cloud-init для виртуальных машин worker групп
#перечень аргументов для cloud-init для виртуальных машин worker групп
#опциональный параметр
#тип - файл
#тип - файл в формате YAML
#используется при создании и обновлении ресурса
cloud_init = file("initconfig.tftpl")
}
}
output "test_wg" {
value = decort_cb_k8s_wg.wg

View File

@@ -2,6 +2,7 @@
Пример использования
Получение данных о compute (виртуальной машине).
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -9,8 +10,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -27,16 +28,16 @@ provider "decort" {
data "decort_cb_kvmvm" "comp" {
#получение информации по идентификатору машины - compute_id
# id виртуальной машины
# обязательный параметр
# тип - число
#id виртуальной машины
#обязательный параметр
#тип - целое число
compute_id = 11346
# прична запроса
# опциональный параметр
# тип - строка
#прична запроса
#опциональный параметр
#тип - строка
reason = "test"
}
output "test" {

View File

@@ -7,12 +7,11 @@
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -30,8 +29,9 @@ provider "decort" {
data "decort_cb_kvmvm_affinity_relations" "aff_rel" {
#id виртуальной машины
#обязательный параметр
#тип - число
#тип - целое число
compute_id = 48
}
output "output" {

View File

@@ -10,8 +10,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -29,8 +29,9 @@ provider "decort" {
data "decort_cb_kvmvm_audits" "kvmvm_audits" {
#id виртуальной машины
#обязательный параметр
#тип - число
#тип - целое число
compute_id = 10154
}
output "output" {

View File

@@ -7,12 +7,11 @@
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -30,8 +29,9 @@ provider "decort" {
data "decort_cb_kvmvm_boot_order_get" "boot_order" {
#id виртуальной машины
#обязательный параметр
#тип - число
#тип - целое вчисло
compute_id = 48
}
output "output" {

View File

@@ -1,18 +1,17 @@
/*
Пример использования
Получение данных об аудитах compute (виртулаьной машине)
Получение данных об аудитах compute (виртулаьной машины)
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -30,13 +29,14 @@ provider "decort" {
data "decort_cb_kvmvm_get_audits" "kvmvm_get_audits" {
#id виртуальной машины
#обязательный параметр
#тип - число
#тип - целое число
compute_id = 10154
#причина запроса
#опциональный параметр
#тип - строка
#reason = "test"
}
output "output" {

View File

@@ -1,6 +1,6 @@
/*
Пример использования
Получение url compute (виртулаьной машины)
Получение url compute (виртуальной машины)
*/
#Расскомментируйте этот код,
@@ -10,8 +10,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -29,8 +29,9 @@ provider "decort" {
data "decort_cb_kvmvm_get_console_url" "kvmvm_get_console_url" {
#id виртуальной машины
#обязательный параметр
#тип - число
#тип - целое число
compute_id = 10154
}
output "output" {

View File

@@ -6,17 +6,17 @@
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
@@ -29,13 +29,14 @@ provider "decort" {
data "decort_cb_kvmvm_get_log" "kvmvm_get_log" {
#id виртуальной машины
#обязательный параметр
#тип - число
#тип - целое число
compute_id = 10154
#путь до log файла
#обязательный параметр
#тип - строка
path = "/var/log/file.log"
}
output "output" {

View File

@@ -1,6 +1,6 @@
/*
Пример использования
Получение данных об списке compute (виртуальных машин)
Получение данных о списке compute (виртуальных машин)
*/
#Расскомментируйте этот код,
@@ -10,8 +10,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -28,7 +28,7 @@ provider "decort" {
data "decort_cb_kvmvm_list" "compute_list" {
#фильтр по id ВМ
#опциональный параметр
#тип - число
#тип - целое число
#by_id = 100
#фильтр по имени ВМ
@@ -38,7 +38,7 @@ data "decort_cb_kvmvm_list" "compute_list" {
#id аккаунта для получения списка ВМ
#опциональный параметр
#тип - число
#тип - целое число
#account_id = 11111
#фильтр по имени ресурсной группы
@@ -48,7 +48,7 @@ data "decort_cb_kvmvm_list" "compute_list" {
#фильтр по id ресурсной группы
#опциональный параметр
#тип - число
#тип - целое число
#rg_id = 100
#фильтр по техническому статусу
@@ -73,32 +73,34 @@ data "decort_cb_kvmvm_list" "compute_list" {
#фильтр по id extnet
#опциональный параметр
#тип - число
#тип - целое число
#extnet_id = 100
#флаг влючения в результат удаленных балансироващиков нагрузки
#опциональный параметр
#тип - булев тип
#значение по-умолчанию - false
#если не задан - выводятся все доступные неудаленные балансировщики
#значение по-умолчанию - false
#тип - булев
#includedeleted = true
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#тип - целое число
#page = 1
#размер страницы
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#тип - целое число
#size = 1
#Включить в список вывода ВМ, принадлежащие k8s кластерам (при значении параметра true)
#опциональный параметр
#bool (default = false)
#ignore_k8s = true
}
output "output" {

View File

@@ -10,8 +10,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -29,7 +29,7 @@ provider "decort" {
data "decort_cb_kvmvm_list_deleted" "compute_list" {
#фильтр по id виртуальной машины
#опциональный параметр
#тип - число
#тип - целое число
#by_id = 100
#фильтр по имени виртуальной машины
@@ -39,7 +39,7 @@ data "decort_cb_kvmvm_list_deleted" "compute_list" {
#фильтр по id аккаунта
#опциональный параметр
#тип - число
#тип - целое число
#account_id = 100
#фильтр по имени ресурсной группы
@@ -49,7 +49,7 @@ data "decort_cb_kvmvm_list_deleted" "compute_list" {
#фильтр по id ресурсной группы
#опциональный параметр
#тип - число
#тип - целое число
#rg_id = 100
#фильтр по техническому статусу
@@ -69,25 +69,27 @@ data "decort_cb_kvmvm_list_deleted" "compute_list" {
#фильтр по id extNet
#опциональный параметр
#тип - число
#тип - целое число
#extnet_id = 100
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 1
#размер страницы
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 1
#Включить в список вывода ВМ, принадлежащие k8s кластерам (при значении параметра true)
#опциональный параметр
#bool (default = false)
#ignore_k8s = true
}
output "output" {

View File

@@ -1,18 +1,17 @@
/*
Пример использования
Получение информации о последней (включая текущую) миграции хранилища.
*/
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -30,8 +29,9 @@ provider "decort" {
data "decort_cb_kvmvm_migrate_storage_info" "info" {
#id виртуальной машины
#обязательный параметр
#тип - число
#тип - целое число
compute_id = 48
}
output "output" {

View File

@@ -6,13 +6,12 @@
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -30,35 +29,47 @@ provider "decort" {
data "decort_cb_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" {

View File

@@ -7,12 +7,11 @@
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -30,13 +29,14 @@ provider "decort" {
data "decort_cb_kvmvm_pfw_list" "kvmvm_pfw_list" {
#id виртуальной машины
#обязательный параметр
#тип - число
#тип - целое число
compute_id = 48
#причина запроса
#опциональный параметр
#тип - строка
reason = "test"
}
output "output" {

View File

@@ -7,12 +7,11 @@
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -30,8 +29,9 @@ provider "decort" {
data "decort_cb_kvmvm_snapshot_list" "kvmvm_snapshot_list" {
#id виртуальной машины
#обязательный параметр
#тип - число
#тип - целое число
compute_id = 48
}
output "output" {

View File

@@ -1,18 +1,17 @@
/*
Пример использования
Получение настояего размера снимка ВМ (виртуальной машины) в хранилище.
Получение настоящего размера снимка ВМ (виртуальной машины) в хранилище.
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -30,13 +29,14 @@ provider "decort" {
data "decort_cb_kvmvm_snapshot_usage" "snp_usage" {
#id виртуальной машины
#обязательный параметр
#тип - число
#тип - целое число
compute_id = 48
#label снимка
#опциональный параметр
#тип - строка
label = "test"
}
output "output" {

View File

@@ -1,18 +1,17 @@
/*
Пример использования
Получение данных об юзерах compute (виртулаьной машины)
Получение данных об юзерах compute (виртуальной машины)
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -30,8 +29,9 @@ provider "decort" {
data "decort_cb_kvmvm_user_list" "kvmvm_user_list" {
#id виртуальной машины
#обязательный параметр
#тип - число
#тип - целое число
compute_id = 10154
}
output "output" {

View File

@@ -7,12 +7,11 @@
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -29,12 +28,12 @@ provider "decort" {
data "decort_cb_kvmvm_vgpu_list" "vgpu_list" {
#id виртуальной машины
#обязательный параметр
#тип - число
#тип - целое число
compute_id = 100
#фильтр по id графического процессора
#опциональный параметр
#тип - число
#тип - целое число
#gpu_id = 100
#фильтр по типу графического процессора
@@ -49,20 +48,27 @@ data "decort_cb_kvmvm_vgpu_list" "vgpu_list" {
#фильтр "включая удаленные графические процессоры"
#опциональный параметр
#тип - булев тип
#includedeleted = "false"
#тип - булев
#includedeleted = false
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#тип - целое число
#page = 1
#размер страницы
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#тип - целое число
#size = 1
}
output "output" {

View File

@@ -0,0 +1,463 @@
/*
Пример использования
Работа с ресурсом kvmvm (compute)
Ресурс позволяет:
1. Создавать compute
2. Редактировать compute
3. Удалять compute
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
resource "decort_cb_kvmvm" "comp" {
#имя compute
#обязательный параметр
#мб изменен
#тип - строка
name = "test-tf-compute-update-new"
#id resource group
#обязательный параметр
#тип - целое число
rg_id = 1111
#тип драйвера для compute
#обязательный параметр
#тип - строка
driver = "KVM_X86"
#число cpu
#обязательный параметр
#тип - целое число
cpu = 1
#кол-во оперативной памяти, МБ
#обязательный параметр
#тип - целое число
ram = 2048
#id образа диска для создания compute
#опциональный параметр
#тип - целое число
#image_id = 111
#Если значение равно True, параметры image_id, boot_disk_size, sep_id, pool игнорируются, и компьютер создается без загрузочного диска в остановленном состоянии
#опциональный параметр
#тип - булев
#without_boot_disk = true
#размер загрузочного диска
#опциональный параметр
#тип - целое число
#boot_disk_size = 20
#ID сепа для boot диска
#опциональный параметр
#тип - целое число
#sep_id = 1
#Название пула
#опциональный параметр
#тип - строка
#pool = "data02"
#конфигурация cloud init
#опциональный параметр
#тип - файл в формате JSON/YAML
#cloud_init = file("initconfig.tftpl")
#описание compute
#опциональный параметр
#тип - строка
#description = "test update description in tf words update"
#stack id
#опциональный параметр
#тип - целое число
#stack_id = 1
#id образа CD-ROM для загрузки
#используется при изменении ресурса, при повторном старте вм
#опциональный параметр
#тип - целое число
#alt_boot_id = 1
#необходимость выравнивать ВМ по NUMA
#опциональный параметр
#тип - строка
#возможные значения - "none, "strict", "loose"
#значение по умолчанию - "none"
#numa_affinity = "loose"
#необходимость запускать ВМ на выделенных CPU ядрах
#опциональный параметр
#тип - булев
#значение по умолчанию - false
#cpu_pin = true
#необходимость использовать для выделения RAM виртуальной машины Huge Pages
#опциональный параметр
#тип - булев
#значение по умолчанию - false
#hp_backed = true
#Создание и добавление диска дял compute
#опциональный параметр
#тип - список дисков
#disks {
#Имя диска
#Обязательный для диска параметр
#Тип - строка
#disk_name = "disk_name"
#Размер диска
#Обязательный для диска параметр
#тип - целое число
#size = 5
#Тип диска
#опциональный параметр
#тип - строка
#disk_type = "D"
#опциональный параметр
#тип - целое число
#sep_id = 1
#Название пула
#опциональный параметр
#тип - строка
#pool = "data01"
#список node
#опциональный параметр
#тип - массив целых чисел
#node_ids = [10,11]
#Описание диска
#опциональный параметр
#тип - строка
#desc = ""
#Айди образа
#опциональный параметр
#image_id = 378
#Флаг для удаления диска
#опциональный параметр
#тип - булев
#permanently = false
#}
#правила affinity
#опциональный параметр
#может быть один, несколько или ни одного блока
#тип - блок
#affinity_rules {
#тип правила
#возможные значения - compute или node
#обязательный параметр
#тип - строка
#topology = "compute"
#строгость правила
#возможные значения - RECOMMENDED и REQUIRED
#обязательный параметр
#тип - строка
#policy = "RECOMMENDED"
#режим проверки
#возможные значения - ANY, EQ, NE
#обязательный параметр
#тип - строка
#mode = "ANY"
#ключ правила
#обязательный параметр
#тип - строка
#key = "testkey"
#ключ правила
#необязательный параметр
#тип - строка
#value = "testvalue"
#}
#правила anti-affinity
#опциональный параметр
#может быть один, несколько или ни одного блока
#тип - блок
#anti_affinity_rules {
#тип правила
#возможные значения - compute или node
#обязательный параметр
#тип - строка
#topology = "compute"
#строгость правила
#возможные значения - RECOMMENDED и REQUIRED
#обязательный параметр
#тип - строка
#policy = "RECOMMENDED"
#режим проверки
#возможные значения - ANY, EQ, NE
#обязательный параметр
#тип - строка
#mode = "ANY"
#ключ правила
#обязательный параметр
#тип - строка
#key = "testkey"
#ключ правила
#необязательный параметр
#тип - строка
#value = "testvalue"
#}
#установка метки для вм
#опциональный параметр
#тип - строка
#affinity_label = "test4"
#наименование системы
#опциональный параметр
#используется при создании вм
#по умолчанию - не задан
#тип - строка
#is=""
#назначение вм
#опциональный параметр
#используется при создании вм
#по умолчанию - не задан
#тип - строка
#ipa_type = ""
#Id экстра дисков
#опциональный параметр
#тип - список чисел
#extra_disks = [1234, 4322, 1344]
#Управление XML виртуальной машины
#опциональный параметр
#тип - строка (json-encoded)
#custom_fields = "{`key`:`value`}"
#Описание необходимости выполнения действия
#опциональный параметр
#тип - строка
#reason = "need"
#Присоеденения сетей и удаление сетей в компьюте
#опциональный параметр
#тип - блок
#network {
#Тип сети VINS/EXTNET (для любого драйвера) и VFNIC (для KVM_X86)
#Обязательный параметр
#тип - строка
#net_type = "VINS"
#ID сети
#Обязательный параметр
#тип - целое число
#net_id = 1234
#IP адрес входящий в сеть
#опциональный параметр
#тип - строка
#ip_address = "127.0.0.1"
#}
#добавление и удаление тэгов
#опциональный параметр
#тип - блок
#tags {
#Ключ для тэга
#Обязательный параметр
#тип - строка
#key = "key"
#Значения тэга
#Обязательный параметр
#тип - строка
#value = "value"
#}
#добавление и удаление port forwarding
#опциональный параметр
#тип - блок
#port_forwarding {
#номер внешнего начального порта для правила
#Обязательный параметр
#тип - целое число
#public_port_start = 2023
#номер внешнего последнего порта для правила
#опциональный параметр
#тип - целое число
#по умолчанию - -1
#public_port_end = 2023
#номер внутреннего базового порта
#Обязательный параметр
#тип - целое число
#local_port = 80
#сетевой протокол
#Обязательный параметр
#тип - строка
#proto = "tcp"
#}
#предоставить/забрать пользователю доступ к компьюту
#опциональный параметр
#тип - блок
#user_access {
#Имя юзера, которому предоставляем доступ
#Обязательный параметр
#тип - строка
#username = "some@decs3o"
#Права: 'R' - только на чтение, 'RCX' - чтение/запись, 'ARCXDU' - админ
#Обязательный параметр
#тип - строка
#access_type = "ARCXDU"
#}
#Создать/удалить снапшот компьюта
#опциональный параметр
#тип - блок
#snapshot {
#Лейбл снапшота
#Обязательный параметр
#тип - строка
#label = "label1"
#}
#Rollback на нужный снапшот
#опциональный параметр
#Не имеет смысла при отсутсвии снапшотов
#тип - блок
#rollback {
#Лейбл снапшота
#Обязательный параметр
#тип - строка
#label = "label1"
#}
#Вставить/удалить СD rom
#опциональный параметр
#Максимальное кол-во - 1
#тип - блок
#cd {
#ID образа диска CD rom
#Обязательный параметр
#тип - целое число
#cdrom_id = 344
#}
#Добавить компьют на стэк
#опциональный параметр
#тип - булев
#pin_to_stack = true
#id stack для добавления компьюта на этот стэк
#опциональный параметр
#тип - целое число
#target_stack_id = 1
#Флаг для принужительного добавления компьюта на стэк
#опциональный параметр
#тип - булев
#force_pin = true
#Флаг доступности компьюта для проведения с ним операций
#опциональный параметр
#тип - булев
#enabled = true
#pause/resume компьюта
#опциональный параметр
#тип - булев
#pause = true
#сделать компьют заново
#опциональный параметр
#тип - булев
#reset = true
#восстановить удаленный компьют из корзины
#опциональный параметр
#тип - булев
#restore = true
#флаг для редеплоя компьюта
#опциональный параметр
#тип - булев
#auto_start = true
#флаг для редеплоя компьюта
#опциональный параметр
#тип - булев
#force_stop = true
#флаг для предоставления дисков из node
#опциональный параметр
#тип - булев
#по умолчанию - true
#depresent = true
#флаг для ресайза компьюта
#опциональный параметр
#тип - булев
#force_resize = true
#поле для редеплоя компьюта
#опциональный параметр
#тип - строка
#data_disks = "KEEP"
#запуск/стоп компьюта
#опциональный параметр
#тип - булев
#started = true
#detach диска при удалении компьюта
#опциональный параметр
#тип - булев
#detach_disks = true
#Флаг для удаления компьюта
#опциональный параметр
#тип - булев
#permanently = false
}
output "test" {
value = decort_cb_kvmvm.comp
}

View File

@@ -2,6 +2,7 @@
Пример использования
Получение информации о load balancer (балансировщик нагрузок)
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -9,8 +10,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -28,7 +29,7 @@ provider "decort" {
data "decort_cb_lb" "lb" {
#id балансировщика нагрузок
#обязательный параметр
#тип - число
#тип - целое число
lb_id = 238
}

View File

@@ -2,6 +2,7 @@
Пример использования
Получение списка load balancer (балансировщиков нагрузки)
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -9,8 +10,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -28,7 +29,7 @@ provider "decort" {
data "decort_cb_lb_list" "lbl" {
#фильтр по id балансировщика нагрузки
#опциональный параметр
#тип - число
#тип - целое число
#by_id = 100
#фильтр по имени балансировщика нагрузки
@@ -38,12 +39,12 @@ data "decort_cb_lb_list" "lbl" {
#id аккаунта для получения списка балансировщиков нагрузки
#опциональный параметр
#тип - число
#тип - целое число
#account_id = 11111
#фильтр по id ресурсной группы
#опциональный параметр
#тип - число
#тип - целое число
#rg_id = 100
#фильтр по техническому статусу
@@ -66,22 +67,28 @@ data "decort_cb_lb_list" "lbl" {
#тип - строка
#back_ip = "ENABLED"
#флаг влючения в результат удаленных балансироващиков нагрузки
#флаг включения в результат удаленных балансировщиков нагрузки
#опциональный параметр
#тип - булев тип
#значение по-умолчанию - false
#тип - булев
#по-умолчанию - false
#если не задан - выводятся все доступные неудаленные балансировщики
#includedeleted = true
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 1
#размер страницы
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 1
}

View File

@@ -1,8 +1,8 @@
/*
Пример использования
Получение списка удаленных load balancer (балансировщиков нагрузок)
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -29,7 +29,7 @@ provider "decort" {
data "decort_cb_lb_list_deleted" "lbld" {
#фильтр по id балансировщика нагрузки
#опциональный параметр
#тип - число
#тип - целое число
#by_id = 100
#фильтр по имени балансировщика нагрузки
@@ -39,12 +39,12 @@ data "decort_cb_lb_list_deleted" "lbld" {
#id аккаунта для получения списка балансировщиков нагрузки
#опциональный параметр
#тип - число
#тип - целое число
#account_id = 11111
#фильтр по id ресурсной группы
#опциональный параметр
#тип - число
#тип - целое число
#rg_id = 100
#фильтр по техническому статусу
@@ -62,15 +62,21 @@ data "decort_cb_lb_list_deleted" "lbld" {
#тип - строка
#back_ip = "ENABLED"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 1
#размер страницы
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 1
}

View File

@@ -5,8 +5,8 @@
1. Создавать load balancer
2. Редактировать load balancer
3. Удалять load balancer
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -14,8 +14,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -33,7 +33,7 @@ provider "decort" {
resource "decort_cb_lb" "lb" {
#id ресурсной группы для создания балансировщика
#обязательный параметр
#тип - число
#тип - целое число
rg_id = 1111
#наименование load balancer
@@ -41,65 +41,77 @@ resource "decort_cb_lb" "lb" {
#тип - строка
name = "tf-test-lb"
#id внешней сети и id виртуальной сети не могут быть одновременно = 0
#id внешней сети
#опциональный параметр
#тип - число
#id внешней сети и id виртуальной сети не могут быть одновременно = 0
#тип - целое число
extnet_id = 6
#id виртуальной сети
#опциональный параметр
#тип - число
#id внешней сети и id виртуальной сети не могут быть одновременно = 0
#тип - целое число
vins_id = 758
#флаг запуска load balancer
#обязательный параметр
#тип - булев тип
#по умолчанию - true
#если load balancer был в статусе "stopped" (start = false),
#то для успешного старта, он должен быть доступен (enable = true)
#по умолчанию - true
#тип - булев
start = true
# позволяет создать схему отказоустройчивой LB
# опциональный параметр
# тип - булев тип
#позволяет создать схему отказоустройчивой LB
#опциональный параметр
#тип - булев
#ha_mode = true
#описание
#опциональный параметр
#тип - строка
#desc = "temp super lb for testing tf provider"
#descс= "temp super lb for testing tf provider"
#флаг доступности load balancer
#необязательный параметр
#тип - булев тип
#опциональный параметр
#тип - булев
#enable = true
#флаг перезапуска load balancer
#необязательный параметр
#тип - булев тип
#опциональный параметр
#перезагрузка срабатывает только при изменении флага с false на true
#restart = false
#тип - булев
#restart = false
#флаг сброса конфигурации load balancer
#необязательный параметр
#тип - булев тип
#опциональный параметр
#сброс срабатывает только при изменении флага с false на true
#тип - булев
#config_reset = false
#флаг моментального удаления load balancer
#необязательный параметр
#тип - булев тип
#по умолчанию - false
#опциональный параметр
#применяется при выполнении команды terraform destroy
#по умолчанию - false
#тип - булев
#permanently = false
#флаг восстановления load balancer
#необязательный параметр
#тип - булев тип
#опциональный параметр
#восстановить можно load balancer, удаленным с флагом permanently = false
#тип - булев
#restore = true
#флаг используемый при рестарте load balancer
#опциональный параметр
#значение по умолчанию - true, при данном значении рестарт производится на обоих нодах в HA mode
#тип - булев
#safe = true
#пользовательские значения sysctl для LB
#опциональный параметр
#тип - список мап
#sysctl_params = [{text = "1", text = "some"}]
}
output "test" {

View File

@@ -5,8 +5,8 @@
1. Создавать backend
2. Редактировать backend
3. Удалять backend
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -14,8 +14,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -33,7 +33,7 @@ provider "decort" {
resource "decort_cb_lb_backend" "lb" {
#id балансировщика нагрузок
#обязательный параметр
#тип - число
#тип - целое число
lb_id = 668
#имя бекенда для создания сервера
@@ -42,10 +42,10 @@ resource "decort_cb_lb_backend" "lb" {
name = "testBackend"
#алгоритм балансировки
#опицональный параметр
#тип - строка
#по умолчанию - "roundrobin"
#опциональный параметр
#доступные значения - "roundrobin", "static-rr", "leastconn"
#по умолчанию - "roundrobin"
#тип - строка
#algorithm = "roundrobin"
#-------------------
@@ -53,54 +53,55 @@ resource "decort_cb_lb_backend" "lb" {
#-------------------
#интервал между проверками, в миллисекундах
#опицональный параметр
#тип - число
#опциональный параметр
#по умолчанию - 5000
#тип - целое число
#inter = 5000
#интервал между проверками доступности сервера после восстановления, в миллисекундах
#опицональный параметр
#тип - число
#опциональный параметр
#по умолчанию - 10000
#тип - целое число
#downinter = 1000
#кол-во проверок, которые сервер должен успешно пройти
#опицональный параметр
#тип - число
#опциональный параметр
#тип - целое число
#по умолчанию - 2
#rise = 2
#кол-во проверок, которые сервер может не пройти и после этого получить статус "unavailable"
#опицональный параметр
#тип - число
#опциональный параметр
#по умолчанию - 2
#тип - целое число
#fall = 2
#кол-во миллисекунд - время между получением сервера статуса "available" и открытием соединений
#опицональный параметр
#тип - число
#опциональный параметр
#по умолчанию - 60000
#тип - целое число
#slowstart = 60000
#максимальное кол-во соединений сервера, при достижении этого кол-ва, сервер выходит из схемы балансирования
#опицональный параметр
#тип - число
#опциональный параметр
#по умолчанию - 250
#тип - целое число
#maxconn = 250
#максимальное кол-во соединений в очереди серевера, при достижении этого кол-ва, соединения будут перенаправлены на другой сервер
#опицональный параметр
#тип - число
#опциональный параметр
#по умолчанию - 256
#тип - целое число
#maxqueue = 256
#вес сервера для балансировки
#опицональный параметр
#тип - число
#опциональный параметр
#мин - 0
#макс - 255
#по умолчанию - 100
#тип - целое число
#weight = 100
}
output "test" {

View File

@@ -5,8 +5,8 @@
1. Создавать server
2. Редактировать server
3. Удалять server
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -14,8 +14,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -33,7 +33,7 @@ provider "decort" {
resource "decort_cb_lb_backend_server" "lb" {
#id балансировщика нагрузок
#обязательный параметр
#тип - число
#тип - целое число
lb_id = 668
#имя бекенда для создания сервера
@@ -53,65 +53,66 @@ resource "decort_cb_lb_backend_server" "lb" {
#порт сервера
#обязательный параметр
#тип - число
#тип - целое число
port = 6553
#проверка доступности сервера
#опицональный параметр
#тип - строка
#по умолчанию - "enabled"
#опциональный параметр
#доступные значения - "disabled", "enabled"
#по умолчанию - "enabled"
#тип - строка
#check = "enabled"
#интервал между проверками, в миллисекундах
#опицональный параметр
#тип - число
#опциональный параметр
#по умолчанию - 5000
#тип - целое число
#inter = 5000
#интервал между проверками доступности сервера после восстановления, в миллисекундах
#опицональный параметр
#тип - число
#опциональный параметр
#по умолчанию - 10000
#тип - целое число
#downinter = 1000
#кол-во проверок, которые сервер должен успешно пройти
#опицональный параметр
#тип - число
#опциональный параметр
#по умолчанию - 2
#тип - целое число
#rise = 2
#кол-во проверок, которые сервер может не пройти и после этого получить статус "unavailable"
#опицональный параметр
#тип - число
#опциональный параметр
#по умолчанию - 2
#тип - целое число
#fall = 2
#кол-во миллисекунд - время между получением сервера статуса "available" и открытием соединений
#опицональный параметр
#тип - число
#опциональный параметр
#по умолчанию - 60000
#тип - целое число
#slowstart = 60000
#максимальное кол-во соединений сервера, при достижении этого кол-ва, сервер выходит из схемы балансирования
#опицональный параметр
#тип - число
#опциональный параметр
#по умолчанию - 250
#тип - целое число
#maxconn = 250
#максимальное кол-во соединений в очереди серевера, при достижении этого кол-ва, соединения будут перенаправлены на другой сервер
#опицональный параметр
#тип - число
#опциональный параметр
#по умолчанию - 256
#тип - целое число
#maxqueue = 256
#вес сервера для балансировки
#опицональный параметр
#тип - число
#опциональный параметр
#мин - 0
#макс - 255
#по умолчанию - 100
#тип - целое число
#weight = 100
}
output "test" {

View File

@@ -4,8 +4,8 @@
Ресурс позволяет:
1. Создавать frontend
2. Удалять frontend
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -13,8 +13,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -32,7 +32,7 @@ provider "decort" {
resource "decort_cb_lb_frontend" "lb" {
#id балансировщика нагрузок
#обязательный параметр
#тип - число
#тип - целое число
lb_id = 668
#имя бекенда для создания фронтенда
@@ -44,6 +44,7 @@ resource "decort_cb_lb_frontend" "lb" {
#обязательный параметр
#тип - строка
name = "testFrontend"
}
output "test" {

View File

@@ -5,8 +5,8 @@
1. Создавать привязку
2. Редактировать привязку
3. Удалять привязку
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -14,8 +14,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -33,7 +33,7 @@ provider "decort" {
resource "decort_cb_lb_frontend_bind" "lb" {
#id балансировщика нагрузок
#обязательный параметр
#тип - число
#тип - целое число
lb_id = 668
#имя фронтенда для создания привязки
@@ -53,8 +53,9 @@ resource "decort_cb_lb_frontend_bind" "lb" {
#порт для привязки фронтенда
#обязательный параметр
#тип - число
#тип - целое число
port = 1111
}
output "test" {

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_node" "node" {
#id ноды
#обязательный параметр
#тип - целое число
node_id = 12
}
output "test" {
value = data.decort_cb_node.node
}

View File

@@ -0,0 +1,84 @@
/*
Пример использования
Получение списка нод платформы
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_node_list" "nodes" {
#фильтр по id ноды
#опциональный параметр
#тип - целое число
#by_id = 1234
#фильтр по имени ноды
#опциональный параметр
#тип - строка
#name = "node1"
#фильтр по версии ноды
#опциональный параметр
#тип - строка
#version = "version1"
#фильтр по релизу ноды
#опциональный параметр
#тип - строка
#release = "release1"
#фильтр по sep id
#опциональный параметр
#тип - целое число
#sep_id = 12
#фильтр по ролям ноды
#опциональный параметр
#тип - строка
#role = "service"
#фильтр по статусу ноды
#опциональный параметр
#тип - строка
#status = "disabled"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - целое число
#page = 2
#размер страницы
#опциональный параметр
#тип - целое число
#size = 3
}
output "test" {
value = data.decort_cb_node_list.nodes
}

View File

@@ -1,8 +1,8 @@
/*
Пример использования
Получение информации об устройстве
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -10,14 +10,13 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
@@ -31,8 +30,9 @@ provider "decort" {
data "decort_cb_pcidevice" "pd" {
#id устройства
#обязательный параметр
#тип - число
#тип - целое число
device_id = 85
}
output "test" {

View File

@@ -1,18 +1,17 @@
/*
Пример использования
Получение информации обо всех доступных устройствах
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -30,12 +29,12 @@ provider "decort" {
data "decort_cb_pcidevice_list" "pdl" {
#фильтр по id устройства
#опциональный параметр
#тип - число
#тип - целое число
#by_id = 111
#фильтр по id Compute
#опциональный параметр
#тип - число
#тип - целое число
#compute_id = 123
#фильтр по имени устройства
@@ -45,7 +44,7 @@ data "decort_cb_pcidevice_list" "pdl" {
#фильтр по id ресурсной группы
#опциональный параметр
#тип - число
#тип - целое число
#rg_id = 111
#фильтр по статусу устройства
@@ -55,13 +54,14 @@ data "decort_cb_pcidevice_list" "pdl" {
#номер страницы для отображения
#опциональный параметр
#тип - число
#тип - целое число
#page = 2
#размер страницы
#опциональный параметр
#тип - число
#тип - целое число
#size = 3
}
output "test" {

Some files were not shown because too many files have changed in this diff Show More