1.0.0
This commit is contained in:
38
samples/cloudapi/account/data_account/main.tf
Normal file
38
samples/cloudapi/account/data_account/main.tf
Normal 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
|
||||
}
|
||||
38
samples/cloudapi/account/data_account_audits/main.tf
Normal file
38
samples/cloudapi/account/data_account_audits/main.tf
Normal 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
|
||||
}
|
||||
96
samples/cloudapi/account/data_account_computes_list/main.tf
Normal file
96
samples/cloudapi/account/data_account_computes_list/main.tf
Normal 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
|
||||
}
|
||||
38
samples/cloudapi/account/data_account_consumed_units/main.tf
Normal file
38
samples/cloudapi/account/data_account_consumed_units/main.tf
Normal 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
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
67
samples/cloudapi/account/data_account_deleted_list/main.tf
Normal file
67
samples/cloudapi/account/data_account_deleted_list/main.tf
Normal 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
|
||||
}
|
||||
76
samples/cloudapi/account/data_account_disks_list/main.tf
Normal file
76
samples/cloudapi/account/data_account_disks_list/main.tf
Normal 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
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
71
samples/cloudapi/account/data_account_list/main.tf
Normal file
71
samples/cloudapi/account/data_account_list/main.tf
Normal 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
|
||||
}
|
||||
35
samples/cloudapi/account/data_account_reserved_units/main.tf
Normal file
35
samples/cloudapi/account/data_account_reserved_units/main.tf
Normal 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
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
81
samples/cloudapi/account/data_account_rg_list/main.tf
Normal file
81
samples/cloudapi/account/data_account_rg_list/main.tf
Normal 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
|
||||
}
|
||||
76
samples/cloudapi/account/data_account_templates_list/main.tf
Normal file
76
samples/cloudapi/account/data_account_templates_list/main.tf
Normal 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
|
||||
}
|
||||
76
samples/cloudapi/account/data_account_vins_list/main.tf
Normal file
76
samples/cloudapi/account/data_account_vins_list/main.tf
Normal 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
|
||||
}
|
||||
154
samples/cloudapi/account/resource_account/main.tf
Normal file
154
samples/cloudapi/account/resource_account/main.tf
Normal 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
|
||||
}
|
||||
38
samples/cloudapi/bservice/data_bservice/main.tf
Normal file
38
samples/cloudapi/bservice/data_bservice/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о basic service
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_bservice" "b" {
|
||||
#id сервиса
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
service_id = 11111
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.dynamix_bservice.b
|
||||
}
|
||||
64
samples/cloudapi/bservice/data_bservice_deleted_list/main.tf
Normal file
64
samples/cloudapi/bservice/data_bservice_deleted_list/main.tf
Normal file
@@ -0,0 +1,64 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка удаленных basic service
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_bservice_deleted_list" "bsdl" {
|
||||
#id аккаунта для фильтрации данных
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#account_id = 11111
|
||||
|
||||
#id ресурсной группы, используется для фильтрации
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#rg_id = 11111
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 3
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.dynamix_bservice_deleted_list.bsdl
|
||||
}
|
||||
44
samples/cloudapi/bservice/data_bservice_group/main.tf
Normal file
44
samples/cloudapi/bservice/data_bservice_group/main.tf
Normal file
@@ -0,0 +1,44 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о вычислительной группе, принадлежащей basic service
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_bservice_group" "bsg" {
|
||||
#id сервиса
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
service_id = 6645
|
||||
|
||||
#id вычислительной группы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compgroup_id = 8466
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.dynamix_bservice_group.bsg
|
||||
}
|
||||
93
samples/cloudapi/bservice/data_bservice_list/main.tf
Normal file
93
samples/cloudapi/bservice/data_bservice_list/main.tf
Normal file
@@ -0,0 +1,93 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка доступных базовых сервисов
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_bservice_list" "bsl" {
|
||||
#фильтр по id базового сервиса
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени базового сервиса
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#id аккаунта для фильтрации данных
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#account_id = 11111
|
||||
|
||||
#фильтр по имени ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#rg_name = "test"
|
||||
|
||||
#id ресурсной группы, используется для фильтрации
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#rg_id = 11111
|
||||
|
||||
#фильтр по техническому статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#tech_status = "STARTED"
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#фильтр по имени аккаунта
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#account_name = "test"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 3
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.dynamix_bservice_list.bsl
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка снимков состояний basic service
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_bservice_snapshot_list" "bsl" {
|
||||
#id basic service
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
service_id = 11111
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.dynamix_bservice_snapshot_list.bsl
|
||||
}
|
||||
106
samples/cloudapi/bservice/resource_bservice/main.tf
Normal file
106
samples/cloudapi/bservice/resource_bservice/main.tf
Normal file
@@ -0,0 +1,106 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса cdrom image
|
||||
Ресурс позволяет:
|
||||
1. Создавать basic service
|
||||
2. Редактировать basic service
|
||||
3. Удалять basic service
|
||||
4. Создавать снимки состояний basic service
|
||||
5. Совершать восстановление по снимкам состояний
|
||||
6. Удалять снимки состояний
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_bservice" "b" {
|
||||
#имя сервиса
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
service_name = "my_test_bservice_sn"
|
||||
|
||||
#id ресурсной группы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
rg_id = 11111
|
||||
|
||||
#доступность сервиса
|
||||
#необязательный параметр
|
||||
#тип - булев
|
||||
#используется при редактировании ресурса
|
||||
#по-умолачанию - false
|
||||
#enable = true
|
||||
|
||||
#снимок состояния
|
||||
#необязательный параметр
|
||||
#тип - объект
|
||||
#используется при редактировании ресурса
|
||||
#может быть несколько в ресурсе
|
||||
/*
|
||||
snapshots {
|
||||
#имя снимка состояния
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
label = "test_snapshot"
|
||||
|
||||
#восстановление сервиса из снимка состояния
|
||||
#необязательный параметр
|
||||
#тип - булев
|
||||
#по-умолчанию - false
|
||||
#восстановление происходит только при переключении с false на true
|
||||
rollback = false
|
||||
}
|
||||
*/
|
||||
|
||||
#старт сервиса
|
||||
#необязательный параметр
|
||||
#тип - булев
|
||||
#используется при редактировании ресурса
|
||||
#по-умолачанию - false
|
||||
#start = false
|
||||
|
||||
#восстановление сервиса после удаления
|
||||
#необязательный параметр
|
||||
#тип - булев
|
||||
#используется при редактировании ресурса
|
||||
#по-умолачанию - false
|
||||
#restore = true
|
||||
|
||||
#мгновенное удаление сервиса без права восстановления
|
||||
#необязательный параметр
|
||||
#тип - булев
|
||||
#используется при удалении ресурса
|
||||
#по-умолачанию - false
|
||||
#permanently = true
|
||||
|
||||
#id сервиса, позволяет сформировать .tfstate, если сервис есть в платформе
|
||||
#необязательный параметр
|
||||
#тип - булев
|
||||
#используется при создании ресурса
|
||||
#service_id = 11111
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = dynamix_bservice.b
|
||||
}
|
||||
168
samples/cloudapi/bservice/resource_bservice_group/main.tf
Normal file
168
samples/cloudapi/bservice/resource_bservice_group/main.tf
Normal file
@@ -0,0 +1,168 @@
|
||||
/*
|
||||
Пример использования
|
||||
Работы с ресурсом basic service group
|
||||
Ресурс позволяет:
|
||||
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_bservice_group" "bsg" {
|
||||
#id basic service
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
service_id = 444444
|
||||
|
||||
#название группы
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
compgroup_name = "tf_group_rename"
|
||||
|
||||
#id группы
|
||||
#необязательный параметр
|
||||
#тип - целое число
|
||||
#применяется при редактировании группы, либо при создании .tfstate - файла, если группа имеется в плафторме
|
||||
compgroup_id = 33333
|
||||
|
||||
#кол-во вычислительных ресурсов
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется так же для редактирования группы
|
||||
comp_count = 1
|
||||
|
||||
#кол-во ядер на выч. ресурс
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется так же для редактирования группы
|
||||
cpu = 2
|
||||
|
||||
#кол-во оперативной памяти на выч. ресурс, в МБ
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется так же для редактирования группы
|
||||
ram = 256
|
||||
|
||||
#размер диска для выч. ресурса, в ГБ
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется так же для редактирования группы
|
||||
disk = 11
|
||||
|
||||
#id образа диска
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
image_id = 2222
|
||||
|
||||
#драйвер
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
driver = "kvm_x86"
|
||||
|
||||
#id Storage endpoint provider
|
||||
#необязательный параметр
|
||||
#тип - целое число
|
||||
sep_id = 3
|
||||
|
||||
#Наименование SEPPool используется если установлен sepId, также может быть пустым
|
||||
#необязательный параметр
|
||||
#тип - строка
|
||||
sep_pool = "name"
|
||||
|
||||
#тег группы
|
||||
#необязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и редактировании ресурса
|
||||
role = "tf_test_changed"
|
||||
|
||||
#id сетей extnet
|
||||
#необязательный параметр
|
||||
#тип - массив целых чисел
|
||||
#должен быть использован vins или extnets
|
||||
extnets = [1111, 2222]
|
||||
|
||||
#id сетей vinses
|
||||
#необязательный параметр
|
||||
#тип - массив целых чисел
|
||||
#должен быть использован vins или extnets
|
||||
vinses = [1111, 2222]
|
||||
|
||||
#время таймуата перед стартом
|
||||
#необязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании ресурса
|
||||
timeout_start = 0
|
||||
|
||||
#Перечень аргументов для cloud-init создаваемым группам узлов Worker
|
||||
#необязательный параметр
|
||||
#тип - файл в формате YAML
|
||||
cloud_init = file("initconfig.tftpl")
|
||||
|
||||
#id групп родителей
|
||||
#необязательный параметр
|
||||
#тип - массив целых чисел
|
||||
#используется при редактировании ресурса
|
||||
#parents = [2222]
|
||||
|
||||
#принудительное обновление параметров выч. мощностей (ram,disk,cpu) и имени группы
|
||||
#необязательный параметр
|
||||
#тип - булев
|
||||
#используется при редактировании ресурса
|
||||
#по-умолчанию - false
|
||||
#force_update = true
|
||||
|
||||
#старт/стоп вычислительных мощностей
|
||||
#необязательный параметр
|
||||
#тип - булев
|
||||
#используется при редактировании ресурса
|
||||
#по-умолчанию - false
|
||||
#start = false
|
||||
|
||||
#принудительная остановка вычислительных мощностей
|
||||
#необязательный параметр
|
||||
#тип - булев
|
||||
#используется при редактировании и остановке группы
|
||||
#по-умолчанию - false
|
||||
#force_stop = false
|
||||
|
||||
#удаление вычислительных мощностей
|
||||
#необязательный параметр
|
||||
#тип - массив целых чисел
|
||||
#используется при редактировании
|
||||
#remove_computes = [32287]
|
||||
|
||||
#режим увеличения числа выч. мощностей
|
||||
#необязательный параметр
|
||||
#тип - строка
|
||||
#используется в связке с comp_count при редактировании группы
|
||||
#возможные варианты - RELATIVE и ABSOLUTE
|
||||
#по-умолчанию - "RELATIVE"
|
||||
#mode = "RELATIVE"
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = dynamix_bservice_group.bsg
|
||||
}
|
||||
38
samples/cloudapi/disk/data_disk/main.tf
Normal file
38
samples/cloudapi/disk/data_disk/main.tf
Normal 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_disk" "disk" {
|
||||
#id диска
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
disk_id = 49304
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.dynamix_disk.disk
|
||||
}
|
||||
100
samples/cloudapi/disk/data_disk_list/main.tf
Normal file
100
samples/cloudapi/disk/data_disk_list/main.tf
Normal file
@@ -0,0 +1,100 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка доступных дисков
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_disk_list" "dl" {
|
||||
#фильтр по id диска
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени диска
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "data_disk"
|
||||
|
||||
#фильтр по имени аккаунта
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#account_name = "user"
|
||||
|
||||
#фильтр по максимальному размеру диска
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#disk_max_size = 100
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#фильтр по доступности иным пользователям
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#shared = false
|
||||
|
||||
#id аккаунта для получения списка дисков
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 11111
|
||||
|
||||
#тип диска
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#возможные типы: "b" - boot_disk, "d" - data_disk
|
||||
#type = "d"
|
||||
|
||||
#id SEP для получения списка дисков
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#sep_id = 11111
|
||||
|
||||
#фильтр по имени pool
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#pool_name = "test"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#кол-во страниц для вывода
|
||||
#опицональный параметр
|
||||
#тип - целое число
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опицональный параметр
|
||||
#тип - целое число
|
||||
#size = 1
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.dynamix_disk_list.dl
|
||||
}
|
||||
85
samples/cloudapi/disk/data_disk_list_deleted/main.tf
Normal file
85
samples/cloudapi/disk/data_disk_list_deleted/main.tf
Normal file
@@ -0,0 +1,85 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка дисков со статусом DELETED
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_disk_list_deleted" "dld" {
|
||||
#фильтр по id диска
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени диска
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "data_disk"
|
||||
|
||||
#фильтр по имени аккаунта
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#account_name = "user"
|
||||
|
||||
#фильтр по максимальному размеру диска
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#disk_max_size = 100
|
||||
|
||||
#фильтр по доступности иным пользователям
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#shared = false
|
||||
|
||||
#id аккаунта для получения списка дисков
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 11111
|
||||
|
||||
#тип диска
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#возможные типы: "b" - boot_disk, "d" - data_disk
|
||||
#type = "d"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#кол-во страниц для вывода
|
||||
#опицональный параметр
|
||||
#тип - целое число
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опицональный параметр
|
||||
#тип - целое число
|
||||
#size = 1
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.dynamix_disk_list_deleted.dld
|
||||
}
|
||||
51
samples/cloudapi/disk/data_disk_list_types/main.tf
Normal file
51
samples/cloudapi/disk/data_disk_list_types/main.tf
Normal file
@@ -0,0 +1,51 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка типов дисков
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_disk_list_types" "dlt" {
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 3
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.dynamix_disk_list_types.dlt
|
||||
}
|
||||
51
samples/cloudapi/disk/data_disk_list_types_detailed/main.tf
Normal file
51
samples/cloudapi/disk/data_disk_list_types_detailed/main.tf
Normal file
@@ -0,0 +1,51 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка типов дисков, но детально
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_disk_list_types_detailed" "dltd" {
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 3
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.dynamix_disk_list_types_detailed.dltd
|
||||
}
|
||||
92
samples/cloudapi/disk/data_disk_list_unattached/main.tf
Normal file
92
samples/cloudapi/disk/data_disk_list_unattached/main.tf
Normal file
@@ -0,0 +1,92 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка доступных неприсоединенных дисков
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_disk_list_unattached" "dlu" {
|
||||
#фильтр по id диска
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени аккаунта
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#account_name = "user"
|
||||
|
||||
#фильтр по максимальному размеру диска
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#disk_max_size = 100
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#фильтр по типу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#возможные типы: "b" - boot_disk, "d" - data_disk
|
||||
#type = "d"
|
||||
|
||||
#фильтр по id аккаунта
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 100
|
||||
|
||||
#фильтр по id sep
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#sep_id = 1
|
||||
|
||||
#фильтр по имени pool
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#pool_name = "test"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 3
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.dynamix_disk_list_unattached.dlu
|
||||
}
|
||||
43
samples/cloudapi/disk/data_disk_replication/main.tf
Normal file
43
samples/cloudapi/disk/data_disk_replication/main.tf
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение статуса репликации диска
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_disk_replication" "dr" {
|
||||
#id диска для которого подключена репликация
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
disk_id = 49304
|
||||
|
||||
#id реплики диска
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
replica_disk_id = 1213
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.dynamix_disk_replication.dr
|
||||
}
|
||||
43
samples/cloudapi/disk/data_disk_snapshot/main.tf
Normal file
43
samples/cloudapi/disk/data_disk_snapshot/main.tf
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение конкретного снапшота
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_disk_snapshot" "ds" {
|
||||
#Номер диска
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
disk_id = 20100
|
||||
|
||||
#Ярлык диска
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
label = "label"
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.dynamix_disk_snapshot.ds
|
||||
}
|
||||
38
samples/cloudapi/disk/data_disk_snapshot_list/main.tf
Normal file
38
samples/cloudapi/disk/data_disk_snapshot_list/main.tf
Normal 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_disk_snapshot_list" "ds" {
|
||||
#номер диска
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
disk_id = 20100
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.dynamix_disk_snapshot_list.ds
|
||||
}
|
||||
117
samples/cloudapi/disk/resource_disk/main.tf
Normal file
117
samples/cloudapi/disk/resource_disk/main.tf
Normal file
@@ -0,0 +1,117 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса диска
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_disk" "disk" {
|
||||
#id аккаунта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
account_id = 88366
|
||||
|
||||
#gid
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
gid = 212
|
||||
|
||||
#название диска диска
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
disk_name = "super-disk-re"
|
||||
|
||||
#максимальный размер диска
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
size_max = 20
|
||||
|
||||
#тип диска
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#допустимые значения: "D", "B", "T"
|
||||
#значение по умолчанию: "D"
|
||||
#type = "d"
|
||||
|
||||
#sep id
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#значение по умолчанию 0
|
||||
#sep_id = 1
|
||||
|
||||
#название pool
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#pool = "pool_name"
|
||||
|
||||
#описание диска
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#desc = "description"
|
||||
|
||||
#флаг поделиться диском
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#shareable = 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
|
||||
}
|
||||
|
||||
#настройки для удаления диска
|
||||
|
||||
#флаг для удаления диска
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#permanently = true
|
||||
|
||||
#причина удаления диска
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#reason = "delete"
|
||||
|
||||
#флаг отсоединения диска от машины перед удалением
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#detach = true
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = dynamix_disk.disk
|
||||
}
|
||||
84
samples/cloudapi/disk/resource_disk_replication/main.tf
Normal file
84
samples/cloudapi/disk/resource_disk_replication/main.tf
Normal file
@@ -0,0 +1,84 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурс репликации диска
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_disk_replication" "dr" {
|
||||
#id диска из которого будет создана реплика
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
disk_id = 31606
|
||||
|
||||
#имя реплики диска
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
disk_name = "test"
|
||||
|
||||
#sep id
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
sep_id = 1
|
||||
|
||||
#название pool
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
pool_name = "some"
|
||||
|
||||
#флаг паузы
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#pause = false
|
||||
|
||||
#флаг для изменения ролей дисков
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#reverse = false
|
||||
|
||||
#флаг для запуска связи между диском и репликой
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#start = false
|
||||
|
||||
#флаг для отключения диска от ВМ при удалении
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#detach = false
|
||||
|
||||
#флаг для удаления реплики диска безвозвратно
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#permanently = false
|
||||
|
||||
#описание причины удаления
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#reason = "some"
|
||||
}
|
||||
|
||||
|
||||
output "test" {
|
||||
value = dynamix_disk_replication.dr
|
||||
}
|
||||
55
samples/cloudapi/disk/resource_disk_snapshot/main.tf
Normal file
55
samples/cloudapi/disk/resource_disk_snapshot/main.tf
Normal file
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурс снапшота диска
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_disk_snapshot" "ds" {
|
||||
#номер диска
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
disk_id = 20100
|
||||
|
||||
#ярлык диска
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
label = "label"
|
||||
|
||||
#флаг rollback
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
rollback = false
|
||||
|
||||
#временная метка timestamp
|
||||
#опциональный параметр
|
||||
#применяется в связке с rollback = true
|
||||
#дефолтное значение - 0
|
||||
#тип - целое число
|
||||
timestamp = 0
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = dynamix_disk_snapshot.ds
|
||||
}
|
||||
38
samples/cloudapi/extnet/data_extnet/main.tf
Normal file
38
samples/cloudapi/extnet/data_extnet/main.tf
Normal 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_extnet" "e" {
|
||||
#идентификатор сети
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
net_id = 1111
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.dynamix_extnet.e
|
||||
}
|
||||
64
samples/cloudapi/extnet/data_extnet_computes_list/main.tf
Normal file
64
samples/cloudapi/extnet/data_extnet_computes_list/main.tf
Normal file
@@ -0,0 +1,64 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о вычислительных ресурсах, использующих сеть аккаунта
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_extnet_computes_list" "ecl" {
|
||||
#идентификатор аккаунта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
account_id = 1111
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#rg_id = 11111
|
||||
|
||||
#фильтр по id виртуальной машины
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#compute_id = 11111
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#кол-во страниц для вывода
|
||||
#опицональный параметр
|
||||
#тип - целое число
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опицональный параметр
|
||||
#тип - целое число
|
||||
#size = 1
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.dynamix_extnet_computes_list.ecl
|
||||
}
|
||||
35
samples/cloudapi/extnet/data_extnet_default/main.tf
Normal file
35
samples/cloudapi/extnet/data_extnet_default/main.tf
Normal 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_extnet_default" "ed" {
|
||||
#нет входных параметров
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.dynamix_extnet_default.ed
|
||||
}
|
||||
84
samples/cloudapi/extnet/data_extnet_list/main.tf
Normal file
84
samples/cloudapi/extnet/data_extnet_list/main.tf
Normal file
@@ -0,0 +1,84 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка сетей
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_extnet_list" "el" {
|
||||
#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
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.dynamix_extnet_list.el
|
||||
}
|
||||
38
samples/cloudapi/flipgroup/data_flipgroup/main.tf
Normal file
38
samples/cloudapi/flipgroup/data_flipgroup/main.tf
Normal 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_flipgroup" "fg" {
|
||||
#id флипгруппы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
flipgroup_id = 999
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.dynamix_flipgroup.fg
|
||||
}
|
||||
107
samples/cloudapi/flipgroup/data_flipgroup_list/maint.tf
Normal file
107
samples/cloudapi/flipgroup/data_flipgroup_list/maint.tf
Normal file
@@ -0,0 +1,107 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о сети
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_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"
|
||||
|
||||
#id ресурсной группы, используется для фильтрации
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#rg_id = 11111
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 3
|
||||
|
||||
#фильтр по id аккаунта
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 100
|
||||
|
||||
#фильтр по id conn
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#conn_id = 100
|
||||
|
||||
#фильтр по id клиентов
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
#client_ids = [10,11]
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "CREATED"
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.dynamix_flipgroup_list.fg
|
||||
}
|
||||
78
samples/cloudapi/flipgroup/resource_flipgroup/main.tf
Normal file
78
samples/cloudapi/flipgroup/resource_flipgroup/main.tf
Normal file
@@ -0,0 +1,78 @@
|
||||
/*
|
||||
Пример использования
|
||||
Работа с ресурсом flipgroup (группа с плавающим ip-адресом)
|
||||
Ресурс позволяет:
|
||||
1. Создавать flipgroup
|
||||
2. Редактировать flipgroup
|
||||
3. Удалять flipgroup
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_flipgroup" "fg" {
|
||||
#id аккаунта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
account_id = 999
|
||||
|
||||
#наименование Flipgroup
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
name = "flipgroup_name"
|
||||
|
||||
#тип сети (EXTNET, ViNS)
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
net_type = "EXTNET"
|
||||
|
||||
#id сети
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
net_id = 13
|
||||
|
||||
#тип клиентов (в данный момент поддерживается только тип 'compute')
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
client_type = "compute"
|
||||
|
||||
#ip-адрес
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
ip = "127.0.0.1"
|
||||
|
||||
#список клиентов, прикрепленных к флипгруппе
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
client_ids = [11269]
|
||||
|
||||
#описание флипгруппы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
desc = "CHANGED"
|
||||
}
|
||||
|
||||
output "fg_out" {
|
||||
value = dynamix_flipgroup.fg
|
||||
}
|
||||
44
samples/cloudapi/image/data_image/main.tf
Normal file
44
samples/cloudapi/image/data_image/main.tf
Normal file
@@ -0,0 +1,44 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации об образе
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_image" "image" {
|
||||
#id образа
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
image_id = 111
|
||||
|
||||
#позывать ли информацию об удаленном образе
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - false
|
||||
#show_all = false
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.dynamix_image.image
|
||||
}
|
||||
112
samples/cloudapi/image/data_image_list/main.tf
Normal file
112
samples/cloudapi/image/data_image_list/main.tf
Normal file
@@ -0,0 +1,112 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка доступных образов
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_image_list" "il" {
|
||||
#фильтр по id sep
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#sep_id = 1
|
||||
|
||||
#фильтр по id образа
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени образа
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#фильтр по архитектуре
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#architecture = "x86_64"
|
||||
|
||||
#фильтр по типу образа
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#type_image = "cdrom"
|
||||
|
||||
#фильтр по размеру образа
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#image_size = 100
|
||||
|
||||
#фильтр по имени SEP
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#sep_name = "test"
|
||||
|
||||
#фильтр по имени Pool
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#pool_name = "test"
|
||||
|
||||
#фильтр по доступу
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#public = true
|
||||
|
||||
#фильтр по hot_resize
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#hot_resize = true
|
||||
|
||||
#фильтр по bootable
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#bootable = true
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 3
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.dynamix_image_list.il
|
||||
}
|
||||
110
samples/cloudapi/image/resource_image/main.tf
Normal file
110
samples/cloudapi/image/resource_image/main.tf
Normal file
@@ -0,0 +1,110 @@
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_image" "img" {
|
||||
#наименование образа
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
image_name = "image_name"
|
||||
|
||||
#grid ID платформы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
gid = 2002
|
||||
|
||||
#драйверы компьютов, подходящие для данного образа
|
||||
#обязательный параметр
|
||||
#тип - массив строк
|
||||
drivers = ["KVM_X86"]
|
||||
|
||||
#тип образа (linux, windows и др.)
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
image_type = "linux"
|
||||
|
||||
#прямая ссылка на образ
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
url = "https://dl-cdn.alpinelinux.org/alpine/v3.17/releases/x86_64/alpine-virt-3.17.3-x86_64.iso"
|
||||
|
||||
#тип загрузчика (bios/uefi)
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
boot_type = "bios"
|
||||
|
||||
#id аккаунта
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 138
|
||||
|
||||
#поддержка hot resize
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#hot_resize = true
|
||||
|
||||
#юзернейм для образа
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#username = "userx"
|
||||
|
||||
#пароль для образа
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#password = "passx"
|
||||
|
||||
#юзернейм для загрузки binary media
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#username_dl = "userxdl"
|
||||
|
||||
#пароль для загрузки binary media
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#password_dl = "passxdl"
|
||||
|
||||
#storage endpoint provider ID
|
||||
#опциональный параметр
|
||||
#тип - целая строка
|
||||
#sep_id = 1
|
||||
|
||||
#pool для образа
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#pool_name = "pool"
|
||||
|
||||
#архитектура образа (X86_64 / PPC64_LE)
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#architecture = "PPC64_LE"
|
||||
|
||||
#флаг для моментального удаления образа
|
||||
#необязательный параметр
|
||||
#дефолтное значение - true
|
||||
#тип - булев
|
||||
#permanently = true
|
||||
}
|
||||
|
||||
output "img_out" {
|
||||
value = dynamix_image.img
|
||||
}
|
||||
55
samples/cloudapi/image/resource_image_virtual/main.tf
Normal file
55
samples/cloudapi/image/resource_image_virtual/main.tf
Normal file
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
Пример использования
|
||||
Управления виртуальным образом
|
||||
Ресурс позволяет:
|
||||
1. Создавать image virtual
|
||||
2. Изменять image virtual
|
||||
2. Удалять image virtual
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_image_virtual" "iv" {
|
||||
#имя виртуального образа
|
||||
#обязательный параметр
|
||||
#при изменении - обновляет имя виртуального образа
|
||||
#тип - строка
|
||||
image_name = "iv-name"
|
||||
|
||||
#ID реального образа, на который будет ссылаться виртуальный
|
||||
#обязательный параметр
|
||||
#при изменении - ссылается на другой реальный образ
|
||||
#тип - целое число
|
||||
link_to = 123
|
||||
|
||||
#флаг для удаления образа
|
||||
#опциональный параметр
|
||||
#дефолтное значение - true
|
||||
#тип - булев
|
||||
#permanently = false
|
||||
}
|
||||
|
||||
output "sr" {
|
||||
value = dynamix_image_virtual.iv
|
||||
}
|
||||
85
samples/cloudapi/k8s/data_k8ci_list/main.tf
Normal file
85
samples/cloudapi/k8s/data_k8ci_list/main.tf
Normal file
@@ -0,0 +1,85 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о k8ci
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_k8ci_list" "k8ci_list" {
|
||||
#поиск по ID
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
by_id = 12
|
||||
|
||||
#поиск по наименованию
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
name = "name"
|
||||
|
||||
#поиск по статус
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
status = "status"
|
||||
|
||||
#поиск по worker драйверу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
worker_driver = "wdriver"
|
||||
|
||||
#поиск по master драйверу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
master_driver = "wdriver"
|
||||
|
||||
#поиск по network плагину
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
network_plugin = "flannel"
|
||||
|
||||
#показать выключенные K8CI
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
include_disabled = true
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
sort_by = "+name"
|
||||
|
||||
#номер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
size = 5
|
||||
}
|
||||
|
||||
output "output_k8ci" {
|
||||
value = data.dynamix_k8ci_list.k8ci_list
|
||||
}
|
||||
39
samples/cloudapi/k8s/data_k8s/main.tf
Normal file
39
samples/cloudapi/k8s/data_k8s/main.tf
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о k8s кластере
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_k8s" "k8s" {
|
||||
#id кластера
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
k8s_id = 49304
|
||||
}
|
||||
|
||||
output "output_k8s" {
|
||||
value = data.dynamix_k8s.k8s
|
||||
}
|
||||
38
samples/cloudapi/k8s/data_k8s_computes/main.tf
Normal file
38
samples/cloudapi/k8s/data_k8s_computes/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о компьютах k8s кластера
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_k8s_computes" "computes" {
|
||||
#id кластера
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
k8s_id = 999
|
||||
}
|
||||
|
||||
output "computes_out" {
|
||||
value = data.dynamix_k8s_computes.computes
|
||||
}
|
||||
98
samples/cloudapi/k8s/data_k8s_list/main.tf
Normal file
98
samples/cloudapi/k8s/data_k8s_list/main.tf
Normal file
@@ -0,0 +1,98 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка доступных кластеров
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_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 в результат
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#если не задан - выводятся все неудаленные данные
|
||||
#includedeleted = true
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 1
|
||||
}
|
||||
|
||||
output "output_k8s_list" {
|
||||
value = data.dynamix_k8s_list.k8s_list
|
||||
}
|
||||
88
samples/cloudapi/k8s/data_k8s_list_deleted/main.tf
Normal file
88
samples/cloudapi/k8s/data_k8s_list_deleted/main.tf
Normal file
@@ -0,0 +1,88 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка удаленных кластеров
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_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.dynamix_k8s_list_deleted.k8s_list_deleted
|
||||
}
|
||||
|
||||
44
samples/cloudapi/k8s/data_k8s_wg/main.tf
Normal file
44
samples/cloudapi/k8s/data_k8s_wg/main.tf
Normal file
@@ -0,0 +1,44 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о k8s кластере
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_k8s_wg" "k8s_wg" {
|
||||
#id кластера
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
k8s_id = 49304
|
||||
|
||||
#id группы воркеров
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
wg_id = 43329
|
||||
}
|
||||
|
||||
output "output_k8s_wg" {
|
||||
value = data.dynamix_k8s_wg.k8s_wg
|
||||
}
|
||||
47
samples/cloudapi/k8s/data_k8s_wg_cloud_init/main.tf
Normal file
47
samples/cloudapi/k8s/data_k8s_wg_cloud_init/main.tf
Normal file
@@ -0,0 +1,47 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о мета данных рабочей группы k8s кластера
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_k8s_wg_cloud_init" "wg_cloud_init" {
|
||||
#id кластера
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
k8s_id = 977
|
||||
|
||||
#id группы воркеров
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
wg_id = 2110
|
||||
}
|
||||
|
||||
output "wg_cloud_init" {
|
||||
value = data.dynamix_k8s_wg_cloud_init.wg_cloud_init
|
||||
}
|
||||
|
||||
|
||||
|
||||
39
samples/cloudapi/k8s/data_k8s_wg_list/main.tf
Normal file
39
samples/cloudapi/k8s/data_k8s_wg_list/main.tf
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка доступных групп воркеров в кластере
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_k8s_wg_list" "k8s_wg_list" {
|
||||
#id кластера
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
k8s_id = 49304
|
||||
}
|
||||
|
||||
output "output_k8s_wg_list" {
|
||||
value = data.dynamix_k8s_wg_list.k8s_wg_list
|
||||
}
|
||||
9
samples/cloudapi/k8s/resource_k8s_cp/initconfig.tftpl
Normal file
9
samples/cloudapi/k8s/resource_k8s_cp/initconfig.tftpl
Normal 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
|
||||
176
samples/cloudapi/k8s/resource_k8s_cp/main.tf
Normal file
176
samples/cloudapi/k8s/resource_k8s_cp/main.tf
Normal file
@@ -0,0 +1,176 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса k8s
|
||||
Ресурс позволяет:
|
||||
1. Создавать кластер
|
||||
2. Редактировать кластер
|
||||
3. Удалять кластер
|
||||
4. Настроить мастер-узел
|
||||
5. Изменить кол-во ВМ в мастер-узле
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_k8s_cp" "cp" {
|
||||
#название кластера
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
name = "k8s-cp"
|
||||
|
||||
#K8sCI ID
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
k8sci_id = 55
|
||||
|
||||
#плагин сети (flannel, weavenet или calico)
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
network_plugin = "flannel"
|
||||
|
||||
#id ресурсной группы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
rg_id = 1387
|
||||
|
||||
#кол-во ядер мастер-узла
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
cpu = 2
|
||||
|
||||
#объем RAM мастер-узла
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
ram = 2048
|
||||
|
||||
#кол-во ВМ мастер-узла (1, 3 или 5)
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
num = 1
|
||||
|
||||
#размер диска мастер-узла
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
disk = 10
|
||||
|
||||
#описание кластера
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
desc = "<DESCRIPTION>"
|
||||
|
||||
#id extnet
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
extnet_id = 0
|
||||
|
||||
#id vins
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
vins_id = 1234
|
||||
|
||||
#storage Endpoint ID
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
sep_id = 0
|
||||
|
||||
#SEP Pool
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
sep_pool = "pool"
|
||||
|
||||
#старт/стоп кластера
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
start = true
|
||||
|
||||
#создать кластер с/без балансировщика нагрузки
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
with_lb = true
|
||||
|
||||
#позволяет создать схему отказоустройчивой LB
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
ha_mode = true
|
||||
|
||||
#дополнительные SAN (Subject Alternative Names) для использования в процессе автоматического выписывания сертификата Кластера Kubernetes;
|
||||
#возможность взаимодействовать с кластером по FQDN
|
||||
#параметр получает список строк – IP-адреса и/или DNS (по формату RFC 1123 c поддержкой wildcard)
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
additional_sans = ["192.168.201.0","192.168.201.1"]
|
||||
|
||||
#используется для определения настроек и действий, которые должны быть выполнены перед запуском любого другого компонента в кластере
|
||||
#это позволяет вам настраивать такие вещи, как регистрация node, настройка network и другие задачи инициализации
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
init_config = "{JSON string}"
|
||||
|
||||
#используется для определения глобальных настроек и конфигураций для всего кластера
|
||||
#он включает в себя такие параметры, как имя кластера, настройки DNS, методы аутентификации и другие конфигурации в масштабах кластера
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
cluster_config = "{JSON string}"
|
||||
|
||||
#используется для настройки поведения и параметров Kubelet, который является агентом primary node, запускаемым на каждом node кластера
|
||||
#он включает в себя такие параметры, как IP-адрес node, распределение ресурсов, политики удаления модулей и другие конфигурации, специфичные для Kubelet
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
kubelet_config = "{JSON string}"
|
||||
|
||||
#используется для настройки поведения и параметров присоединения node к кластеру
|
||||
#он включает в себя такие параметры, как режим прокси-сервера, диапазоны IP-адресов кластера и другие конфигурации, специфичные для Kube-proxy
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
kube_proxy_config = "{JSON string}"
|
||||
|
||||
#используется для настройки поведения и параметров присоединения node к кластеру
|
||||
#он включает в себя такие параметры, как cluster's control plane endpoint, токен и ключ сертификата
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
join_config = "{JSON string}"
|
||||
|
||||
#при создании кластре использовать подключение только к сети ExtNet
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
extnet_only = true
|
||||
|
||||
#добавить ssl-сертификат в формате x509 pem
|
||||
#необязательный параметр
|
||||
#тип - файл с форматом в виде x509 pem
|
||||
oidc_cert = file("ca.crt")
|
||||
|
||||
#пользовательские значения sysctl для LB
|
||||
#опциональный параметр
|
||||
#тип - список мап
|
||||
lb_sysctl_params = [{text = "1", text = "some"}]
|
||||
|
||||
#команда destroy удаляет кластер без возможности восстановления
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
permanently = true
|
||||
}
|
||||
|
||||
output "cp_out" {
|
||||
value = dynamix_k8s_cp.cp
|
||||
}
|
||||
9
samples/cloudapi/k8s/resource_k8s_wg/initconfig.tftpl
Normal file
9
samples/cloudapi/k8s/resource_k8s_wg/initconfig.tftpl
Normal 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
|
||||
76
samples/cloudapi/k8s/resource_k8s_wg/main.tf
Normal file
76
samples/cloudapi/k8s/resource_k8s_wg/main.tf
Normal file
@@ -0,0 +1,76 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о группе воркеров кластера Kubernetes(k8s)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_k8s_wg" "wg" {
|
||||
#id экземпляра k8s
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
k8s_id = 1234
|
||||
|
||||
#имя worker group
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
name = "workers-2"
|
||||
|
||||
#количество worker node для создания
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#по - умолчанию - 1
|
||||
num = 2
|
||||
|
||||
#количество cpu для 1 worker node
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#по - умолчанию - 1
|
||||
cpu = 1
|
||||
|
||||
#количество RAM для одной worker node в Мбайтах
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#по-умолчанию - 1024
|
||||
ram = 1024
|
||||
|
||||
#размер загрузочного диска для worker node, в Гбайтах
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#по - умолчанию - 0
|
||||
#если установлен параметр 0, то размер диска будет равен размеру образа
|
||||
disk = 10
|
||||
|
||||
#Перечень аргументов для cloud-init для виртуальных машин worker групп
|
||||
#опциональный параметр
|
||||
#тип - файл с форматом в виде yaml
|
||||
#используется при создании и обновлении ресурса
|
||||
cloud_init = file("initconfig.tftpl")
|
||||
}
|
||||
|
||||
|
||||
output "test_wg" {
|
||||
value = dynamix_k8s_wg.wg
|
||||
}
|
||||
39
samples/cloudapi/kvmvm/data_kvmvm/main.tf
Normal file
39
samples/cloudapi/kvmvm/data_kvmvm/main.tf
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных о compute (виртуальной машине)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_kvmvm" "comp" {
|
||||
#получение информации по идентификатору машины - compute_id
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 11346
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.dynamix_kvmvm.comp
|
||||
}
|
||||
38
samples/cloudapi/kvmvm/data_kvmvm_audits/main.tf
Normal file
38
samples/cloudapi/kvmvm/data_kvmvm_audits/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных об аудитах compute (виртуальной машине)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_kvmvm_audits" "kvmvm_audits" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 10154
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.dynamix_kvmvm_audits.kvmvm_audits
|
||||
}
|
||||
38
samples/cloudapi/kvmvm/data_kvmvm_get_audits/main.tf
Normal file
38
samples/cloudapi/kvmvm/data_kvmvm_get_audits/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных об аудитах compute (виртуальной машине)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_kvmvm_get_audits" "kvmvm_get_audits" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 10154
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.dynamix_kvmvm_get_audits.kvmvm_get_audits
|
||||
}
|
||||
38
samples/cloudapi/kvmvm/data_kvmvm_get_console_url/main.tf
Normal file
38
samples/cloudapi/kvmvm/data_kvmvm_get_console_url/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение url compute (виртуальной машины)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_kvmvm_get_console_url" "kvmvm_get_console_url" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 10154
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.dynamix_kvmvm_get_console_url.kvmvm_get_console_url
|
||||
}
|
||||
43
samples/cloudapi/kvmvm/data_kvmvm_get_log/main.tf
Normal file
43
samples/cloudapi/kvmvm/data_kvmvm_get_log/main.tf
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение логов compute (виртуальной машины)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_kvmvm_get_log" "kvmvm_get_log" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 10154
|
||||
|
||||
#путь до log файла
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
path = "/var/log/file.log"
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.dynamix_kvmvm_get_log.kvmvm_get_log
|
||||
}
|
||||
108
samples/cloudapi/kvmvm/data_kvmvm_list/main.tf
Normal file
108
samples/cloudapi/kvmvm/data_kvmvm_list/main.tf
Normal file
@@ -0,0 +1,108 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных об списке compute (виртуальных машин)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_kvmvm_list" "compute_list" {
|
||||
#фильтр по id ВМ
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени ВМ
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#id аккаунта для получения списка ВМ
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 11111
|
||||
|
||||
#фильтр по имени ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#rg_name = "test"
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#rg_id = 100
|
||||
|
||||
#фильтр по техническому статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#tech_status = "STOPPED"
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#фильтр по ip
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#ip_address = "test"
|
||||
|
||||
#фильтр по имени extnet
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#extnet_name = "test"
|
||||
|
||||
#фильтр по id extnet
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#extnet_id = 100
|
||||
|
||||
#флаг включения в результат удаленных балансироващиков нагрузки
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#значение по-умолчанию - false
|
||||
#если не задан - выводятся все доступные неудаленные балансировщики
|
||||
#includedeleted = true
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 1
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.dynamix_kvmvm_list.compute_list
|
||||
}
|
||||
96
samples/cloudapi/kvmvm/data_kvmvm_list_deleted/main.tf
Normal file
96
samples/cloudapi/kvmvm/data_kvmvm_list_deleted/main.tf
Normal file
@@ -0,0 +1,96 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных о списке удаленных compute (виртуальных машин)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_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.dynamix_kvmvm_list_deleted.compute_list
|
||||
}
|
||||
76
samples/cloudapi/kvmvm/data_kvmvm_pci_device_list/main.tf
Normal file
76
samples/cloudapi/kvmvm/data_kvmvm_pci_device_list/main.tf
Normal file
@@ -0,0 +1,76 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных о списке подключенных устройств (PCI)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_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.dynamix_kvmvm_pci_device_list.pci_device_list
|
||||
}
|
||||
38
samples/cloudapi/kvmvm/data_kvmvm_pfw_list/main.tf
Normal file
38
samples/cloudapi/kvmvm/data_kvmvm_pfw_list/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных об списке port forwarding compute (виртуальных машин)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_kvmvm_pfw_list" "kvmvm_pfw_list" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 10524
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.dynamix_kvmvm_pfw_list.kvmvm_pfw_list
|
||||
}
|
||||
43
samples/cloudapi/kvmvm/data_kvmvm_snapshot_usage/main.tf
Normal file
43
samples/cloudapi/kvmvm/data_kvmvm_snapshot_usage/main.tf
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных об snapshot_usage compute (виртуальной машины)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_kvmvm_snapshot_usage" "kvmvm_snapshot_usage" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 10154
|
||||
|
||||
#лейбл snapshot usage
|
||||
#необязательный параметр
|
||||
#тип - строка
|
||||
label = "some"
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.dynamix_kvmvm_snapshot_usage.kvmvm_snapshot_usage
|
||||
}
|
||||
38
samples/cloudapi/kvmvm/data_kvmvm_user_list/main.tf
Normal file
38
samples/cloudapi/kvmvm/data_kvmvm_user_list/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных об юзерах compute (виртуальной машины)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_kvmvm_user_list" "kvmvm_user_list" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 10154
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.dynamix_kvmvm_user_list.kvmvm_user_list
|
||||
}
|
||||
76
samples/cloudapi/kvmvm/data_kvmvm_vgpu_list/main.tf
Normal file
76
samples/cloudapi/kvmvm/data_kvmvm_vgpu_list/main.tf
Normal 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_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.dynamix_kvmvm_vgpu_list.vgpu_list
|
||||
}
|
||||
14
samples/cloudapi/kvmvm/resource_kvmvm/initconfig.tftpl
Normal file
14
samples/cloudapi/kvmvm/resource_kvmvm/initconfig.tftpl
Normal 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"
|
||||
}
|
||||
]
|
||||
}
|
||||
396
samples/cloudapi/kvmvm/resource_kvmvm/main.tf
Normal file
396
samples/cloudapi/kvmvm/resource_kvmvm/main.tf
Normal file
@@ -0,0 +1,396 @@
|
||||
/*
|
||||
Пример использования
|
||||
Работа с ресурсом kvmvm (compute)
|
||||
Ресурс позволяет:
|
||||
1. Создавать compute
|
||||
2. Редактировать compute
|
||||
3. Удалять compute
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
dynamix = {
|
||||
version = "<VERSION>"
|
||||
source = "basistech.ru/tf/dynamix"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
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_kvmvm" "comp" {
|
||||
#имя compute
|
||||
#может быть изменен
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
name = "test-tf-compute-update-new"
|
||||
|
||||
#id resource group
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
rg_id = 1111
|
||||
|
||||
#тип драйвера для compute
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#возможные значения: "SVA_KVM_X86", "KVM_X86", "KVM_PPC"
|
||||
driver = "KVM_X86"
|
||||
|
||||
#число cpu
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
cpu = 1
|
||||
|
||||
#кол-во оперативной памяти, МБ
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#возможные значения: кратные 128
|
||||
ram = 2048
|
||||
|
||||
#размер загрузочного диска
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
boot_disk_size = 20
|
||||
|
||||
#id сепа для boot диска
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
sep_id = 1
|
||||
|
||||
#название пула
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
pool = "data02"
|
||||
|
||||
#конфигурация cloud init
|
||||
#опциональный параметр
|
||||
#тип - файл в формате JSON/YAML
|
||||
cloud_init = file("initconfig.tftpl")
|
||||
|
||||
#описание compute
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
description = "test update description in tf words update"
|
||||
|
||||
#id образа диска для создания compute
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
image_id = 111
|
||||
|
||||
#создание без загрузочного диска в остановленном состоянии
|
||||
#опциональный параметр
|
||||
#если значение равно True, параметры image_id, boot_disk_size, sep_id, pool должны быть пустыми
|
||||
#тип - булев
|
||||
without_boot_disk = true
|
||||
|
||||
#необходимость выравнивать ВМ по NUMA
|
||||
#опциональный параметр
|
||||
#возможные значения - "none "strict" "loose"
|
||||
#по умолчанию - "none"
|
||||
#тип - строка
|
||||
numa_affinity = "loose"
|
||||
|
||||
#необходимость запускать ВМ на выделенных CPU ядрах
|
||||
#опциональный параметр
|
||||
#по умолчанию - false
|
||||
#тип - булев
|
||||
cpu_pin = true
|
||||
|
||||
#необходимость использовать для выделения RAM виртуальной машины Huge Pages
|
||||
#опциональный параметр
|
||||
#по умолчанию - false
|
||||
#тип - булев
|
||||
hp_backed = true
|
||||
|
||||
#правила 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"
|
||||
|
||||
#Управление XML виртуальной машины
|
||||
#опциональный параметр
|
||||
#тип - строка (json-encoded)
|
||||
custom_fields = "{`key`:`value`}"
|
||||
|
||||
#наименование системы
|
||||
#опциональный параметр
|
||||
#используется при создании вм
|
||||
#по умолчанию - не задан
|
||||
#тип - строка
|
||||
is = ""
|
||||
|
||||
#назначение вм
|
||||
#опциональный параметр
|
||||
#используется при создании вм
|
||||
#по умолчанию - не задан
|
||||
#тип - строка
|
||||
ipa_type = ""
|
||||
|
||||
#id экстра дисков
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
extra_disks = [1234, 4322, 1344]
|
||||
|
||||
#присоединения сетей и удаление сетей в компьюте
|
||||
#опциональный параметр
|
||||
#тип - список объектов сетей
|
||||
network = [{
|
||||
#тип сети VINS/EXTNET (для любого драйвера) и VFNIC (для KVM_X86)
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
net_type = "VINS"
|
||||
|
||||
#id сети
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
net_id = 1234
|
||||
|
||||
#ip адрес входящий в сеть
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
ip_address = "127.0.0.1"
|
||||
}]
|
||||
|
||||
#добавление и удаление тэгов
|
||||
#опциональный параметр
|
||||
#тип - список тэгов
|
||||
tags = [{
|
||||
#ключ для тэга
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
key = "key"
|
||||
|
||||
#значения тэга
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
value = "value"
|
||||
}]
|
||||
|
||||
#добавление и удаление port forwarding
|
||||
#опциональный параметр
|
||||
#тип - список объектов переадресации портов
|
||||
port_forwarding = [{
|
||||
#номер внешнего начального порта для правила
|
||||
#Обязательный параметр
|
||||
#тип - целое число
|
||||
public_port_start = 2023
|
||||
|
||||
#номер внешнего последнего порта для правила
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#по умолчанию - -1
|
||||
public_port_end = 2023
|
||||
|
||||
#номер внутреннего базового порта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
local_port = 80
|
||||
|
||||
#сетевой протокол
|
||||
#Обязательный параметр
|
||||
#тип - строка
|
||||
proto = "tcp"
|
||||
}]
|
||||
|
||||
#предоставить/забрать пользователю доступ к компьюту
|
||||
#опциональный параметр
|
||||
#тип - список объектов прав пользователя
|
||||
user_access = [{
|
||||
#имя юзера, которому предоставляем доступ
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
username = "some@decs3o"
|
||||
|
||||
#права: 'R' - только на чтение, 'RCX' - чтение/запись, 'ARCXDU' - админ
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
access_type = "ARCXDU"
|
||||
}]
|
||||
|
||||
#создать/удалить снапшот компьюта
|
||||
#опциональный параметр
|
||||
#тип - список объектов снапшотов
|
||||
snapshot = [{
|
||||
#лейбл снапшота
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
label = "label1"
|
||||
}]
|
||||
|
||||
#rollback на нужный снапшот
|
||||
#опциональный параметр
|
||||
#не имеет смысла при отсутсвии снапшотов
|
||||
#тип - объект
|
||||
rollback = {
|
||||
#Лейбл снапшота
|
||||
#Обязательный параметр
|
||||
#тип - строка
|
||||
label = "label1"
|
||||
}
|
||||
|
||||
#вставить/удалить СD rom
|
||||
#опциональный параметр
|
||||
#максимальное кол-во - 1
|
||||
#тип - объект
|
||||
cd = {
|
||||
#id образа диска CD rom
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
cdrom_id = 344
|
||||
}
|
||||
|
||||
#добавить компьют на стэк
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
pin_to_stack = true
|
||||
|
||||
#флаг доступности компьюта для проведения с ним операций
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
enabled = true
|
||||
|
||||
#pause/resume компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - false
|
||||
pause = true
|
||||
|
||||
#reset компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - false
|
||||
reset = true
|
||||
|
||||
#восстановить компьют из корзины
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - true
|
||||
restore = true
|
||||
|
||||
#флаг для редеплоя компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - false
|
||||
auto_start = true
|
||||
|
||||
#флаг для редеплоя компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - false
|
||||
force_stop = true
|
||||
|
||||
#флаг для ресайза компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - false
|
||||
force_resize = true
|
||||
|
||||
#поле для редеплоя компьюта
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#возможные значения - "KEEP", "DETACH", "DESTROY"
|
||||
data_disks = "KEEP"
|
||||
|
||||
#запуск/стоп компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - true
|
||||
started = true
|
||||
|
||||
#detach диска при удалении компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - true
|
||||
detach_disks = true
|
||||
|
||||
#флаг для удаления компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - true
|
||||
permanently = false
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = dynamix_kvmvm.comp
|
||||
}
|
||||
38
samples/cloudapi/lb/data_lb/main.tf
Normal file
38
samples/cloudapi/lb/data_lb/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о load balancer (балансировщик нагрузок)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_lb" "lb" {
|
||||
#id балансировщика нагрузок
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
lb_id = 238
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.dynamix_lb
|
||||
}
|
||||
99
samples/cloudapi/lb/data_lb_list/main.tf
Normal file
99
samples/cloudapi/lb/data_lb_list/main.tf
Normal file
@@ -0,0 +1,99 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка load balancer (балансировщиков нагрузки)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_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
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.dynamix_lb_list.lbl
|
||||
}
|
||||
86
samples/cloudapi/lb/data_lb_list_deleted/main.tf
Normal file
86
samples/cloudapi/lb/data_lb_list_deleted/main.tf
Normal file
@@ -0,0 +1,86 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка удаленных load balancer (балансировщиков нагрузок)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_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.dynamix_lb_list_deleted.lbld
|
||||
}
|
||||
121
samples/cloudapi/lb/resource_lb/main.tf
Normal file
121
samples/cloudapi/lb/resource_lb/main.tf
Normal file
@@ -0,0 +1,121 @@
|
||||
/*
|
||||
Пример использования
|
||||
Управление балансировщиком нагрузки (load balancer)
|
||||
Ресурс позволяет:
|
||||
1. Создавать load balancer
|
||||
2. Редактировать load balancer
|
||||
3. Удалять load balancer
|
||||
/*
|
||||
|
||||
#Раскомментируйте этот код
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_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 или null на true
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#restart = false
|
||||
|
||||
#флаг сброса конфигурации load balancer
|
||||
#сброс срабатывает только при изменении флага с false или null на true
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#config_reset = false
|
||||
|
||||
#флаг моментального удаления load balancer
|
||||
#опциональный параметр
|
||||
#применяется при выполнении команды terraform destroy
|
||||
#по умолчанию - true
|
||||
#тип - булев
|
||||
#permanently = true
|
||||
|
||||
#флаг восстановления load balancer
|
||||
#опциональный параметр
|
||||
#восстановить можно load balancer, удаленным с флагом permanently = false
|
||||
#по умолчанию - true
|
||||
#тип - булев
|
||||
#restore = true
|
||||
|
||||
#флаг используемый при рестарте load balancer
|
||||
#опциональный параметр
|
||||
#при значении "true" рестарт производится на обоих нодах в HA mode
|
||||
#значение по умолчанию - true
|
||||
#тип - булев
|
||||
#safe = true
|
||||
|
||||
#пользовательские значения sysctl для LB
|
||||
#опциональный параметр
|
||||
#тип - список мап
|
||||
#sysctl_params = [{key = "1", value = "some" }]
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = dynamix_lb.lb
|
||||
}
|
||||
109
samples/cloudapi/lb/resource_lb_backend/main.tf
Normal file
109
samples/cloudapi/lb/resource_lb_backend/main.tf
Normal file
@@ -0,0 +1,109 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса load balancer backend
|
||||
Ресурс позволяет:
|
||||
1. Создавать backend
|
||||
2. Редактировать backend
|
||||
3. Удалять backend
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_lb_backend" "lb" {
|
||||
#id балансировщика нагрузок
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
lb_id = 668
|
||||
|
||||
#имя бекенда для создания сервера
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
name = "testBackend"
|
||||
|
||||
#алгоритм балансировки
|
||||
#опциональный параметр
|
||||
#по умолчанию - "roundrobin"
|
||||
#доступные значения - "roundrobin", "static-rr", "leastconn"
|
||||
#тип - строка
|
||||
#algorithm = "roundrobin"
|
||||
|
||||
#-------------------
|
||||
#настройки для серверов по умолчанию
|
||||
#-------------------
|
||||
|
||||
#интервал между проверками, в миллисекундах
|
||||
#опциональный параметр
|
||||
#по умолчанию - 5000
|
||||
#тип - целое число
|
||||
#inter = 5000
|
||||
|
||||
#интервал между проверками доступности сервера после восстановления, в миллисекундах
|
||||
#опциональный параметр
|
||||
#по умолчанию - 1000
|
||||
#тип - целое число
|
||||
#downinter = 1000
|
||||
|
||||
#кол-во проверок, которые сервер должен успешно пройти
|
||||
#опциональный параметр
|
||||
#по умолчанию - 2
|
||||
#тип - целое число
|
||||
#rise = 2
|
||||
|
||||
#кол-во проверок, которые сервер может не пройти и после этого получить статус "unavailable"
|
||||
#опциональный параметр
|
||||
#по умолчанию - 2
|
||||
#тип - целое число
|
||||
#fall = 2
|
||||
|
||||
#кол-во миллисекунд - время между получением сервера статуса "available" и открытием соединений
|
||||
#опциональный параметр
|
||||
#по умолчанию - 60000
|
||||
#тип - целое число
|
||||
#slowstart = 60000
|
||||
|
||||
#максимальное кол-во соединений сервера, при достижении этого кол-ва, сервер выходит из схемы балансирования
|
||||
#опциональный параметр
|
||||
#по умолчанию - 250
|
||||
#тип - целое число
|
||||
#maxconn = 250
|
||||
|
||||
#максимальное кол-во соединений в очереди сервера, при достижении этого кол-ва, соединения будут перенаправлены на другой сервер
|
||||
#опциональный параметр
|
||||
#по умолчанию - 256
|
||||
#тип - целое число
|
||||
#maxqueue = 256
|
||||
|
||||
#вес сервера для балансировки
|
||||
#опциональный параметр
|
||||
#мин - 0
|
||||
#макс - 255
|
||||
#по умолчанию - 100
|
||||
#тип - целое число
|
||||
#weight = 100
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = dynamix_lb_backend.lb
|
||||
}
|
||||
120
samples/cloudapi/lb/resource_lb_backend_server/main.tf
Normal file
120
samples/cloudapi/lb/resource_lb_backend_server/main.tf
Normal file
@@ -0,0 +1,120 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса load balancer backend server
|
||||
Ресурс позволяет:
|
||||
1. Создавать server
|
||||
2. Редактировать server
|
||||
3. Удалять server
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_lb_backend_server" "lb" {
|
||||
#id балансировщика нагрузок
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
lb_id = 668
|
||||
|
||||
#имя бекенда для создания сервера
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
backend_name = "testBackend"
|
||||
|
||||
#имя сервера
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
name = "testServer"
|
||||
|
||||
#ip адрес сервера
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
address = "192.168.5.33"
|
||||
|
||||
#порт сервера
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
port = 6553
|
||||
|
||||
#проверка доступности сервера
|
||||
#опциональный параметр
|
||||
#по умолчанию - "enabled"
|
||||
#доступные значения - "disabled", "enabled"
|
||||
#тип - строка
|
||||
#check = "enabled"
|
||||
|
||||
#интервал между проверками, в миллисекундах
|
||||
#опциональный параметр
|
||||
#по умолчанию - 5000
|
||||
#тип - целое число
|
||||
#inter = 5000
|
||||
|
||||
#интервал между проверками доступности сервера после восстановления, в миллисекундах
|
||||
#опциональный параметр
|
||||
#по умолчанию - 1000
|
||||
#тип - целое число
|
||||
#downinter = 1000
|
||||
|
||||
#кол-во проверок, которые сервер должен успешно пройти
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#по умолчанию - 2
|
||||
#rise = 2
|
||||
|
||||
#кол-во проверок, которые сервер может не пройти и после этого получить статус "unavailable"
|
||||
#опциональный параметр
|
||||
#по умолчанию - 2
|
||||
#тип - целое число
|
||||
#fall = 2
|
||||
|
||||
#кол-во миллисекунд - время между получением сервера статуса "available" и открытием соединений
|
||||
#опциональный параметр
|
||||
#по умолчанию - 60000
|
||||
#тип - целое число
|
||||
#slowstart = 60000
|
||||
|
||||
#максимальное кол-во соединений сервера, при достижении этого кол-ва, сервер выходит из схемы балансирования
|
||||
#опциональный параметр
|
||||
#по умолчанию - 250
|
||||
#тип - целое число
|
||||
#maxconn = 250
|
||||
|
||||
#максимальное кол-во соединений в очереди сервера, при достижении этого кол-ва, соединения будут перенаправлены на другой сервер
|
||||
#опциональный параметр
|
||||
#по умолчанию - 256
|
||||
#тип - целое число
|
||||
#maxqueue = 256
|
||||
|
||||
#вес сервера для балансировки
|
||||
#опциональный параметр
|
||||
#мин - 0
|
||||
#макс - 255
|
||||
#по умолчанию - 100
|
||||
#тип - целое число
|
||||
#weight = 100
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = dynamix_lb_backend_server.lb
|
||||
}
|
||||
52
samples/cloudapi/lb/resource_lb_frontend/main.tf
Normal file
52
samples/cloudapi/lb/resource_lb_frontend/main.tf
Normal file
@@ -0,0 +1,52 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса load balancer frontend
|
||||
Ресурс позволяет:
|
||||
1. Создавать frontend
|
||||
2. Удалять frontend
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_lb_frontend" "lb" {
|
||||
#id балансировщика нагрузок
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
lb_id = 668
|
||||
|
||||
#имя бекенда для создания фронтенда
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
backend_name = "testBackend"
|
||||
|
||||
#имя фронтенда
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
name = "testFrontend"
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = dynamix_lb_frontend.lb
|
||||
}
|
||||
63
samples/cloudapi/lb/resource_lb_frontend_bind/main.tf
Normal file
63
samples/cloudapi/lb/resource_lb_frontend_bind/main.tf
Normal file
@@ -0,0 +1,63 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса load balancer frontend bind (привязка фронтенда балансировщика нагрузок)
|
||||
Ресурс позволяет:
|
||||
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_lb_frontend_bind" "lb" {
|
||||
#id балансировщика нагрузок
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
lb_id = 668
|
||||
|
||||
#имя фронтенда для создания привязки
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
frontend_name = "testFrontend"
|
||||
|
||||
#наименование привязки
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
name = "testBinding"
|
||||
|
||||
#адрес привязки фронтенда
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
address = "111.111.111.111"
|
||||
|
||||
#порт для привязки фронтенда
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
port = 1111
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = dynamix_lb_frontend_bind.lb
|
||||
}
|
||||
43
samples/cloudapi/rg/data_rg/main.tf
Normal file
43
samples/cloudapi/rg/data_rg/main.tf
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о ресурсной группе RG
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_resgroup" "rg" {
|
||||
#id ресурсной группы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
rg_id = 1535
|
||||
|
||||
#причина для выполнения действия
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
reason = "TEST"
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.dynamix_resgroup.rg
|
||||
}
|
||||
43
samples/cloudapi/rg/data_rg_affinity_group_computes/main.tf
Normal file
43
samples/cloudapi/rg/data_rg_affinity_group_computes/main.tf
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о специальной группе компьютов
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_rg_affinity_group_computes" "lc" {
|
||||
#id ресурсной группы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
rg_id = 123
|
||||
|
||||
#название специальной группы компьютов
|
||||
#обязательное поле
|
||||
#тип - строка
|
||||
affinity_group = "TEST"
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.dynamix_rg_affinity_group_computes.lc
|
||||
}
|
||||
43
samples/cloudapi/rg/data_rg_affinity_groups_get/main.tf
Normal file
43
samples/cloudapi/rg/data_rg_affinity_groups_get/main.tf
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о списке компьютов из определенной группы
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_rg_affinity_groups_get" "get_groups" {
|
||||
#id ресурсной группы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
rg_id = 123
|
||||
|
||||
#название специальной группы компьютов
|
||||
#обязательное поле
|
||||
#тип - строка
|
||||
affinity_group = "TEST"
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.dynamix_rg_affinity_groups_get.get_groups
|
||||
}
|
||||
50
samples/cloudapi/rg/data_rg_affinity_groups_list/main.tf
Normal file
50
samples/cloudapi/rg/data_rg_affinity_groups_list/main.tf
Normal file
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о списке специальных групп компьютов
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_rg_affinity_groups_list" "list_groups" {
|
||||
#id ресурсной группы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
rg_id = 123
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 1
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.dynamix_rg_affinity_groups_list.list_groups
|
||||
}
|
||||
38
samples/cloudapi/rg/data_rg_audits/main.tf
Normal file
38
samples/cloudapi/rg/data_rg_audits/main.tf
Normal 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_rg_audits" "rg_audits" {
|
||||
#id ресурсной группы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
rg_id = 123
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.dynamix_rg_audits.rg_audits
|
||||
}
|
||||
94
samples/cloudapi/rg/data_rg_list/main.tf
Normal file
94
samples/cloudapi/rg/data_rg_list/main.tf
Normal file
@@ -0,0 +1,94 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о списке всех ресурсных группах к которым есть доступ
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_rg_list" "rg_list" {
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#id аккаунта для получения списка ресурсных групп
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 11111
|
||||
|
||||
#фильтр по имени аккаунта
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#account_name = "test"
|
||||
|
||||
#фильтр по времени создания (после указанного времени)
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#created_after = "123"
|
||||
|
||||
#фильтр по времени создания (перед указанным временем)
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#created_before = "123"
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#фильтр по lock status
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#lock_status = "UNLOCKED"
|
||||
|
||||
#отображать удаленные ресурсные группы или нет
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#includedeleted = false
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#size = 2
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.dynamix_rg_list.rg_list
|
||||
}
|
||||
96
samples/cloudapi/rg/data_rg_list_computes/main.tf
Normal file
96
samples/cloudapi/rg/data_rg_list_computes/main.tf
Normal file
@@ -0,0 +1,96 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о списке компьютов в ресурсной группе
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_rg_list_computes" "list_computes" {
|
||||
#id ресурсной группы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
rg_id = 123
|
||||
|
||||
#фильтр по id compute
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#compute_id = 100
|
||||
|
||||
#фильтр по имени compute
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по id аккаунта
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 100
|
||||
|
||||
#фильтр по техническому статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#tech_status = "STARTED"
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#фильтр по ip address
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#ip_address = "1.1.1.1.1"
|
||||
|
||||
#фильтр по имени внешней сети
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#extnet_name = "test"
|
||||
|
||||
#фильтр по id внешней сети
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#extnet_id = 100
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 1
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.dynamix_rg_list_computes.list_computes
|
||||
}
|
||||
84
samples/cloudapi/rg/data_rg_list_deleted/main.tf
Normal file
84
samples/cloudapi/rg/data_rg_list_deleted/main.tf
Normal file
@@ -0,0 +1,84 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о списке удаленных ресурсных групп
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_rg_list_deleted" "list_deleted" {
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#id аккаунта для получения списка ресурсных групп
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 11111
|
||||
|
||||
#фильтр по имени аккаунта
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#account_name = "test"
|
||||
|
||||
#фильтр по времени создания (после указанного времени)
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#created_after = "123"
|
||||
|
||||
#фильтр по времени создания (перед указанным временем)
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#created_before = "123"
|
||||
|
||||
#фильтр по lock status
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#lock_status = "UNLOCKED"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#size = 2
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.dynamix_rg_list_deleted.list_deleted
|
||||
}
|
||||
86
samples/cloudapi/rg/data_rg_list_lb/main.tf
Normal file
86
samples/cloudapi/rg/data_rg_list_lb/main.tf
Normal file
@@ -0,0 +1,86 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о списке балансировщиков в ресурсной группе
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_rg_list_lb" "list_lb" {
|
||||
#id ресурсной группы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
rg_id = 123
|
||||
|
||||
#фильтр по id балансировщика нагрузки
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени балансировщика нагрузки
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по техническому статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#tech_status = "STOPPED"
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#фильтр по IP front
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#front_ip = "ENABLED"
|
||||
|
||||
#фильтр по IP back
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#back_ip = "ENABLED"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 1
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.dynamix_rg_list_lb.list_lb
|
||||
}
|
||||
38
samples/cloudapi/rg/data_rg_list_pfw/main.tf
Normal file
38
samples/cloudapi/rg/data_rg_list_pfw/main.tf
Normal 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_rg_list_pfw" "list_pfw" {
|
||||
#id ресурсной группы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
rg_id = 123
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.dynamix_rg_list_pfw.list_pfw
|
||||
}
|
||||
76
samples/cloudapi/rg/data_rg_list_vins/main.tf
Normal file
76
samples/cloudapi/rg/data_rg_list_vins/main.tf
Normal 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_rg_list_vins" "list_vins" {
|
||||
#id ресурсной группы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
rg_id = 123
|
||||
|
||||
#фильтр по id vins
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#vins_id = 100
|
||||
|
||||
#фильтр по имени vins
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#id аккаунта для получения списка балансировщиков нагрузки
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 11111
|
||||
|
||||
#фильтр по IP внешней сети
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#ext_ip = "test"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 3
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.dynamix_rg_list_vins.list_vins
|
||||
}
|
||||
38
samples/cloudapi/rg/data_rg_resource_consumption_get/main.tf
Normal file
38
samples/cloudapi/rg/data_rg_resource_consumption_get/main.tf
Normal 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_rg_resource_consumption_get" "rc_get" {
|
||||
#id ресурсной группы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
rg_id = 111
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.dynamix_rg_resource_consumption_get.rc_get
|
||||
}
|
||||
|
||||
@@ -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_rg_resource_consumption_list" "rc_list" {
|
||||
#Нет входных параметров
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.dynamix_rg_resource_consumption_list.rc_list
|
||||
}
|
||||
|
||||
43
samples/cloudapi/rg/data_rg_usage/main.tf
Normal file
43
samples/cloudapi/rg/data_rg_usage/main.tf
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации об использовании ресурсов на ресурсной группе
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_rg_usage" "rg_usage" {
|
||||
#id ресурсной группы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
rg_id = 123
|
||||
|
||||
#причина для действия
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
reason = "TEST"
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.dynamix_rg_usage.rg_usage
|
||||
}
|
||||
189
samples/cloudapi/rg/resource_rg/main.tf
Normal file
189
samples/cloudapi/rg/resource_rg/main.tf
Normal file
@@ -0,0 +1,189 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурсов RG
|
||||
Ресурс позволяет:
|
||||
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_resgroup" "rg" {
|
||||
#имя ресурсной группы
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
name = "testing_rg_1"
|
||||
|
||||
#id аккаунта которому будет принадлежать ресурсная группа
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
account_id = 123
|
||||
|
||||
#id сети
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
gid = 1234
|
||||
|
||||
#тип сети по умолчанию для этой ресурсной группы
|
||||
#опциональный параметр
|
||||
#виртуальные машины, созданные в этой RG, по умолчанию будут подключены к этой сети
|
||||
#допустимые значения: PRIVATE, PUBLIC, NONE
|
||||
#тип - строка
|
||||
def_net_type = "NONE"
|
||||
|
||||
#ip cidr частной сети, если сеть по умолчанию PRIVATE
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
ipcidr = "1.1.1.1"
|
||||
|
||||
#id внешней сети
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
ext_net_id = 123
|
||||
|
||||
#ip внешней сети
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
ext_ip = "1.1.1.1"
|
||||
|
||||
#причина выполнения
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
reason = "TEST"
|
||||
|
||||
#описание
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
description = "qwerty"
|
||||
|
||||
#флаг доступности ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
enable = true
|
||||
|
||||
#имя пользователя
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
owner = "name_user"
|
||||
|
||||
#блок для предоставления прав на ресурсную группу
|
||||
#опциональный параметр
|
||||
#тип - блок прав доступа
|
||||
access = [{
|
||||
#имя юзера предоставляемому права
|
||||
#обязательный параметр при использовании блока
|
||||
#тип - строка
|
||||
user = "kasim_baybikov_1@decs3o"
|
||||
|
||||
#тип прав
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
right = "RCX"
|
||||
}]
|
||||
|
||||
#установить сеть по умолчанию
|
||||
#опциональный параметр
|
||||
#при добавлении блока, удалять его нельзя
|
||||
#тип - блок сетей
|
||||
def_net = {
|
||||
#тип сети
|
||||
#обязательный параметр при использовании блока
|
||||
#тип - строка
|
||||
net_type = "PUBLIC"
|
||||
|
||||
#id сети
|
||||
#опциональный параметр
|
||||
#идентификатор сегмента сети. Если net_type — PUBLIC, а net_id — 0,
|
||||
#то будет выбран сегмент внешней сети по умолчанию. Если net_type
|
||||
#имеет значение PRIVATE и net_id=0, будет выбран первый vins, определенный для этой ресурсной группы.
|
||||
#В противном случае net_id идентифицирует либо существующий сегмент внешней сети, либо vins.
|
||||
#тип - целое число
|
||||
net_id = 1234
|
||||
|
||||
#причина выполнения
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
reason = "TEST"
|
||||
}
|
||||
|
||||
#лимиты ресурсов для ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - блок конфигураций
|
||||
quota = {
|
||||
#максимальное количество ядер процессора
|
||||
#опциональный параметр
|
||||
#значение по умолчанию: -1
|
||||
#тип - целое число
|
||||
cpu = 5
|
||||
|
||||
#максимальный размер памяти в мегабайтах
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
#значение по умолчанию: -1
|
||||
ram = 1024
|
||||
|
||||
#максимальный размер объединенных виртуальных дисков в ГБ
|
||||
#опциональный параметр
|
||||
#значение по умолчанию: -1
|
||||
#тип - целое число
|
||||
disk = 180
|
||||
|
||||
#максимальное количество отправленных/полученных сетевых узлов
|
||||
#опциональный параметр
|
||||
#значение по умолчанию: -1
|
||||
#тип - целое число
|
||||
ext_traffic = 21
|
||||
|
||||
#максимальное количество назначенных общедоступных IP-адресов
|
||||
#опциональный параметр
|
||||
#значение по умолчанию: -1
|
||||
#тип - целое число
|
||||
ext_ips = 29
|
||||
}
|
||||
|
||||
#флаг для принудительного удаления ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - true
|
||||
force = true
|
||||
|
||||
#флаг для моментального удаления ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - true
|
||||
permanently = true
|
||||
|
||||
#восстановление группы после удаления
|
||||
#опциональный параметр
|
||||
#используется при редактировании ресурса
|
||||
#по умолчанию - true
|
||||
#тип - булев
|
||||
restore = true
|
||||
}
|
||||
|
||||
|
||||
output "output" {
|
||||
value = dynamix_resgroup.rg
|
||||
}
|
||||
38
samples/cloudapi/stack/data_stack/main.tf
Normal file
38
samples/cloudapi/stack/data_stack/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение stack по его id
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_stack" "stack" {
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#идентификатор стека
|
||||
stack_id = 2
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.dynamix_stack.stack
|
||||
}
|
||||
71
samples/cloudapi/stack/data_stack_list/main.tf
Normal file
71
samples/cloudapi/stack/data_stack_list/main.tf
Normal file
@@ -0,0 +1,71 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка stack
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через 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_stack_list" "stack_list" {
|
||||
#необязательный параметр
|
||||
#тип - целое число
|
||||
#фильтрация списка для получения информации о конкретном stack по его id
|
||||
#by_id = 2
|
||||
|
||||
#необязательный параметр
|
||||
#тип - строка
|
||||
#фильтрация списка для получения информации о конкретном stack по его имени
|
||||
#name = "alpha-cpu-04"
|
||||
|
||||
#необязательный параметр
|
||||
#тип - строка
|
||||
#фильтрация списка для получения информации о конкретном stack по его типу
|
||||
#type = "KVM"
|
||||
|
||||
#необязательный параметр
|
||||
#тип - строка
|
||||
#фильтрация списка для получения информации о конкретном stack по его статусу
|
||||
#status = "ENABLED"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 3
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.dynamix_stack_list.stack_list
|
||||
}
|
||||
29
samples/cloudapi/vfpool/data_vfpool/main.tf
Normal file
29
samples/cloudapi/vfpool/data_vfpool/main.tf
Normal file
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о vfpool по его id
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
dynamix = {
|
||||
source = "basistech.ru/tf/dynamix"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
data "dynamix_vfpool" "vfpool" {
|
||||
#идентификатор vfpool
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
vfpool_id = 2
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.dynamix_vfpool.vfpool
|
||||
}
|
||||
77
samples/cloudapi/vfpool/data_vfpool_list/main.tf
Normal file
77
samples/cloudapi/vfpool/data_vfpool_list/main.tf
Normal file
@@ -0,0 +1,77 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка vfpool
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
dynamix = {
|
||||
source = "basistech.ru/tf/dynamix"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
data "dynamix_vfpool_list" "vfpool_list" {
|
||||
#фильтрация списка для получения информации о конкретном vfpool по его id
|
||||
#необязательный параметр
|
||||
#тип - целое число
|
||||
#by_id = 1
|
||||
|
||||
#фильтрация списка для получения информации о vfpool, которые принадлежат к определенному GRID
|
||||
#необязательный параметр
|
||||
#тип - целое число
|
||||
#gid = 1
|
||||
|
||||
#фильтрация списка для получения информации о конкретном vfpool по его имени
|
||||
#необязательный параметр
|
||||
#тип - строка
|
||||
#name = "alpha-cpu-04"
|
||||
|
||||
#фильтрация списка для получения информации о конкретном vfpool по его описанию
|
||||
#необязательный параметр
|
||||
#тип - строка
|
||||
#description = "some"
|
||||
|
||||
#фильтрация списка для получения информации о vfpool, которые имеют соответствующий статус
|
||||
#необязательный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#фильтрация списка для получения информации о vfpool, которые доступны конкретному аккаунту
|
||||
#необязательный параметр
|
||||
#тип - целое число
|
||||
#account_access = 1
|
||||
|
||||
#фильтрация списка для получения информации о vfpool, которые доступны конкретной ресурсной группе
|
||||
#необязательный параметр
|
||||
#тип - целое число
|
||||
#rg_access = 1
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 3
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.dynamix_vfpool_list.vfpool_list
|
||||
}
|
||||
38
samples/cloudapi/vins/data_vins/main.tf
Normal file
38
samples/cloudapi/vins/data_vins/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных о 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_vins" "vins" {
|
||||
#обязательный параметр
|
||||
#id желаемого vins
|
||||
#тип - целое число
|
||||
vins_id = 10101
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.dynamix_vins.vins
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user