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,9 +29,8 @@ provider "decort" {
data "decort_account" "a" {
#id аккаунта
#обязательный параметр
#тип - число
#тип - целое число
account_id = 11111
}
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>"
}
}
}
@@ -30,9 +30,8 @@ provider "decort" {
data "decort_account_audits_list" "aal" {
#id аккаунта
#обязательный параметр
#тип - число
#тип - целое число
account_id = 11111
}
output "test" {

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_account_computes_list" "acl" {
#id аккаунта
#обязательный параметр
#тип - число
#тип - целое число
account_id = 1111
#фильтр по id compute
#опциональный параметр
#тип - число
#тип - целое число
#compute_id = 100
#фильтр по имени compute
@@ -49,7 +49,7 @@ data "decort_account_computes_list" "acl" {
#фильтр по id ресурсной группы
#опциональный параметр
#тип - число
#тип - целое число
#rg_id = 100
#фильтр по техническому статусу
@@ -69,18 +69,24 @@ data "decort_account_computes_list" "acl" {
#фильтр по id внешней сети
#опциональный параметр
#тип - число
#тип - целое число
#extnet_id = 100
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 1
#размер страницы
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 1
}

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_account_consumed_units" "acu" {
#id аккаунта
#обязательный параметр
#тип - число
#тип - целое число
account_id = 22222
}

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" {
data "decort_account_consumed_units_by_type" "acubt" {
#id аккаунта
#обязательный параметр
#тип - число
#тип - целое число
account_id = 33333
#тип вычислительной единицы

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>"
}
}
}
@@ -29,19 +30,19 @@ provider "decort" {
data "decort_account_deleted_list" "adl" {
#номер страницы для отображения
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 2
#размер страницы
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 3
#фильтр по id аккаунта
#опциональный параметр
#тип - число
#тип - целое число
#by_id = 100
#фильтр по имени аккаунта
@@ -53,6 +54,12 @@ data "decort_account_deleted_list" "adl" {
#опциональный параметр
#тип - строка
#acl = "test"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
}
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_account_disks_list" "adl" {
#id аккаунта
#обязательный параметр
#тип - число
#тип - целое число
account_id = 11111
#фильтр по id диска
#опциональный параметр
#тип - число
#тип - целое число
#disk_id = 100
#фильтр по имени диска
@@ -44,7 +44,7 @@ data "decort_account_disks_list" "adl" {
#фильтр по максимальному размеру диска
#опциональный параметр
#тип - число
#тип - целое число
#disk_max_size = 100
#тип диска
@@ -53,14 +53,20 @@ data "decort_account_disks_list" "adl" {
#возможные типы: "b" - boot_disk, "d" - data_disk
#type = "d"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#кол-во страниц для вывода
#опицональный параметр
#тип - число
#опциональный параметр
#тип - целое число
#page = 1
#размер страницы
#опицональный параметр
#тип - число
#опциональный параметр
#тип - целое число
#size = 1
}

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>"
}
}
}
@@ -29,7 +29,7 @@ provider "decort" {
data "decort_account_flipgroups_list" "afgl" {
#id аккаунта
#обязательный параметр
#тип - число
#тип - целое число
account_id = 1111
#фильтр по имени flipgroup
@@ -39,7 +39,7 @@ data "decort_account_flipgroups_list" "afgl" {
#фильтр по id vins
#опциональный параметр
#тип - число
#тип - целое число
#vins_id = 100
#фильтр по имени vins
@@ -49,7 +49,7 @@ data "decort_account_flipgroups_list" "afgl" {
#фильтр по id extnet
#опциональный параметр
#тип - число
#тип - целое число
#extnet_id = 100
#фильтр по IP
@@ -59,17 +59,17 @@ data "decort_account_flipgroups_list" "afgl" {
#фильтр по id flipgroup
#опциональный параметр
#тип - число
#тип - целое число
#flipgroup_id = 100
#кол-во страниц для вывода
#опицональный параметр
#тип - число
#опциональный параметр
#тип - целое число
#page = 1
#размер страницы
#опицональный параметр
#тип - число
#опциональный параметр
#тип - целое число
#size = 1
}

View File

@@ -9,12 +9,13 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
@@ -27,7 +28,7 @@ provider "decort" {
data "decort_account_resource_consumption_get" "rc_get" {
#id аккаунта
#обязательный параметр
#тип - число
#тип - целое число
account_id = 111
}

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_account_list" "al" {
#фильтр по id аккаунта
#опциональный параметр
#тип - число
#тип - целое число
#by_id = 100
#фильтр по имени аккаунта
@@ -47,15 +47,21 @@ data "decort_account_list" "al" {
#тип - строка
#status = "ENABLED"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 2
#размер страницы
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 3
}

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_account_reserved_units" "aru" {
#id аккаунта
#обязательный параметр
#тип - число
#тип - целое число
account_id = 11111
}

View File

@@ -9,12 +9,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>"
}
}
}
@@ -28,24 +29,24 @@ provider "decort" {
data "decort_account_rg_list" "argl" {
#id аккаунта
#обязательный параметр
#тип - число
#тип - целое число
account_id = 66666
#номер страницы для отображения
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 2
#размер страницы
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 3
#фильтр по id ресурсной группы
#опциональный параметр
#тип - число
#тип - целое число
#rg_id = 11111
#фильтр по имени ресурсной группы
@@ -55,18 +56,24 @@ data "decort_account_rg_list" "argl" {
#фильтр по id vins
#опциональный параметр
#тип - число
#тип - целое число
#vins_id = 100
#фильтр по id compute
#опциональный параметр
#тип - число
#тип - целое число
#vm_id = 100
#фильтр по статусу
#опциональный параметр
#тип - строка
#status = "CREATED"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
}
output "test" {

View File

@@ -1,21 +1,21 @@
/*
Пример использования
Получение информации о шаблонах, используемых аккаунтом
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
@@ -29,17 +29,17 @@ provider "decort" {
data "decort_account_templates_list" "atl" {
#id аккаунта
#обязательный параметр
#тип - число
#тип - целое число
account_id = 11111
#фильтр "включая удаленные шаблоны"
#опциональный параметр
#тип - булев тип
#тип - булев
#include_deleted = true
#фильтр по id образа
#опциональный параметр
#тип - число
#тип - целое число
#image_id = 1111
#фильтр по имени
@@ -52,15 +52,21 @@ data "decort_account_templates_list" "atl" {
#тип - строка
#type = "linux"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 2
#размер страницы
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 3
}

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>"
}
}
}
@@ -29,12 +29,12 @@ provider "decort" {
data "decort_account_vins_list" "avl" {
#id аккаунта
#обязательный параметр
#тип - число
#тип - целое число
account_id = 22222
#фильтр по id vins
#опциональный параметр
#тип - число
#тип - целое число
#vins_id = 100
#фильтр по имени vins
@@ -44,7 +44,7 @@ data "decort_account_vins_list" "avl" {
#фильтр по id ресурсной группы
#опциональный параметр
#тип - число
#тип - целое число
#rg_id = 11111
#фильтр по IP внешней сети
@@ -52,15 +52,21 @@ data "decort_account_vins_list" "avl" {
#тип - строка
#ext_ip = "test"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 2
#размер страницы
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 3
}

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,20 +44,20 @@ resource "decort_account" "a" {
#доступность аккаунта
#необязательный параметр
#тип - булев тип
#тип - булев
#может применяться при редактировании аккаунта
enable = true
#enable = true
#id аккаунта, позволяет сформировать .tfstate, если аккаунт имеет в платформе
#необязательный параметр
#тип - число
#тип - целое число
account_id = 11111
#отправлять ли на электронную почту письмо о доступе
#необязательный параметр
#тип - булев тип
#тип - булев
#применяется при создании аккаунта и редактировании аккаунта
send_access_emails = true
#send_access_emails = true
#добавление/редактирование/удаление пользователей, к которым привязан аккаунт
#необязательный параметр
@@ -79,7 +79,7 @@ resource "decort_account" "a" {
#рекурсивное удаление пользователя из всех ресурсов аккаунтов
#необязательный параметр
#тип - булев тип
#тип - булев
#по-умолчанию - false
#применяется при удалении пользователя из аккаунта
recursive_delete = true
@@ -96,51 +96,51 @@ resource "decort_account" "a" {
resource_limits {
#кол-во используемых ядер cpu
#необязательный параметр
#тип - число
#если установлена -1 - кол-во неограиченно
#тип - целое число
#если установлена -1 - кол-во неограничено
cu_c = 2
#кол-во используемой RAM в МБ
#необязательный параметр
#тип - число
#если установлена -1 - кол-во неограиченно
#тип - целое число
#если установлена -1 - кол-во неограничено
cu_m = 1024
#размер дисков, в ГБ
#необязательный параметр
#тип - число
#если установлена -1 - размер неограичен
#тип - целое число
#если установлена -1 - размер неограничено
cu_d = 23
#кол-во используемых публичных IP
#необязательный параметр
#тип - число
#если установлена -1 - кол-во неограиченно
#тип - целое число
#если установлена -1 - кол-во неограничено
cu_i = 2
#ограничения на кол-во передачи данных, в ГБ
#необязательный параметр
#тип - число
#если установлена -1 - кол-во неограиченно
#тип - целое число
#если установлена -1 - кол-во неограничено
cu_np = 2
#кол-во графических процессоров
#необязательный параметр
#тип - число
#если установлена -1 - кол-во неограиченно
#тип - целое число
#если установлена -1 - кол-во неограничено
gpu_units = 2
}
#восстановление аккаунта
#необязательный параметр
#тип - булев тип
#тип - булев
#применяется к удаленным аккаунтам
#по-умолчанию - false
#restore = false
#мгновеное удаление аккаунта, если да - то аккаунт невозможно будет восстановить
#необязательный параметр
#тип - булев тип
#тип - булев
#используется при удалении аккаунта
#по-умолчанию - false
#permanently = true

View File

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

View File

@@ -2,6 +2,7 @@
Пример использования
Получение списка удаленных basic service
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -9,8 +10,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -28,25 +29,31 @@ provider "decort" {
data "decort_bservice_deleted_list" "bsdl" {
#id аккаунта для фильтрации данных
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#account_id = 11111
#id ресурсной группы, используется для фильтрации
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#rg_id = 11111
#rg_id = 11111
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 2
#размер страницы
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 3

View File

@@ -1,8 +1,8 @@
/*
Пример использования
Получение информации о вычислительной группе, принадлежащей basic service
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_bservice_group" "bsg" {
#id сервиса
#обязательный параметр
#тип - число
#тип - целое число
service_id = 11111
#id вычислительной группы
#обязательный параметр
#тип - число
#тип - целое число
compgroup_id = 12121
}

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_bservice_list" "bsl" {
#фильтр по id базового сервиса
#опциональный параметр
#тип - число
#тип - целое число
#by_id = 100
#фильтр по имени базового сервиса
@@ -39,7 +39,7 @@ data "decort_bservice_list" "bsl" {
#id аккаунта для фильтрации данных
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#account_id = 11111
@@ -50,7 +50,7 @@ data "decort_bservice_list" "bsl" {
#id ресурсной группы, используется для фильтрации
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#rg_id = 11111
@@ -69,15 +69,21 @@ data "decort_bservice_list" "bsl" {
#тип - строка
#account_name = "test"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 2
#размер страницы
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 3
}

View File

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

View File

@@ -8,8 +8,8 @@
4. Создавать снимки состояний basic service
5. Совершать восстановление по снимкам состояний
6. Удалять снимки состояний
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -17,8 +17,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -41,12 +41,12 @@ resource "decort_bservice" "b" {
#id ресурсной группы
#обязательный параметр
#тип - число
#тип - целое число
rg_id = 11111
#доступность сервиса
#необязательный параметр
#тип - булев тип
#тип - булев
#используется при редактировании ресурса
#по-умолачанию - false
#enable = true
@@ -65,7 +65,7 @@ resource "decort_bservice" "b" {
#восстановление сервиса из снимка состояния
#необязательный параметр
#тип - булев тип
#тип - булев
#по-умолчанию - false
#восстановление происходит только при переключении с false на true
rollback = false
@@ -74,32 +74,31 @@ resource "decort_bservice" "b" {
#старт сервиса
#необязательный параметр
#тип - булев тип
#тип - булев
#используется при редактировании ресурса
#по-умолачанию - false
#start = false
#восстановление сервиса после удаления
#необязательный параметр
#тип - булев тип
#тип - булев
#используется при редактировании ресурса
#по-умолачанию - false
#restore = true
#мгновенное удаление сервиса без права восстановления
#необязательный параметр
#тип - булев тип
#тип - булев
#используется при удалении ресурса
#по-умолачанию - false
#permanently = true
#id сервиса, позволяет сформировать .tfstate, если сервис есть в платформе
#необязательный параметр
#тип - булев тип
#тип - булев
#используется при создании ресурса
#service_id = 11111
}
output "test" {

View File

@@ -6,6 +6,7 @@
2. Редактировать группы
3. Удалять группы
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -13,8 +14,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -32,7 +33,7 @@ provider "decort" {
resource "decort_bservice_group" "bsg" {
#id basic service
#обязательный параметр
#тип - число
#тип - целое число
service_id = 444444
#название группы
@@ -42,37 +43,37 @@ resource "decort_bservice_group" "bsg" {
#id группы
#необязательный параметр
#тип - число
#тип - целое число
#применяется при редактировании группы, либо при создании .tfstate - файла, если группа имеется в плафторме
compgroup_id = 33333
#кол-во вычислительных ресурсов
#обязательный параметр
#тип - число
#тип - целое число
#используется так же для редактирования группы
comp_count = 1
#кол-во ядер на выч. ресурс
#обязательный параметр
#тип - число
#тип - целое число
#используется так же для редактирования группы
cpu = 2
#кол-во оперативной памяти на выч. ресурс, в МБ
#обязательный параметр
#тип - число
#тип - целое число
#используется так же для редактирования группы
ram = 256
#размер диска для выч. ресурса, в ГБ
#обязательный параметр
#тип - число
#тип - целое число
#используется так же для редактирования группы
disk = 11
#id образа диска
#обязательный параметр
#тип - число
#тип - целое число
image_id = 2222
#драйвер
@@ -82,7 +83,7 @@ resource "decort_bservice_group" "bsg" {
#id Storage endpoint provider
#необязательный параметр
#тип - число
#тип - целое число
sep_id = 3
#Наименование SEPPool используется если установлен sepId, также может быть пустым
@@ -98,57 +99,57 @@ resource "decort_bservice_group" "bsg" {
#id сетей extnet
#необязательный параметр
#тип - массив чисел
#тип - массив целых чисел
#должен быть использован vins или extnets
extnets = [1111, 2222]
#id сетей vinses
#необязательный параметр
#тип - массив чисел
#тип - массив целых чисел
#должен быть использован vins или extnets
vinses = [1111, 2222]
#время таймуата перед стартом
#необязательный параметр
#тип - число
#тип - целое число
#используется при создании ресурса
timeout_start = 0
#Перечень аргументов для cloud-init создаваемым группам узлов Worker
#необязательный параметр
#тип - файл
#тип - файл в формате YAML
cloud_init = file("initconfig.tftpl")
#id групп родителей
#необязательный параметр
#тип - массив чисел
#тип - массив целых чисел
#используется при редактировании ресурса
#parents = []
#parents = [2222]
#принудительное обновление параметров выч. мощностей (ram,disk,cpu) и имени группы
#необязательный параметр
#тип - булев тип
#тип - булев
#используется при редактировании ресурса
#по-умолчанию - false
#force_update = true
#старт/стоп вычислительных мощностей
#необязательный параметр
#тип - булев тип
#тип - булев
#используется при редактировании ресурса
#по-умолчанию - false
#start = false
#принудительная остановка вычислительных мощностей
#необязательный параметр
#тип - булев тип
#тип - булев
#используется при редактировании и остановке группы
#по-умолчанию - false
#force_stop = false
#удаление вычислительных мощностей
#необязательный параметр
#тип - массив чисел
#тип - массив целых чисел
#используется при редактировании
#remove_computes = [32287]

View File

@@ -1,32 +0,0 @@
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_k8s_computes" "computes" {
# ID кластера
# Обязательный параметр
k8s_id = 999
}
output "computes_out" {
value = data.decort_k8s_computes.computes
}

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_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_rg_list_vins.list_vins
}

View File

@@ -1,45 +0,0 @@
/*
Пример использования
Ресурса vins static routes
Ресурс позволяет:
1. Создавать static routes
2. Удалять static routes
3. Получать информацию о всех static routes в данном Vins
4. Предоставлять доступ виртуальным машинам к static routes
5. Удалять доступ виртуальным машинам к static routes
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_vins_static_route_list" "list" {
#обязательный параметр
#id vins в котором добавлены routes
#тип - число
vins_id = 1111
}
output "list" {
value = data.decort_vins_static_route_list.list
}

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"
@@ -26,8 +27,10 @@ provider "decort" {
}
data "decort_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_disk_list" "dl" {
#фильтр по id диска
#опциональный параметр
#тип - число
#тип - целое число
#by_id = 100
#фильтр по имени диска
@@ -44,7 +44,7 @@ data "decort_disk_list" "dl" {
#фильтр по максимальному размеру диска
#опциональный параметр
#тип - число
#тип - целое число
#disk_max_size = 100
#фильтр по статусу
@@ -54,23 +54,23 @@ data "decort_disk_list" "dl" {
#фильтр по доступности иным пользователям
#опциональный параметр
#тип - булев тип
#тип - булев
#shared = "false"
#id аккаунта для получения списка дисков
#опциональный параметр
#тип - число
#тип - целое число
#account_id = 11111
#тип диска
#опциональный параметр
#тип - строка
#возможные типы: "b" - boot_disk, "d" - data_disk
#type = "d"
#возможные типы: "B" - boot_disk, "D" - data_disk
#type = "D"
#id SEP для получения списка дисков
#опциональный параметр
#тип - число
#тип - целое число
#sep_id = 11111
#фильтр по имени pool
@@ -78,14 +78,20 @@ data "decort_disk_list" "dl" {
#тип - строка
#pool_name = "test"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#кол-во страниц для вывода
#опицональный параметр
#тип - число
#опциональный параметр
#тип - целое число
#page = 1
#размер страницы
#опицональный параметр
#тип - число
#опциональный параметр
#тип - целое число
#size = 1
}

View File

@@ -2,6 +2,7 @@
Пример использования
Получение списка дисков со статусом DELETED
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -9,8 +10,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -29,7 +30,7 @@ provider "decort" {
data "decort_disk_list_deleted" "dld" {
#фильтр по id диска
#опциональный параметр
#тип - число
#тип - целое число
#by_id = 100
#фильтр по имени диска
@@ -44,17 +45,17 @@ data "decort_disk_list_deleted" "dld" {
#фильтр по максимальному размеру диска
#опциональный параметр
#тип - число
#тип - целое число
#disk_max_size = 100
#фильтр по доступности иным пользователям
#опциональный параметр
#тип - булев тип
#тип - булев
#shared = "false"
#id аккаунта для получения списка дисков
#опциональный параметр
#тип - число
#тип - целое число
#account_id = 11111
#тип диска
@@ -63,14 +64,20 @@ data "decort_disk_list_deleted" "dld" {
#возможные типы: "b" - boot_disk, "d" - data_disk
#type = "d"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#кол-во страниц для вывода
#опицональный параметр
#тип - число
#опциональный параметр
#тип - целое число
#page = 1
#размер страницы
#опицональный параметр
#тип - число
#опциональный параметр
#тип - целое число
#size = 1
}

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>
@@ -27,15 +27,21 @@ provider "decort" {
}
data "decort_disk_list_types" "dlt" {
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 2
#размер страницы
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 3
}

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>
@@ -28,15 +28,21 @@ provider "decort" {
data "decort_disk_list_types_detailed" "dltd" {
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 2
#размер страницы
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 3
}

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>"
}
}
}
@@ -30,7 +31,7 @@ provider "decort" {
data "decort_disk_list_unattached" "dlu" {
#фильтр по id диска
#опциональный параметр
#тип - число
#тип - целое число
#by_id = 100
#фильтр по имени аккаунта
@@ -40,7 +41,7 @@ data "decort_disk_list_unattached" "dlu" {
#фильтр по максимальному размеру диска
#опциональный параметр
#тип - число
#тип - целое число
#disk_max_size = 100
#фильтр по статусу
@@ -56,12 +57,12 @@ data "decort_disk_list_unattached" "dlu" {
#фильтр по id аккаунта
#опциональный параметр
#тип - число
#тип - целое число
#account_id = 100
#фильтр по id sep
#опциональный параметр
#тип - число
#тип - целое число
#sep_id = 1
#фильтр по имени pool
@@ -69,15 +70,21 @@ data "decort_disk_list_unattached" "dlu" {
#тип - строка
#pool_name = "test"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 2
#размер страницы
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 3
}

View File

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

View File

@@ -2,6 +2,7 @@
Пример использования
Получение конкретного снапшота
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -16,7 +17,6 @@ terraform {
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
@@ -26,11 +26,10 @@ provider "decort" {
allow_unverified_ssl = true
}
data "decort_disk_snapshot" "ds" {
#Номер диска
#обязательный параметр
#тип - число
#тип - целое число
disk_id = 20100
#Ярлык диска

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,11 +26,10 @@ provider "decort" {
allow_unverified_ssl = true
}
data "decort_disk_snapshot_list" "ds" {
#Номер диска
#обязательный параметр
#тип - число
#тип - целое число
disk_id = 20100
}

View File

@@ -0,0 +1,74 @@
/*
Пример использования
Получение информации об уже существующем диске.
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_disk" "acl" {
#id владельца диска
#обязательный параметр
#тип - целое число
account_id = 88366
#имя диска
#обязательный параметр
#тип - строка
disk_name = "super-disk-re"
#размер диска в гигабайтах
#обязательный параметр
#тип - целое число
size_max = 20
#id платформы
#обязательный параметр
#тип - целое число
gid = 212
#флаг для отключения диска от ВМ при удалении
#опциональный параметр
#тип - булев
detach = false
#флаг для удаления реплики диска безвозвратно
#опциональный параметр
#тип - булев
permanently = false
#описание причины удаления
#опциональный параметр
#тип - строка
reason = "some"
#Флаг, отвечающий за доступность диска дургим ресурсам
#опциональный параметр
#тип - строка
shareable = false
}
output "test" {
value = decort_disk.acl
}

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_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_disk_replication.dr
}

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"
@@ -26,19 +27,19 @@ provider "decort" {
}
resource "decort_disk_snapshot" "ds" {
#Номер диска
#номер диска
#обязательный параметр
#тип - число
#тип - целое число
disk_id = 20100
#Ярлык диска
#ярлык диска
#обязательный параметр
#тип - строка
label = "label"
#флаг rollback
#опциональный параметр
#тип - bool
#тип - булев
rollback = false
}

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_extnet" "e" {
#идентификатор сети
#обязательный параметр
#тип - число
#тип - целое число
net_id = 1111
}

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,30 +29,34 @@ provider "decort" {
data "decort_extnet_computes_list" "ecl" {
#идентификатор аккаунта
#обязательный параметр
#тип - число
#тип - целое число
account_id = 1111
#фильтр по id ресурсной группы
#опциональный параметр
#тип - число
#тип - целое число
#rg_id = 11111
#фильтр по id виртуальной машины
#опциональный параметр
#тип - число
#тип - целое число
#compute_id = 11111
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#кол-во страниц для вывода
#опицональный параметр
#тип - число
#опциональный параметр
#тип - целое число
#page = 1
#размер страницы
#опицональный параметр
#тип - число
#опциональный параметр
#тип - целое число
#size = 1
}
output "test" {

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,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_extnet_list" "el" {
#id аккаунта для фильтрации результата
#необязательный параметр
#тип - число
#тип - целое число
#account_id = 1111111
#фильтр по id внешней сети
#опциональный параметр
#тип - число
#тип - целое число
#by_id = 100
#фильтр по имени внешней сети
@@ -49,12 +49,12 @@ data "decort_extnet_list" "el" {
#фильтр по id vlan
#опциональный параметр
#тип - число
#тип - целое число
#vlan_id = 100
#фильтр по id vnfDevices
#опциональный параметр
#тип - число
#тип - целое число
#vnfdev_id = 100
#фильтр по статусу
@@ -62,14 +62,20 @@ data "decort_extnet_list" "el" {
#тип - строка
#status = "ENABLED"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#кол-во страниц для вывода
#опицональный параметр
#тип - число
#опциональный параметр
#тип - целое число
#page = 1
#размер страницы
#опицональный параметр
#тип - число
#опциональный параметр
#тип - целое число
#size = 1
}

View File

@@ -1,3 +1,8 @@
/*
Пример использования
Получение группы виртуальных машин по id
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -22,9 +27,9 @@ provider "decort" {
}
data "decort_flipgroup" "fg" {
# ID флипгруппы
# Обязательный параметр
# int
#id флипгруппы
#обязательный параметр
#тип - целое число
flipgroup_id = 999
}

View File

@@ -1,3 +1,8 @@
/*
Пример использования
Получение группы виртуальных машин, доступных текущему пользователю
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -24,7 +29,7 @@ provider "decort" {
data "decort_flipgroup_list" "fg" {
#фильтр по id flipgroup
#опциональный параметр
#тип - число
#тип - целое число
#by_id = 100
#фильтр по имени flipgroup
@@ -34,7 +39,7 @@ data "decort_flipgroup_list" "fg" {
#фильтр по id vins
#опциональный параметр
#тип - число
#тип - целое число
#vins_id = 100
#фильтр по имени vins
@@ -44,7 +49,7 @@ data "decort_flipgroup_list" "fg" {
#фильтр по id extnet
#опциональный параметр
#тип - число
#тип - целое число
#extnet_id = 100
#фильтр по IP
@@ -54,21 +59,47 @@ data "decort_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,76 @@
/*
Управления плавающими группами (флипгруппами).
Ресурс позволяет:
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_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"
#список клиентов, прикрепленных к флипгруппе
#опциональный параметр
#тип - массив целых чисел
client_ids = [11269]
#описание флипгруппы
#опциональный параметр
#тип - строка
desc = "CHANGED"
}
output "fg_out" {
value = decort_flipgroup.fg
}

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,10 +29,10 @@ provider "decort" {
data "decort_image" "image" {
#id образа
#обязательный параметр
#тип - число
#тип - целое число
image_id = 111
#позывать ли информацию об удаленном образе
#показывать ли информацию об удаленном образе
#опциональный параметр
#тип - булево значение
#по умолчанию - false

View File

@@ -2,18 +2,20 @@
Пример использования
Получение списка доступных образов
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
@@ -28,12 +30,12 @@ provider "decort" {
data "decort_image_list" "il" {
#фильтр по id sep
#опциональный параметр
#тип - число
#тип - целое число
#sep_id = 1
#фильтр по id образа
#опциональный параметр
#тип - число
#тип - целое число
#by_id = 100
#фильтр по имени образа
@@ -58,7 +60,7 @@ data "decort_image_list" "il" {
#фильтр по размеру образа
#опциональный параметр
#тип - число
#тип - целое число
#image_size = 100
#фильтр по имени SEP
@@ -86,15 +88,21 @@ data "decort_image_list" "il" {
#тип - булевый тип
#bootable = "true"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 2
#размер страницы
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 3
}

View File

@@ -0,0 +1,115 @@
/*
Пример использования
Работа с образом
Ресурс позволяет:
1. Управлять образом
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_image" "img" {
#наименование образа
#обязательный параметр
#тип - строка
name = "image_name"
#драйверы компьютов, подходящие для данного образа
#обязательный параметр
#тип - массив строк
drivers = ["KVM_X86"]
#тип образа (linux, windows и др.)
#обязательный параметр
#тип - строка
type = "linux"
#прямая ссылка на образ
#обязательный параметр
#тип - строка
url = "https://dl-cdn.alpinelinux.org/alpine/v3.17/releases/x86_64/alpine-virt-3.17.3-x86_64.iso"
#тип загрузчика (bios/uefi)
#обязательный параметр
#тип - строка
boot_type = "bios"
#id аккаунта
#обязательный параметр
#тип - целое число
account_id = 138
#поддержка hot resize
#опциональный параметр
#тип - булев
hot_resize = true
#юзернейм для образа
#опциональный параметр
#тип - целое число
username = "userx"
#пароль для образа
#опциональный параметр
#тип - строка
password = "passx"
#юзернейм для загрузки binary media
#опциональный параметр
#тип - строка
username_dl = "userxdl"
#пароль для загрузки binary media
#опциональный параметр
#тип - строка
password_dl = "passxdl"
#storage endpoint provider ID
#опциональный параметр
#тип - целое число
sep_id = 1
#pool для образа
#опциональный параметр
#тип - строка
pool_name = "pool"
#архитектура образа (X86_64 / PPC64_LE)
#опциональный параметр
#тип - строка
architecture = "PPC64_LE"
#флаг окончательного удаления
#опциональный параметр
#тип - булев
permanently = true
#наименование сетевого интерфейса для вашего компьютера с Linux, eth - встроенный, ens - pci слот
#опциональный параметр
#тип - строка
network_interface_naming = "ens"
}
output "img_out" {
value = decort_image.img
}

View File

@@ -0,0 +1,107 @@
/*
Ресурс образа из компьюта, созданного как 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_image_from_blank_compute" "img" {
#id виртуальной машины, созданной как blank
#обязательный параметр
#используется для создания образа
#тип - целое число
compute_id = 1234
#наименование образа
#обязательный параметр
#используется для создания и обновления образа
#тип - строка
name = "image_name"
#тип загрузчика (bios/uefi)
#обязательный параметр
#используется для создания образа
#тип - строка
boot_type = "bios"
#тип образа (linux, windows и др.)
#обязательный параметр
#используется для создания образа
#тип - строка
type = "linux"
#юзернейм для образа
#опциональный параметр
#используется для создания образа
#тип - строка
#username = "userx"
#пароль для образа
#опциональный параметр
#используется для создания образа
#тип - строка
#password = "passx"
#id аккаунта
#опциональный параметр
#используется для создания образа
#тип - целое число
#account_id = 138
#storage endpoint provider ID
#опциональный параметр
#используется для создания образа
#тип - целое число
#sep_id = 1
#pool для образа
#опциональный параметр
#используется для создания образа
#тип - строка
#pool_name = "pool"
#поддержка hot resize
#опциональный параметр
#используется для создания образа
#тип - булев
#hot_resize = true
#флаг для создания образа в асинхронном режиме
#опциональный параметр
#дефолтное значение - false
#тип - булев
#async_mode = true
#флаг окончательного удаления
#опциональный параметр
#тип - булев
#permanently = true
}
output "img_out" {
value = decort_image_from_blank_compute.img
}

View File

@@ -0,0 +1,127 @@
/*
Ресурс образа из платформенного диска позволяет:
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_image_from_platform_disk" "img" {
#id диска
#используется для создания образа
#обязательный параметр
#тип - целое число
disk_id = 1234
#наименование образа
#используется для создания и обновления образа
#обязательный параметр
#тип - строка
name = "image_name"
#тип загрузчика
#используется для создания образа
#обязательный параметр
#возможные значения - bios, uefi
#тип - строка
boot_type = "bios"
#тип образа (linux, windows и др.)
#используется для создания образа
#обязательный параметр
#тип - строка
type = "linux"
#архитектура образа
#используется для создания образа
#обязательный параметр
#возможные значения - X86_64, PPC64_LE
#тип - строка
architecture = "X86_64"
#имя пользователя для образа
#используется для создания образа
#опциональный параметр
#тип - строка
#username = "userx"
#пароль для образа
#используется для создания образа
#опциональный параметр
#тип - строка
#password = "passx"
#id аккаунта
#используется для создания образа
#опциональный параметр
#тип - целое число
#account_id = 138
#id сепа для образа
#используется для создания образа
#опциональный параметр
#тип - целое число
#sep_id = 1
#pool для образа
#используется для создания образа
#опциональный параметр
#тип - строка
#pool_name = "pool"
#драйверы компьютов, подходящие для данного образа
#используется для создания образа
#опциональный параметр
#тип - массив строк
#drivers = ["KVM_X86"]
#поддержка hot resize
#используется для создания образа
#опциональный параметр
#тип - булев
#hot_resize = true
#флаг загрузочного образа
#используется для создания образа
#опциональный параметр
#по умолчанию - true
#тип - булев
#bootable = true
#флаг для создания образа в асинхронном режиме
#опциональный параметр
#по умолчанию - false
#тип - булев
#async_mode = true
#флаг окончательного удаления
#опциональный параметр
#тип - булев
#permanently = true
}
output "img_out" {
value = decort_image_from_platform_disk.img
}

View File

@@ -1,11 +1,10 @@
/*
Пример использования
Ресурса image virtual
Управления виртуальным образом
Ресурс позволяет:
1. Создавать image virtual
2. Изменять image virtual
2. Удалять image virtual
3. Переименовывать image virtual
4. Привязывать image virtual к другому образу
*/
#Расскомментируйте этот код,
@@ -15,8 +14,8 @@
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -41,12 +40,12 @@ resource "decort_image_virtual" "iv" {
#ID реального образа, на который будет ссылаться виртуальный
#обязательный параметр
#при изменении - ссылается на другой реальный образ
#тип - число
#тип - целое число
link_to = 123
#Флаг для удаления диска
#опциональный параметр
#тип - bool
#тип - булев
permanently = false
}

View File

@@ -2,19 +2,20 @@
Пример использования
Получение информации о k8ci
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
@@ -26,49 +27,55 @@ provider "decort" {
}
data "decort_k8ci_list" "k8ci_list" {
#Поиск по ID
#поиск по ID
#опциональный параметр
#тип - число
#тип - целое число
by_id = 12
#Поиск по наименованию
#поиск по наименованию
#опциональный параметр
#тип - строка
name = "name"
#Поиск по статус
#поиск по статус
#опциональный параметр
#тип - строка
status = "status"
#Поиск по worker драйверу
#поиск по worker драйверу
#опциональный параметр
#тип - строка
worker_driver = "wdriver"
#Поиск по master драйверу
#поиск по master драйверу
#опциональный параметр
#тип - строка
master_driver = "wdriver"
#Поиск по network плагину
#поиск по network плагину
#опциональный параметр
#тип - строка
network_plugin = "flannel"
#Показать выключенные K8CI
#показать выключенные K8CI
#опциональный параметр
#тип - bool
#тип - булев
include_disabled = true
#Номер страницы
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - число
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
sort_by = "+name"
#номер страницы
#опциональный параметр
#тип - целое число
page = 1
#Размер страницы
#размер страницы
#опциональный параметр
#тип - число
#тип - целое число
size = 5
}

View File

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

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_k8s_computes" "computes" {
#id кластера
#обязательный параметр
#тип - целое число
k8s_id = 999
}
output "computes_out" {
value = data.decort_k8s_computes.computes
}

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_k8s_list" "k8s_list" {
#фильтр по id кластера
#опциональный параметр
#тип - число
#тип - целое число
#by_id = 100
#фильтр по имени кластера
@@ -43,17 +44,17 @@ data "decort_k8s_list" "k8s_list" {
#фильтр по id ресурсной группы
#опциональный параметр
#тип - число
#тип - целое число
#rg_id = 100
#фильтр по id балансировщика нагрузки
#опциональный параметр
#тип - число
#тип - целое число
#lb_id = 100
#фильтр по id ресурсной группы
#опциональный параметр
#тип - число
#тип - целое число
#bservice_id = 100
#фильтр по статусу
@@ -68,21 +69,27 @@ data "decort_k8s_list" "k8s_list" {
#включение удаленных k8s в результат
#опциональный параметр
#тип - будев тип
#тип - булев
#если не задан - выводятся все неудаленные данные
# includedeleted = true
#includedeleted = 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_k8s_list_deleted" "k8s_list_deleted" {
#фильтр по id кластера
#опциональный параметр
#тип - число
#тип - целое число
#by_id = 100
#фильтр по имени кластера
@@ -43,17 +44,17 @@ data "decort_k8s_list_deleted" "k8s_list_deleted" {
#фильтр по id ресурсной группы
#опциональный параметр
#тип - число
#тип - целое число
#rg_id = 100
#фильтр по id балансировщика нагрузки
#опциональный параметр
#тип - число
#тип - целое число
#lb_id = 100
#фильтр по id ресурсной группы
#опциональный параметр
#тип - число
#тип - целое число
#bservice_id = 100
#фильтр по техническому статусу
@@ -61,15 +62,21 @@ data "decort_k8s_list_deleted" "k8s_list_deleted" {
#тип - строка
#tech_status = "STOPPED"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 1
#размер страницы
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 1
}
@@ -77,4 +84,3 @@ data "decort_k8s_list_deleted" "k8s_list_deleted" {
output "output_k8s_list_deleted" {
value = data.decort_k8s_list_deleted.k8s_list_deleted
}

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_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,18 +29,15 @@ provider "decort" {
data "decort_k8s_wg_cloud_init" "wg_cloud_init" {
#id кластера
#обязательный параметр
#тип - число
#тип - целое число
k8s_id = 977
#id группы воркеров
#обязательный параметр
#тип - число
#тип - целое число
wg_id = 2110
}
output "wg_cloud_init" {
value = data.decort_k8s_wg_cloud_init.wg_cloud_init
}

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_k8s_wg_list" "k8s_wg_list" {
#id кластера
#обязательный параметр
#тип - число
#тип - целое число
k8s_id = 49304
}

View File

@@ -1,3 +1,11 @@
/*
Пример использования
Управление кластером
Ресурс позволяет:
1. Создавать кластер
2. Управлять кластером
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -18,26 +26,24 @@ 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_k8s" "cluster" {
#имя кластера
#обязательный параметр
#при изменении - обновдяет имя кластера
#при изменении - обновляет имя кластера
#тип - строка
name = "tftest"
#id resource group
#обязательный параметр
#тип - число
rg_id = 907
#тип - целое число
rg_id = 776
#id catalogue item
#обязательный параметр
#тип - число
#тип - целое число
k8sci_id = 9
#сетевой плагин
@@ -72,41 +78,41 @@ resource "decort_k8s" "cluster" {
#максимальное кол-во элементов - 1
#тип - список нод
masters {
#кол-во node
#кол-во node (1, 3 или 5)
#обязательный параметр
#тип - число
#тип - целое число
num = 1
#кол-во cpu
#обязательный параметр
#тип - число
#тип - целое число
cpu = 2
#кол-во RAM в Мбайтах
#обязательный параметр
#тип - число
#тип - целое число
ram = 2048
#размер диска в Гбайтах
#обязательный параметр
#тип - число
#тип - целое число
disk = 10
#идентификатор SEP для создания загрузочных дисков для master узлов
#опциональный параметр
#тип - число
#тип - целое число
sep_id = 3
#наименование MasterSEPPool используется если установлен master sepId, также может быть пустым
#опциональный параметр
#тип - строка
sep_pool = "data_01"
}
}
#настройка worker группы
#опциональный параметр
#Первая указанная воркер-группа должна соответствовать изначально созданной вместе с кластером.
# labels, annotations, taints для дефолтной worker группы указываются в корне ресурса при создании кластера.
#labels, annotations, taints для дефолтной worker группы указываются в корне ресурса при создании кластера.
workers {
#имя группы
#обязательный параметр
@@ -115,27 +121,27 @@ resource "decort_k8s" "cluster" {
#кол-во node
#обязательный параметр
#тип - число
#тип - целое число
num = 1
#кол-во cpu
#обязательный параметр
#тип - число
#тип - целое число
cpu = 2
#кол-во RAM в Мбайтах
#обязательный параметр
#тип - число
#тип - целое число
ram = 2048
#размер диска в Гбайтах
#обязательный параметр
#тип - число
#тип - целое число
disk = 10
#Идентификатор SEP
#опциональный параметр
#тип - число
#тип - целое число
sep_id = 1010
#Имя SEP pool'a
@@ -145,7 +151,7 @@ resource "decort_k8s" "cluster" {
}
#...Далее можно создавать произвольное кол-во дополнительных worker групп
# labels, annotations и taints для последующих групп указываются непосредственно в блоке workers
#labels, annotations и taints для последующих групп указываются непосредственно в блоке workers
workers {
#наименование worker группы
#обязательный параметр
@@ -154,81 +160,81 @@ resource "decort_k8s" "cluster" {
#кол-во node
#обязательный параметр
#тип - число
#тип - целое число
num = 2
#кол-во cpu
#обязательный параметр
#тип - число
#тип - целое число
cpu = 2
#кол-во RAM в Мбайтах
#обязательный параметр
#тип - число
#тип - целое число
ram = 4096
#размер диска в Гбайтах
#обязательный параметр
#тип - число
#тип - целое число
disk = 10
#Идентификатор SEP
#идентификатор SEP
#опциональный параметр
#тип - число
#тип - целое число
sep_id = 1010
#Имя SEP pool'a
#имя SEP pool'a
#опциональный параметр
#тип - строка
sep_pool = "data01"
#Список лейблов
#список лейблов
#опциональный параметр
#тип - массив строк
labels = ["label1=value1", "label2=value2"]
#Список аннотаций
#список аннотаций
#опциональный параметр
#тип - массив строк
annotations = ["key1=value1", "key2=value2"]
#Список taints
#список taints
#опциональный параметр
#тип - массив строк
taints = ["key1=value1:NoSchedule", "key2=value2:NoExecute"]
}
# id extnet
#id extnet
#опциональный параметр
#тип - число
#тип - целое число
extnet_id = 0
# id vins
# опциональный параметр
# тип - число
#id vins
#опциональный параметр
#тип - целое число
vins_id = 1234
# создать Kubernetes cluster с masters nodes с подключенным LB
# опциональный параметр
# тип - булев тип
#создать Kubernetes cluster с masters nodes с подключенным LB
#опциональный параметр
#тип - булев
with_lb = true
# пользовательские значения sysctl для LB
# опциональный параметр
# тип - строка
lb_sysctl_params = "some"
# тип - список мап
lb_sysctl_params = [{ text = "1", text = "some" }]
# позволяет создать схему отказоустройчивой 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"]
additional_sans = ["192.168.201.0", "192.168.201.1"]
# используется для определения настроек и действий, которые должны быть выполнены перед запуском любого другого компонента в кластере
# это позволяет вам настраивать такие вещи, как регистрация node, настройка network и другие задачи инициализации
@@ -267,37 +273,31 @@ resource "decort_k8s" "cluster" {
# перечень аргументов для cloud-init создаваемым группам узлов Worker
# необязательный параметр
# тип - файл
# тип - файл с форматом в виде yaml
cloud_init = file("initconfig.tftpl")
# при создании кластре использовать подключение только к сети ExtNet
# опциональный параметр
# тип - булев тип
# тип - булев
extnet_only = true
# добавить ssl-сертификат в формате x509 pem
# необязательный параметр
# тип - файл
# тип - файл с форматом в виде x509 pem
oidc_cert = file("ca.crt")
# запуск,остановка кластера
# опциональный параметр
# тип - булев тип
# тип - булев
start = true
# команда destroy удаляет кластер без возможности восстановления
# опциональный параметр
# тип - булев тип
# тип - булев
permanently = true
}
output "test_cluster" {
value = decort_k8s.cluster
}
/*
output "kubeconfig"{
value = decort_k8s.cluster.kubeconfig
}
*/

View File

@@ -0,0 +1,176 @@
/*
Пример использования
Управление control plane кластера k8s
Ресурс позволяет:
1. Создать кластер
2. Удалить кластер
3. Настроить мастер-узел
4. Изменить кол-во ВМ в мастер-узле
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_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
#storage Endpoint ID
#опциональный параметр
#тип - целое число
sep_id = 0
#SEP Pool
#опциональный параметр
#тип - строка
sep_pool = "pool"
#старт/стоп кластера
#опциональный параметр
#тип - булев
start = 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
#необязательный параметр
#тип - файл с форматом в виде x509 pem
oidc_cert = file("ca.crt")
#пользовательские значения sysctl для LB
#опциональный параметр
#тип - список мап
lb_sysctl_params = [{text = "1", text = "some"}]
#команда destroy удаляет кластер без возможности восстановления
#опциональный параметр
#тип - булев
permanently = true
}
output "cp_out" {
value = decort_k8s_cp.cp
}

View File

@@ -1,8 +1,13 @@
/*
Пример использования
Управления worker groups (рабочики группами, wg) кластера
Ресурс позволяет:
1. Создавать wg
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
@@ -20,8 +25,6 @@ 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
}
@@ -29,7 +32,7 @@ provider "decort" {
resource "decort_k8s_wg" "wg" {
#id экземпляра k8s
#обязательный параметр
#тип - число
#тип - целое число
k8s_id = 1234
#имя worker group
@@ -39,34 +42,35 @@ resource "decort_k8s_wg" "wg" {
#количество worker node для создания
#опциональный параметр
#тип - число
#тип - целое число
#по - умолчанию - 1
num = 2
#количество cpu для 1 worker node
#опциональный параметр
#тип - число
#тип - целое число
#по - умолчанию - 1
cpu = 1
#количество RAM для одной worker node в Мбайтах
#опциональный параметр
#тип - число
#тип - целое число
#по-умолчанию - 1024
ram = 1024
#размер загрузочного диска для worker node, в Гбайтах
#опциональный параметр
#тип - число
#тип - целое число
#по - умолчанию - 0
#если установлен параметр 0, то размер диска будет равен размеру образа
disk = 10
#Перечень аргументов для cloud-init для виртуальных машин worker групп
#опциональный параметр
#тип - файл
#тип - файл с форматом в виде yaml
#используется при создании и обновлении ресурса
cloud_init = file("initconfig.tftpl")
}

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,10 +28,9 @@ provider "decort" {
data "decort_kvmvm" "comp" {
#получение информации по идентификатору машины - compute_id
# id виртуальной машины
# обязательный параметр
# тип - число
#id виртуальной машины
#обязательный параметр
#тип - целое число
compute_id = 11346
}

View File

@@ -2,6 +2,7 @@
Пример использования
Получение данных об аудитах compute (виртуальной машине)
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -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,7 +29,7 @@ provider "decort" {
data "decort_kvmvm_audits" "kvmvm_audits" {
#id виртуальной машины
#обязательный параметр
#тип - число
#тип - целое число
compute_id = 10154
}

View File

@@ -2,6 +2,7 @@
Пример использования
Получение данных об аудитах compute (виртуальной машине)
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -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,7 +29,7 @@ provider "decort" {
data "decort_kvmvm_get_audits" "kvmvm_get_audits" {
#id виртуальной машины
#обязательный параметр
#тип - число
#тип - целое число
compute_id = 10154
}

View File

@@ -2,6 +2,7 @@
Пример использования
Получение url compute (виртуальной машины)
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -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,7 +29,7 @@ provider "decort" {
data "decort_kvmvm_get_console_url" "kvmvm_get_console_url" {
#id виртуальной машины
#обязательный параметр
#тип - число
#тип - целое число
compute_id = 10154
}

View File

@@ -2,6 +2,7 @@
Пример использования
Получение логов compute (виртуальной машины)
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -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,7 +29,7 @@ provider "decort" {
data "decort_kvmvm_get_log" "kvmvm_get_log" {
#id виртуальной машины
#обязательный параметр
#тип - число
#тип - целое число
compute_id = 10154
#путь до log файла

View File

@@ -2,6 +2,7 @@
Пример использования
Получение данных об списке compute (виртуальных машин)
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -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,7 +29,7 @@ provider "decort" {
data "decort_kvmvm_list" "compute_list" {
#фильтр по id ВМ
#опциональный параметр
#тип - число
#тип - целое число
#by_id = 100
#фильтр по имени ВМ
@@ -37,7 +39,7 @@ data "decort_kvmvm_list" "compute_list" {
#id аккаунта для получения списка ВМ
#опциональный параметр
#тип - число
#тип - целое число
#account_id = 11111
#фильтр по имени ресурсной группы
@@ -47,7 +49,7 @@ data "decort_kvmvm_list" "compute_list" {
#фильтр по id ресурсной группы
#опциональный параметр
#тип - число
#тип - целое число
#rg_id = 100
#фильтр по техническому статусу
@@ -72,32 +74,34 @@ data "decort_kvmvm_list" "compute_list" {
#фильтр по id extnet
#опциональный параметр
#тип - число
#тип - целое число
#extnet_id = 100
#флаг влючения в результат удаленных балансироващиков нагрузки
#опциональный параметр
#тип - булев тип
#тип - булев
#значение по-умолчанию - false
#если не задан - выводятся все доступные неудаленные балансировщики
#includedeleted = true
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 1
#размер страницы
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 1
#Включить в список вывода ВМ, принадлежащие k8s кластерам (при значении параметра true)
#опциональный параметр
#bool (default = false)
#ignore_k8s = true
}
output "output" {

View File

@@ -2,6 +2,7 @@
Пример использования
Получение данных о списке удаленных compute (виртуальных машин)
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -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,7 +29,7 @@ provider "decort" {
data "decort_kvmvm_list_deleted" "compute_list" {
#фильтр по id виртуальной машины
#опциональный параметр
#тип - число
#тип - целое число
#by_id = 100
#фильтр по имени виртуальной машины
@@ -37,7 +39,7 @@ data "decort_kvmvm_list_deleted" "compute_list" {
#фильтр по id аккаунта
#опциональный параметр
#тип - число
#тип - целое число
#account_id = 100
#фильтр по имени ресурсной группы
@@ -47,7 +49,7 @@ data "decort_kvmvm_list_deleted" "compute_list" {
#фильтр по id ресурсной группы
#опциональный параметр
#тип - число
#тип - целое число
#rg_id = 100
#фильтр по техническому статусу
@@ -67,18 +69,24 @@ data "decort_kvmvm_list_deleted" "compute_list" {
#фильтр по id extNet
#опциональный параметр
#тип - число
#тип - целое число
#extnet_id = 100
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 1
#размер страницы
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 1
}

View File

@@ -2,6 +2,7 @@
Пример использования
Получение данных о списке подключенных устройств (PCI)
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -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,17 +29,17 @@ provider "decort" {
data "decort_kvmvm_pci_device_list" "pci_device_list" {
#id виртуальной машины
#обязательный параметр
#тип - число
#тип - целое число
compute_id = 100
#фильтр по id ресурсной группы
#опциональный параметр
#тип - число
#тип - целое число
#rg_id = 100
#фильтр по id устройства
#опциональный параметр
#тип - число
#тип - целое число
#device_id = 100
#фильтр по имени устройства
@@ -50,15 +52,21 @@ data "decort_kvmvm_pci_device_list" "pci_device_list" {
#тип - строка
#status = "ENABLED"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 1
#размер страницы
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 1
}

View File

@@ -2,6 +2,7 @@
Пример использования
Получение данных об списке port forwarding compute (виртуальных машин)
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -15,6 +16,7 @@ terraform {
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
@@ -27,7 +29,7 @@ provider "decort" {
data "decort_kvmvm_pfw_list" "kvmvm_pfw_list" {
#id виртуальной машины
#обязательный параметр
#тип - число
#тип - целое число
compute_id = 10524
}

View File

@@ -0,0 +1,43 @@
/*
Пример использования
Получение информации об использовании снапшотов
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_kvmvm_snapshot_usage" "snapshot_usage" {
#id виртуальной машины
#обязательный параметр
#тип - целое число
compute_id = 10154
#название снапшота
#опциональный параметр
#тип - строка
label = "label 1"
}
output "output" {
value = data.decort_kvmvm_snapshot_usage.snapshot_usage
}

View File

@@ -2,6 +2,7 @@
Пример использования
Получение данных об юзерах compute (виртуальной машины)
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
@@ -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,7 +29,7 @@ provider "decort" {
data "decort_kvmvm_user_list" "kvmvm_user_list" {
#id виртуальной машины
#обязательный параметр
#тип - число
#тип - целое число
compute_id = 10154
}

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>"
}
}
}
@@ -27,12 +28,12 @@ provider "decort" {
data "decort_kvmvm_vgpu_list" "vgpu_list" {
#id виртуальной машины
#обязательный параметр
#тип - число
#тип - целое число
compute_id = 100
#фильтр по id графического процессора
#опциональный параметр
#тип - число
#тип - целое число
#gpu_id = 100
#фильтр по типу графического процессора
@@ -47,18 +48,24 @@ data "decort_kvmvm_vgpu_list" "vgpu_list" {
#фильтр "включая удаленные графические процессоры"
#опциональный параметр
#тип - булев тип
#тип - булев
#includedeleted = "false"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 1
#размер страницы
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 1
}

View File

@@ -0,0 +1,425 @@
/*
Пример использования
Работа с ресурсом kvmvm (compute)
Ресурс позволяет:
1. Создавать compute
2. Редактировать compute
3. Удалять compute
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
resource "decort_kvmvm" "comp" {
#имя compute
#может быть изменен
#обязательный параметр
#тип - строка
name = "test-tf-compute-update-new"
#id resource group
#обязательный параметр
#тип - целое число
rg_id = 1111
#тип драйвера для compute
#обязательный параметр
#тип - строка
driver = "KVM_X86"
#число cpu
#обязательный параметр
#тип - целое число
cpu = 1
#кол-во оперативной памяти, МБ
#обязательный параметр
#тип - целое число
ram = 2048
#размер загрузочного диска
#опциональный параметр
#тип - целое число
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"
#id образа диска для создания compute
#опциональный параметр
#тип - целое число
image_id = 111
#создание без загрузочного диска в остановленном состоянии
#опциональный параметр
#если значение равно True, параметры image_id, boot_disk_size, sep_id, pool игнорируются
#тип - булев
without_boot_disk = true
#необходимость выравнивать ВМ по 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"
#id стораджа
#опциональный параметр
#тип - целое число
sep_id = 1
#название пула
#опциональный параметр
#тип - строка
pool = "data01"
#описание диска
#опциональный параметр
#тип - строка
desc = ""
#id образа
#опциональный параметр
#тип - целое число
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]
#присоеденения сетей и удаление сетей в компьюте
#опциональный параметр
#тип - блок сетей
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 = "kasim_baybikov_1@decs3o"
#права: 'R' - только на чтение, 'RCX' - чтение/запись, 'ARCXDU' - админ
#обязательный параметр
#тип - строка
access_type = "ARCXDU"
}
#создать/удалить снапшот компьюта
#опциональный параметр
#тип - блок снапшотов
snapshot {
#лейбл снапшота
#обязательный параметр
#тип - строка
label = "label1"
}
#rollback на нужный снапшот
#опциональный параметр
#Не имеет смысла при отсутсвии снапшотов
#тип - блок rollback
rollback {
#Лейбл снапшота
#Обязательный параметр
#тип - строка
label = "label1"
}
#вставить/удалить СD rom
#опциональный параметр
#максимальное кол-во - 1
#тип - блок cd
cd {
#id образа диска CD rom
#обязательный параметр
#тип - целое число
cdrom_id = 344
}
#добавить компьют на стэк
#опциональный параметр
#тип - булев
pin_to_stack = true
#флаг доступности компьюта для проведения с ним операций
#опциональный параметр
#тип - булев
enabled = true
#pause/resume компьюта
#опциональный параметр
#тип - булев
pause = true
#сделать компьют заново
#опциональный параметр
#тип - булев
reset = true
#восстановить компьют из корзины
#опциональный параметр
#тип - булев
restore = true
#флаг для редеплоя компьюта
#опциональный параметр
#тип - булев
auto_start = true
#флаг для редеплоя компьюта
#опциональный параметр
#тип - булев
force_stop = true
#флаг для ресайза компьюта
#опциональный параметр
#тип - булев
force_resize = true
#поле для редеплоя компьюта
#опциональный параметр
#тип - строка
data_disks = "KEEP"
#запуск/стоп компьюта
#опциональный параметр
#тип - булев
started = true
#detach диска при удалении компьюта
#опциональный параметр
#тип - булев
detach_disks = true
#флаг для удаления компьюта
#опциональный параметр
#тип - булев
permanently = false
}
output "test" {
value = decort_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_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>"
}
}
}
@@ -29,7 +30,7 @@ provider "decort" {
data "decort_lb_list" "lbl" {
#фильтр по id балансировщика нагрузки
#опциональный параметр
#тип - число
#тип - целое число
#by_id = 100
#фильтр по имени балансировщика нагрузки
@@ -39,12 +40,12 @@ data "decort_lb_list" "lbl" {
#id аккаунта для получения списка балансировщиков нагрузки
#опциональный параметр
#тип - число
#тип - целое число
#account_id = 11111
#фильтр по id ресурсной группы
#опциональный параметр
#тип - число
#тип - целое число
#rg_id = 100
#фильтр по техническому статусу
@@ -67,22 +68,28 @@ data "decort_lb_list" "lbl" {
#тип - строка
#back_ip = "ENABLED"
#флаг влючения в результат удаленных балансироващиков нагрузки
#флаг влючения в результат удаленных балансировщиков нагрузки
#опциональный параметр
#тип - булев тип
#тип - булев
#значение по-умолчанию - false
#если не задан - выводятся все доступные неудаленные балансировщики
#includedeleted = true
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 1
#размер страницы
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 1
}

View File

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

View File

@@ -1,21 +1,21 @@
/*
Пример использования
Ресурса load balancer
Управление балансировщиком нагрузки (load balancer)
Ресурс позволяет:
1. Создавать load balancer
2. Редактировать load balancer
3. Удалять load balancer
/*
*/
#Расскомментируйте этот код,
#Расскомментируйте этот код
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -33,7 +33,7 @@ provider "decort" {
resource "decort_lb" "lb" {
#id ресурсной группы для со
#обязательный параметр
#тип - число
#тип - целое число
rg_id = 1111
#наименование load balancer
@@ -41,71 +41,78 @@ resource "decort_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
#опциональный параметр
#тип - булев
enable = true
#флаг перезапуска load balancer
#необязательный параметр
#тип - булев тип
#перезагрузка срабатывает только при изменении флага с false на true
#restart = false
#опциональный параметр
#тип - булев
restart = false
#флаг сброса конфигурации load balancer
#необязательный параметр
#тип - булев тип
#сброс срабатывает только при изменении флага с false на true
#config_reset = false
#опциональный параметр
#тип - булев
config_reset = false
#флаг моментального удаления load balancer
#необязательный параметр
#тип - булев тип
#по умолчанию - false
#опциональный параметр
#применяется при выполнении команды terraform destroy
#permanently = false
#по умолчанию - false
#тип - булев
permanently = false
#флаг восстановления load balancer
#необязательный параметр
#тип - булев тип
#опциональный параметр
#восстановить можно load balancer, удаленным с флагом permanently = false
#restore = true
#тип - булев
restore = true
#флаг используемый при рестарте load balancer
#необязательный параметр
#тип - булев тип
#значение по умолчанию - true, при данном значении рестарт производится на обоих нодах в HA mode
#safe = true
#опциональный параметр
#при значении "true" рестарт производится на обоих нодах в HA mode
#значение по умолчанию - true
#тип - булев
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_lb_backend" "lb" {
#id балансировщика нагрузок
#обязательный параметр
#тип - число
#тип - целое число
lb_id = 668
#имя бекенда для создания сервера
@@ -42,65 +42,65 @@ resource "decort_lb_backend" "lb" {
name = "testBackend"
#алгоритм балансировки
#опицональный параметр
#тип - строка
#опциональный параметр
#по умолчанию - "roundrobin"
#доступные значения - "roundrobin", "static-rr", "leastconn"
#algorithm = "roundrobin"
#тип - строка
lgorithm = "roundrobin"
#-------------------
#настройки для серверов по умолчанию
#-------------------
#интервал между проверками, в миллисекундах
#опицональный параметр
#тип - число
#опциональный параметр
#по умолчанию - 5000
#inter = 5000
#тип - целое число
inter = 5000
#интервал между проверками доступности сервера после восстановления, в миллисекундах
#опицональный параметр
#тип - число
#опциональный параметр
#по умолчанию - 1000
#downinter = 1000
#тип - целое число
downinter = 1000
#кол-во проверок, которые сервер должен успешно пройти
#опицональный параметр
#тип - число
#опциональный параметр
#по умолчанию - 2
#rise = 2
#тип - целое число
rise = 2
#кол-во проверок, которые сервер может не пройти и после этого получить статус "unavailable"
#опицональный параметр
#тип - число
#опциональный параметр
#по умолчанию - 2
#fall = 2
#тип - целое число
fall = 2
#кол-во миллисекунд - время между получением сервера статуса "available" и открытием соединений
#опицональный параметр
#тип - число
#опциональный параметр
#по умолчанию - 60000
#slowstart = 60000
#тип - целое число
slowstart = 60000
#максимальное кол-во соединений сервера, при достижении этого кол-ва, сервер выходит из схемы балансирования
#опицональный параметр
#тип - число
#опциональный параметр
#по умолчанию - 250
#maxconn = 250
#тип - целое число
maxconn = 250
#максимальное кол-во соединений в очереди серевера, при достижении этого кол-ва, соединения будут перенаправлены на другой сервер
#опицональный параметр
#тип - число
#опциональный параметр
#по умолчанию - 256
#maxqueue = 256
#тип - целое число
maxqueue = 256
#вес сервера для балансировки
#опицональный параметр
#тип - число
#опциональный параметр
#мин - 0
#макс - 255
#по умолчанию - 100
#weight = 100
#тип - целое число
weight = 100
timeouts {
create = "5m"
@@ -108,6 +108,7 @@ resource "decort_lb_backend" "lb" {
update = "5m"
delete = "5m"
}
}
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_lb_backend_server" "lb" {
#id балансировщика нагрузок
#обязательный параметр
#тип - число
#тип - целое число
lb_id = 668
#имя бекенда для создания сервера
@@ -53,64 +53,64 @@ resource "decort_lb_backend_server" "lb" {
#порт сервера
#обязательный параметр
#тип - число
#тип - целое число
port = 6553
#проверка доступности сервера
#опицональный параметр
#тип - строка
#опциональный параметр
#по умолчанию - "enabled"
#доступные значения - "disabled", "enabled"
#тип - строка
#check = "enabled"
#интервал между проверками, в миллисекундах
#опицональный параметр
#тип - число
#опциональный параметр
#по умолчанию - 5000
#тип - целое число
#inter = 5000
#интервал между проверками доступности сервера после восстановления, в миллисекундах
#опицональный параметр
#тип - число
#опциональный параметр
#по умолчанию - 1000
#тип - целое число
#downinter = 1000
#кол-во проверок, которые сервер должен успешно пройти
#опицональный параметр
#тип - число
#опциональный параметр
#тип - целое число
#по умолчанию - 2
#rise = 2
#кол-во проверок, которые сервер может не пройти и после этого получить статус "unavailable"
#опицональный параметр
#тип - число
#опциональный параметр
#по умолчанию - 2
#тип - целое число
#fall = 2
#кол-во миллисекунд - время между получением сервера статуса "available" и открытием соединений
#опицональный параметр
#тип - число
#опциональный параметр
#по умолчанию - 60000
#тип - целое число
#slowstart = 60000
#максимальное кол-во соединений сервера, при достижении этого кол-ва, сервер выходит из схемы балансирования
#опицональный параметр
#тип - число
#опциональный параметр
#по умолчанию - 250
#тип - целое число
#maxconn = 250
#максимальное кол-во соединений в очереди серевера, при достижении этого кол-ва, соединения будут перенаправлены на другой сервер
#опицональный параметр
#тип - число
#опциональный параметр
#по умолчанию - 256
#тип - целое число
#maxqueue = 256
#вес сервера для балансировки
#опицональный параметр
#тип - число
#опциональный параметр
#мин - 0
#макс - 255
#по умолчанию - 100
#тип - целое число
#weight = 100
timeouts {
@@ -119,6 +119,7 @@ resource "decort_lb_backend_server" "lb" {
update = "5m"
delete = "5m"
}
}
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_lb_frontend" "lb" {
#id балансировщика нагрузок
#обязательный параметр
#тип - число
#тип - целое число
lb_id = 668
#имя бекенда для создания фронтенда
@@ -51,6 +51,7 @@ resource "decort_lb_frontend" "lb" {
update = "5m"
delete = "5m"
}
}
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_lb_frontend_bind" "lb" {
#id балансировщика нагрузок
#обязательный параметр
#тип - число
#тип - целое число
lb_id = 668
#имя фронтенда для создания привязки
@@ -53,7 +53,7 @@ resource "decort_lb_frontend_bind" "lb" {
#порт для привязки фронтенда
#обязательный параметр
#тип - число
#тип - целое число
port = 1111
timeouts {
@@ -62,6 +62,7 @@ resource "decort_lb_frontend_bind" "lb" {
update = "5m"
delete = "5m"
}
}
output "test" {

View File

@@ -0,0 +1,36 @@
/*
Пример использования
Получение информации о площадках
Ресурс позволяет:
1. получать информацию об url площадки (grid/location).
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_location_url" "lu" {
}
output "test" {
value = data.decort_location_url.lu
}

View File

@@ -1,19 +1,19 @@
/*
Пример использования
Получение информации о доступных локациях
Получение информации о доступных локациях.
Ресурс позволяет:
Используется для получения информации о grid_id для создания ресурсов
1) получать информацию о grid_id для создания ресурсов
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -36,7 +36,7 @@ data "decort_locations_list" "ll" {
#фильтр по id локации
#опциональный параметр
#тип - число
#тип - целое число
#by_id = 100
#фильтр по имени локации
@@ -49,14 +49,20 @@ data "decort_locations_list" "ll" {
#тип - строка
#location_code = "europe"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#кол-во страниц для вывода
#опицональный параметр
#тип - число
#тип - целое число
#page = 1
#размер страницы
#опицональный параметр
#тип - число
#тип - целое число
#size = 1
}

View File

@@ -0,0 +1,61 @@
/*
Пример использования
Управление правилами трансляции сетевых портов для виртуальных серверов
Ресурс позволяет:
1. Создавать правила для трансляции сетевых портов
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_pfw" "pfw" {
#id виртуальной машины
#обязательный параметр
#тип - целое число
compute_id = 11269
#начальный порт правила
#обязательный параметр
#тип - целое число
public_port_start = 200
#внутренний порт
#обязательный параметр
#тип - целое число
local_base_port = 22
#протокол соединения (tcp / udp)
#обязательный параметр
##тип - строка
proto = "tcp"
#конечный порт (включительно)
#опциональный параметр
#тип - целое число
public_port_end = 21321
}
output "pfw_out" {
value = decort_pfw.pfw
}

View File

@@ -1,56 +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
}
resource "decort_disk" "acl" {
account_id = 88366
gid = 212
disk_name = "super-disk-re"
size_max = 20
permanently = true
reason = "delete"
shareable = false
iotune {
read_bytes_sec = 0
read_bytes_sec_max = 0
read_iops_sec = 0
read_iops_sec_max = 0
size_iops_sec = 0
total_bytes_sec = 0
total_bytes_sec_max = 0
total_iops_sec = 3000
total_iops_sec_max = 0
write_bytes_sec = 0
write_bytes_sec_max = 0
write_iops_sec = 0
write_iops_sec_max = 0
}
}
output "test" {
value = decort_disk.acl
}

View File

@@ -1,68 +0,0 @@
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_flipgroup" "fg" {
# ID аккаунта
# Обязательный параметр
# int
account_id = 999
# Наименование Flipgroup
# Обязательный параметр
# string
name = "flipgroup_name"
# Тип сети (EXTNET, ViNS)
# Обязательный параметр
# string
net_type = "EXTNET"
# ID сети
# Обязательный параметр
# int
net_id = 13
# Тип клиентов (в данный момент поддерживается только тип 'compute')
# Обязательный параметр
# string
client_type = "compute"
# IP-адрес
# Опциональный параметр
# string
ip = "127.0.0.1"
# Список клиентов, прикрепленных к флипгруппе
# Опциональный параметр
# []int
client_ids = [11269]
# Описание флипгруппы
# Опциональный параметр
# string
desc = "CHANGED"
}
output "fg_out" {
value = decort_flipgroup.fg
}

View File

@@ -1,108 +0,0 @@
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_image" "img" {
# Наименование образа
# Обязательный параметр
# string
name = "image_name"
# grid ID платформы
# Обязательный параметр
# int
gid = 2002
# Драйверы компьютов, подходящие для данного образа
# Обязательный параметр
# []string
drivers = ["KVM_X86"]
# Тип образа (linux, windows и др.)
# Обязательный параметр
# string
type = "linux"
# Прямая ссылка на образ
# Обязательный параметр
# string
url = "https://dl-cdn.alpinelinux.org/alpine/v3.17/releases/x86_64/alpine-virt-3.17.3-x86_64.iso"
# Тип загрузчика (bios/uefi)
# Обязательный параметр
# string
boot_type = "bios"
# ID аккаунта
# Опциональный параметр
# int
account_id = 138
# Поддержка hot resize
# Опциональный параметр
# bool
hot_resize = true
# Юзернейм для образа
# Опциональный параметр
# string
username = "userx"
# Пароль для образа
# Опциональный параметр
# string
password = "passx"
# Юзернейм для загрузки binary media
# Опциональный параметр
# string
username_dl = "userxdl"
# Пароль для загрузки binary media
# Опциональный параметр
# string
password_dl = "passxdl"
# Storage endpoint provider ID
# Опциональный параметр
# int
sep_id = 1
# Pool для образа
# Опциональный параметр
# string
pool_name = "pool"
# Архитектура обраща (X86_64 / PPC64_LE)
# Опциональный параметр
# string
architecture = "PPC64_LE"
# Флаг окончательного удаления
# Опциональный параметр
# булев тип
permanently = true
}
output "img_out" {
value = decort_image.img
}

View File

@@ -1,164 +0,0 @@
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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"
#app_id = <APP-ID>
#app_secret = <APP-SECRET>
allow_unverified_ssl = true
}
resource "decort_k8s_cp" "cp" {
# Название кластера
# Обязательный параметр
# string
name = "k8s-cp"
# K8sCI ID
# Обязательный параметр
# int
k8sci_id = 55
# Плагин сети (flannel, weavenet или calico)
# Обязательный параметр
# string
network_plugin = "flannel"
# ID ресурсной группы
# Обязательный параметр
# int
rg_id = 1387
# Кол-во ядер мастер-узла
# Опциональный параметр
# int
cpu = 2
# Объем RAM мастер-узла
# Опциональный параметр
# int
ram = 2048
# Кол-во ВМ мастер-узла (1 или 3)
# Опциональный параметр
# int
num = 1
# Размер диска мастер-узла
# Опциональный параметр
# int
disk = 10
# Описание кластера
# Опциональный параметр
# string
desc = "<DESCRIPTION>"
# id extnet
#опциональный параметр
#тип - число
extnet_id = 0
# id vins
# опциональный параметр
# тип - число
vins_id = 1234
# Storage Endpoint ID
# Опциональный параметр
# id
sep_id = 0
# SEP Pool
# Опциональный параметр
# string
sep_pool = "pool"
# Старт/Стоп кластера
# Опциональный параметр
# bool
start = true
# Создать кластер с/без балансировщика нагрузки
# Опциональный параметр
# bool
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
# необязательный параметр
# тип - файл
oidc_cert = file("ca.crt")
# команда destroy удаляет кластер без возможности восстановления
# опциональный параметр
# тип - булев тип
permanently = true
}
output "cp_out" {
value = decort_k8s_cp.cp
}

View File

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

View File

@@ -1,400 +0,0 @@
/*
Пример использования
Работа с ресурсом kvmvm (compute)
Ресурс позволяет:
1. Создавать compute
2. Редактировать compute
3. Удалять compute
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
#app_id = <APP-ID>
#app_secret = <APP-SECRET>
allow_unverified_ssl = true
}
resource "decort_kvmvm" "comp" {
#имя compute
#обязательный параметр
#мб изменен
#тип - строка
name = "test-tf-compute-update-new"
#id resource group
#обязательный параметр
#тип - число
rg_id = 1111
#тип драйвера для compute
#обязательный параметр
#тип - строка
driver = "KVM_X86"
#число cpu
#обязательный параметр
#тип - число
cpu = 1
#кол-во оперативной памяти, МБ
#обязательный параметр
#тип - число
ram = 2049
#id образа диска для создания compute
#обязательный параметр
#тип - число
image_id = 111
#размер загрузочного диска
#обязательный параметр
#тип - число
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"
#Создание и добавление диска дял compute
#опциональный параметр
#тип - список дисков
disks {
#Имя диска
#Обязательный для диска параметр
#Тип - строка
disk_name = "disk_name"
#Размер диска
#Обязательный для диска параметр
#Тип - число
size = 5
#Тип диска
#опциональный параметр
#тип - строка
disk_type = "D"
#опциональный параметр
#тип - число
sep_id = 1
#Название пула
#опциональный параметр
#тип - строка
pool = "data01"
#Описание диска
#опциональный параметр
#тип - строка
desc = ""
#Айди образа
#опциональный параметр
#опциональный параметр
image_id = 378
#Флаг для удаления диска
#опциональный параметр
#тип - bool
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]
#Присоеденения сетей и удаление сетей в компьюте
#опциональный параметр
#тип - блок
network {
#Тип сети VINS/EXTNET
#Обязательный параметр
#тип - строка
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 = "kasim_baybikov_1@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
#Флаг доступности компьюта для проведения с ним операций
#опциональный параметр
#тип - булев
enabled = true
#pause/resume компьюта
#опциональный параметр
#тип - булев
pause = true
#сделать компьют заново
#опциональный параметр
#тип - булев
reset = true
#восстановить компьют из корзины
#опциональный параметр
#тип - булев
restore = true
#флаг для редеплоя компьюта
#опциональный параметр
#тип - булев
auto_start = true
#флаг для редеплоя компьюта
#опциональный параметр
#тип - булев
force_stop = true
#флаг для ресайза компьюта
#опциональный параметр
#тип - булев
force_resize = true
#поле для редеплоя компьюта
#опциональный параметр
#тип - строка
data_disks = "KEEP"
#запуск/стоп компьюта
#опциональный параметр
#тип - булев
started = true
#detach диска при удалении компьюта
#опциональный параметр
#тип - булев
detach_disks = true
#Флаг для удаления компьюта
#опциональный параметр
#тип - bool
permanently = false
}
output "test" {
value = decort_kvmvm.comp
}

View File

@@ -1,53 +0,0 @@
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_pfw" "pfw" {
# ID виртуальной машины
# Обязательный параметр
# int
compute_id = 11269
# Начальный порт правила
# Обязательный параметр
# int
public_port_start = 200
# Внутренний порт
# Обязательный параметр
# int
local_base_port = 22
# Протокол соединения (tcp / udp)
# Обязательный параметр
# string
proto = "tcp"
# Конечный порт (включительно)
# Опциональный параметр
# int
public_port_end = 21321
}
output "pfw_out" {
value = decort_pfw.pfw
}

View File

@@ -1,17 +1,17 @@
/*
Пример использования
Получение информации о ресурсной группе RG
Получение информации о ресурсной группе (RG)
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
@@ -29,9 +29,10 @@ provider "decort" {
data "decort_resgroup" "rg" {
#id ресурсной группы
#обязательный параметр
#тип - число
rg_id = 1535
#причина для выполняния действия
#тип - целое число
rg_id = 1535
#причина для выполнения действия
#необязятельный параметр
#тип - строка
reason = "TEST"

View File

@@ -2,18 +2,20 @@
Пример использования
Получение информации о специальной группе компьютов
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/* terraform {
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
} */
}
*/
provider "decort" {
authenticator = "decs3o"
@@ -27,8 +29,9 @@ provider "decort" {
data "decort_rg_affinity_group_computes" "lc" {
#id ресурсной группы
#обязательный параметр
#тип - число
#тип - целое число
rg_id = 123
#название специальной группы компьютов
#обязательное поле
#тип - строка

View File

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

View File

@@ -2,18 +2,20 @@
Пример использования
Получение информации о списке специальных групп компьютов
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/* terraform {
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
version = "<VERSION>"
}
}
} */
}
*/
provider "decort" {
authenticator = "decs3o"
@@ -27,18 +29,18 @@ provider "decort" {
data "decort_rg_affinity_groups_list" "list_groups" {
#id ресурсной группы
#обязательный параметр
#тип - число
#тип - целое число
rg_id = 123
#номер страницы для отображения
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 1
#размер страницы
#опциональный параметр
#тип - число
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 1
}

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