This commit is contained in:
asteam
2024-07-25 14:33:38 +03:00
commit 6f40af6a5f
946 changed files with 98335 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
/*
Пример использования
Получение информации об аккаунте
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
dynamix = {
source = "basistech.ru/tf/dynamix"
version = "<VERSION>"
}
}
}
*/
provider "dynamix" {
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 "dynamix_account" "a" {
#id аккаунта
#обязательный параметр
#тип - целое число
account_id = 11111
}
output "test" {
value = data.dynamix_account.a
}

View File

@@ -0,0 +1,38 @@
/*
Пример использования
Получение информации об использовании аккаунта
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
dynamix = {
source = "basistech.ru/tf/dynamix"
version = "<VERSION>"
}
}
}
*/
provider "dynamix" {
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 "dynamix_account_audits_list" "aal" {
#id аккаунта
#обязательный параметр
#тип - целое число
account_id = 11111
}
output "test" {
value = data.dynamix_account_audits_list.aal
}

View File

@@ -0,0 +1,96 @@
/*
Пример использования
Получение списка computes, используемых аккаунтом
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
dynamix = {
source = "basistech.ru/tf/dynamix"
version = "<VERSION>"
}
}
}
*/
provider "dynamix" {
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 "dynamix_account_computes_list" "acl" {
#id аккаунта
#обязательный параметр
#тип - целое число
account_id = 1111
#id компьюта
#опциональный параметр
#тип - целое число
#compute_id = 1234
#имя аккаунта
#опциональный параметр
#тип - строка
#name = "user1"
#имя ресурсной группы
#опциональный параметр
#тип - строка
#rg_name = "rg_test"
#id ресурсной группы
#опциональный параметр
#тип - целое число
#rg_id = 1111
#технический статус
#опциональный параметр
#тип - строка
#tech_status = "STOPPED"
#ip адрес
#опциональный параметр
#тип - строка
#ip_address = "1.2.3.4"
#имя внешней сети
#опциональный параметр
#тип - строка
#extnet_name = "extnet_test"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#id внешней сети
#опциональный параметр
#тип - целое число
#extnet_id = 1
#номер страницы для отображения
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 1
#размер страницы
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 1
}
output "test" {
value = data.dynamix_account_computes_list.acl
}

View File

@@ -0,0 +1,38 @@
/*
Пример использования
Получение информации о расходуемых ресурсах аккаунта
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
dynamix = {
source = "basistech.ru/tf/dynamix"
version = "<VERSION>"
}
}
}
*/
provider "dynamix" {
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 "dynamix_account_consumed_units" "acu" {
#id аккаунта
#обязательный параметр
#тип - целое число
account_id = 22222
}
output "test" {
value = data.dynamix_account_consumed_units.acu
}

View File

@@ -0,0 +1,49 @@
/*
Пример использования
Получение информации о расходуемых ресурсах аккаунта
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
dynamix = {
source = "basistech.ru/tf/dynamix"
version = "<VERSION>"
}
}
}
*/
provider "dynamix" {
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 "dynamix_account_consumed_units_by_type" "acubt" {
#id аккаунта
#обязательный параметр
#тип - целое число
account_id = 33333
#тип вычислительной единицы
#обязательный параметр
#тип - строка
#значения:
#CU_C - кол-во виртуальных cpu ядер
#CU_M - кол-во RAM в МБ
#CU_D - кол-в используемой дисковой памяти, в ГБ
#CU_I - кол-во публичных ip адресов
#CU_NP - кол-во полученного/отданного трафика, в ГБ
cu_type = "CU_C"
}
output "test" {
value = data.dynamix_account_consumed_units_by_type.acubt
}

View File

@@ -0,0 +1,67 @@
/*
Пример использования
Получение информации об удаленных аккаунтах
Информация предоставляется только по аккаунтам, удаленным без флага permanently
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
dynamix = {
source = "basistech.ru/tf/dynamix"
version = "<VERSION>"
}
}
}
*/
provider "dynamix" {
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 "dynamix_account_deleted_list" "adl" {
#фильтр по id аккаунта
#опциональный параметр
#тип - целое число
#by_id = 100
#фильтр по имени аккаунта
#опциональный параметр
#тип - строка
#name = "test"
#фильтр по acl
#опциональный параметр
#тип - строка
#acl = "acl"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 2
#размер страницы
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 3
}
output "test" {
value = data.dynamix_account_deleted_list.adl
}

View File

@@ -0,0 +1,76 @@
/*
Пример использования
Получение информации о дисках, которые использует аккаунт
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
dynamix = {
source = "basistech.ru/tf/dynamix"
version = "<VERSION>"
}
}
}
*/
provider "dynamix" {
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 "dynamix_account_disks_list" "adl" {
#id аккаунта
#обязательный параметр
#тип - целое число
account_id = 11111
#id диска
#опциональный параметр
#тип - целое число
#disk_id = 1
#имя диска
#опциональный параметр
#тип - строка
#name = "user_name"
#размер диска
#опциональный параметр
#тип - целое число
#disk_max_size = 10
#тип диска
#опциональный параметр
#тип - строка
#type = "B"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#page = 1
#размер страницы
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 1
}
output "test" {
value = data.dynamix_account_disks_list.adl
}

View File

@@ -0,0 +1,78 @@
/*
Пример использования
Получение информации о flipgroups, используемых аккаунтом
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
dynamix = {
source = "basistech.ru/tf/dynamix"
version = "<VERSION>"
}
}
}
*/
provider "dynamix" {
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 "dynamix_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.dynamix_account_flipgroups_list.afgl
}

View File

@@ -0,0 +1,38 @@
/*
Пример использования
Получение информации об аккаунте
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
dynamix = {
source = "basistech.ru/tf/dynamix"
version = "<VERSION>"
}
}
}
*/
provider "dynamix" {
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 "dynamix_account_resource_consumption_get" "rc_get" {
#id аккаунта
#обязательный параметр
#тип - целое число
account_id = 111
}
output "test" {
value = data.dynamix_account_resource_consumption_get.rc_get
}

View File

@@ -0,0 +1,71 @@
/*
Пример использования
Получение списка доступных аккаунтов
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
dynamix = {
source = "basistech.ru/tf/dynamix"
version = "<VERSION>"
}
}
}
*/
provider "dynamix" {
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 "dynamix_account_list" "al" {
#фильтр по id аккаунта
#опциональный параметр
#тип - целое число
#by_id = 100
#фильтр по имени аккаунта
#опциональный параметр
#тип - строка
#name = "test"
#фильтр по acl
#опциональный параметр
#тип - строка
#acl = "acl"
#фильтр по статусу аккаунта
#опциональный параметр
#тип - строка
#status = "ENABLED"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 2
#размер страницы
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 3
}
output "test" {
value = data.dynamix_account_list.al
}

View File

@@ -0,0 +1,35 @@
/*
Пример использования
Получение информации о зарезервированных вычислительных мощностях
*/
/*
terraform {
required_providers {
dynamix = {
source = "basistech.ru/tf/dynamix"
version = "<VERSION>"
}
}
}
*/
provider "dynamix" {
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 "dynamix_account_reserved_units" "aru" {
#id аккаунта
#обязательный параметр
#тип - целое число
account_id = 11111
}
output "test" {
value = data.dynamix_account_reserved_units.aru
}

View File

@@ -0,0 +1,35 @@
/*
Пример использования
Получение списка текущего потребления ресурсов
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
dynamix = {
source = "basistech.ru/tf/dynamix"
version = "<VERSION>"
}
}
}
*/
provider "dynamix" {
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 "dynamix_account_resource_consumption_list" "rc_list" {
#Нет входных параметров
}
output "test" {
value = data.dynamix_account_resource_consumption_list.rc_list
}

View File

@@ -0,0 +1,81 @@
/*
Пример использования
Получение информации о ресурных группах, используемых аккаунтом
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
dynamix = {
source = "basistech.ru/tf/dynamix"
version = "<VERSION>"
}
}
}
*/
provider "dynamix" {
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 "dynamix_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"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
}
output "test" {
value = data.dynamix_account_rg_list.argl
}

View File

@@ -0,0 +1,76 @@
/*
Пример использования
Получение информации о шаблонах, используемых аккаунтом
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
dynamix = {
source = "basistech.ru/tf/dynamix"
version = "<VERSION>"
}
}
}
*/
provider "dynamix" {
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 "dynamix_account_templates_list" "atl" {
#id аккаунта
#обязательный параметр
#тип - целое число
account_id = 11111
#фильтр "включая удаленные шаблоны"
#опциональный параметр
#тип - булев
#include_deleted = true
#фильтр по id образа
#опциональный параметр
#тип - целое число
#image_id = 1111
#фильтр по имени
#опциональный параметр
#тип - строка
#name = "test"
#фильтр по типу
#опциональный параметр
#тип - строка
#type = "linux"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 2
#размер страницы
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 3
}
output "test" {
value = data.dynamix_account_templates_list.atl
}

View File

@@ -0,0 +1,76 @@
/*
Пример использования
Получение списка vins, используемых аккаунтом
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
dynamix = {
source = "basistech.ru/tf/dynamix"
version = "<VERSION>"
}
}
}
*/
provider "dynamix" {
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 "dynamix_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.dynamix_account_vins_list.avl
}

View File

@@ -0,0 +1,154 @@
/*
Пример использования
Ресурса account
Ресурс позволяет:
1. Создавать аккаунт
2. Редактировать аккаунт
3. Удалять аккаунт
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
dynamix = {
source = "basistech.ru/tf/dynamix"
version = "<VERSION>"
}
}
}
*/
provider "dynamix" {
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 "dynamix_account" "a" {
#имя аккаунта
#обязательный параметр
#тип - строка
#используется при создании и редактировании аккаунта
account_name = "new_my_account"
#имя пользователя - создателя аккаунта
#обязательный параметр
#тип - строка
username = "username@decs3o"
#доступность аккаунта
#опциональный параметр
#тип - булев
#может применяться при редактировании аккаунта
enable = true
#id аккаунта, позволяет сформировать .tfstate, если аккаунт имеет в платформе
#опциональный параметр
#тип - целое число
account_id = 11111
#электронная почта, на которую будет отправлена информация о доступе
#опциональный параметр
#тип - строка
#применяется при создании аккаунта
emailaddress = "fff@fff.ff"
#отправлять ли на электронную почту письмо о доступе
#опциональный параметр
#тип - булев
#применяется при создании аккаунта и редактировании аккаунта
send_access_emails = true
#добавление/редактирование/удаление пользователей, к которым привязан аккаунт
#опциональный параметр
#тип - объект, кол-во таких объектов не ограничено
users = [{
#id пользователя
#обязательный параметр
#тип - строка
user_id = "username_2@decs3o"
#тип доступа пользователя
#обязательный параметр
#тип - строка
#возможные параметры:
#R - чтение
#RCX - запись
#ARCXDU - админ
access_type = "R"
#рекурсивное удаление пользователя из всех ресурсов аккаунтов
#опциональный параметр
#тип - булев
#по умолчанию - false
#применяется при удалении пользователя из аккаунта
recursive_delete = true
}]
#ограничение используемых ресурсов
#опциональный параметр
#тип - объект
#используется при создании и редактировании
resource_limits = {
#кол-во используемых ядер cpu
#опциональный параметр
#тип - целое число
#если установлена -1 - кол-во неограиченно
cu_c = 2
#кол-во используемой RAM в МБ
#опциональный параметр
#тип - целое число
#если установлена -1 - кол-во неограиченно
cu_m = 1024
#размер дисков, в ГБ
#опциональный параметр
#тип - целое число
#если установлена -1 - размер неограичен
cu_d = 23
#кол-во используемых публичных IP
#опциональный параметр
#тип - целое число
#если установлена -1 - кол-во неограиченно
cu_i = 2
#ограничения на кол-во передачи данных, в ГБ
#опциональный параметр
#тип - целое число
#если установлена -1 - кол-во неограиченно
cu_np = 2
#кол-во графических процессоров
#опциональный параметр
#тип - целое число
#если установлена -1 - кол-во неограиченно
gpu_units = 2
}
#восстановление аккаунта
#опциональный параметр
#тип - булев
#применяется к удаленным аккаунтам
#по умолчанию - true
#restore = false
#мгновеное удаление аккаунта, если да - то аккаунт невозможно будет восстановить
#опциональный параметр
#тип - булев
#используется при удалении аккаунта
#по умолчанию - true
#permanently = true
}
output "test" {
value = dynamix_account.a
}