4.5.0-alpha

This commit is contained in:
Nikita Sorokin
2023-11-07 18:26:09 +03:00
parent 2453a32d01
commit 2bc0fbae9a
198 changed files with 18877 additions and 4003 deletions

View File

@@ -0,0 +1,39 @@
/*
Пример использования
Получение информации об аккаунте
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
}
}
}
*/
provider "decort" {
authenticator = "oauth2"
#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

@@ -27,7 +27,7 @@ provider "decort" {
allow_unverified_ssl = true
}
data "decort_account_audits_list" "aal" {
data "decort_cb_account_audits_list" "aal" {
#id аккаунта
#обязательный параметр
#тип - число
@@ -36,5 +36,5 @@ data "decort_account_audits_list" "aal" {
}
output "test" {
value = data.decort_account_audits_list.aal
value = data.decort_cb_account_audits_list.aal
}

View File

@@ -26,14 +26,65 @@ provider "decort" {
allow_unverified_ssl = true
}
data "decort_account_computes_list" "acl" {
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
#номер страницы для отображения
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#page = 1
#размер страницы
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#size = 1
}
output "test" {
value = data.decort_account_computes_list.acl
value = data.decort_cb_account_computes_list.acl
}

View File

@@ -26,7 +26,7 @@ provider "decort" {
allow_unverified_ssl = true
}
data "decort_account_deleted_list" "adl" {
data "decort_cb_account_deleted_list" "adl" {
#номер страницы для отображения
#опциональный параметр
#тип - число
@@ -38,8 +38,24 @@ data "decort_account_deleted_list" "adl" {
#тип - число
#если не задан - выводятся все доступные данные
#size = 3
#фильтр по id аккаунта
#опциональный параметр
#тип - число
#by_id = 100
#фильтр по имени аккаунта
#опциональный параметр
#тип - строка
#name = "test"
#фильтр по ACL
#опциональный параметр
#тип - строка
#acl = "test"
}
output "test" {
value = data.decort_account_deleted_list.adl
value = data.decort_cb_account_deleted_list.adl
}

View File

@@ -26,14 +26,44 @@ provider "decort" {
allow_unverified_ssl = true
}
data "decort_account_disks_list" "adl" {
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"
#кол-во страниц для вывода
#опицональный параметр
#тип - число
#page = 1
#размер страницы
#опицональный параметр
#тип - число
#size = 1
}
output "test" {
value = data.decort_account_disks_list.adl
value = data.decort_cb_account_disks_list.adl
}

View File

@@ -26,13 +26,54 @@ provider "decort" {
allow_unverified_ssl = true
}
data "decort_account_flipgroups_list" "afgl" {
#id аккаунта
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
#кол-во страниц для вывода
#опицональный параметр
#тип - число
#page = 1
#размер страницы
#опицональный параметр
#тип - число
#size = 1
}
output "test" {
value = data.decort_account_flipgroups_list.afgl
value = data.decort_cb_account_flipgroups_list.afgl
}

View File

@@ -0,0 +1,37 @@
/*
Получение списка текущего потребления ресурсов аккаунта
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
}
}
}
*/
provider "decort" {
authenticator = "oauth2"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://alpha.dev.decs.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso-alpha.dev.decs.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

@@ -25,7 +25,27 @@ provider "decort" {
allow_unverified_ssl = true
}
data "decort_account_list" "al" {
data "decort_cb_account_list" "al" {
#фильтр по id аккаунта
#опциональный параметр
#тип - число
#by_id = 100
#фильтр по имени аккаунта
#опциональный параметр
#тип - строка
#name = "test"
#фильтр по ACL
#опциональный параметр
#тип - строка
#acl = "test"
#фильтр по статусу
#опциональный параметр
#тип - строка
#status = "ENABLED"
#номер страницы для отображения
#опциональный параметр
#тип - число
@@ -40,5 +60,5 @@ data "decort_account_list" "al" {
}
output "test" {
value = data.decort_account_list.al
value = data.decort_cb_account_list.al
}

View File

@@ -0,0 +1,32 @@
/*
Получение списка текущего потребления ресурсов
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
}
}
}
*/
provider "decort" {
authenticator = "oauth2"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://alpha.dev.decs.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso-alpha.dev.decs.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

@@ -25,13 +25,50 @@ provider "decort" {
allow_unverified_ssl = true
}
data "decort_account_rg_list" "argl" {
#id аккаунта
data "decort_cb_account_rg_list" "argl" {
#id аккаунта
#обязательный параметр
#тип - число
account_id = 66666
#номер страницы для отображения
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#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_account_rg_list.argl
value = data.decort_cb_account_rg_list.argl
}

View File

@@ -26,14 +26,47 @@ provider "decort" {
allow_unverified_ssl = true
}
data "decort_account_vins_list" "avl" {
#id аккаунта
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"
#номер страницы для отображения
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#page = 2
#размер страницы
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#size = 3
}
output "test" {
value = data.decort_account_vins_list.avl
value = data.decort_cb_account_vins_list.avl
}

View File

@@ -1,6 +1,6 @@
/*
Пример использования
Получение списка доступных дисков
Получение информации о сети
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
@@ -30,7 +30,7 @@ data "decort_cb_extnet" "ex" {
# ID сети
# Обязательный параметр
# Тип - число
net_id = 13
extnet_id = 13
}
output "ex_out" {

View File

@@ -31,5 +31,5 @@ data "decort_cb_extnet_default" "ed" {
}
output "default_net_id_out" {
value = data.decort_cb_extnet_default.ed.net_id
value = data.decort_cb_extnet_default.ed
}

View File

@@ -1,6 +1,6 @@
/*
Пример использования
Получение списка доступных дисков
Получение списка сетей
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
@@ -27,15 +27,50 @@ provider "decort" {
}
data "decort_cb_extnet_list" "ex_list" {
# Фильтр по имени
# Опциональный параметр
# Тип - строка
name = "test_name"
#id аккаунта для фильтрации результата
#необязательный параметр
#тип - число
#account_id = 1111111
# Фильтр по статусу
# Опциональный параметр
# Тип - строка
status = "ENABLED"
#фильтр по id внешней сети
#опциональный параметр
#тип - число
#by_id = 100
#фильтр по имени внешней сети
#опциональный параметр
#тип - строка
#name = "test"
#фильтр по IP внешней сети
#опциональный параметр
#тип - строка
#network = "test"
#фильтр по id vlan
#опциональный параметр
#тип - число
#vlan_id = 100
#фильтр по id vnfDevices
#опциональный параметр
#тип - число
#vnfdev_id = 100
#фильтр по статусу
#опциональный параметр
#тип - строка
#status = "ENABLED"
#кол-во страниц для вывода
#опицональный параметр
#тип - число
#page = 1
#размер страницы
#опицональный параметр
#тип - число
#size = 1
}
output "ex_out" {

View File

@@ -0,0 +1,44 @@
/*
Пример использования
Получение информации о static routes по id в данном extnet
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
}
}
}
*/
provider "decort" {
authenticator = "oauth2"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://mr4.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,39 @@
/*
Пример использования
Получение списка static routes в данном extnet
*/
/*
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
}
}
}
*/
provider "decort" {
authenticator = "oauth2"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://mr4.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

@@ -25,9 +25,10 @@ provider "decort" {
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
}
data "decort_pcidevice" "pd" {
data "decort_cb_pcidevice" "pd" {
#id устройства
#обязательный параметр
#тип - число
@@ -35,5 +36,5 @@ data "decort_pcidevice" "pd" {
}
output "test" {
value = data.decort_pcidevice.pd
value = data.decort_cb_pcidevice.pd
}

View File

@@ -25,10 +25,10 @@ provider "decort" {
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
}
data "decort_pcidevice_list" "pdl" {}
data "decort_cb_pcidevice_list" "pdl" {}
output "test" {
value = data.decort_pcidevice_list.pdl.items
value = data.decort_cb_pcidevice_list.pdl.items
}

View File

@@ -0,0 +1,161 @@
/*
Пример использования
Ресурса account
Ресурс позволяет:
1. Создавать аккаунт
2. Редактировать аккаунт
3. Удалять аккаунт
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
}
}
}
*/
provider "decort" {
authenticator = "oauth2"
#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
#имена пулов
#необязательный параметр
#тип - список строк
#применяется при создании аккаунта и редактировании аккаунта
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
}
output "test" {
value = decort_cb_account.acc
}

View File

@@ -46,18 +46,64 @@ resource "decort_cb_extnet" "new_extnet" {
# Тип - число
vlan_id = 111
# IP-адрес шлюза внешней сети
# Опциональный параметр
# Тип - строка
gateway = "test desc"
# Список 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"
# Включение/Выключение внешней сети
# Опциональный параметр (default = true)
# Опциональный параметр
# Тип - булев
enable = true

View File

@@ -0,0 +1,66 @@
/*
Пример использования
Ресурса 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 = {
version = "<VERSION>"
source = "basis/decort/decort"
}
}
}
*/
provider "decort" {
authenticator = "oauth2"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://mr4.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

@@ -32,7 +32,7 @@ provider "decort" {
allow_unverified_ssl = true
}
resource "decort_pcidevice" "pd" {
resource "decort_cb_pcidevice" "pd" {
#имя устройства
#обязательный параметр
#тип - строка
@@ -44,7 +44,7 @@ resource "decort_pcidevice" "pd" {
hw_path = "0000:01:00.0"
#описание устройства
#обязательный параметр
#необязательный параметр
#тип - строка
description = "test desc"
@@ -64,6 +64,12 @@ resource "decort_pcidevice" "pd" {
#тип - булево значение
#enable = false
#принудительное отключение устройства
#опциональный параметр
#может использоваться на созданном ресурсе
#тип - булево значение
#force = true
#принудительное удаление устройства
#опциональный параметр
#используется при удалении ресурса
@@ -81,5 +87,5 @@ resource "decort_pcidevice" "pd" {
}
output "test" {
value = decort_pcidevice.pd
value = decort_cb_pcidevice.pd
}