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

View File

@@ -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,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_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,72 @@
/*
Пример использования
Получение всех аккаунтов,имеющихся в системе
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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
}
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,34 @@
/*
Пример использования
Получение списка текущего потребления ресурсов
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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,178 @@
/*
Пример использования
Ресурса 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"
#доступность аккаунта
#опциональный параметр
#тип - булев
#может применяться при создании аккаунта и редактировании аккаунта
enable = true
#электронная почта, на которую будет отправлена информация о доступе
#опциональный параметр
#тип - строка
#применяется при создании аккаунта
emailaddress = "fff@fff.ff"
#отправлять ли на электронную почту письмо о доступе
#опциональный параметр
#тип - булев
#применяется при создании аккаунта и редактировании аккаунта
send_access_emails = true
#пары sep_id и sep_pool_name
#опциональный параметр
#тип - массив строк
#применяется при создании аккаунта и редактировании аккаунта
#каждая строка представляет собой пару, sepID_sepPoolName
uniq_pools = ["sep1_poolName1", "sep2_poolName2"]
#ограничение используемых ресурсов
#опциональный параметр
#тип - блок
#используется при создании и редактировании
resource_limits {
#кол-во используемых ядер cpu
#опциональный параметр
#тип - целое число
#если установлена -1 - кол-во неограниченно
#cu_c = 2
#кол-во используемой RAM в МБ
#опциональный параметр
#тип - целое число
#если установлена -1 - кол-во неограниченно
#cu_m = 1024
#размер дисков, в ГБ
#опциональный параметр
#тип - целое число
#если установлена -1 - размер неограничен
#cu_dm = 23
#кол-во используемых публичных IP
#опциональный параметр
#тип - целое число
#если установлена -1 - кол-во неограничено
#cu_i = 2
#ограничения на кол-во передачи данных, в ГБ
#опциональный параметр
#тип - целое число
#если установлена -1 - кол-во неограничено
#cu_np = 2
#кол-во графических процессоров
#опциональный параметр
#тип - целое число
#если установлена -1 - кол-во неограничено
#gpu_units = 2
}
#добавление/редактирование/удаление пользователей, к которым привязан аккаунт
#опциональный параметр
#тип - блок, кол-во таких блоков не ограничено
/*users {
#id пользователя
#обязательный параметр
#тип - строка
user_id = "username_2@decs3o"
#тип доступа пользователя
#обязательный параметр
#тип - строка
#возможные параметры:
#R - чтение
#RCX - запись
#ARCXDU - админ
access_type = "R"
#рекурсивное удаление пользователя из всех ресурсов аккаунтов
#опциональный параметр
#тип - булев
#по-умолчанию - false
#применяется при удалении пользователя из аккаунта
recursive_delete = true
}
*/
#параметр распределения CPU
#опциональный параметр
#тип - строка
#если "strict" виртуальная машина не может быть запущена из-за нехватки ресурсов.
#"loose" позволяет запускать виртуальную машину, если недостаточно ресурсов.
#cpu_allocation_parameter = "strict"
#параметр коэффициента распределения CPU
#опциональный параметр
#тип - целое число
#один pCPU = коэффициент*vCPU (принимает нулевое или положительное значение)
#cpu_allocation_ratio = 1
#мгновенное удаление аккаунта, если да - то аккаунт невозможно будет восстановить
#опциональный параметр
#тип - булев
#используется при удалении аккаунта
#по-умолчанию - false
#permanently = true
#флаг для восстановление аккаунта из корзины
#опциональный параметр
#тип - булев
#restore = true
#предоставление аккаунту доступа к конкретным образам
#опциональный параметр
#тип - массив целых чисел
#available_templates = [1,2]
#доступ к дополнительным функциям управления ВМ
#опциональный параметр
#возможные значенния - "hugepages", "numa", "cpupin", "vfnic"
#тип - массив строк
#compute_features = ["hugepages", "numa", "cpupin", "vfnic"]
}
output "test" {
value = decort_cb_account.acc
}