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

View File

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

View File

@@ -0,0 +1,44 @@
/*Deprecated
Данный datasource является **deprecated** и будет удалён в следующих версиях. Вместо него неоходимо использовать datasource **decort_cb_audit_list**.
*/
/*
Пример использования
Получение информации об использовании аккаунта
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_cb_account_audits_list" "aal" {
#id аккаунта
#обязательный параметр
#тип - целое число
account_id = 11111
}
output "test" {
value = data.decort_cb_account_audits_list.aal
}

View File

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

View File

@@ -0,0 +1,97 @@
/*
Пример использования
Получение списка computes, используемых аккаунтом
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_cb_account_computes_list" "acl" {
#id аккаунта
#обязательный параметр
#тип - целое число
account_id = 1111
#фильтр по id compute
#опциональный параметр
#тип - целое число
#compute_id = 100
#фильтр по имени compute
#опциональный параметр
#тип - строка
#name = "test"
#фильтр по имени ресурсной группы
#опциональный параметр
#тип - строка
#rg_name = "test"
#фильтр по id ресурсной группы
#опциональный параметр
#тип - целое число
#rg_id = 100
#фильтр по техническому статусу
#опциональный параметр
#тип - строка
#tech_status = "STARTED"
#фильтр по ip address
#опциональный параметр
#тип - строка
#ip_address = "1.1.1.1.1"
#фильтр по имени внешней сети
#опциональный параметр
#тип - строка
#extnet_name = "test"
#фильтр по id внешней сети
#опциональный параметр
#тип - целое число
#extnet_id = 100
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#page = 1
#размер страницы
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#size = 1
}
output "test" {
value = data.decort_cb_account_computes_list.acl
}

View File

@@ -0,0 +1,76 @@
/*
Пример использования
Получение информации о дисках, которые использует аккаунт
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_cb_account_disks_list" "adl" {
#id аккаунта
#обязательный параметр
#тип - целое число
account_id = 11111
#фильтр по id диска
#опциональный параметр
#тип - целое число
#disk_id = 100
#фильтр по имени диска
#опциональный параметр
#тип - строка
#name = "data_disk"
#фильтр по максимальному размеру диска
#опциональный параметр
#тип - целое число
#disk_max_size = 100
#тип диска
#опциональный параметр
#тип - строка
#возможные типы: "b" - boot_disk, "d" - data_disk
#type = "d"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - целое число
#page = 1
#размер страницы
#опциональный параметр
#тип - целое число
#size = 1
}
output "test" {
value = data.decort_cb_account_disks_list.adl
}

View File

@@ -0,0 +1,85 @@
/*
Пример использования
Получение информации о flipgroups, используемых аккаунтом
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_cb_account_flipgroups_list" "afgl" {
#id аккаунта
#обязательный параметр
#тип - целое число
account_id = 1111
#фильтр по имени flipgroup
#опциональный параметр
#тип - строка
#name = "test"
#фильтр по id vins
#опциональный параметр
#тип - целое число
#vins_id = 100
#фильтр по имени vins
#опциональный параметр
#тип - строка
#vins_name = "test"
#фильтр по id extnet
#опциональный параметр
#тип - целое число
#extnet_id = 100
#фильтр по IP
#опциональный параметр
#тип - строка
#by_ip = "1.1.1.1.1"
#фильтр по id flipgroup
#опциональный параметр
#тип - целое число
#flipgroup_id = 100
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - целое число
#page = 1
#размер страницы
#опциональный параметр
#тип - целое число
#size = 1
}
output "test" {
value = data.decort_cb_account_flipgroups_list.afgl
}

View File

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

View File

@@ -0,0 +1,78 @@
/*
Пример использования
Получение всех аккаунтов,имеющихся в системе
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_cb_account_list" "al" {
#фильтр по id аккаунта
#опциональный параметр
#тип - целое число
#by_id = 100
#фильтр по имени аккаунта
#опциональный параметр
#тип - строка
#name = "test"
#фильтр по ACL
#опциональный параметр
#тип - строка
#acl = "test"
#фильтр по статусу
#опциональный параметр
#тип - строка
#status = "ENABLED"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#page = 2
#размер страницы
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#size = 3
#id зоны
#опциональный параметр
#тип - целое число
#значение по умолчанию - 0
#zone_id = 11
}
output "test" {
value = data.decort_cb_account_list.al
}

View File

@@ -0,0 +1,68 @@
/*
Пример использования
Получение информации об удаленных аккаунтах
Информация предоставляется только по аккаунтам, удаленным без флага permanently
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_cb_account_list_deleted" "adl" {
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#page = 2
#размер страницы
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#size = 3
#фильтр по id аккаунта
#опциональный параметр
#тип - целое число
#by_id = 100
#фильтр по имени аккаунта
#опциональный параметр
#тип - строка
#name = "test"
#фильтр по ACL
#опциональный параметр
#тип - строка
#acl = "test"
}
output "test" {
value = data.decort_cb_account_list_deleted.adl
}

View File

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

View File

@@ -0,0 +1,82 @@
/*
Пример использования
Получение информации о ресурных группах, используемых аккаунтом
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_cb_account_rg_list" "argl" {
#id аккаунта
#обязательный параметр
#тип - целое число
account_id = 66666
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#page = 2
#размер страницы
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#size = 3
#фильтр по id ресурсной группы
#опциональный параметр
#тип - целое число
#rg_id = 11111
#фильтр по имени ресурсной группы
#опциональный параметр
#тип - строка
#name = "test"
#фильтр по id vins
#опциональный параметр
#тип - целое число
#vins_id = 100
#фильтр по id compute
#опциональный параметр
#тип - целое число
#vm_id = 100
#фильтр по статусу
#опциональный параметр
#тип - строка
#status = "CREATED"
}
output "test" {
value = data.decort_cb_account_rg_list.argl
}

View File

@@ -0,0 +1,77 @@
/*
Пример использования
Получение списка vins, используемых аккаунтом
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_cb_account_vins_list" "avl" {
#id аккаунта
#обязательный параметр
#тип - целое число
account_id = 22222
#фильтр по id vins
#опциональный параметр
#тип - целое число
#vins_id = 100
#фильтр по имени vins
#опциональный параметр
#тип - строка
#name = "test"
#фильтр по id ресурсной группы
#опциональный параметр
#тип - целое число
#rg_id = 11111
#фильтр по IP внешней сети
#опциональный параметр
#тип - строка
#ext_ip = "test"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#page = 2
#размер страницы
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#size = 3
}
output "test" {
value = data.decort_cb_account_vins_list.avl
}

View File

@@ -0,0 +1,208 @@
/*
Пример использования
Ресурса account
Ресурс позволяет:
1. Создавать аккаунт
2. Редактировать аккаунт
3. Удалять аккаунт
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
resource "decort_cb_account" "acc" {
#отображаемое имя аккаунта
#обязательный параметр
#тип - строка
#используется при создании и обновлении
account_name = "new_my_account"
#имя пользователя, для которого создается аккаунт
#обязательный параметр
#тип - строка
#используется при создании
username = "username@decs3o"
#описание
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#desc = "description"
#доступность аккаунта
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#enable = true
#электронная почта, на которую будет отправлена информация о доступе
#опциональный параметр
#тип - строка
#применяется при создании аккаунта
#используется при создании
#emailaddress = "example@basis.ru"
#отправлять ли на электронную почту письмо о доступе
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#send_access_emails = true
#пары sep_id и sep_pool_name
#опциональный параметр
#тип - массив строк
#используется при создании и обновлении
#каждая строка представляет собой пару, sepID_sepPoolName
#uniq_pools = ["sep1_poolName1", "sep2_poolName2"]
#ограничение используемых ресурсов
#опциональный параметр
#тип - блок
#используется при создании и обновлении
#resource_limits {
#кол-во используемых ядер cpu
#опциональный параметр
#тип - целое число
#если установлена -1 - кол-во неограниченно
#cu_c = 2
#кол-во используемой RAM в МБ
#опциональный параметр
#тип - целое число
#если установлена -1 - кол-во неограниченно
#cu_m = 1024
#размер дисков, в ГБ
#опциональный параметр
#тип - целое число
#если установлена -1 - размер неограничен
#cu_dm = 23
#кол-во используемых публичных IP
#опциональный параметр
#тип - целое число
#если установлена -1 - кол-во неограничено
#cu_i = 2
#кол-во графических процессоров
#опциональный параметр
#тип - целое число
#если установлена -1 - кол-во неограничено
#gpu_units = 2
#}
#добавление/удаление политик хранения
#опциональный параметр
#тип - блок
#используется при создании и обновлении
#storage_policy {
#id политики хранения
#обязательный параметр
#тип - целое число
#id = 111
#лимит ресурсов хранения в ГБ
#опциональный параметр
#тип - целое число
#значение "-1", если не ограничено
#limit = 111
#}
#добавление/редактирование/удаление пользователей, к которым привязан аккаунт
#опциональный параметр
#тип - блок, кол-во таких блоков не ограничено
#используется при создании и обновлении
#users {
#id пользователя
#обязательный параметр
#тип - строка
#user_id = "username_2@decs3o"
#тип доступа пользователя
#обязательный параметр
#тип - строка
#возможные параметры:
#R - чтение
#RCX - запись
#ARCXDU - админ
#access_type = "R"
#}
#параметр распределения CPU
#опциональный параметр
#тип - строка
#если "strict" виртуальная машина не может быть запущена из-за нехватки ресурсов.
#"loose" позволяет запускать виртуальную машину, если недостаточно ресурсов.
#используется при создании и обновлении
#cpu_allocation_parameter = "strict"
#параметр коэффициента распределения CPU
#опциональный параметр
#тип - целое число
#один pCPU = коэффициент*vCPU (принимает нулевое или положительное значение)
#используется при создании и обновлении
#cpu_allocation_ratio = 1
#флаг для удаления аккаунта, без возможности восстановления
#опциональный параметр
#тип - булев
#по умолчанию - false
#используется при удалении
#permanently = true
#флаг для восстановление аккаунта из корзины
#опциональный параметр
#тип - булев
#используется при обновлении
#restore = true
#предоставление аккаунту доступа к конкретным образам
#опциональный параметр
#тип - массив целых чисел
#используется при создании и обновлении
#available_templates = [1,2]
#доступ к дополнительным функциям управления ВМ
#опциональный параметр
#возможные значенния - "hugepages", "numa", "cpupin", "vfnic", "dpdk, "changemac", "trunk"
#тип - массив строк
#используется при создании и обновлении
#compute_features = ["hugepages", "numa", "cpupin", "vfnic"]
#зона по умолчанию для аккаунта
#опциональный параметр
#тип - целое число
#используется при создании и обновлении
#default_zone_id = 1111
#управление зонами аккаунта
#опциональный параметр
#тип - массив целых чисел
#используется при создании и обновлении
#zone_ids = [1,2,3]
}
output "test" {
value = decort_cb_account.acc
}

View File

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

View File

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

View File

@@ -0,0 +1,141 @@
/*
Пример использования
Получение списка аудитов
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_cb_audit_list" "al" {
#фильтр по аудитам с временной меткой после указанного значения
#опциональный параметр
#тип - целое число
#timestamp_at = 123456
#фильтр по аудитам с временной меткой до указанного значения
#опциональный параметр
#тип - целое число
#timestamp_to = 123456
#фильтр по пользователю (Mongo RegExp поддерживаются)
#опциональный параметр
#тип - строка
#user = "username"
#фильтр по api endpoint (Mongo RegExp поддерживаются)
#опциональный параметр
#тип - строка
#call = "/restmachine/cloudbroker/audit/list"
#фильтр по минимальному HTTP статус-коду
#опциональный параметр
#тип - целое число
#min_status_code = 200
#фильтр по максимальному HTTP статус-коду
#опциональный параметр
#тип - целое число
#max_status_code = 500
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - целое число
#page = 2
#идентификатор запроса
#опциональный параметр
#тип - строка
#request_id = "35"
#размер страницы
#опциональный параметр
#тип - целое число
#size = 3
#id ресурсной группы
#опциональный параметр
#тип - целое число
#resgroup_id = 3
#id компьюта
#опциональный параметр
#тип - целое число
#compute_id = 3
#id аккаунта
#опциональный параметр
#тип - целое число
#account_id = 3
#id vins
#опциональный параметр
#тип - целое число
#vins_id = 3
#id базовой службы
#опциональный параметр
#тип - целое число
#service_id = 3
#id k8s-кластера
#опциональный параметр
#тип - целое число
#k8s_id = 3
#id flipgroup
#опциональный параметр
#тип - целое число
#flipgroup_id = 3
#id балансировщика нагрузки
#опциональный параметр
#тип - целое число
#lb_id = 3
#id sep
#опциональный параметр
#тип - целое число
#sep_id = 3
#id узла
#опциональный параметр
#тип - целое число
#node_id = 3
#исключить ли строки
#опциональный параметр
#тип - булев
#default false
#exclude_audit_lines = false
}
output "test" {
value = data.decort_cb_audit_list.al
}

View File

@@ -0,0 +1,40 @@
/*
Пример использования
Получения списка аудитов в виде архива csv файлов
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_cb_audits_export_to_file" "audit" {
#путь, где будет создан архив
#если не указан, создается в директории с main.tf с именем "audits.tar.gz"
#обязательный параметр
#тип - строка
file_path = "abcdefg.tar.gz"
}
output "test" {
value = data.decort_cb_audits_export_to_file.audit
}

View File

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

View File

@@ -0,0 +1,109 @@
/*
Пример использования
Получение списка доступных дисков
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_cb_disk_list" "dl" {
#фильтр по id диска
#опциональный параметр
#тип - целое число
#by_id = 11111
#фильтр по имени диска
#опциональный параметр
#тип - строка
#name = "disk name"
#фильтр по имени аккаунта
#опциональный параметр
#тип - строка
#account_name = "account name"
#фильтр по максимальному размеру диска
#опциональный параметр
#тип - целое число
#disk_max_size = 3
#фильтр по статусу
#опциональный параметр
#тип - строка
#status = "started"
#фильтр по полю shared
#опциональный параметр
#тип - булев
#shared = true
#id аккаунта для получения списка дисков
#опциональный параметр
#тип - целое число
#account_id = 11111
#фильтр по sep id
#опциональный параметр
#тип - целое число
#sep_id = 1
#фильтр по названию pool
#опциональный параметр
#тип - строка
#pool = "pool name"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - целое число
#page = 1
#размер страницы
#опциональный параметр
#тип - целое число
#size = 1
#id политики хранения
#опциональный параметр
#тип - целое число
#storage_policy_id = 1
#фильтр по id ресурсной группы
#опциональный параметр
#тип - целое число
#rg_id = 1281
#фильтр по id ВМ
#опциональный параметр
#тип - целое число
#compute_id = 123
}
output "test" {
value = data.decort_cb_disk_list.dl
}

View File

@@ -0,0 +1,80 @@
/*
Пример использования
Получение списка удаленных дисков
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_cb_disk_list_deleted" "dld" {
#фильтр по id диска
#опциональный параметр
#тип - целое число
#by_id = 11111
#фильтр по имени диска
#опциональный параметр
#тип - строка
#name = "disk name"
#фильтр по имени аккаунта
#опциональный параметр
#тип - строка
#account_name = "account name"
#фильтр по максимальному размеру диска
#опциональный параметр
#тип - целое число
#disk_max_size = 3
#фильтр по полю shared
#опциональный параметр
#тип - булев
#shared = true
#id аккаунта для получения списка дисков
#опциональный параметр
#тип - целое число
#account_id = 11111
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - целое число
#page = 1
#размер страницы
#опциональный параметр
#тип - целое число
#size = 1
}
output "test" {
value = data.decort_cb_disk_list_deleted.dld
}

View File

@@ -0,0 +1,91 @@
/*
Пример использования
Получение списка доступных неприсоединенных дисков
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_cb_disk_list_unattached" "dlu" {
#фильтр по id диска
#опциональный параметр
#тип - целое число
#by_id = 100
#фильтр по имени аккаунта
#опциональный параметр
#тип - строка
#account_name = "user"
#фильтр по максимальному размеру диска
#опциональный параметр
#тип - целое число
#disk_max_size = 100
#фильтр по статусу
#опциональный параметр
#тип - строка
#status = "ENABLED"
#фильтр по id аккаунта
#опциональный параметр
#тип - целое число
#account_id = 100
#фильтр по id sep
#опциональный параметр
#тип - целое число
#sep_id = 1
#фильтр по имени pool
#опциональный параметр
#тип - строка
#pool = "test"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#page = 2
#размер страницы
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#size = 3
#id политики хранения
#опциональный параметр
#тип - целое число
#storage_policy_id = 1
}
output "test" {
value = data.decort_cb_disk_list_unattached.dlu
}

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,153 @@
/*
Пример использования
Ресурса диска:
1. Создание ресурса
2. Изменение ресурса
3. Удаление ресурса
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
resource "decort_cb_disk" "my_disk01" {
#id аккаунта
#обязательный параметр
#тип - целое число
#используется при создании
account_id = 88366
#название диска
#обязательный параметр
#тип - строка
#используется при создании и обновлении
disk_name = "super-disk-re"
#максимальный размер диска, в ГБ
#обязательный параметр
#тип - целое число
#используется при создании и обновлении
size_max = 20
#id политики хранения
#обязательный параметр
#тип - целое число
#используется при создании и обновлении
storage_policy_id = 1
#описание диска
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#desc = "description"
#sep id
#опциональный параметр
#тип - целое число
#по умолчанию - 0
#используется при создании
#sep_id = 1
#название pool
#опциональный параметр
#тип - строка
#используется при создании
#pool = "pool_name"
#список node
#опциональный параметр
#тип - массив целых чисел
#используется при создании и обновлении
#node_ids = [10,11]
#флаг для восстановления диска
#опциональный параметр
#тип - булев
#используется при обновлении
#restore = true
#флаг для удаления диска, без возможности восстановления
#опциональный параметр
#тип - булев
#используется при удалении
#permanently = true
#флаг поделиться диском
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#shareable = true
#установка режима кэширования
#опциональный параметр
#тип - строка
#значение по умолчанию - none
#используется при создании и обновлении
#cache = "none"
#флаг отсоединения диска от машины перед удалением
#опциональный параметр
#тип - булев
#используется при удалении
#detach = true
#настройки лимитов операций записи/чтения с диска
#опциональный параметр
#тип - блок
#тип вложенных полей - целое число
#используется при создании и обновлении
#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
#}
#включение режима unmap для диска
#опциональный параметр
#тип - строка
#по умолчанию - "ignore"
#возможные варианты: "ignore" или "unmap"
#используется при создании и обновлении
#discard = "unmap"
#размер блока диска
#опциональный параметр
#доступные значения - "4k", "512", "512e"
#тип - строка
#используется при создании и обновлении
#block_size = "4k"
}
output "test" {
value = decort_cb_disk.my_disk01
}

View File

@@ -0,0 +1,60 @@
/*
Пример использования
Ресурс снапшота диска
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
resource "decort_cb_disk_snapshot" "ds" {
#номер диска
#обязательный параметр
#тип - целое число
#используется при создании
disk_id = 20100
#ярлык диска
#обязательный параметр
#тип - строка
#используется при создании
label = "label"
#флаг rollback
#опциональный параметр
#тип - булев
#по умолчанию - false
#используется при создании и обновлении
#rollback = true
#timestamp
#опциональный параметр
#тип - целое число
#применимо совместно с rollback = true
#используется при создании и обновлении
#timestamp = 15
}
output "test" {
value = decort_cb_disk_snapshot.ds
}

View File

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

View File

@@ -0,0 +1,89 @@
/*
Пример использования
Получение списка доступных дисков
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_cb_dpdknet_list" "dl" {
#фильтр по id DPDK сети
#опциональный параметр
#тип - целое число
#by_id = 100
#фильтр по grid ID
#опциональный параметр
#тип - целое число
#gid = 100
#фильтр по имени сети
#опциональный параметр
#тип - строка
#name = "test_dpdk"
#фильтр по описания
#опциональный параметр
#тип - строка
#desc = "user"
#фильтр по статусу
#опциональный параметр
#тип - строка
#status = "ENABLED"
#фильтр по доступным аккаунтам
#опциональный параметр
#тип - массив чисел
#account_access = [11111,22222]
#фильтр по доступным ресурсным группам
#опциональный параметр
#тип - массив чисел
#rg_access = [11111,22222]
#фильтр по compute IDs
#опциональный параметр
#тип - массив чисел
#compute_ids = [11111,22222]
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - целое число
#page = 1
#размер страницы
#опциональный параметр
#тип - целое число
#size = 1
}
output "test" {
value = data.decort_cb_dpdknet_list.dl
}

View File

@@ -0,0 +1,93 @@
/*
Пример использования
Ресурса диска:
1. Создание ресурса
2. Изменение ресурса
3. Удаление ресурса
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
resource "decort_cb_dpdknet" "dpdk" {
#название
#обязательный параметр
#тип - строка
#используется при создании и обновлении
name = "dpdk-name"
#gid
#обязательный параметр
#тип - целое число
#используется при создании
gid = 212
#vlanid для тегирования трафика на интерфейсе для компьюта
#обязательный параметр
#тип - целое число
#используется при создании и обновлении
vlan_id = 123
#ovs bridge в котором будут создаваться интерфейсы для компьютов, созданные из этой сети
#обязательный параметр
#тип - строка
#используется при создании и обновлении
ovs_bridge = "OVSBridge"
#описание сети
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#desc = "description"
#список id аккаунтов, которым может быть выделена сеть в эксклюзивное пользование
#опциональный параметр
#тип - массив целых чисел
#используется при создании и обновлении
#account_access = [10,11]
#список id ресурсных групп, которым может быть выделена сеть в эксклюзивное пользование
#опциональный параметр
#тип - массив целых чисел
#используется при создании и обновлении
#rg_access = [10,11]
#флаг доступности сети для проведения с ней операций
#опциональный параметр
#по умолчанию - false
#тип - булев
#используется при создании и обновлении
#enabled = true
#флаг, указывающий, включены ли группы безопасности для этой сети
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#значение по умолчанию - false
#enable_secgroups = false
}
output "test" {
value = decort_cb_dpdknet.dpdk
}

View File

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

View File

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

View File

@@ -0,0 +1,91 @@
/*
Пример использования
Получение списка внешних сетей
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_cb_extnet_list" "ex_list" {
#id аккаунта для фильтрации результата
#опциональный параметр
#тип - целое число
#account_id = 1111111
#фильтр по id внешней сети
#опциональный параметр
#тип - целое число
#by_id = 100
#фильтр по имени внешней сети
#опциональный параметр
#тип - строка
#name = "test"
#фильтр по IP внешней сети
#опциональный параметр
#тип - строка
#network = "test"
#фильтр по id vlan
#опциональный параметр
#тип - целое число
#vlan_id = 100
#фильтр по id vnfDevices
#опциональный параметр
#тип - целое число
#vnfdev_id = 100
#фильтр по статусу
#опциональный параметр
#тип - строка
#status = "ENABLED"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - целое число
#page = 1
#размер страницы
#опциональный параметр
#тип - целое число
#size = 1
#id зоны
#опциональный параметр
#тип - целое число
#значение по умолчанию - 0
#zone_id = 11
}
output "ex_out" {
value = data.decort_cb_extnet_list.ex_list
}

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,259 @@
/*
Пример использования
Ресурса extnet
Ресурс позволяет:
1. Создавать extnet
2. Удалять extnet
3. Получать информацию о extnet
4. Предоставлять доступ аккаунтов к extnet
5. Удалять доступ аккаунтов к extnet
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
resource "decort_cb_extnet" "new_extnet" {
#наименование внешней сети
#обязательный параметр
#тип - строка
#используется при создании
name = "test_extnet"
#id платформы
#обязательный параметр
#тип - целое число
#используется при создании
gid = 500
#cidr
#обязательный параметр
#тип - строка
#используется при создании
ipcidr = "192.168.0.0/24"
#id виртуальной локальной сети
#обязательный параметр
#тип - целое число
#используется при создании
vlan_id = 111
#ip-адрес шлюза внешней сети
#опциональный параметр
#тип - строка
#используется при создании
#gateway = "1.1.1.1"
#cписок DNS адресов
#опциональный параметр
#тип - массив строк
#используется при создании и обновлении
#dns = ["8.8.8.8", "9.9.9.9"]
#список NTP адресов
#опциональный параметр
#тип - массив строк
#используется при создании и обновлении
#ntp = ["ntp0.ntp-servers.net", "ntp1.ntp-servers.net"]
#ip-адреса для проверки доступности сети
#опциональный параметр
#тип - массив строк
#используется при создании
#check_ips = ["191.255.0.0,", "191.255.0.0,"]
#если true - DHCP-сервер создан не будет
#опциональный параметр
#тип - булев
#используется при создании
#virtual = true
#описание
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#desc = "test desc"
#начало диапазона IP-адресов
#опциональный параметр
#тип - строка
#используется при создании
#start_ip = "191.255.0.0"
#окончание диапазона IP-адресов
#опциональный параметр
#тип - строка
#используется при создании
#end_ip = "191.255.0.40"
#IP для создания первичного vnfdev
#опциональный параметр
#тип - строка
#используется при создании
#vnfdev_ip = "191.255.0.20"
#количество предварительно созданных бронирований
#опциональный параметр
#тип - целое число
#по умолчанию - 128
#используется при создании
#pre_reservations_num = 128
#имя bridge Openvswitch для подключения к внешней сети
#опциональный параметр
#тип - строка
#используется при создании
#ovs_bridge = "some"
#включение/выключение внешней сети
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#enable = true
#сделать сеть сетью по умолчанию
#опциональный параметр
#тип - булев
#используется при обновлении
#set_default = true
#список исключенных IP адресов
#опциональный параметр
#тип - массив строк
#используется при создании и обновлении
#excluded_ips = ["192.168.0.4", "192.168.0.5"]
#диапазон исключенных IP адресов
#опциональный параметр
#тип - блок
#тип вложенных полей - строка
#используется при создании и обновлении
#excluded_ips_range {
#начало диапазона
#обязательный параметр
#тип - строка
#ip_start = "192.168.0.4"
#окончание диапазона
#обязательный параметр
#тип - строка
#ip_end = "192.168.0.50"
#}
#список id аккаунтов, которым предоставлен доступ к extnet
#опциональный параметр
#тип - массив целых чисел
#используется при создании и обновлении
#shared_with = [112, 123]
#изменение настроек ограничения трафика сети
#по умолчанию - 0, т.е. без ограничений
#опциональный параметр
#тип - блок,
#тип вложенных полей - целое число
#используется при обновлении
#default_qos {
#ограничение внутреннего трафика в кбит
#опциональный параметр
#тип - целое число
#in_rate = 0
#ограничение внутреннего burst трафика в кбит
#опциональный параметр
#тип - целое число
#in_burst = 0
#ограничение внешнего трафика в кбит
#опциональный параметр
#тип - целое число
#e_rate = 0
#}
#список зарезервированных IP или пула адресов
#опциональный параметр
#тип - блок
#используется при создании и обновлении
#reserved_ip {
#идентификатор аккаунта, для которого резервируются ресурсы
#обязательный параметр
#тип - целое число
#account_id = 11111
#количество резервируемых IP
#опциональный параметр
#тип - целое число
#ip_count = 15
#список резервируемых IP
#опциональный параметр
#тип - массив строк
#ips = ["192.168.10.10", "192.168.10.20"]
#}
#id node на который происходит миграция
#опциональный параметр
#тип - целое число
#используется при обновлении
#migrate = 1
#перезапустить сеть
#опциональный параметр
#тип - булев
#используется при обновлении
#restart = true
#идентификатор экземпляра zone
#опциональный параметр
#тип - целое число
#используется при создании и обновлении
#zone_id = 1111
#режим высокой доступности
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#highly_available = true
#IP для создания вторичного vnfdev
#опциональный параметр
#тип - строка
#используется при создании
#sec_vnfdev_ip = "191.255.0.20"
#mtu
#опциональный параметр
#тип - целое число
#используется при создании и обновлении
#mtu = 1500
#флаг, указывающий, включены ли группы безопасности для этой сети
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#значение по умолчанию - false
#enable_secgroups = false
}
output "extnet" {
value = decort_cb_extnet.new_extnet
}

View File

@@ -0,0 +1,69 @@
/*
Пример использования
Ресурса extnet static routes
Ресурс позволяет:
1. Создавать static routes
2. Удалять static routes
3. Получать информацию о всех static routes в данном extnet
4. Предоставлять доступ виртуальным машинам к static routes
5. Удалять доступ виртуальным машинам к static routes
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
resource "decort_cb_extnet_static_route" "sr" {
#id extnet
#обязательный параметр
#тип - целое число
#используется при создании
extnet_id = 1111
#destination network
#обязательный параметр
#тип - строка
#используется при создании
destination = "192.168.201.0"
#destination network mask
#обязательный параметр
#тип - строка
#используется при создании
netmask = "255.255.255.255"
#ip-адрес из пула свободных IP-адресов extnet ID
#обязательный параметр
#тип - строка
#используется при создании
gateway = "192.168.201.40"
#список виртуальных машин, которым будет предоставлен доступ к роуту
#опциональный параметр
#тип - массив целых чисел
#используется при создании и обновлении
#compute_ids = [111,222]
}
output "sr" {
value = decort_cb_extnet_static_route.sr
}

View File

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

View File

@@ -0,0 +1,102 @@
/*
Пример использования
Получение списка flipgroup
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_cb_flipgroup_list" "fg" {
#фильтр по id flipgroup
#опциональный параметр
#тип - целое число
#by_id = 100
#фильтр по имени flipgroup
#опциональный параметр
#тип - строка
#name = "test"
#фильтр по id vins
#опциональный параметр
#тип - целое число
#vins_id = 100
#фильтр по имени vins
#опциональный параметр
#тип - строка
#vins_name = "test"
#фильтр по id extnet
#опциональный параметр
#тип - целое число
#extnet_id = 100
#фильтр по IP
#опциональный параметр
#тип - строка
#by_ip = "1.1.1.1.1"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#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" {
value = data.decort_cb_flipgroup_list.fg
}

View File

@@ -0,0 +1,86 @@
/*
Пример использования
Работа с ресурсом flipgroup (группа с плавающим ip-адресом)
Ресурс позволяет:
1. Создавать flipgroup
2. Редактировать flipgroup
3. Удалять flipgroup
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
oauth2_url = "https://sso-alpha.dev.decs.online"
controller_url = "https://alpha.dev.decs.online"
app_id = ""
app_secret = ""
}
resource "decort_cb_flipgroup" "fg" {
#id аккаунта
#обязательный параметр
#тип - целое число
#используется при создании
account_id = 999
#наименование Flipgroup
#обязательный параметр
#тип - строка
#используется при создании и обновлении
name = "flipgroup_name"
#тип сети
#обязательный параметр
#возможные значенния - "EXTNET", "VINS"
#тип - строка
#используется при создании
net_type = "EXTNET"
#id сети
#обязательный параметр
#тип - целое число
#используется при создании
net_id = 13
#тип клиентов (в данный момент поддерживается только тип 'compute')
#опциональный параметр
#тип - строка
#используется при создании
#по умолчанию - "compute"
#client_type = "compute"
#ip-адрес
#опциональный параметр
#тип - строка
#используется при создании
#ip = "127.0.0.1"
#cписок клиентов, прикрепленных к флипгруппе
#опциональный параметр
#тип - массив целых чисел
#используется при создании и обновлении
#client_ids = [11269]
#описание флипгруппы
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#desc = "CHANGED"
}
output "fg_out" {
value = decort_cb_flipgroup.fg
}

View File

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

View File

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

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_cb_grid_get_status" "gs" {
#нет входных параметров
}
data "decort_cb_grid_post_status" "ps" {
#нет входных параметров
}
output "test-gs" {
value = data.decort_cb_grid_get_status.gs
}
output "test-ps" {
value = data.decort_cb_grid_post_status.ps
}

View File

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

View File

@@ -0,0 +1,62 @@
/*
Пример использования
Получение списка grid
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_cb_grid_list" "gl" {
#фильтр по id grid
#опциональный параметр
#тип - целое число
#by_id = 1
#название grid
#опциональный параметр
#тип - строка
#name = "grid name"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#page = 2
#размер страницы
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#size = 3
}
output "test" {
value = data.decort_cb_grid_list.gl
}

View File

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

View File

@@ -0,0 +1,46 @@
/*
Пример использования
Получение списка email-адресов пользователей.
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_cb_grid_list_emails" "gle" {
#номер страницы для отображения
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#page = 2
#размер страницы
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#size = 3
}
output "test" {
value = data.decort_cb_grid_list_emails.gle
}

View File

@@ -0,0 +1,44 @@
/*
Пример использования
Получение снимка платформы с дополнительной диагностической информацией, такой как журналы и т.д.
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_cb_grid_get_diagnosis" "grid" {
#id grid для получения информации
#обязательный параметр
#тип - целое число
gid = 215
#путь, где будет создан архив
#если не указан, создается в директории с main.tf с именем "diagnosis.tar.gz"
#обязательный параметр
#тип - строка
file_path = "abcdefg.tar.gz"
}
output "test" {
value = data.decort_cb_grid_get_diagnosis.grid
}

View File

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

View File

@@ -0,0 +1,122 @@
/*
Пример использования
Получение списка образов
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_cb_image_list" "il" {
#фильтр по id sep
#опциональный параметр
#тип - целое число
#sep_id = 1
#фильтр по id образа
#опциональный параметр
#тип - целое число
#by_id = 100
#фильтр по имени образа
#опциональный параметр
#тип - строка
#name = "test"
#фильтр по статусу
#опциональный параметр
#тип - строка
#status = "ENABLED"
#фильтр по архитектуре
#опциональный параметр
#тип - строка
#architecture = "x86_64"
#фильтр по типу образа
#опциональный параметр
#тип - массив строк
#type_image = ["linux", "windows"]
#фильтр по размеру образа
#опциональный параметр
#тип - целое число
#image_size = 100
#фильтр по имени SEP
#опциональный параметр
#тип - строка
#sep_name = "test"
#фильтр по имени Pool
#опциональный параметр
#тип - строка
#pool = "test"
#фильтр по доступу
#опциональный параметр
#тип - булев
#public = true
#фильтр по hot_resize
#опциональный параметр
#тип - булев
#hot_resize = true
#фильтр по bootable
#опциональный параметр
#тип - булев
#bootable = true
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#page = 2
#размер страницы
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#size = 3
#фильтр по enabled
#опциональный параметр
#тип - булев
#enabled = true
#фильтр по id политики хранения
#опциональный параметр
#тип - целое число
#storage_policy_id = 6
}
output "test" {
value = data.decort_cb_image_list.il
}

View File

@@ -0,0 +1,147 @@
/*
Пример использования
Ресурса image
Ресурс позволяет:
1. Создавать образ
2. Редактировать образ
3. Удалять образ
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
resource "decort_cb_image" "my_image" {
#имя образа
#обязательный параметр
#тип - строка
#используется при создании и обновлении
name = "test_image_rename"
#адрес образа
#обязательный параметр
#тип - строка
#используется при создании
url = "https://colba.decs.online/index.php/s/G3H7AREngzeKGw2/download"
#тип загрузки образа
#обязательный параметр
#тип - строка
#возможные варианты: "bios" или "uefi"
#используется при создании
boot_type = "bios"
#тип образа
#обязательный параметр
#тип - строка
#возможные варианты - "linux", "windows", "unknown"
#используется при создании
image_type = "linux"
#id политики хранения
#обязательный параметр
#тип - целое число
#используется при создании
storage_policy_id = 111
#поддержка hot resize
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#hot_resize = true
#id аккаунта владельца образа
#опциональный параметр
#тип данных - целое число
#используется при создании и обновлении
#account_id = 57252
#имя пользователя и пароль
#опциональные параметры
#тип - строка
#используется при создании и обновлении
#username = "Valera"
#password = "123"
#имя пользователя и пароль для загрузки бинарных данных
#опциональные параметры
#тип - строка
#используется при создании
#username_dl = "Valera1"
#password_dl = "1231"
#sep id
#опциональный параметр
#тип - целое число
#используется при создании
#sep_id = 1206
#пул для создания образа
#опциональный параметр
#тип - строка
#используется при создании
#pool_name = "vmstor"
#доступность образа
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#enabled = true
#является ли образ загрузочным
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#bootable = true
#позволяет создавать образ в синхронном режиме
#опциональный параметр
#тип - булев
#используется при создании
#по умолчанию - false
#sync_mode = true
#настройка доступа образа аккаунтам
#опциональный параметр
#тип - массив целых чисел
#пустой массив - удаление всех доступов, если они были
#используется при создании и обновлении
#shared_with = [28096, 57121]
#установка computeci
#опциональный параметр
#тип - целое число
#чтобы сбросить, необходимо передать 0
#используется при обновлении
#computeci_id = 1
#наименование сетевого интерфейса для вашего компьютера с Linux
#eth - встроенный, ens - pci слот
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#network_interface_naming = "ens"
}
output "test" {
value = decort_cb_image.my_image
}

View File

@@ -0,0 +1,112 @@
/*
Пример использования
Ресурса cdrom image
Ресурс позволяет:
1. Создавать образ
2. Редактировать образ
3. Удалять образ
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
resource "decort_cb_cdrom_image" "my_image" {
#имя образа
#обязательный параметр
#тип - строка
#используется при создании и обновлении
name = "test_image_rename"
#адрес образа
#обязательный параметр
#тип - строка
#используется при создании
url = "https://colba.decs.online/index.php/s/G3H7AREngzeKGw2/download"
#id политики хранения
#обязательный параметр
#тип - целое число
#используется при создании
storage_policy_id = 111
#поддержка hot resize
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#hot_resize = true
#id аккаунта владельца образа
#опциональный параметр
#тип - целое число
#используется при создании и обновлении
#account_id = 57252
#имя пользователя и пароль для загрузки бинарных данных
#опциональные параметры
#тип - строка
#используется при создании и обновлении
#username_dl = "Valera1"
#password_dl = "1231"
#sep id
#опциональный параметр
#тип - целое число
#используется при создании
#sep_id = 1206
#пул для создания образа
#опциональный тип
#тип - строка
#используется при создании
#pool_name = "vmstor"
#доступность образа
#опциональный параметр
#тип - булев
#используется при обновлении
#enabled = true
#настройка доступа образа аккаунтам
#опциональный параметр
#тип - массив целых чисел
#пустой массив - удаление всех доступов, если они были
#используется при обновлении
#shared_with = [28096, 57121]
#установка computeci
#опциональный параметр
#тип - целое число
#чтобы сбросить, необходимо передать 0
#используется при обновлении
#computeci_id = 1
#является ли образ загрузочным
#опциональный параметр
#тип - булев
#используется при обновлении
#bootable = true
}
output "test" {
value = decort_cb_cdrom_image.my_image
}

View File

@@ -0,0 +1,138 @@
/*
Ресурс образа из компьюта, созданного как blank позволяет:
1. Создавать
2. Редактировать
3. Удалять ресурс
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
resource "decort_cb_image_from_blank_compute" "my_image" {
#id виртуальной машины, созданной как blank
#обязательный параметр
#тип - целое число
#используется при создании
compute_id = 1234
#имя образа
#обязательный параметр
#тип - строка
#при изменении - изменяет название созданного образа
#используется при создании и обновлении
name = "test_image_rename"
#тип загрузки образа
#обязательный параметр
#тип - строка
#возможные варианты: "bios" или "uefi"
#используется при создании
boot_type = "bios"
#тип образа
#обязательный параметр
#тип - строка
#возможные варианты - "linux", "windows", "unknown"
#используется при создании
image_type = "linux"
#id политики хранения
#обязательный параметр
#тип - целое число
#используется при создании
storage_policy_id = 111
#имя пользователя для образа
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#username = "userx"
#пароль для образа
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#password = "passx"
#id аккаунта
#опциональный параметр
#тип - целое число
#используется при создании и обновлении
#account_id = 138
#название pool
#опциональный параметр
#тип - строка
#используется при создании
#pool_name = "pool"
#поддержка hot resize
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#hot_resize = true
#флаг для создания образа в асинхронном режиме
#опциональный параметр
#по умолчанию - false
#тип - булев
#используется при создании
#async_mode = true
#доступность образа
#опциональный параметр
#тип - булев
#используется при обновлении
#enabled = true
#является ли образ загрузочным
#опциональный параметр
#тип - булев
#используется при обновлении
#bootable = true
#настройка доступа образа аккаунтам
#опциональный параметр
#тип - массив целых чисел
#пустой массив - удаление всех доступов, если они были
#используется при создании и обновлении
#shared_with = [28096, 57121]
#установка computeci
#опциональный параметр
#тип - целое число
#чтобы сбросить, необходимо передать 0
#используется при обновлении
#computeci_id = 1
#наименование сетевого интерфейса для вашего компьютера с Linux
#eth - встроенный, ens - pci слот
#опциональный параметр
#тип - строка
#используется при обновлении
#network_interface_naming = "ens"
}
output "test" {
value = decort_cb_image_from_blank_compute.my_image
}

View File

@@ -0,0 +1,131 @@
/*
Ресурс образа из платформенного диска:
1. Создавать
2. Редактировать
3. Удалять ресурс
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
resource "decort_cb_image_from_platform_disk" "my_image" {
#id платформенного диска
#обязательный параметр
#тип - целое число
#используется при создании
disk_id = 1234
#имя образа
#обязательный параметр
#тип - строка
#при изменении - изменяет название созданного образа
#используется при создании и обновлении
name = "test_image_rename"
#тип загрузки образа
#обязательный параметр
#тип - строка
#возможные варианты: "bios" или "uefi"
#используется при создании
boot_type = "bios"
#тип образа
#обязательный параметр
#тип - строка
#возможные варианты - "linux", "windows", "unknown"
#используется при создании
image_type = "linux"
#имя пользователя для образа
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#username = "userx"
#пароль для образа
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#password = "passx"
#id аккаунта
#опциональный параметр
#тип - целое число
#используется при создании и обновлении
#account_id = 138
#название pool
#опциональный параметр
#тип - строка
#используется при создании
#pool_name = "pool"
#поддержка hot resize
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#hot_resize = true
#является ли образ загрузочным
#тип - булев
#используется при создании и обновлении
#bootable = true
#флаг для создания образа в асинхронном режиме
#опциональный параметр
#по умолчанию - false
#тип - булев
#используется при создании
#async_mode = true
#доступность образа
#опциональный параметр
#тип - булев
#используется при обновлении
#enabled = true
#настройка доступа образа аккаунтам
#опциональный параметр
#тип - массив целых чисел
#пустой массив - удаление всех доступов, если они были
#используется при создании и обновлении
#shared_with = [28096, 57121]
#установка computeci
#опциональный параметр
#тип - целое число
#чтобы сбросить, необходимо передать 0
#используется при обновлении
#computeci_id = 1
#наименование сетевого интерфейса для вашего компьютера с Linux
#eth - встроенный, ens - pci слот
#опциональный параметр
#тип - строка
#используется при обновлении
#network_interface_naming = "ens"
}
output "test" {
value = decort_cb_image_from_platform_disk.my_image
}

View File

@@ -0,0 +1,100 @@
/*
Пример использования
Ресурса multi image
Ресурс позволяет:
1. Создавать образ
2. Редактировать образ
3. Удалять образ
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
resource "decort_cb_multi_image" "my_multi_image" {
#имя мульти-образа
#обязательный параметр
#тип - строка
#используется при создании и обновлении
name = "test_multi_image"
#список id реальных образов, на основе которых создаётся мульти-образ
#обязательный параметр
#тип - массив целых чисел
#используется при создании и обновлении (добавляет/удаляет привязки)
target_ids = [6125, 6126]
#id аккаунта владельца образа
#опциональный параметр
#тип данных - целое число
#используется при создании и обновлении
#account_id = 57252
#является ли образ загрузочным
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#bootable = true
#поддержка hot resize
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#hot_resize = true
#имя пользователя
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#username = "Valera"
#пароль пользователя
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#password = "123"
#доступность образа
#опциональный параметр
#тип - булев, по умолчанию true
#используется при создании и обновлении
#enabled = false
#настройка доступа образа аккаунтам
#опциональный параметр
#пустой массив - удаление всех доступов, если они были
#тип - массив целых чисел
#используется при создании и обновлении
#shared_with = [28096, 57121]
#установка computeci
#опциональный параметр
#чтобы сбросить, необходимо передать 0
#тип - целое число
#используется при создании и обновлении
#computeci_id = 1
}
output "test" {
value = decort_cb_multi_image.my_multi_image
}

View File

@@ -0,0 +1,100 @@
/*
Пример использования
Ресурса virtual image
Ресурс позволяет:
1. Создавать образ
2. Редактировать образ
3. Удалять образ
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
resource "decort_cb_virtual_image" "my_image" {
#имя виртуального образа
#обязательный параметр
#тип - строка
#используется при создании и обновлении
name = "test_vi_im_new_rename"
#id образа, на основе которого будет создан виртуальный
#обязательный параметр
#тип - целое число
#используется при создании и обновлении
link_to = 6125
#id аккаунта владельца образа
#опциональный параметр
#тип данных - целое число
#используется при создании и обновлении
#account_id = 57252
#является ли образ загрузочным
#опциональный параметр
#тип - булев
#используется при обновлении
#bootable = true
#поддержка hot resize
#опциональный параметр
#тип - булев
#используется при обновлении
#hot_resize = true
#имя пользователя
#опциональный параметр
#тип - строка
#используется при обновлении
#username = "Valera"
#пароль пользователя
#опциональный параметр
#тип - строка
#используется при обновлении
#password = "123"
#доступность образа
#опциональный параметр
#тип - булев
#используется при обновлении
#enabled = false
#настройка доступа образа аккаунтам
#опциональный параметр
#пустой массив - удаление всех доступов, если они были
#тип - массив целых чисел
#используется при обновлении
#shared_with = [28096, 57121]
#установка computeci
#опциональный параметр
#чтобы сбросить, необходимо передать 0
#тип - целое число
#используется при обновлении
#computeci_id = 1
}
output "test" {
value = decort_cb_virtual_image.my_image
}

View File

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

View File

@@ -0,0 +1,74 @@
/*
Пример использования
Получение списка k8ci
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_cb_k8ci_list" "k8cil" {
#фильтр по id k8ci
#опциональный параметр
#тип - целое число
#by_id = 111
#фильтр по имени k8ci
#опциональный параметр
#тип - строка
#name = "name"
#фильтр по статусу k8ci
#опциональный параметр
#тип - строка
#status = "status"
#фильтр по network plugin
#опциональный параметр
#тип - строка
#network_plugin = "flannel"
#исключить из результата недоступные k8ci
#опциональный параметр
#тип - булев
#include_disabled = "true"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - целое число
#page = 2
#размер страницы
#опциональный параметр
#тип - целое число
#size = 3
}
output "test" {
value = data.decort_cb_k8ci_list.k8cil
}

View File

@@ -0,0 +1,64 @@
/*
Пример использования
Получение списка удаленных k8ci
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_cb_k8ci_list_deleted" "k8cild" {
#фильтр по id k8ci
#опциональный параметр
#тип - целое число
#by_id = 111
#фильтр по имени k8ci
#опциональный параметр
#тип - строка
#name = "name"
#фильтр по network plugin
#опциональный параметр
#тип - строка
#network_plugin = "flannel"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - целое число
#page = 2
#размер страницы
#опциональный параметр
#тип - целое число
#size = 3
}
output "test" {
value = data.decort_cb_k8ci_list_deleted.k8cild
}

View File

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

View File

@@ -0,0 +1,38 @@
/*
Пример использования
Получение информации о компьютах k8s кластера
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
oauth2_url = "https://sso.digitalenergy.online"
controller_url = "https://mr4.digitalenergy.online"
app_id = ""
app_secret = ""
}
data "decort_cb_k8s_computes" "computes" {
#id кластера
#обязательный параметр
#тип - целое число
k8s_id = 999
}
output "computes_out" {
value = data.decort_cb_k8s_computes.computes
}

View File

@@ -0,0 +1,103 @@
/*
Пример использования
Получение списка доступных кластеров
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_cb_k8s_list" "k8s_list" {
#фильтр по id кластера
#опциональный параметр
#тип - целое число
#by_id = 100
#фильтр по имени кластера
#опциональный параметр
#тип - строка
#name = "test"
#фильтр по ip
#опциональный параметр
#тип - строка
#ip_address = "test"
#фильтр по id ресурсной группы
#опциональный параметр
#тип - целое число
#rg_id = 100
#фильтр по id балансировщика нагрузки
#опциональный параметр
#тип - целое число
#lb_id = 100
#фильтр по id ресурсной группы
#опциональный параметр
#тип - целое число
#bservice_id = 100
#фильтр по статусу
#опциональный параметр
#тип - строка
#status = "ENABLED"
#фильтр по техническому статусу
#опциональный параметр
#тип - строка
#tech_status = "STOPPED"
#включение удаленных k8s в результат
#опциональный параметр
#тип - булев
#если не задан - выводятся все неудаленные данные
#include_deleted = true
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 1
#размер страницы
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 1
#id зоны
#опциональный параметр
#тип - целое число
#значение по умолчанию - 0
#zone_id = 11
}
output "output_k8s_list" {
value = data.decort_cb_k8s_list.k8s_list
}

View File

@@ -0,0 +1,87 @@
/*
Пример использования
Получение списка удаленных кластеров
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_cb_k8s_list_deleted" "k8s_list_deleted" {
#фильтр по id кластера
#опциональный параметр
#тип - целое число
#by_id = 100
#фильтр по имени кластера
#опциональный параметр
#тип - строка
#name = "test"
#фильтр по ip
#опциональный параметр
#тип - строка
#ip_address = "test"
#фильтр по id ресурсной группы
#опциональный параметр
#тип - целое число
#rg_id = 100
#фильтр по id балансировщика нагрузки
#опциональный параметр
#тип - целое число
#lb_id = 100
#фильтр по id ресурсной группы
#опциональный параметр
#тип - целое число
#bservice_id = 100
#фильтр по техническому статусу
#опциональный параметр
#тип - строка
#tech_status = "STOPPED"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 1
#размер страницы
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 1
}
output "output_k8s_list_deleted" {
value = data.decort_cb_k8s_list_deleted.k8s_list_deleted
}

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,104 @@
/*
Пример использования
Ресурса k8ci
Ресурс позволяет:
1. Создавать k8ci
2. Редактировать k8ci
3. Удалять k8ci
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
resource "decort_cb_k8ci" "k8ci" {
#имя k8ci
#обязательный параметр
#тип - строка
#используется при создании
name = "test"
#тег версии
#обязательный параметр
#тип - строка
#используется при создании
version = "1.1.1"
#максимальное число master компьютов
#обязательный параметр
#тип - целое число
#используется при создании
max_master_count = 1
#максимальное число worker компьютов
#обязательный параметр
#тип - целое число
#используется при создании
max_worker_count = 1
#id образа для master
#обязательный параметр
#тип - целое число
#используется при создании
master_image_id = 4
#id образа для worker
#обязательный параметр
#тип - целое число
#используется при создании
worker_image_id = 4
#network plugins
#обязательный параметр
#тип - массив строк
#используется при создании
network_plugins = ["flannel"]
#доступность k8ci
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#enabled = false
#флаг для удаления k8ci, без возможности восстановления
#опциональный параметр
#тип - булев
#используется при удалении
#permanently = true
#описание
#опциональный параметр
#тип - строка
#используется при создании
#desc = "some"
#доступность k8ci другим аккаунтам
#опциональный параметр
#тип - массив целых чисел
#используется при создании и обновлении
#shared_with = [1111]
}
output "test" {
value = decort_cb_k8ci.k8ci
}

View File

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

View File

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

View File

@@ -0,0 +1,126 @@
/*
Пример использования
Получение информации о группе воркеров кластера Kubernetes(k8s)
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
resource "decort_cb_k8s_wg" "wg" {
#id экземпляра k8s
#обязательный параметр
#это значение должно быть и результат вызова decort_cb_k8s.cluster.k8s_id
#тип - целое число
#используется при создании
k8s_id = 1234
#имя worker group
#обязательный параметр
#тип - строка
#используется при создании
name = "workers-2"
#id политики хранения
#обязательный параметр
#тип - целое число
#используется при создании
storage_policy_id = 111
#количество worker node для создания
#опциональный параметр
#тип - целое число
#по умолчанию - 1
#используется при создании и обновлении
#num = 2
#количество cpu для 1 worker node
#опциональный параметр
#тип - целое число
#по умолчанию - 1
#используется при создании
#cpu = 1
#количество RAM для одной worker node в МБ
#опциональный параметр
#тип - целое число
#по умолчанию - 1024
#используется при создании
#ram = 1024
#размер загрузочного диска для worker node, в ГБ
#опциональный параметр
#по умолчанию - 0
#если установлен параметр 0, то размер диска будет равен размеру образа
#тип - целое число
#используется при создании
#disk = 10
#список строк с labels для worker группы, в формате: ["label1=value1", "label2=value2"]
#опциональный параметр
#тип - массив строк
#используется при создании
#labels = ["label1=value1", "label2=value2"]
#список строк с annotations для worker группы, в формате: ["key1=value1", "key2=value2"]
#опциональный параметр
#тип - массив строк
#используется при создании
#annotations = ["key1=value1", "key2=value2"]
#список строк с taints для worker группы, в формате: ["key1=value1:NoSchedule", "key2=value2:NoExecute"]
#опциональный параметр
#тип - массив строк
#используется при создании
#taints = ["key1=value1", "key2=value2"]
#id СХД для создания загрузочных дисков для Worker-групп по умолчанию. Использует sepId образа, если не указан.
#опциональный параметр
#тип - целое число
#используется при создании
#worker_sep_id = 1
#пул для хранения Workers. Если не заполнить, будет выбран системой
#опциональный параметр
#тип - целое число
#используется при создании
#worker_sep_pool = "worker_pool"
#перечень аргументов для cloud-init для виртуальных машин worker групп
#опциональный параметр
#тип - файл в формате YAML
#используется при создании и обновлении
#cloud_init = file("initconfig.tftpl")
#тип эмулируемой системы
#опциональный параметр
#тип - строка
#возможные значения: "i440fx", "Q35"
#по умолчанию - Q35
#используется при создании
#chipset = "Q35"
}
output "test_wg" {
value = decort_cb_k8s_wg.wg
}

View File

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

View File

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

View File

@@ -0,0 +1,92 @@
/*Deprecated
Данный datasource является **deprecated** и будет удалён в следующих версиях. Вместо него неоходимо использовать datasource **decort_cb_audit_list**.
*/
/*
Пример использования
Получение данных об аудитах compute (виртулаьной машине)
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_cb_kvmvm_audits" "kvmvm_audits" {
#id виртуальной машины
#обязательный параметр
#тип - целое число
compute_id = 10154
#найти все аудиты после определенного момента времени
#опциональный параметр
#тип - целое число
#timestamp_to = 11
#найти все аудиты до определенного момента времени
#опциональный параметр
#тип - целое число
#timestamp_at = 11
#фильтр по юзеру
#опциональный параметр
#тип - строка
#user = "user"
#фильтр по эндпоинту апи
#опциональный параметр
#тип - строка
#call = "call"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - целое число
#значение по умолчанию - 1
#page = 1
#размер страницы
#опциональный параметр
#тип - целое число
#значение по умолчанию - 100
#size = 100
#найти по минимальному коду статуса HTTP
#опциональный параметр
#тип - целое число
#min_status_code = 1
#найти по максимальному коду статуса HTTP
#опциональный параметр
#тип - целое число
#max_status_code = 140
}
output "output" {
value = data.decort_cb_kvmvm_audits.kvmvm_audits
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,129 @@
/*
Пример использования
Получение данных о списке compute (виртуальных машин)
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_cb_kvmvm_list" "compute_list" {
#фильтр по id ВМ
#опциональный параметр
#тип - целое число
#by_id = 100
#фильтр по имени ВМ
#опциональный параметр
#тип - строка
#name = "test"
#id аккаунта для получения списка ВМ
#опциональный параметр
#тип - целое число
#account_id = 11111
#фильтр по имени ресурсной группы
#опциональный параметр
#тип - строка
#rg_name = "test"
#фильтр по id ресурсной группы
#опциональный параметр
#тип - целое число
#rg_id = 100
#фильтр по техническому статусу
#опциональный параметр
#тип - строка
#tech_status = "STOPPED"
#фильтр по названию ноды
#опциональный параметр
#тип - строка
#node_name = "node_name"
#фильтр по статусу
#опциональный параметр
#тип - строка
#status = "ENABLED"
#фильтр по ip
#опциональный параметр
#тип - строка
#ip_address = "test"
#фильтр по node id
#опциональный параметр
#тип - целое число
#node_id = 123
#фильтр по cd image id
#опциональный параметр
#тип - целое число
#cd_image_id = 123
#фильтр по имени extnet
#опциональный параметр
#тип - строка
#extnet_name = "test"
#фильтр по id extnet
#опциональный параметр
#тип - целое число
#extnet_id = 100
#флаг включения в результат удаленных балансировщиков нагрузки
#опциональный параметр
#если не задан - выводятся все доступные неудаленные балансировщики
#по умолчанию - false
#тип - булев
#includedeleted = true
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#page = 1
#размер страницы
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#size = 1
#id зоны
#опциональный параметр
#тип - целое число
#значение по умолчанию - 0
#zone_id = 11
}
output "output" {
value = data.decort_cb_kvmvm_list.compute_list
}

View File

@@ -0,0 +1,97 @@
/*
Пример использования
Получение данных о списке удаленных compute (виртуальных машин)
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_cb_kvmvm_list_deleted" "compute_list" {
#фильтр по id виртуальной машины
#опциональный параметр
#тип - целое число
#by_id = 100
#фильтр по имени виртуальной машины
#опциональный параметр
#тип - строка
#name = "test"
#фильтр по id аккаунта
#опциональный параметр
#тип - целое число
#account_id = 100
#фильтр по имени ресурсной группы
#опциональный параметр
#тип - строка
#rg_name = "test"
#фильтр по id ресурсной группы
#опциональный параметр
#тип - целое число
#rg_id = 100
#фильтр по техническому статусу
#опциональный параметр
#тип - строка
#tech_status = "some"
#фильтр по ip
#опциональный параметр
#тип - строка
#ip_address = "test"
#фильтр по имени extNet
#опциональный параметр
#тип - строка
#extnet_name = "test"
#фильтр по id extNet
#опциональный параметр
#тип - целое число
#extnet_id = 100
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 1
#размер страницы
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 1
}
output "output" {
value = data.decort_cb_kvmvm_list_deleted.compute_list
}

View File

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

View File

@@ -0,0 +1,77 @@
/*
Пример использования
Получение данных о списке подключенных устройств (PCI)
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_cb_kvmvm_pci_device_list" "pci_device_list" {
#id виртуальной машины
#обязательный параметр
#тип - целое число
compute_id = 100
#фильтр по id ресурсной группы
#опциональный параметр
#тип - целое число
#rg_id = 100
#фильтр по id устройства
#опциональный параметр
#тип - целое число
#device_id = 100
#фильтр по имени устройства
#опциональный параметр
#тип - строка
#name = "test"
#фильтр по статусу
#опциональный параметр
#тип - строка
#status = "ENABLED"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#page = 1
#размер страницы
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#size = 1
}
output "output" {
value = data.decort_cb_kvmvm_pci_device_list.pci_device_list
}

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,76 @@
/*
Пример использования
Получение данных о списке подключенных графических процессоров
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_cb_kvmvm_vgpu_list" "vgpu_list" {
#id виртуальной машины
#обязательный параметр
#тип - целое число
compute_id = 100
#фильтр по id графического процессора
#опциональный параметр
#тип - целое число
#gpu_id = 100
#фильтр по типу графического процессора
#опциональный параметр
#тип - строка
#type = "NVIDIA"
#фильтр по статусу
#опциональный параметр
#тип - строка
#status = "ENABLED"
#фильтр "включая удаленные графические процессоры"
#опциональный параметр
#тип - булев
#includedeleted = false
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#page = 1
#размер страницы
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#size = 1
}
output "output" {
value = data.decort_cb_kvmvm_vgpu_list.vgpu_list
}

View File

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

View File

@@ -0,0 +1,750 @@
/*
Пример использования
Работа с ресурсом kvmvm (compute)
Ресурс позволяет:
1. Создавать compute
2. Редактировать compute
3. Удалять compute
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
resource "decort_cb_kvmvm" "comp" {
#имя compute
#обязательный параметр
#тип - строка
#используется при создании и обновлении
name = "test-tf-compute-update-new"
#id ресурсной группы
#обязательный параметр
#тип - целое число
#используется при создании
rg_id = 1111
#число cpu
#обязательный параметр
#тип - целое число
#используется при создании и обновлении
cpu = 1
#кол-во оперативной памяти, МБ
#обязательный параметр
#тип - целое число
#используется при создании и обновлении
ram = 2048
#id политики хранения
#обязательный параметр
#тип - целое число
#используется при создании
storage_policy_id = 1
#тип эмулируемой системы
#опциональный параметр
#тип - строка
#возможные значения: "i440fx", "Q35"
#по умолчанию - Q35
#используется при создании и обновлении
#chipset = "Q35"
#тип часов для ВМ
#опциональный параметр
#возможные значения: "default", "linux", "windows", "none"
#по умолчанию - "default"
#используется при создании и обновлении
#clock = "linux"
#id образа диска для создания compute
#опциональный параметр
#тип - целое число
#используется при создании и обновлении
#image_id = 111
#создать вм без загрузочного диска
#если значение равно True, параметры image_id, boot_disk_size, sep_id, pool игнорируются
#компьютер создается без загрузочного диска в остановленном состоянии
#опциональный параметр
#тип - булев
#используется при создании
#without_boot_disk = true
#создание без образа ОС
#опциональный параметр
#тип - булев
#используется при создании
#create_blank = false
#размер загрузочного диска
#опциональный параметр
#тип - целое число
#используется при создании и обновлении
#boot_disk_size = 20
#установка режима кэширования для загрузочного диска
#опциональный параметр
#тип - строка
#значение по умолчанию - none
#возможные варианты: "none" или "writethrough"
#используется при создании и обновлении
#boot_disk_cache = "none"
#id сепа для boot диска
#опциональный параметр
#тип - целое число
#используется при создании
#sep_id = 1
#название пула
#опциональный параметр
#тип - строка
#используется при создании
#pool = "data02"
#конфигурация cloud init
#опциональный параметр
#тип - файл в формате JSON
#используется при создании
#cloud_init = file("initconfig.tftpl")
#описание compute
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#description = "test update description in tf words update"
#node id
#опциональный параметр
#тип - целое число
#используется при создании
#node_id = 1
#id образа CD-ROM для загрузки
#опциональный параметр
#тип - целое число
#используется при создании и обновлении
#alt_boot_id = 1
#необходимость выравнивать ВМ по NUMA
#опциональный параметр
#тип - строка
#возможные значения - "none, "strict", "loose"
#по умолчанию - "none"
#используется при создании и обновлении
#numa_affinity = "loose"
#необходимость запускать ВМ на выделенных CPU ядрах
#опциональный параметр
#тип - булев
#по умолчанию - false
#используется при создании и обновлении
#cpu_pin = true
#необходимость использовать для выделения RAM виртуальной машины Huge Pages
#опциональный параметр
#тип - булев
#по умолчанию - false
#используется при создании и обновлении
#hp_backed = true
#установка режима "только для чтения", который позволяет лишь получать информацию о ВМ, ничего в ней не менять
#опциональный параметр
#тип - булев
#значение по умолчанию - false
#используется при создании и обновлении
#read_only = false
#создание и добавление диска для compute
#при изменении параметров `pool` и `sep_id` для обновления ресурса может возникнуть необходимость синхронизации
#состояния при помощи команды `terraform refresh`
#опциональный параметр
#тип - список дисков
#используется при создании и обновлении
#disks {
#имя диска
#обязательный для диска параметр
#тип - строка
#disk_name = "disk_name"
#размер диска
#обязательный для диска параметр
#тип - целое число
#size = 5
#id политики хранения
#обязательный для диска параметр
#тип - целое число
#storage_policy_id = 1
#установка режима кэширования
#опциональный параметр
#тип - строка
#значение по умолчанию - none
#возможные варианты: "none" или "writethrough"
#cache = "none"
#опциональный параметр
#тип - целое число
#sep_id = 1
#название пула
#опциональный параметр
#тип - строка
#pool = "data01"
#список node
#опциональный параметр
#тип - массив целых чисел
#node_ids = [10,11]
#описание диска
#опциональный параметр
#тип - строка
#desc = ""
#id образа
#опциональный параметр
#image_id = 378
#флаг для удаления диска, без возможности восстановления
#опциональный параметр
#тип - булев
#permanently = false
#включение режима unmap для диска
#опциональный параметр
#тип - строка
#по умолчанию - "ignore"
#возможные варианты: "ignore" или "unmap"
#используется при создании и обновлении
#discard = "unmap"
#размер блока диска
#опциональный параметр
#тип - строка
#возможные варианты: "512", "512e", "4k"
#block_size = "4k"
#настройки лимитов операций ввода/вывода диска
#опциональный параметр
#тип - блок
#тип вложенных полей - целое число
#используется при создании и обновлении
#iotune {
#read_bytes_sec = 0
#read_bytes_sec_max = 0
#read_iops_sec = 0
#read_iops_sec_max = 0
#size_iops_sec = 0
#total_bytes_sec = 0
#total_bytes_sec_max = 0
#total_iops_sec = 3000
#total_iops_sec_max = 0
#write_bytes_sec = 0
#write_bytes_sec_max = 0
#write_iops_sec = 0
#write_iops_sec_max = 0
#}
#}
#правила affinity
#опциональный параметр
#может быть один, несколько или ни одного блока
#тип - блок
#используется при создании и обновлении
#affinity_rules {
#тип правила
#возможные значения - compute или node
#обязательный параметр
#тип - строка
#topology = "compute"
#строгость правила
#возможные значения - RECOMMENDED и REQUIRED
#обязательный параметр
#тип - строка
#policy = "RECOMMENDED"
#режим проверки
#возможные значения - ANY, EQ, NE
#обязательный параметр
#тип - строка
#mode = "ANY"
#ключ правила
#обязательный параметр
#тип - строка
#key = "testkey"
#ключ правила
#обязательный параметр
#тип - строка
#value = "testvalue"
#}
#правила anti-affinity
#опциональный параметр
#может быть один, несколько или ни одного блока
#тип - блок
#используется при создании и обновлении
#anti_affinity_rules {
#тип правила
#возможные значения - compute или node
#обязательный параметр
#тип - строка
#topology = "compute"
#строгость правила
#возможные значения - RECOMMENDED и REQUIRED
#обязательный параметр
#тип - строка
#policy = "RECOMMENDED"
#режим проверки
#возможные значения - ANY, EQ, NE
#обязательный параметр
#тип - строка
#mode = "ANY"
#ключ правила
#обязательный параметр
#тип - строка
#key = "testkey"
#ключ правила
#обязательный параметр
#тип - строка
#value = "testvalue"
#}
#установка метки для вм
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#affinity_label = "test4"
#имя профиля CPU alignment
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#cpu_alignment_profile = "balanced"
#id экстра дисков
#опциональный параметр
#тип - список чисел
#используется при создании и обновлении
#extra_disks = [1234, 4322, 1344]
#управление XML виртуальной машины
#опциональный параметр
#тип - строка (json-encoded)
#используется при создании и обновлении
#custom_fields = "{`key`:`value`}"
#присоединение сетей и удаление сетей в компьюте
#опциональный параметр
#тип - блок
#используется при создании и обновлении
#network {
#тип сети
#обязательный параметр
#возможные значения - "VINS", "EXTNET", "VFNIC", "DPDK", "SDN", "TRUNK" (при выборе типа DPDK, необходимо указать hp_backed = true)
#тип - строка
#net_type = "VINS"
#id сети
#обязательный параметр
#при использовании SDN необходимо указать любое значение отличное от 0
#тип - целое число
#net_id = 1234
#ip адрес входящий в сеть
#опциональный параметр
#тип - строка
#ip_address = "127.0.0.1"
#mac-адрес интерфейса компьюта
#опциональный параметр
#тип - строка
#mac = "52:54:01:12:34:60"
#вес сети, указывается при необходимости указания порядка подключения сетей
#первой подключается сеть с наименьшим весом
#сеть с нулевым или неуказанным весом имеет наименьший приоритет
#опциональный параметр
#тип - целое число
#weight = 15
#максимальный объём данных, который может быть передан за одну итерацию
#используется с сетями типа "DPDK", "TRUNK", "EXTNET"
#возможные значения - 1500-9216
#опциональный параметр
#тип - целое число
#mtu = 1500
#id sdn сети
#используется только с сетями типа "SDN"
#опциональный параметр
#тип - строка
#sdn_interface_id = "f2d87a70-ea35-468d-8aef-bb1ecbe2e476"
#включение сетевого интерфейса
#используется с сетями типа "VINS", "EXTNET", "DPDK", "SDN", "TRUNK"
#по умолчанию - true
#опциональный параметр
#тип - булев
#enabled = true
#маска подсети
#используется только с сетями типа "DPDK" и "VFNIC"
#опциональный параметр
#тип - целое число
#net_mask = 32
#}
#группы безопасности
#опциональный параметр
#тип - блок
#не применяется к сетям типа "VFNIC", "TRUNK", "SDN"
#используется при создании и обновлении
#security_groups {
#тип сети
#обязательный параметр
#тип - строка
#возможные значения - "VINS", "EXTNET", "DPDK" (при выборе типа DPDK, необходимо указать hp_backed = true)
#net_type = "VINS"
#id сети
#обязательный параметр
#при использовании SDN необходимо указать любое значение отличное от 0
#тип - целое число
#net_id = 1234
#список id групп безопасности
#обязательный параметр
#тип - массив целых чисел
#security_groups = [12, 34]
#флаг, указывающий, включены ли группы безопасности
#опциональный параметр
#тип - булев
#по умолчанию: false
#enable_secgroups = false
#}
#добавление и удаление тэгов
#опциональный параметр
#тип - блок
#используется при создании и обновлении
#tags {
#ключ для тэга
#обязательный параметр
#тип - строка
#key = "key"
#значения тэга
#обязательный параметр
#тип - строка
#value = "value"
#}
#добавление и удаление port forwarding
#опциональный параметр
#тип - блок
#используется при создании и обновлении
#port_forwarding {
#номер внешнего начального порта для правила
#обязательный параметр
#тип - целое число
#public_port_start = 2023
#номер внешнего последнего порта для правила
#опциональный параметр
#тип - целое число
#по умолчанию - -1
#public_port_end = 2023
#номер внутреннего базового порта
#обязательный параметр
#тип - целое число
#local_port = 80
#сетевой протокол
#обязательный параметр
#тип - строка
#proto = "tcp"
#}
#предоставить/забрать пользователю доступ к компьюту
#опциональный параметр
#тип - блок
#используется при создании и обновлении
#user_access {
#имя юзера, которому предоставляем доступ
#обязательный параметр
#тип - строка
#username = "some@decs3o"
#права: 'R' - только на чтение, 'RCX' - чтение/запись, 'ARCXDU' - админ
#обязательный параметр
#тип - строка
#access_type = "ARCXDU"
#}
#создать/удалить снапшот компьюта
#опциональный параметр
#тип - блок
#используется при создании и обновлении
#snapshot {
#лейбл снапшота
#обязательный параметр
#тип - строка
#label = "label1"
#}
#флаг для удаления снапшотов в асинхронном режиме
#опциональный параметр
#тип - булев
#по умолчанию - false
#используется при обновлении
#snapshot_delete_async = true
#rollback на нужный снапшот
#опциональный параметр
#не имеет смысла при отсутсвии снапшотов
#тип - блок
#используется при обновлении
#rollback {
#лейбл снапшота
#обязательный параметр
#тип - строка
#label = "label1"
#}
#вставить/удалить СD rom
#опциональный параметр
#максимальное кол-во - 1
#тип - блок
#используется при создании и обновлении
#cd {
#id образа диска CD rom
#обязательный параметр
#тип - целое число
#cdrom_id = 344
#}
#добавить компьют на ноду
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#pin_to_node = true
#список ядер для использования в механизме vcpupinning. Количество указанных ядер должно быть равно количеству виртуальных процессоров ВМ
#игнорируется если cpu_pin=false или pin_to_node=false
#опциональный параметр
#тип - массив целых чисел
#используется при создании и обновлении
#preferred_cpu = [1234, 456]
#флаг для старта компьюта при рестарте ноды
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#auto_start_w_node = true
#флаг для принудительного добавления компьюта на ноду
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#force_pin = true
#список PCI девайсов
#опциональный параметр
#тип - массив целых чисел
#используется при создании и обновлении
#pci_devices = [1,2]
#флаг доступности компьюта для проведения с ним операций
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#enabled = true
#pause/resume компьюта
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#pause = true
#сделать компьют заново
#опциональный параметр
#тип - булев
#используется при обновлении
#reset = true
#восстановить удаленный компьют из корзины
#опциональный параметр
#тип - булев
#используется при обновлении
#restore = true
#флаг для редеплоя компьюта
#опциональный параметр
#тип - булев
#используется при обновлении
#force_stop = true
#флаг для ресайза компьюта
#опциональный параметр
#тип - булев
#используется при обновлении
#force_resize = true
#запуск/стоп компьюта
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#started = true
#detach диска при удалении компьюта
#опциональный параметр
#тип - булев
#используется при удалении
#detach_disks = true
#флаг для удаления компьюта, без возможности восстановления
#опциональный параметр
#тип - булев
#используется при удалении
#permanently = false
#конфигурация параметров libvirt virtio интерфейса
#опциональный параметр
#добавление блока возможно только при выключенной виртуальной машине,
#удаление блока удалит настройки только локально, состояние на платформе не изменится
#тип - блок
#используется при создании и обновлении
#libvirt_settings {
#тип сети
#обязательный параметр
#возможные значения - "VINS", "VFNIC", "DPDK"
#тип - строка
#net_type = "VINS"
#id сети
#обязательный параметр
#тип - целое число
#net_id = 1234
#tx mode
#опциональный параметр
#возможные значения - 'iothread', 'timer' или 'selected by hypervisor'
#тип - строка
#txmode = "iothread"
#io event
#опциональный параметр
#возможные значения - 'on', 'off' or 'selected by hypervisor'
#тип - строка
#ioeventfd = "on"
#event ID
#опциональный параметр
#возможные значения - 'on', 'off' or 'selected by hypervisor'
#тип - строка
#event_idx = "off"
#количество очередей
#опциональный параметр
#тип - целое число
#queues = "4"
#длина очереди RX
#опциональный параметр
#тип - целое число
#rx_queue_size = "1024"
#длина очереди TX
#опциональный параметр
#тип - целое число
#tx_queue_size = "1024"
#}
#тип ВМ
#возможные значения - linux, windows, unknown
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#loader_type = "unknown"
#тип загрузки образа
#возможные значения - bios, uefi
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#boot_type = "bios"
#изменение размера ВМ
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#hot_resize = false
#наименование сетевого интерфейса
#возможные значения - eth, ens
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#network_interface_naming = "ens"
#идентификатор экземпляра zone
#опциональный параметр
#тип - целое число
#используется при создании и обновлении
#zone_id = 1111
#версия ОС, установленная на ВМ
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#os_version = "name"
#вес ВМ
#опциональный параметр
#тип - целое число
#используется при создании и обновлении
#weight = 1
#включение режима unmap для boot диска
#опциональный параметр
#тип - строка
#по умолчанию - "ignore"
#используется при создании и обновлении
#возможные варианты: "ignore" или "unmap"
#boot_disk_discard = "unmap"
}
output "test" {
value = decort_cb_kvmvm.comp
}

View File

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

View File

@@ -0,0 +1,104 @@
/*
Пример использования
Получение списка load balancer (балансировщиков нагрузки)
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_cb_lb_list" "lbl" {
#фильтр по id балансировщика нагрузки
#опциональный параметр
#тип - целое число
#by_id = 100
#фильтр по имени балансировщика нагрузки
#опциональный параметр
#тип - строка
#name = "test"
#id аккаунта для получения списка балансировщиков нагрузки
#опциональный параметр
#тип - целое число
#account_id = 11111
#фильтр по id ресурсной группы
#опциональный параметр
#тип - целое число
#rg_id = 100
#фильтр по техническому статусу
#опциональный параметр
#тип - строка
#tech_status = "STOPPED"
#фильтр по статусу
#опциональный параметр
#тип - строка
#status = "ENABLED"
#фильтр по IP front
#опциональный параметр
#тип - строка
#front_ip = "ENABLED"
#фильтр по IP back
#опциональный параметр
#тип - строка
#back_ip = "ENABLED"
#флаг включения в результат удаленных балансировщиков нагрузки
#опциональный параметр
#тип - булев
#по умолчанию - false
#если не задан - выводятся все доступные неудаленные балансировщики
#includedeleted = true
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 1
#размер страницы
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 1
#id зоны
#опциональный параметр
#тип - целое число
#значение по умолчанию - 0
#zone_id = 11
}
output "test" {
value = data.decort_cb_lb_list.lbl
}

View File

@@ -0,0 +1,86 @@
/*
Пример использования
Получение списка удаленных load balancer (балансировщиков нагрузок)
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_cb_lb_list_deleted" "lbld" {
#фильтр по id балансировщика нагрузки
#опциональный параметр
#тип - целое число
#by_id = 100
#фильтр по имени балансировщика нагрузки
#опциональный параметр
#тип - строка
#name = "test"
#id аккаунта для получения списка балансировщиков нагрузки
#опциональный параметр
#тип - целое число
#account_id = 11111
#фильтр по id ресурсной группы
#опциональный параметр
#тип - целое число
#rg_id = 100
#фильтр по техническому статусу
#опциональный параметр
#тип - строка
#tech_status = "STOPPED"
#фильтр по IP front
#опциональный параметр
#тип - строка
#front_ip = "ENABLED"
#фильтр по IP back
#опциональный параметр
#тип - строка
#back_ip = "ENABLED"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 1
#размер страницы
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 1
}
output "test" {
value = data.decort_cb_lb_list_deleted.lbld
}

View File

@@ -0,0 +1,139 @@
/*
Пример использования
Ресурса load balancer
Ресурс позволяет:
1. Создавать load balancer
2. Редактировать load balancer
3. Удалять load balancer
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
resource "decort_cb_lb" "lb" {
#id ресурсной группы для создания балансировщика
#обязательный параметр
#тип - целое число
#используется при создании
rg_id = 1111
#наименование load balancer
#обязательный параметр
#тип - строка
#используется при создании
name = "tf-test-lb"
#id внешней сети
#опциональный параметр
#id внешней сети и id виртуальной сети не могут быть одновременно = 0
#тип - целое число
#используется при создании
#extnet_id = 6
#id виртуальной сети
#опциональный параметр
#id внешней сети и id виртуальной сети не могут быть одновременно = 0
#тип - целое число
#используется при создании
#vins_id = 758
#флаг запуска load balancer
#опциональный параметр
#если load balancer был в статусе "stopped" (start = false),
#то для успешного старта, он должен быть доступен (enable = true)
#по умолчанию - true
#тип - булев
#используется при создании и обновлении
#start = true
#создать схему отказоустойчивой LB
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#ha_mode = true
#описание
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#desc= "temp super lb for testing tf provider"
#флаг доступности load balancer
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#enable = true
#флаг перезапуска load balancer
#опциональный параметр
#перезагрузка срабатывает только при изменении флага с false на true
#тип - булев
#используется при обновлении
#restart = false
#флаг сброса конфигурации load balancer
#опциональный параметр
#сброс срабатывает только при изменении флага с false на true
#тип - булев
#используется при обновлении
#config_reset = false
#флаг для удаления load balancer, без возможности восстановления
#опциональный параметр
#применяется при выполнении команды terraform destroy
#по умолчанию - false
#тип - булев
#используется при удалении
#permanently = false
#флаг восстановления load balancer
#опциональный параметр
#восстановить можно load balancer, удаленным с флагом permanently = false
#тип - булев
#используется при обновлении
#restore = true
#флаг используемый при рестарте load balancer
#опциональный параметр
#по умолчанию - true, при данном значении рестарт производится на обоих нодах в HA mode
#тип - булев
#используется при обновлении
#safe = true
#пользовательские значения sysctl для LB
#опциональный параметр
#тип - список мап
#используется при создании и обновлении
#sysctl_params = [{ key1 = "value1", key2 = "value2" }]
#идентификатор экземпляра zone
#опциональный параметр
#тип - целое число
#используется при создании и обновлении
#zone_id = 1111
}
output "test" {
value = decort_cb_lb.lb
}

View File

@@ -0,0 +1,120 @@
/*
Пример использования
Ресурса load balancer backend
Ресурс позволяет:
1. Создавать backend
2. Редактировать backend
3. Удалять backend
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
resource "decort_cb_lb_backend" "lbb" {
#id балансировщика нагрузки
#обязательный параметр
#тип - целое число
#используется при создании
lb_id = 668
#имя бекенда для создания сервера
#обязательный параметр
#тип - строка
#используется при создании
name = "testBackend"
#алгоритм балансировки
#опциональный параметр
#доступные значения - "roundrobin", "static-rr", "leastconn"
#по умолчанию - "roundrobin"
#тип - строка
#используется при создании и обновлении
#algorithm = "roundrobin"
#-------------------
#настройки для серверов по умолчанию
#-------------------
#интервал между проверками, в миллисекундах
#опциональный параметр
#по умолчанию - 5000
#тип - целое число
#используется при создании и обновлении
#inter = 5000
#интервал между проверками доступности сервера после восстановления, в миллисекундах
#опциональный параметр
#по умолчанию - 10000
#тип - целое число
#используется при создании и обновлении
#downinter = 1000
#кол-во проверок, которые сервер должен успешно пройти
#опциональный параметр
#тип - целое число
#по умолчанию - 2
#используется при создании и обновлении
#rise = 2
#кол-во проверок, которые сервер может не пройти и после этого получить статус "unavailable"
#опциональный параметр
#по умолчанию - 2
#тип - целое число
#используется при создании и обновлении
#fall = 2
#кол-во миллисекунд - время между получением сервера статуса "available" и открытием соединений
#опциональный параметр
#по умолчанию - 60000
#тип - целое число
#используется при создании и обновлении
#slowstart = 60000
#максимальное кол-во соединений сервера, при достижении этого кол-ва, сервер выходит из схемы балансирования
#опциональный параметр
#по умолчанию - 250
#тип - целое число
#используется при создании и обновлении
#maxconn = 250
#максимальное кол-во соединений в очереди сервера, при достижении этого кол-ва, соединения будут перенаправлены на другой сервер
#опциональный параметр
#по умолчанию - 256
#тип - целое число
#используется при создании и обновлении
#maxqueue = 256
#вес сервера для балансировки
#опциональный параметр
#мин - 0
#макс - 255
#по умолчанию - 100
#тип - целое число
#используется при создании и обновлении
#weight = 100
}
output "test" {
value = decort_cb_lb_backend.lbb
}

View File

@@ -0,0 +1,134 @@
/*
Пример использования
Ресурса load balancer backend server
Ресурс позволяет:
1. Создавать server
2. Редактировать server
3. Удалять server
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
resource "decort_cb_lb_backend_server" "lbbs" {
#id балансировщика нагрузки
#обязательный параметр
#тип - целое число
#используется при создании
lb_id = 668
#имя бекенда для создания сервера
#обязательный параметр
#тип - строка
#используется при создании
backend_name = "testBackend"
#имя сервера
#обязательный параметр
#тип - строка
#используется при создании
name = "testServer"
#ip адрес сервера
#обязательный параметр
#тип - строка
#используется при создании
address = "192.168.5.33"
#порт сервера
#обязательный параметр
#тип - целое число
#используется при создании
port = 6553
#проверка доступности сервера
#опциональный параметр
#доступные значения - "disabled", "enabled"
#по умолчанию - "enabled"
#тип - строка
#используется при создании
#check = "enabled"
#интервал между проверками, в миллисекундах
#опциональный параметр
#по умолчанию - 5000
#тип - целое число
#используется при создании и обновлении
#inter = 5000
#интервал между проверками доступности сервера после восстановления, в миллисекундах
#опциональный параметр
#по умолчанию - 10000
#тип - целое число
#используется при создании и обновлении
#downinter = 1000
#кол-во проверок, которые сервер должен успешно пройти
#опциональный параметр
#по умолчанию - 2
#тип - целое число
#используется при создании и обновлении
#rise = 2
#кол-во проверок, которые сервер может не пройти и после этого получить статус "unavailable"
#опциональный параметр
#по умолчанию - 2
#тип - целое число
#используется при создании и обновлении
#fall = 2
#кол-во миллисекунд - время между получением сервера статуса "available" и открытием соединений
#опциональный параметр
#по умолчанию - 60000
#тип - целое число
#используется при создании и обновлении
#slowstart = 60000
#максимальное кол-во соединений сервера, при достижении этого кол-ва, сервер выходит из схемы балансирования
#опциональный параметр
#по умолчанию - 250
#тип - целое число
#используется при создании и обновлении
#maxconn = 250
#максимальное кол-во соединений в очереди серевера, при достижении этого кол-ва, соединения будут перенаправлены на другой сервер
#опциональный параметр
#по умолчанию - 256
#тип - целое число
#используется при создании и обновлении
#maxqueue = 256
#вес сервера для балансировки
#опциональный параметр
#мин - 0
#макс - 255
#по умолчанию - 100
#тип - целое число
#используется при создании и обновлении
#weight = 100
}
output "test" {
value = decort_cb_lb_backend_server.lbbs
}

View File

@@ -0,0 +1,55 @@
/*
Пример использования
Ресурса load balancer frontend
Ресурс позволяет:
1. Создавать frontend
2. Удалять frontend
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
resource "decort_cb_lb_frontend" "lb" {
#id балансировщика нагрузки
#обязательный параметр
#тип - целое число
#используется при создании
lb_id = 668
#имя бекенда для создания фронтенда
#обязательный параметр
#тип - строка
#используется при создании
backend_name = "testBackend"
#имя фронтенда
#обязательный параметр
#тип - строка
#используется при создании
name = "testFrontend"
}
output "test" {
value = decort_cb_lb_frontend.lb
}

View File

@@ -0,0 +1,68 @@
/*
Пример использования
Ресурса load balancer frontend bind (привязка фронтенда балансировщика нагрузки)
Ресурс позволяет:
1. Создавать привязку
2. Редактировать привязку
3. Удалять привязку
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
resource "decort_cb_lb_frontend_bind" "lbfb" {
#id балансировщика нагрузки
#обязательный параметр
#тип - целое число
#используется при создании
lb_id = 668
#имя фронтенда для создания привязки
#обязательный параметр
#тип - строка
#используется при создании
frontend_name = "testFrontend"
#наименование привязки
#обязательный параметр
#тип - строка
#используется при создании
name = "testBinding"
#адрес привязки фронтенда
#обязательный параметр
#тип - строка
#используется при создании и обновлении
address = "111.111.111.111"
#порт для привязки фронтенда
#обязательный параметр
#тип - целое число
#используется при создании и обновлении
port = 1111
}
output "test" {
value = decort_cb_lb_frontend_bind.lbfb
}

View File

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

View File

@@ -0,0 +1,90 @@
/*
Пример использования
Получение списка нод платформы
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_cb_node_list" "nodes" {
#фильтр по id ноды
#опциональный параметр
#тип - целое число
#by_id = 1234
#фильтр по имени ноды
#опциональный параметр
#тип - строка
#name = "node1"
#фильтр по версии ноды
#опциональный параметр
#тип - строка
#version = "version1"
#фильтр по релизу ноды
#опциональный параметр
#тип - строка
#release = "release1"
#фильтр по sep id
#опциональный параметр
#тип - целое число
#sep_id = 12
#фильтр по ролям ноды
#опциональный параметр
#тип - строка
#role = "service"
#фильтр по статусу ноды
#опциональный параметр
#тип - строка
#status = "disabled"
#фильтр по id зоны
#опциональный параметр
#значение по умолчанию - 0
#тип - целое число
#zone_id = 54
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - целое число
#page = 2
#размер страницы
#опциональный параметр
#тип - целое число
#size = 3
}
output "test" {
value = data.decort_cb_node_list.nodes
}

View File

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

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