git test
This commit is contained in:
39
samples/cloudbroker/account/data_account/main.tf
Normal file
39
samples/cloudbroker/account/data_account/main.tf
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации об аккаунте
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_account" "acc" {
|
||||
#id аккаунта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
account_id = 11111
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_account.acc
|
||||
}
|
||||
44
samples/cloudbroker/account/data_account_audits_list/main.tf
Normal file
44
samples/cloudbroker/account/data_account_audits_list/main.tf
Normal file
@@ -0,0 +1,44 @@
|
||||
/*Deprecated
|
||||
|
||||
Данный datasource является **deprecated** и будет удалён в следующих версиях. Вместо него неоходимо использовать datasource **decort_cb_audit_list**.
|
||||
*/
|
||||
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации об использовании аккаунта
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_account_audits_list" "aal" {
|
||||
#id аккаунта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
account_id = 11111
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_account_audits_list.aal
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о доступных образах, которые использует аккаунт
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_account_available_templates_list" "atl" {
|
||||
#id аккаунта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
account_id = 11111
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_account_available_templates_list.atl
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка computes, используемых аккаунтом
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_account_computes_list" "acl" {
|
||||
#id аккаунта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
account_id = 1111
|
||||
|
||||
#фильтр по id compute
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#compute_id = 100
|
||||
|
||||
#фильтр по имени compute
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по имени ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#rg_name = "test"
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#rg_id = 100
|
||||
|
||||
#фильтр по техническому статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#tech_status = "STARTED"
|
||||
|
||||
#фильтр по ip address
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#ip_address = "1.1.1.1.1"
|
||||
|
||||
#фильтр по имени внешней сети
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#extnet_name = "test"
|
||||
|
||||
#фильтр по id внешней сети
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#extnet_id = 100
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#тип - строка
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#если не задан - выводятся все доступные данные
|
||||
#тип - целое число
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#если не задан - выводятся все доступные данные
|
||||
#тип - целое число
|
||||
#size = 1
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_account_computes_list.acl
|
||||
}
|
||||
76
samples/cloudbroker/account/data_account_disks_list/main.tf
Normal file
76
samples/cloudbroker/account/data_account_disks_list/main.tf
Normal file
@@ -0,0 +1,76 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о дисках, которые использует аккаунт
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_account_disks_list" "adl" {
|
||||
#id аккаунта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
account_id = 11111
|
||||
|
||||
#фильтр по id диска
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#disk_id = 100
|
||||
|
||||
#фильтр по имени диска
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "data_disk"
|
||||
|
||||
#фильтр по максимальному размеру диска
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#disk_max_size = 100
|
||||
|
||||
#тип диска
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#возможные типы: "b" - boot_disk, "d" - data_disk
|
||||
#type = "d"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#тип - строка
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#size = 1
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_account_disks_list.adl
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о flipgroups, используемых аккаунтом
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_account_flipgroups_list" "afgl" {
|
||||
#id аккаунта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
account_id = 1111
|
||||
|
||||
#фильтр по имени flipgroup
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по id vins
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#vins_id = 100
|
||||
|
||||
#фильтр по имени vins
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#vins_name = "test"
|
||||
|
||||
#фильтр по id extnet
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#extnet_id = 100
|
||||
|
||||
#фильтр по IP
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#by_ip = "1.1.1.1.1"
|
||||
|
||||
#фильтр по id flipgroup
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#flipgroup_id = 100
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#тип - строка
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#size = 1
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_account_flipgroups_list.afgl
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка текущего потребления ресурсов аккаунта
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_account_resource_consumption_get" "rc_get" {
|
||||
#id аккаунта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
account_id = 111
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_account_resource_consumption_get.rc_get
|
||||
}
|
||||
78
samples/cloudbroker/account/data_account_list/main.tf
Normal file
78
samples/cloudbroker/account/data_account_list/main.tf
Normal file
@@ -0,0 +1,78 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение всех аккаунтов,имеющихся в системе
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_account_list" "al" {
|
||||
#фильтр по id аккаунта
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени аккаунта
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по ACL
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#acl = "test"
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#тип - строка
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#если не задан - выводятся все доступные данные
|
||||
#тип - целое число
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#если не задан - выводятся все доступные данные
|
||||
#тип - целое число
|
||||
#size = 3
|
||||
|
||||
#id зоны
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#значение по умолчанию - 0
|
||||
#zone_id = 11
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_account_list.al
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации об удаленных аккаунтах
|
||||
Информация предоставляется только по аккаунтам, удаленным без флага permanently
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_account_list_deleted" "adl" {
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#тип - строка
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#если не задан - выводятся все доступные данные
|
||||
#тип - целое число
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#если не задан - выводятся все доступные данные
|
||||
#тип - целое число
|
||||
#size = 3
|
||||
|
||||
#фильтр по id аккаунта
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени аккаунта
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по ACL
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#acl = "test"
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_account_list_deleted.adl
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка текущего потребления ресурсов
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_account_resource_consumption_list" "rc_list" {
|
||||
#нет входных параметров
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_account_resource_consumption_list.rc_list
|
||||
}
|
||||
82
samples/cloudbroker/account/data_account_rg_list/main.tf
Normal file
82
samples/cloudbroker/account/data_account_rg_list/main.tf
Normal file
@@ -0,0 +1,82 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о ресурных группах, используемых аккаунтом
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_account_rg_list" "argl" {
|
||||
#id аккаунта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
account_id = 66666
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#тип - строка
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#если не задан - выводятся все доступные данные
|
||||
#тип - целое число
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#если не задан - выводятся все доступные данные
|
||||
#тип - целое число
|
||||
#size = 3
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#rg_id = 11111
|
||||
|
||||
#фильтр по имени ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по id vins
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#vins_id = 100
|
||||
|
||||
#фильтр по id compute
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#vm_id = 100
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "CREATED"
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_account_rg_list.argl
|
||||
}
|
||||
77
samples/cloudbroker/account/data_account_vins_list/main.tf
Normal file
77
samples/cloudbroker/account/data_account_vins_list/main.tf
Normal file
@@ -0,0 +1,77 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка vins, используемых аккаунтом
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_account_vins_list" "avl" {
|
||||
#id аккаунта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
account_id = 22222
|
||||
|
||||
#фильтр по id vins
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#vins_id = 100
|
||||
|
||||
#фильтр по имени vins
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#rg_id = 11111
|
||||
|
||||
#фильтр по IP внешней сети
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#ext_ip = "test"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#если не задан - выводятся все доступные данные
|
||||
#тип - целое число
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#если не задан - выводятся все доступные данные
|
||||
#тип - целое число
|
||||
#size = 3
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_account_vins_list.avl
|
||||
}
|
||||
208
samples/cloudbroker/account/resource_account/main.tf
Normal file
208
samples/cloudbroker/account/resource_account/main.tf
Normal file
@@ -0,0 +1,208 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса account
|
||||
Ресурс позволяет:
|
||||
1. Создавать аккаунт
|
||||
2. Редактировать аккаунт
|
||||
3. Удалять аккаунт
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_cb_account" "acc" {
|
||||
#отображаемое имя аккаунта
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
account_name = "new_my_account"
|
||||
|
||||
#имя пользователя, для которого создается аккаунт
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
username = "username@decs3o"
|
||||
|
||||
#описание
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#desc = "description"
|
||||
|
||||
#доступность аккаунта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#enable = true
|
||||
|
||||
#электронная почта, на которую будет отправлена информация о доступе
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#применяется при создании аккаунта
|
||||
#используется при создании
|
||||
#emailaddress = "example@basis.ru"
|
||||
|
||||
#отправлять ли на электронную почту письмо о доступе
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#send_access_emails = true
|
||||
|
||||
#пары sep_id и sep_pool_name
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
#используется при создании и обновлении
|
||||
#каждая строка представляет собой пару, sepID_sepPoolName
|
||||
#uniq_pools = ["sep1_poolName1", "sep2_poolName2"]
|
||||
|
||||
#ограничение используемых ресурсов
|
||||
#опциональный параметр
|
||||
#тип - блок
|
||||
#используется при создании и обновлении
|
||||
#resource_limits {
|
||||
#кол-во используемых ядер cpu
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если установлена -1 - кол-во неограниченно
|
||||
#cu_c = 2
|
||||
|
||||
#кол-во используемой RAM в МБ
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если установлена -1 - кол-во неограниченно
|
||||
#cu_m = 1024
|
||||
|
||||
#размер дисков, в ГБ
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если установлена -1 - размер неограничен
|
||||
#cu_dm = 23
|
||||
|
||||
#кол-во используемых публичных IP
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если установлена -1 - кол-во неограничено
|
||||
#cu_i = 2
|
||||
|
||||
#кол-во графических процессоров
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если установлена -1 - кол-во неограничено
|
||||
#gpu_units = 2
|
||||
#}
|
||||
|
||||
#добавление/удаление политик хранения
|
||||
#опциональный параметр
|
||||
#тип - блок
|
||||
#используется при создании и обновлении
|
||||
#storage_policy {
|
||||
#id политики хранения
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#id = 111
|
||||
|
||||
#лимит ресурсов хранения в ГБ
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#значение "-1", если не ограничено
|
||||
#limit = 111
|
||||
#}
|
||||
|
||||
#добавление/редактирование/удаление пользователей, к которым привязан аккаунт
|
||||
#опциональный параметр
|
||||
#тип - блок, кол-во таких блоков не ограничено
|
||||
#используется при создании и обновлении
|
||||
#users {
|
||||
#id пользователя
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#user_id = "username_2@decs3o"
|
||||
|
||||
#тип доступа пользователя
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#возможные параметры:
|
||||
#R - чтение
|
||||
#RCX - запись
|
||||
#ARCXDU - админ
|
||||
#access_type = "R"
|
||||
#}
|
||||
|
||||
|
||||
#параметр распределения CPU
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#если "strict" виртуальная машина не может быть запущена из-за нехватки ресурсов.
|
||||
#"loose" позволяет запускать виртуальную машину, если недостаточно ресурсов.
|
||||
#используется при создании и обновлении
|
||||
#cpu_allocation_parameter = "strict"
|
||||
|
||||
#параметр коэффициента распределения CPU
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#один pCPU = коэффициент*vCPU (принимает нулевое или положительное значение)
|
||||
#используется при создании и обновлении
|
||||
#cpu_allocation_ratio = 1
|
||||
|
||||
#флаг для удаления аккаунта, без возможности восстановления
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - false
|
||||
#используется при удалении
|
||||
#permanently = true
|
||||
|
||||
#флаг для восстановление аккаунта из корзины
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#restore = true
|
||||
|
||||
#предоставление аккаунту доступа к конкретным образам
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
#используется при создании и обновлении
|
||||
#available_templates = [1,2]
|
||||
|
||||
#доступ к дополнительным функциям управления ВМ
|
||||
#опциональный параметр
|
||||
#возможные значенния - "hugepages", "numa", "cpupin", "vfnic", "dpdk, "changemac", "trunk"
|
||||
#тип - массив строк
|
||||
#используется при создании и обновлении
|
||||
#compute_features = ["hugepages", "numa", "cpupin", "vfnic"]
|
||||
|
||||
#зона по умолчанию для аккаунта
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#default_zone_id = 1111
|
||||
|
||||
#управление зонами аккаунта
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
#используется при создании и обновлении
|
||||
#zone_ids = [1,2,3]
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = decort_cb_account.acc
|
||||
}
|
||||
39
samples/cloudbroker/audit/data_audit/main.tf
Normal file
39
samples/cloudbroker/audit/data_audit/main.tf
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение аудита по guid
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_audit" "audit" {
|
||||
#guid аудита
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
audit_guid = "abcdefg"
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_audit.audit
|
||||
}
|
||||
39
samples/cloudbroker/audit/data_audit_linked_jobs/main.tf
Normal file
39
samples/cloudbroker/audit/data_audit_linked_jobs/main.tf
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка заданий, связанных с указанный событием.
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_audit_linked_jobs" "jobs" {
|
||||
#guid аудита
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
audit_guid = "abcdefg"
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_audit_linked_jobs.jobs
|
||||
}
|
||||
141
samples/cloudbroker/audit/data_audit_list/main.tf
Normal file
141
samples/cloudbroker/audit/data_audit_list/main.tf
Normal file
@@ -0,0 +1,141 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка аудитов
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_audit_list" "al" {
|
||||
#фильтр по аудитам с временной меткой после указанного значения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#timestamp_at = 123456
|
||||
|
||||
#фильтр по аудитам с временной меткой до указанного значения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#timestamp_to = 123456
|
||||
|
||||
#фильтр по пользователю (Mongo RegExp поддерживаются)
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#user = "username"
|
||||
|
||||
#фильтр по api endpoint (Mongo RegExp поддерживаются)
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#call = "/restmachine/cloudbroker/audit/list"
|
||||
|
||||
#фильтр по минимальному HTTP статус-коду
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#min_status_code = 200
|
||||
|
||||
#фильтр по максимальному HTTP статус-коду
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#max_status_code = 500
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#тип - строка
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#page = 2
|
||||
|
||||
#идентификатор запроса
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#request_id = "35"
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#size = 3
|
||||
|
||||
#id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#resgroup_id = 3
|
||||
|
||||
#id компьюта
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#compute_id = 3
|
||||
|
||||
#id аккаунта
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 3
|
||||
|
||||
#id vins
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#vins_id = 3
|
||||
|
||||
#id базовой службы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#service_id = 3
|
||||
|
||||
#id k8s-кластера
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#k8s_id = 3
|
||||
|
||||
#id flipgroup
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#flipgroup_id = 3
|
||||
|
||||
#id балансировщика нагрузки
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#lb_id = 3
|
||||
|
||||
#id sep
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#sep_id = 3
|
||||
|
||||
#id узла
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#node_id = 3
|
||||
|
||||
#исключить ли строки
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#default – false
|
||||
#exclude_audit_lines = false
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_audit_list.al
|
||||
}
|
||||
40
samples/cloudbroker/audit/data_audits_export_to_file/main.tf
Normal file
40
samples/cloudbroker/audit/data_audits_export_to_file/main.tf
Normal file
@@ -0,0 +1,40 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получения списка аудитов в виде архива csv файлов
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_audits_export_to_file" "audit" {
|
||||
#путь, где будет создан архив
|
||||
#если не указан, создается в директории с main.tf с именем "audits.tar.gz"
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
file_path = "abcdefg.tar.gz"
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_audits_export_to_file.audit
|
||||
}
|
||||
39
samples/cloudbroker/disk/data_disk/main.tf
Normal file
39
samples/cloudbroker/disk/data_disk/main.tf
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации об уже существующем диске.
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_disk" "acl" {
|
||||
#id диска
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
disk_id = 49304
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_disk.acl
|
||||
}
|
||||
109
samples/cloudbroker/disk/data_disk_list/main.tf
Normal file
109
samples/cloudbroker/disk/data_disk_list/main.tf
Normal file
@@ -0,0 +1,109 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка доступных дисков
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_disk_list" "dl" {
|
||||
#фильтр по id диска
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 11111
|
||||
|
||||
#фильтр по имени диска
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "disk name"
|
||||
|
||||
#фильтр по имени аккаунта
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#account_name = "account name"
|
||||
|
||||
#фильтр по максимальному размеру диска
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#disk_max_size = 3
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "started"
|
||||
|
||||
#фильтр по полю shared
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#shared = true
|
||||
|
||||
#id аккаунта для получения списка дисков
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 11111
|
||||
|
||||
#фильтр по sep id
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#sep_id = 1
|
||||
|
||||
#фильтр по названию pool
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#pool = "pool name"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#size = 1
|
||||
|
||||
#id политики хранения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#storage_policy_id = 1
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#rg_id = 1281
|
||||
|
||||
#фильтр по id ВМ
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#compute_id = 123
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_disk_list.dl
|
||||
}
|
||||
80
samples/cloudbroker/disk/data_disk_list_deleted/main.tf
Normal file
80
samples/cloudbroker/disk/data_disk_list_deleted/main.tf
Normal file
@@ -0,0 +1,80 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка удаленных дисков
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_disk_list_deleted" "dld" {
|
||||
#фильтр по id диска
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 11111
|
||||
|
||||
#фильтр по имени диска
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "disk name"
|
||||
|
||||
#фильтр по имени аккаунта
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#account_name = "account name"
|
||||
|
||||
#фильтр по максимальному размеру диска
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#disk_max_size = 3
|
||||
|
||||
#фильтр по полю shared
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#shared = true
|
||||
|
||||
#id аккаунта для получения списка дисков
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 11111
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#тип - строка
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#size = 1
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_disk_list_deleted.dld
|
||||
}
|
||||
91
samples/cloudbroker/disk/data_disk_list_unattached/main.tf
Normal file
91
samples/cloudbroker/disk/data_disk_list_unattached/main.tf
Normal file
@@ -0,0 +1,91 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка доступных неприсоединенных дисков
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_disk_list_unattached" "dlu" {
|
||||
#фильтр по id диска
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени аккаунта
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#account_name = "user"
|
||||
|
||||
#фильтр по максимальному размеру диска
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#disk_max_size = 100
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#фильтр по id аккаунта
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 100
|
||||
|
||||
#фильтр по id sep
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#sep_id = 1
|
||||
|
||||
#фильтр по имени pool
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#pool = "test"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#тип - строка
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#если не задан - выводятся все доступные данные
|
||||
#тип - целое число
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#если не задан - выводятся все доступные данные
|
||||
#тип - целое число
|
||||
#size = 3
|
||||
|
||||
#id политики хранения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#storage_policy_id = 1
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_disk_list_unattached.dlu
|
||||
}
|
||||
44
samples/cloudbroker/disk/data_disk_replication/main.tf
Normal file
44
samples/cloudbroker/disk/data_disk_replication/main.tf
Normal file
@@ -0,0 +1,44 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение статуса репликации диска
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_disk_replication" "dr" {
|
||||
#id диска для которого подключена репликация
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
disk_id = 49304
|
||||
|
||||
#id реплики диска
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
replica_disk_id = 1213
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_disk_replication.dr
|
||||
}
|
||||
44
samples/cloudbroker/disk/data_disk_snapshot/main.tf
Normal file
44
samples/cloudbroker/disk/data_disk_snapshot/main.tf
Normal file
@@ -0,0 +1,44 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение конкретного снапшота
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_disk_snapshot" "ds" {
|
||||
#номер диска
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
disk_id = 20100
|
||||
|
||||
#ярлык диска
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
label = "label"
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_disk_snapshot.ds
|
||||
}
|
||||
39
samples/cloudbroker/disk/data_disk_snapshot_list/main.tf
Normal file
39
samples/cloudbroker/disk/data_disk_snapshot_list/main.tf
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка снапшотов диска
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_disk_snapshot_list" "ds" {
|
||||
#номер диска
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
disk_id = 20100
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_disk_snapshot_list.ds
|
||||
}
|
||||
153
samples/cloudbroker/disk/resource_disk/main.tf
Normal file
153
samples/cloudbroker/disk/resource_disk/main.tf
Normal file
@@ -0,0 +1,153 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса диска:
|
||||
1. Создание ресурса
|
||||
2. Изменение ресурса
|
||||
3. Удаление ресурса
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_cb_disk" "my_disk01" {
|
||||
#id аккаунта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
account_id = 88366
|
||||
|
||||
#название диска
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
disk_name = "super-disk-re"
|
||||
|
||||
#максимальный размер диска, в ГБ
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
size_max = 20
|
||||
|
||||
#id политики хранения
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
storage_policy_id = 1
|
||||
|
||||
#описание диска
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#desc = "description"
|
||||
|
||||
#sep id
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#по умолчанию - 0
|
||||
#используется при создании
|
||||
#sep_id = 1
|
||||
|
||||
#название pool
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#pool = "pool_name"
|
||||
|
||||
#список node
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
#используется при создании и обновлении
|
||||
#node_ids = [10,11]
|
||||
|
||||
#флаг для восстановления диска
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#restore = true
|
||||
|
||||
#флаг для удаления диска, без возможности восстановления
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при удалении
|
||||
#permanently = true
|
||||
|
||||
#флаг поделиться диском
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#shareable = true
|
||||
|
||||
#установка режима кэширования
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#значение по умолчанию - none
|
||||
#используется при создании и обновлении
|
||||
#cache = "none"
|
||||
|
||||
#флаг отсоединения диска от машины перед удалением
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при удалении
|
||||
#detach = true
|
||||
|
||||
#настройки лимитов операций записи/чтения с диска
|
||||
#опциональный параметр
|
||||
#тип - блок
|
||||
#тип вложенных полей - целое число
|
||||
#используется при создании и обновлении
|
||||
#iotune {
|
||||
#read_bytes_sec = 0
|
||||
#read_bytes_sec_max = 0
|
||||
#read_iops_sec = 0
|
||||
#read_iops_sec_max = 0
|
||||
#size_iops_sec = 0
|
||||
#total_bytes_sec = 0
|
||||
#total_bytes_sec_max = 0
|
||||
#total_iops_sec = 3000
|
||||
#total_iops_sec_max = 0
|
||||
#write_bytes_sec = 0
|
||||
#write_bytes_sec_max = 0
|
||||
#write_iops_sec = 0
|
||||
#write_iops_sec_max = 0
|
||||
#}
|
||||
|
||||
#включение режима unmap для диска
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#по умолчанию - "ignore"
|
||||
#возможные варианты: "ignore" или "unmap"
|
||||
#используется при создании и обновлении
|
||||
#discard = "unmap"
|
||||
|
||||
#размер блока диска
|
||||
#опциональный параметр
|
||||
#доступные значения - "4k", "512", "512e"
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#block_size = "4k"
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = decort_cb_disk.my_disk01
|
||||
}
|
||||
60
samples/cloudbroker/disk/resource_disk_snapshot/main.tf
Normal file
60
samples/cloudbroker/disk/resource_disk_snapshot/main.tf
Normal file
@@ -0,0 +1,60 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурс снапшота диска
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_cb_disk_snapshot" "ds" {
|
||||
#номер диска
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
disk_id = 20100
|
||||
|
||||
#ярлык диска
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
label = "label"
|
||||
|
||||
#флаг rollback
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - false
|
||||
#используется при создании и обновлении
|
||||
#rollback = true
|
||||
|
||||
#timestamp
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#применимо совместно с rollback = true
|
||||
#используется при создании и обновлении
|
||||
#timestamp = 15
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = decort_cb_disk_snapshot.ds
|
||||
}
|
||||
38
samples/cloudbroker/dpdknet/data_dpdknet/main.tf
Normal file
38
samples/cloudbroker/dpdknet/data_dpdknet/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных диска
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_dpdknet" "dpdk" {
|
||||
#фильтр по id DPDK сети
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
dpdk_id = 49304
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_dpdknet.dpdk
|
||||
}
|
||||
89
samples/cloudbroker/dpdknet/data_dpdknet_list/main.tf
Normal file
89
samples/cloudbroker/dpdknet/data_dpdknet_list/main.tf
Normal file
@@ -0,0 +1,89 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка доступных дисков
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_dpdknet_list" "dl" {
|
||||
#фильтр по id DPDK сети
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по grid ID
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#gid = 100
|
||||
|
||||
#фильтр по имени сети
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test_dpdk"
|
||||
|
||||
#фильтр по описания
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#desc = "user"
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#фильтр по доступным аккаунтам
|
||||
#опциональный параметр
|
||||
#тип - массив чисел
|
||||
#account_access = [11111,22222]
|
||||
|
||||
#фильтр по доступным ресурсным группам
|
||||
#опциональный параметр
|
||||
#тип - массив чисел
|
||||
#rg_access = [11111,22222]
|
||||
|
||||
#фильтр по compute IDs
|
||||
#опциональный параметр
|
||||
#тип - массив чисел
|
||||
#compute_ids = [11111,22222]
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#size = 1
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_dpdknet_list.dl
|
||||
}
|
||||
93
samples/cloudbroker/dpdknet/resource_dpdknet/main.tf
Normal file
93
samples/cloudbroker/dpdknet/resource_dpdknet/main.tf
Normal file
@@ -0,0 +1,93 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса диска:
|
||||
1. Создание ресурса
|
||||
2. Изменение ресурса
|
||||
3. Удаление ресурса
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_cb_dpdknet" "dpdk" {
|
||||
#название
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
name = "dpdk-name"
|
||||
|
||||
#gid
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
gid = 212
|
||||
|
||||
#vlanid для тегирования трафика на интерфейсе для компьюта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
vlan_id = 123
|
||||
|
||||
#ovs bridge в котором будут создаваться интерфейсы для компьютов, созданные из этой сети
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
ovs_bridge = "OVSBridge"
|
||||
|
||||
#описание сети
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#desc = "description"
|
||||
|
||||
#список id аккаунтов, которым может быть выделена сеть в эксклюзивное пользование
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
#используется при создании и обновлении
|
||||
#account_access = [10,11]
|
||||
|
||||
#список id ресурсных групп, которым может быть выделена сеть в эксклюзивное пользование
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
#используется при создании и обновлении
|
||||
#rg_access = [10,11]
|
||||
|
||||
#флаг доступности сети для проведения с ней операций
|
||||
#опциональный параметр
|
||||
#по умолчанию - false
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#enabled = true
|
||||
|
||||
#флаг, указывающий, включены ли группы безопасности для этой сети
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#значение по умолчанию - false
|
||||
#enable_secgroups = false
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = decort_cb_dpdknet.dpdk
|
||||
}
|
||||
39
samples/cloudbroker/extnet/data_extnet/main.tf
Normal file
39
samples/cloudbroker/extnet/data_extnet/main.tf
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о внешней сети
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_extnet" "ex" {
|
||||
#id сети
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
extnet_id = 13
|
||||
|
||||
}
|
||||
|
||||
output "ex_out" {
|
||||
value = data.decort_cb_extnet.ex
|
||||
}
|
||||
35
samples/cloudbroker/extnet/data_extnet_default/main.tf
Normal file
35
samples/cloudbroker/extnet/data_extnet_default/main.tf
Normal file
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о доступной внешней сети по умолчанию
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_extnet_default" "ed" {
|
||||
#нет входных параметров
|
||||
}
|
||||
|
||||
output "default_net_id_out" {
|
||||
value = data.decort_cb_extnet_default.ed
|
||||
}
|
||||
91
samples/cloudbroker/extnet/data_extnet_list/main.tf
Normal file
91
samples/cloudbroker/extnet/data_extnet_list/main.tf
Normal file
@@ -0,0 +1,91 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка внешних сетей
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_extnet_list" "ex_list" {
|
||||
#id аккаунта для фильтрации результата
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 1111111
|
||||
|
||||
#фильтр по id внешней сети
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени внешней сети
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по IP внешней сети
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#network = "test"
|
||||
|
||||
#фильтр по id vlan
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#vlan_id = 100
|
||||
|
||||
#фильтр по id vnfDevices
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#vnfdev_id = 100
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#size = 1
|
||||
|
||||
#id зоны
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#значение по умолчанию - 0
|
||||
#zone_id = 11
|
||||
|
||||
}
|
||||
|
||||
output "ex_out" {
|
||||
value = data.decort_cb_extnet_list.ex_list
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о зарезервированных IP адресах или пуле адресов
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_extnet_reserved_ip_list" "ex_reserved_ip" {
|
||||
#идентификатор аккаунта, для которого зарезервированны ресурсы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
account_id = 1111
|
||||
|
||||
#идентификатор сети
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#extnet_id = 1111
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_extnet_reserved_ip_list.ex_reserved_ip
|
||||
}
|
||||
43
samples/cloudbroker/extnet/data_extnet_static_route/main.tf
Normal file
43
samples/cloudbroker/extnet/data_extnet_static_route/main.tf
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о static routes по id в данном extnet
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_extnet_static_route" "route" {
|
||||
#id extnet в котором добавлены routes
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
extnet_id = 1111
|
||||
|
||||
#id route
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
route_id = 1
|
||||
}
|
||||
|
||||
output "route" {
|
||||
value = data.decort_cb_extnet_static_route.route
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка static routes в данном extnet
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
version = "<VERSION>"
|
||||
source = "basis/decort/decort"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_extnet_static_route_list" "list" {
|
||||
#id extnet в котором добавлены routes
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
extnet_id = 1111
|
||||
}
|
||||
|
||||
output "list" {
|
||||
value = data.decort_cb_extnet_static_route_list.list
|
||||
}
|
||||
259
samples/cloudbroker/extnet/resource_extnet/main.tf
Normal file
259
samples/cloudbroker/extnet/resource_extnet/main.tf
Normal file
@@ -0,0 +1,259 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса extnet
|
||||
Ресурс позволяет:
|
||||
1. Создавать extnet
|
||||
2. Удалять extnet
|
||||
3. Получать информацию о extnet
|
||||
4. Предоставлять доступ аккаунтов к extnet
|
||||
5. Удалять доступ аккаунтов к extnet
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_cb_extnet" "new_extnet" {
|
||||
#наименование внешней сети
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
name = "test_extnet"
|
||||
|
||||
#id платформы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
gid = 500
|
||||
|
||||
#cidr
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
ipcidr = "192.168.0.0/24"
|
||||
|
||||
#id виртуальной локальной сети
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
vlan_id = 111
|
||||
|
||||
#ip-адрес шлюза внешней сети
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#gateway = "1.1.1.1"
|
||||
|
||||
#cписок DNS адресов
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
#используется при создании и обновлении
|
||||
#dns = ["8.8.8.8", "9.9.9.9"]
|
||||
|
||||
#список NTP адресов
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
#используется при создании и обновлении
|
||||
#ntp = ["ntp0.ntp-servers.net", "ntp1.ntp-servers.net"]
|
||||
|
||||
#ip-адреса для проверки доступности сети
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
#используется при создании
|
||||
#check_ips = ["191.255.0.0,", "191.255.0.0,"]
|
||||
|
||||
#если true - DHCP-сервер создан не будет
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании
|
||||
#virtual = true
|
||||
|
||||
#описание
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#desc = "test desc"
|
||||
|
||||
#начало диапазона IP-адресов
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#start_ip = "191.255.0.0"
|
||||
|
||||
#окончание диапазона IP-адресов
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#end_ip = "191.255.0.40"
|
||||
|
||||
#IP для создания первичного vnfdev
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#vnfdev_ip = "191.255.0.20"
|
||||
|
||||
#количество предварительно созданных бронирований
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#по умолчанию - 128
|
||||
#используется при создании
|
||||
#pre_reservations_num = 128
|
||||
|
||||
#имя bridge Openvswitch для подключения к внешней сети
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#ovs_bridge = "some"
|
||||
|
||||
#включение/выключение внешней сети
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#enable = true
|
||||
|
||||
#сделать сеть сетью по умолчанию
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#set_default = true
|
||||
|
||||
#список исключенных IP адресов
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
#используется при создании и обновлении
|
||||
#excluded_ips = ["192.168.0.4", "192.168.0.5"]
|
||||
|
||||
#диапазон исключенных IP адресов
|
||||
#опциональный параметр
|
||||
#тип - блок
|
||||
#тип вложенных полей - строка
|
||||
#используется при создании и обновлении
|
||||
#excluded_ips_range {
|
||||
#начало диапазона
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#ip_start = "192.168.0.4"
|
||||
|
||||
#окончание диапазона
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#ip_end = "192.168.0.50"
|
||||
#}
|
||||
|
||||
#список id аккаунтов, которым предоставлен доступ к extnet
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
#используется при создании и обновлении
|
||||
#shared_with = [112, 123]
|
||||
|
||||
#изменение настроек ограничения трафика сети
|
||||
#по умолчанию - 0, т.е. без ограничений
|
||||
#опциональный параметр
|
||||
#тип - блок,
|
||||
#тип вложенных полей - целое число
|
||||
#используется при обновлении
|
||||
#default_qos {
|
||||
#ограничение внутреннего трафика в кбит
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#in_rate = 0
|
||||
|
||||
#ограничение внутреннего burst трафика в кбит
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#in_burst = 0
|
||||
|
||||
#ограничение внешнего трафика в кбит
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#e_rate = 0
|
||||
#}
|
||||
|
||||
#список зарезервированных IP или пула адресов
|
||||
#опциональный параметр
|
||||
#тип - блок
|
||||
#используется при создании и обновлении
|
||||
#reserved_ip {
|
||||
#идентификатор аккаунта, для которого резервируются ресурсы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#account_id = 11111
|
||||
|
||||
#количество резервируемых IP
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#ip_count = 15
|
||||
|
||||
#список резервируемых IP
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
#ips = ["192.168.10.10", "192.168.10.20"]
|
||||
#}
|
||||
|
||||
#id node на который происходит миграция
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при обновлении
|
||||
#migrate = 1
|
||||
|
||||
#перезапустить сеть
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#restart = true
|
||||
|
||||
#идентификатор экземпляра zone
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#zone_id = 1111
|
||||
|
||||
#режим высокой доступности
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#highly_available = true
|
||||
|
||||
#IP для создания вторичного vnfdev
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#sec_vnfdev_ip = "191.255.0.20"
|
||||
|
||||
#mtu
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#mtu = 1500
|
||||
|
||||
#флаг, указывающий, включены ли группы безопасности для этой сети
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#значение по умолчанию - false
|
||||
#enable_secgroups = false
|
||||
}
|
||||
|
||||
output "extnet" {
|
||||
value = decort_cb_extnet.new_extnet
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса extnet static routes
|
||||
Ресурс позволяет:
|
||||
1. Создавать static routes
|
||||
2. Удалять static routes
|
||||
3. Получать информацию о всех static routes в данном extnet
|
||||
4. Предоставлять доступ виртуальным машинам к static routes
|
||||
5. Удалять доступ виртуальным машинам к static routes
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_cb_extnet_static_route" "sr" {
|
||||
#id extnet
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
extnet_id = 1111
|
||||
|
||||
#destination network
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
destination = "192.168.201.0"
|
||||
|
||||
#destination network mask
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
netmask = "255.255.255.255"
|
||||
|
||||
#ip-адрес из пула свободных IP-адресов extnet ID
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
gateway = "192.168.201.40"
|
||||
|
||||
#список виртуальных машин, которым будет предоставлен доступ к роуту
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
#используется при создании и обновлении
|
||||
#compute_ids = [111,222]
|
||||
}
|
||||
|
||||
output "sr" {
|
||||
value = decort_cb_extnet_static_route.sr
|
||||
}
|
||||
39
samples/cloudbroker/flipgroup/data_flipgroup/main.tf
Normal file
39
samples/cloudbroker/flipgroup/data_flipgroup/main.tf
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение flipgroup по id
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_flipgroup" "fg" {
|
||||
#id флипгруппы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
flipgroup_id = 999
|
||||
|
||||
}
|
||||
|
||||
output "fg_out" {
|
||||
value = data.decort_cb_flipgroup.fg
|
||||
}
|
||||
102
samples/cloudbroker/flipgroup/data_flipgroup_list/main.tf
Normal file
102
samples/cloudbroker/flipgroup/data_flipgroup_list/main.tf
Normal file
@@ -0,0 +1,102 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка flipgroup
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_flipgroup_list" "fg" {
|
||||
#фильтр по id flipgroup
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени flipgroup
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по id vins
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#vins_id = 100
|
||||
|
||||
#фильтр по имени vins
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#vins_name = "test"
|
||||
|
||||
#фильтр по id extnet
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#extnet_id = 100
|
||||
|
||||
#фильтр по IP
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#by_ip = "1.1.1.1.1"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#если не задан - выводятся все доступные данные
|
||||
#тип - целое число
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#если не задан - выводятся все доступные данные
|
||||
#тип - целое число
|
||||
#size = 3
|
||||
|
||||
#фильтр по id аккаунта
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 100
|
||||
|
||||
#фильтр по id conn
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#conn_id = 100
|
||||
|
||||
#фильтр по id клиентов
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
#client_ids = [10,11]
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "CREATED"
|
||||
|
||||
}
|
||||
|
||||
output "fg_out" {
|
||||
value = data.decort_cb_flipgroup_list.fg
|
||||
}
|
||||
86
samples/cloudbroker/flipgroup/resource_flipgroup/main.tf
Normal file
86
samples/cloudbroker/flipgroup/resource_flipgroup/main.tf
Normal file
@@ -0,0 +1,86 @@
|
||||
/*
|
||||
Пример использования
|
||||
Работа с ресурсом flipgroup (группа с плавающим ip-адресом)
|
||||
Ресурс позволяет:
|
||||
1. Создавать flipgroup
|
||||
2. Редактировать flipgroup
|
||||
3. Удалять flipgroup
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
oauth2_url = "https://sso-alpha.dev.decs.online"
|
||||
controller_url = "https://alpha.dev.decs.online"
|
||||
app_id = ""
|
||||
app_secret = ""
|
||||
}
|
||||
|
||||
resource "decort_cb_flipgroup" "fg" {
|
||||
#id аккаунта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
account_id = 999
|
||||
|
||||
#наименование Flipgroup
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
name = "flipgroup_name"
|
||||
|
||||
#тип сети
|
||||
#обязательный параметр
|
||||
#возможные значенния - "EXTNET", "VINS"
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
net_type = "EXTNET"
|
||||
|
||||
#id сети
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
net_id = 13
|
||||
|
||||
#тип клиентов (в данный момент поддерживается только тип 'compute')
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#по умолчанию - "compute"
|
||||
#client_type = "compute"
|
||||
|
||||
#ip-адрес
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#ip = "127.0.0.1"
|
||||
|
||||
#cписок клиентов, прикрепленных к флипгруппе
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
#используется при создании и обновлении
|
||||
#client_ids = [11269]
|
||||
|
||||
#описание флипгруппы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#desc = "CHANGED"
|
||||
}
|
||||
|
||||
output "fg_out" {
|
||||
value = decort_cb_flipgroup.fg
|
||||
}
|
||||
39
samples/cloudbroker/grid/data_grid/main.tf
Normal file
39
samples/cloudbroker/grid/data_grid/main.tf
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение data source grid по id
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_grid" "grid" {
|
||||
#id grid для получения информации
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
grid_id = 215
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_grid.grid
|
||||
}
|
||||
39
samples/cloudbroker/grid/data_grid_get_consumption/main.tf
Normal file
39
samples/cloudbroker/grid/data_grid_get_consumption/main.tf
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации и потребленных и зарезервированных ресурсах grid по id
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_grid_get_consumption" "cons" {
|
||||
#id grid для получения информации
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
grid_id = 215
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_grid_get_consumption.cons
|
||||
}
|
||||
43
samples/cloudbroker/grid/data_grid_get_post_status/main.tf
Normal file
43
samples/cloudbroker/grid/data_grid_get_post_status/main.tf
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
Пример использования
|
||||
Проверка статуса активности текущей среды.
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_grid_get_status" "gs" {
|
||||
#нет входных параметров
|
||||
}
|
||||
|
||||
data "decort_cb_grid_post_status" "ps" {
|
||||
#нет входных параметров
|
||||
}
|
||||
|
||||
output "test-gs" {
|
||||
value = data.decort_cb_grid_get_status.gs
|
||||
}
|
||||
|
||||
output "test-ps" {
|
||||
value = data.decort_cb_grid_post_status.ps
|
||||
}
|
||||
39
samples/cloudbroker/grid/data_grid_get_settings/main.tf
Normal file
39
samples/cloudbroker/grid/data_grid_get_settings/main.tf
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение настроек grid (платформы) по id
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_grid_get_settings" "gs" {
|
||||
#id grid для получения информации
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
grid_id = 215
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_grid_get_settings.gs
|
||||
}
|
||||
62
samples/cloudbroker/grid/data_grid_list/main.tf
Normal file
62
samples/cloudbroker/grid/data_grid_list/main.tf
Normal file
@@ -0,0 +1,62 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка grid
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_grid_list" "gl" {
|
||||
#фильтр по id grid
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 1
|
||||
|
||||
#название grid
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "grid name"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#тип - строка
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#если не задан - выводятся все доступные данные
|
||||
#тип - целое число
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#если не задан - выводятся все доступные данные
|
||||
#тип - целое число
|
||||
#size = 3
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_grid_list.gl
|
||||
}
|
||||
35
samples/cloudbroker/grid/data_grid_list_consumption/main.tf
Normal file
35
samples/cloudbroker/grid/data_grid_list_consumption/main.tf
Normal file
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации и потребленных и зарезервированных ресурсах во всех grid
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_grid_list_consumption" "lc" {
|
||||
#нет входных параметров
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_grid_list_consumption.lc
|
||||
}
|
||||
46
samples/cloudbroker/grid/data_grid_list_emails/main.tf
Normal file
46
samples/cloudbroker/grid/data_grid_list_emails/main.tf
Normal file
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка email-адресов пользователей.
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_grid_list_emails" "gle" {
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#если не задан - выводятся все доступные данные
|
||||
#тип - целое число
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#если не задан - выводятся все доступные данные
|
||||
#тип - целое число
|
||||
#size = 3
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_grid_list_emails.gle
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение снимка платформы с дополнительной диагностической информацией, такой как журналы и т.д.
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_grid_get_diagnosis" "grid" {
|
||||
#id grid для получения информации
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
gid = 215
|
||||
|
||||
#путь, где будет создан архив
|
||||
#если не указан, создается в директории с main.tf с именем "diagnosis.tar.gz"
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
file_path = "abcdefg.tar.gz"
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_grid_get_diagnosis.grid
|
||||
}
|
||||
39
samples/cloudbroker/image/data_image/main.tf
Normal file
39
samples/cloudbroker/image/data_image/main.tf
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение образа по id
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_image" "image" {
|
||||
#id образа
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
image_id = 5912
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_image.image
|
||||
}
|
||||
122
samples/cloudbroker/image/data_image_list/main.tf
Normal file
122
samples/cloudbroker/image/data_image_list/main.tf
Normal file
@@ -0,0 +1,122 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка образов
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_image_list" "il" {
|
||||
#фильтр по id sep
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#sep_id = 1
|
||||
|
||||
#фильтр по id образа
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени образа
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#фильтр по архитектуре
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#architecture = "x86_64"
|
||||
|
||||
#фильтр по типу образа
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
#type_image = ["linux", "windows"]
|
||||
|
||||
#фильтр по размеру образа
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#image_size = 100
|
||||
|
||||
#фильтр по имени SEP
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#sep_name = "test"
|
||||
|
||||
#фильтр по имени Pool
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#pool = "test"
|
||||
|
||||
#фильтр по доступу
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#public = true
|
||||
|
||||
#фильтр по hot_resize
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#hot_resize = true
|
||||
|
||||
#фильтр по bootable
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#bootable = true
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#тип - строка
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#если не задан - выводятся все доступные данные
|
||||
#тип - целое число
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#если не задан - выводятся все доступные данные
|
||||
#тип - целое число
|
||||
#size = 3
|
||||
|
||||
#фильтр по enabled
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#enabled = true
|
||||
|
||||
#фильтр по id политики хранения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#storage_policy_id = 6
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_image_list.il
|
||||
}
|
||||
147
samples/cloudbroker/image/resource_image/main.tf
Normal file
147
samples/cloudbroker/image/resource_image/main.tf
Normal file
@@ -0,0 +1,147 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса image
|
||||
Ресурс позволяет:
|
||||
1. Создавать образ
|
||||
2. Редактировать образ
|
||||
3. Удалять образ
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_cb_image" "my_image" {
|
||||
#имя образа
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
name = "test_image_rename"
|
||||
|
||||
#адрес образа
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
url = "https://colba.decs.online/index.php/s/G3H7AREngzeKGw2/download"
|
||||
|
||||
#тип загрузки образа
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#возможные варианты: "bios" или "uefi"
|
||||
#используется при создании
|
||||
boot_type = "bios"
|
||||
|
||||
#тип образа
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#возможные варианты - "linux", "windows", "unknown"
|
||||
#используется при создании
|
||||
image_type = "linux"
|
||||
|
||||
#id политики хранения
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
storage_policy_id = 111
|
||||
|
||||
#поддержка hot resize
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#hot_resize = true
|
||||
|
||||
#id аккаунта владельца образа
|
||||
#опциональный параметр
|
||||
#тип данных - целое число
|
||||
#используется при создании и обновлении
|
||||
#account_id = 57252
|
||||
|
||||
#имя пользователя и пароль
|
||||
#опциональные параметры
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#username = "Valera"
|
||||
#password = "123"
|
||||
|
||||
#имя пользователя и пароль для загрузки бинарных данных
|
||||
#опциональные параметры
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#username_dl = "Valera1"
|
||||
#password_dl = "1231"
|
||||
|
||||
#sep id
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#sep_id = 1206
|
||||
|
||||
#пул для создания образа
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#pool_name = "vmstor"
|
||||
|
||||
#доступность образа
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#enabled = true
|
||||
|
||||
#является ли образ загрузочным
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#bootable = true
|
||||
|
||||
#позволяет создавать образ в синхронном режиме
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании
|
||||
#по умолчанию - false
|
||||
#sync_mode = true
|
||||
|
||||
#настройка доступа образа аккаунтам
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
#пустой массив - удаление всех доступов, если они были
|
||||
#используется при создании и обновлении
|
||||
#shared_with = [28096, 57121]
|
||||
|
||||
#установка computeci
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#чтобы сбросить, необходимо передать 0
|
||||
#используется при обновлении
|
||||
#computeci_id = 1
|
||||
|
||||
#наименование сетевого интерфейса для вашего компьютера с Linux
|
||||
#eth - встроенный, ens - pci слот
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#network_interface_naming = "ens"
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = decort_cb_image.my_image
|
||||
}
|
||||
112
samples/cloudbroker/image/resource_image_cdrom/main.tf
Normal file
112
samples/cloudbroker/image/resource_image_cdrom/main.tf
Normal file
@@ -0,0 +1,112 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса cdrom image
|
||||
Ресурс позволяет:
|
||||
1. Создавать образ
|
||||
2. Редактировать образ
|
||||
3. Удалять образ
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_cb_cdrom_image" "my_image" {
|
||||
#имя образа
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
name = "test_image_rename"
|
||||
|
||||
#адрес образа
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
url = "https://colba.decs.online/index.php/s/G3H7AREngzeKGw2/download"
|
||||
|
||||
#id политики хранения
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
storage_policy_id = 111
|
||||
|
||||
#поддержка hot resize
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#hot_resize = true
|
||||
|
||||
#id аккаунта владельца образа
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#account_id = 57252
|
||||
|
||||
#имя пользователя и пароль для загрузки бинарных данных
|
||||
#опциональные параметры
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#username_dl = "Valera1"
|
||||
#password_dl = "1231"
|
||||
|
||||
#sep id
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#sep_id = 1206
|
||||
|
||||
#пул для создания образа
|
||||
#опциональный тип
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#pool_name = "vmstor"
|
||||
|
||||
#доступность образа
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#enabled = true
|
||||
|
||||
#настройка доступа образа аккаунтам
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
#пустой массив - удаление всех доступов, если они были
|
||||
#используется при обновлении
|
||||
#shared_with = [28096, 57121]
|
||||
|
||||
#установка computeci
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#чтобы сбросить, необходимо передать 0
|
||||
#используется при обновлении
|
||||
#computeci_id = 1
|
||||
|
||||
#является ли образ загрузочным
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#bootable = true
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = decort_cb_cdrom_image.my_image
|
||||
}
|
||||
@@ -0,0 +1,138 @@
|
||||
/*
|
||||
Ресурс образа из компьюта, созданного как blank позволяет:
|
||||
1. Создавать
|
||||
2. Редактировать
|
||||
3. Удалять ресурс
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_cb_image_from_blank_compute" "my_image" {
|
||||
#id виртуальной машины, созданной как blank
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
compute_id = 1234
|
||||
|
||||
#имя образа
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#при изменении - изменяет название созданного образа
|
||||
#используется при создании и обновлении
|
||||
name = "test_image_rename"
|
||||
|
||||
#тип загрузки образа
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#возможные варианты: "bios" или "uefi"
|
||||
#используется при создании
|
||||
boot_type = "bios"
|
||||
|
||||
#тип образа
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#возможные варианты - "linux", "windows", "unknown"
|
||||
#используется при создании
|
||||
image_type = "linux"
|
||||
|
||||
#id политики хранения
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
storage_policy_id = 111
|
||||
|
||||
#имя пользователя для образа
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#username = "userx"
|
||||
|
||||
#пароль для образа
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#password = "passx"
|
||||
|
||||
#id аккаунта
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#account_id = 138
|
||||
|
||||
#название pool
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#pool_name = "pool"
|
||||
|
||||
#поддержка hot resize
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#hot_resize = true
|
||||
|
||||
#флаг для создания образа в асинхронном режиме
|
||||
#опциональный параметр
|
||||
#по умолчанию - false
|
||||
#тип - булев
|
||||
#используется при создании
|
||||
#async_mode = true
|
||||
|
||||
#доступность образа
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#enabled = true
|
||||
|
||||
#является ли образ загрузочным
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#bootable = true
|
||||
|
||||
#настройка доступа образа аккаунтам
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
#пустой массив - удаление всех доступов, если они были
|
||||
#используется при создании и обновлении
|
||||
#shared_with = [28096, 57121]
|
||||
|
||||
#установка computeci
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#чтобы сбросить, необходимо передать 0
|
||||
#используется при обновлении
|
||||
#computeci_id = 1
|
||||
|
||||
#наименование сетевого интерфейса для вашего компьютера с Linux
|
||||
#eth - встроенный, ens - pci слот
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при обновлении
|
||||
#network_interface_naming = "ens"
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = decort_cb_image_from_blank_compute.my_image
|
||||
}
|
||||
@@ -0,0 +1,131 @@
|
||||
/*
|
||||
Ресурс образа из платформенного диска:
|
||||
1. Создавать
|
||||
2. Редактировать
|
||||
3. Удалять ресурс
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_cb_image_from_platform_disk" "my_image" {
|
||||
#id платформенного диска
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
disk_id = 1234
|
||||
|
||||
#имя образа
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#при изменении - изменяет название созданного образа
|
||||
#используется при создании и обновлении
|
||||
name = "test_image_rename"
|
||||
|
||||
#тип загрузки образа
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#возможные варианты: "bios" или "uefi"
|
||||
#используется при создании
|
||||
boot_type = "bios"
|
||||
|
||||
#тип образа
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#возможные варианты - "linux", "windows", "unknown"
|
||||
#используется при создании
|
||||
image_type = "linux"
|
||||
|
||||
#имя пользователя для образа
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#username = "userx"
|
||||
|
||||
#пароль для образа
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#password = "passx"
|
||||
|
||||
#id аккаунта
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#account_id = 138
|
||||
|
||||
#название pool
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#pool_name = "pool"
|
||||
|
||||
#поддержка hot resize
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#hot_resize = true
|
||||
|
||||
#является ли образ загрузочным
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#bootable = true
|
||||
|
||||
#флаг для создания образа в асинхронном режиме
|
||||
#опциональный параметр
|
||||
#по умолчанию - false
|
||||
#тип - булев
|
||||
#используется при создании
|
||||
#async_mode = true
|
||||
|
||||
#доступность образа
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#enabled = true
|
||||
|
||||
#настройка доступа образа аккаунтам
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
#пустой массив - удаление всех доступов, если они были
|
||||
#используется при создании и обновлении
|
||||
#shared_with = [28096, 57121]
|
||||
|
||||
#установка computeci
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#чтобы сбросить, необходимо передать 0
|
||||
#используется при обновлении
|
||||
#computeci_id = 1
|
||||
|
||||
#наименование сетевого интерфейса для вашего компьютера с Linux
|
||||
#eth - встроенный, ens - pci слот
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при обновлении
|
||||
#network_interface_naming = "ens"
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = decort_cb_image_from_platform_disk.my_image
|
||||
}
|
||||
100
samples/cloudbroker/image/resource_multi_image/main.tf
Normal file
100
samples/cloudbroker/image/resource_multi_image/main.tf
Normal file
@@ -0,0 +1,100 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса multi image
|
||||
Ресурс позволяет:
|
||||
1. Создавать образ
|
||||
2. Редактировать образ
|
||||
3. Удалять образ
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_cb_multi_image" "my_multi_image" {
|
||||
#имя мульти-образа
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
name = "test_multi_image"
|
||||
|
||||
#список id реальных образов, на основе которых создаётся мульти-образ
|
||||
#обязательный параметр
|
||||
#тип - массив целых чисел
|
||||
#используется при создании и обновлении (добавляет/удаляет привязки)
|
||||
target_ids = [6125, 6126]
|
||||
|
||||
#id аккаунта владельца образа
|
||||
#опциональный параметр
|
||||
#тип данных - целое число
|
||||
#используется при создании и обновлении
|
||||
#account_id = 57252
|
||||
|
||||
#является ли образ загрузочным
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#bootable = true
|
||||
|
||||
#поддержка hot resize
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#hot_resize = true
|
||||
|
||||
#имя пользователя
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#username = "Valera"
|
||||
|
||||
#пароль пользователя
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#password = "123"
|
||||
|
||||
#доступность образа
|
||||
#опциональный параметр
|
||||
#тип - булев, по умолчанию true
|
||||
#используется при создании и обновлении
|
||||
#enabled = false
|
||||
|
||||
#настройка доступа образа аккаунтам
|
||||
#опциональный параметр
|
||||
#пустой массив - удаление всех доступов, если они были
|
||||
#тип - массив целых чисел
|
||||
#используется при создании и обновлении
|
||||
#shared_with = [28096, 57121]
|
||||
|
||||
#установка computeci
|
||||
#опциональный параметр
|
||||
#чтобы сбросить, необходимо передать 0
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#computeci_id = 1
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = decort_cb_multi_image.my_multi_image
|
||||
}
|
||||
100
samples/cloudbroker/image/resource_virtual_image/main.tf
Normal file
100
samples/cloudbroker/image/resource_virtual_image/main.tf
Normal file
@@ -0,0 +1,100 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса virtual image
|
||||
Ресурс позволяет:
|
||||
1. Создавать образ
|
||||
2. Редактировать образ
|
||||
3. Удалять образ
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_cb_virtual_image" "my_image" {
|
||||
#имя виртуального образа
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
name = "test_vi_im_new_rename"
|
||||
|
||||
#id образа, на основе которого будет создан виртуальный
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
link_to = 6125
|
||||
|
||||
#id аккаунта владельца образа
|
||||
#опциональный параметр
|
||||
#тип данных - целое число
|
||||
#используется при создании и обновлении
|
||||
#account_id = 57252
|
||||
|
||||
#является ли образ загрузочным
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#bootable = true
|
||||
|
||||
#поддержка hot resize
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#hot_resize = true
|
||||
|
||||
#имя пользователя
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при обновлении
|
||||
#username = "Valera"
|
||||
|
||||
#пароль пользователя
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при обновлении
|
||||
#password = "123"
|
||||
|
||||
#доступность образа
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#enabled = false
|
||||
|
||||
#настройка доступа образа аккаунтам
|
||||
#опциональный параметр
|
||||
#пустой массив - удаление всех доступов, если они были
|
||||
#тип - массив целых чисел
|
||||
#используется при обновлении
|
||||
#shared_with = [28096, 57121]
|
||||
|
||||
#установка computeci
|
||||
#опциональный параметр
|
||||
#чтобы сбросить, необходимо передать 0
|
||||
#тип - целое число
|
||||
#используется при обновлении
|
||||
#computeci_id = 1
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = decort_cb_virtual_image.my_image
|
||||
}
|
||||
38
samples/cloudbroker/k8s/data_k8ci/main.tf
Normal file
38
samples/cloudbroker/k8s/data_k8ci/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о k8ci
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_k8ci" "k8ci" {
|
||||
#id k8ci
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
k8ci_id = 111
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_k8ci.k8ci
|
||||
}
|
||||
74
samples/cloudbroker/k8s/data_k8ci_list/main.tf
Normal file
74
samples/cloudbroker/k8s/data_k8ci_list/main.tf
Normal file
@@ -0,0 +1,74 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка k8ci
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_k8ci_list" "k8cil" {
|
||||
#фильтр по id k8ci
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 111
|
||||
|
||||
#фильтр по имени k8ci
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "name"
|
||||
|
||||
#фильтр по статусу k8ci
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "status"
|
||||
|
||||
#фильтр по network plugin
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#network_plugin = "flannel"
|
||||
|
||||
#исключить из результата недоступные k8ci
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#include_disabled = "true"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#size = 3
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_k8ci_list.k8cil
|
||||
}
|
||||
64
samples/cloudbroker/k8s/data_k8ci_list_deleted/main.tf
Normal file
64
samples/cloudbroker/k8s/data_k8ci_list_deleted/main.tf
Normal file
@@ -0,0 +1,64 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка удаленных k8ci
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_k8ci_list_deleted" "k8cild" {
|
||||
#фильтр по id k8ci
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 111
|
||||
|
||||
#фильтр по имени k8ci
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "name"
|
||||
|
||||
#фильтр по network plugin
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#network_plugin = "flannel"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#size = 3
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_k8ci_list_deleted.k8cild
|
||||
}
|
||||
38
samples/cloudbroker/k8s/data_k8s/main.tf
Normal file
38
samples/cloudbroker/k8s/data_k8s/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о k8s кластере
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_k8s" "k8s" {
|
||||
#id кластера
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
k8s_id = 49304
|
||||
}
|
||||
|
||||
output "output_k8s" {
|
||||
value = data.decort_cb_k8s.k8s
|
||||
}
|
||||
38
samples/cloudbroker/k8s/data_k8s_computes/main.tf
Normal file
38
samples/cloudbroker/k8s/data_k8s_computes/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о компьютах k8s кластера
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
controller_url = "https://mr4.digitalenergy.online"
|
||||
app_id = ""
|
||||
app_secret = ""
|
||||
}
|
||||
|
||||
data "decort_cb_k8s_computes" "computes" {
|
||||
#id кластера
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
k8s_id = 999
|
||||
}
|
||||
|
||||
output "computes_out" {
|
||||
value = data.decort_cb_k8s_computes.computes
|
||||
}
|
||||
103
samples/cloudbroker/k8s/data_k8s_list/main.tf
Normal file
103
samples/cloudbroker/k8s/data_k8s_list/main.tf
Normal file
@@ -0,0 +1,103 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка доступных кластеров
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_k8s_list" "k8s_list" {
|
||||
#фильтр по id кластера
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени кластера
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по ip
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#ip_address = "test"
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#rg_id = 100
|
||||
|
||||
#фильтр по id балансировщика нагрузки
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#lb_id = 100
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#bservice_id = 100
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#фильтр по техническому статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#tech_status = "STOPPED"
|
||||
|
||||
#включение удаленных k8s в результат
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#если не задан - выводятся все неудаленные данные
|
||||
#include_deleted = true
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 1
|
||||
|
||||
#id зоны
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#значение по умолчанию - 0
|
||||
#zone_id = 11
|
||||
}
|
||||
|
||||
output "output_k8s_list" {
|
||||
value = data.decort_cb_k8s_list.k8s_list
|
||||
}
|
||||
87
samples/cloudbroker/k8s/data_k8s_list_deleted/main.tf
Normal file
87
samples/cloudbroker/k8s/data_k8s_list_deleted/main.tf
Normal file
@@ -0,0 +1,87 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка удаленных кластеров
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_k8s_list_deleted" "k8s_list_deleted" {
|
||||
#фильтр по id кластера
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени кластера
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по ip
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#ip_address = "test"
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#rg_id = 100
|
||||
|
||||
#фильтр по id балансировщика нагрузки
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#lb_id = 100
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#bservice_id = 100
|
||||
|
||||
#фильтр по техническому статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#tech_status = "STOPPED"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 1
|
||||
}
|
||||
|
||||
output "output_k8s_list_deleted" {
|
||||
value = data.decort_cb_k8s_list_deleted.k8s_list_deleted
|
||||
}
|
||||
|
||||
43
samples/cloudbroker/k8s/data_k8s_wg/main.tf
Normal file
43
samples/cloudbroker/k8s/data_k8s_wg/main.tf
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о k8s кластере
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_k8s_wg" "k8s_wg" {
|
||||
#id кластера
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
k8s_id = 49304
|
||||
|
||||
#id группы воркеров
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
wg_id = 43329
|
||||
}
|
||||
|
||||
output "output_k8s_wg" {
|
||||
value = data.decort_cb_k8s_wg.k8s_wg
|
||||
}
|
||||
46
samples/cloudbroker/k8s/data_k8s_wg_cloud_init/main.tf
Normal file
46
samples/cloudbroker/k8s/data_k8s_wg_cloud_init/main.tf
Normal file
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о мета данных рабочей группы k8s кластера
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_k8s_wg_cloud_init" "wg_cloud_init" {
|
||||
#id кластера
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
k8s_id = 977
|
||||
|
||||
#id группы воркеров
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
wg_id = 2110
|
||||
}
|
||||
|
||||
output "wg_cloud_init" {
|
||||
value = data.decort_cb_k8s_wg_cloud_init.wg_cloud_init
|
||||
}
|
||||
|
||||
|
||||
|
||||
38
samples/cloudbroker/k8s/data_k8s_wg_list/main.tf
Normal file
38
samples/cloudbroker/k8s/data_k8s_wg_list/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка доступных рабочих групп в кластере
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_k8s_wg_list" "k8s_wg_list" {
|
||||
#id кластера
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
k8s_id = 49304
|
||||
}
|
||||
|
||||
output "output_k8s_wg_list" {
|
||||
value = data.decort_cb_k8s_wg_list.k8s_wg_list
|
||||
}
|
||||
104
samples/cloudbroker/k8s/resource_k8ci/main.tf
Normal file
104
samples/cloudbroker/k8s/resource_k8ci/main.tf
Normal file
@@ -0,0 +1,104 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса k8ci
|
||||
Ресурс позволяет:
|
||||
1. Создавать k8ci
|
||||
2. Редактировать k8ci
|
||||
3. Удалять k8ci
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_cb_k8ci" "k8ci" {
|
||||
#имя k8ci
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
name = "test"
|
||||
|
||||
#тег версии
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
version = "1.1.1"
|
||||
|
||||
#максимальное число master компьютов
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
max_master_count = 1
|
||||
|
||||
#максимальное число worker компьютов
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
max_worker_count = 1
|
||||
|
||||
#id образа для master
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
master_image_id = 4
|
||||
|
||||
#id образа для worker
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
worker_image_id = 4
|
||||
|
||||
#network plugins
|
||||
#обязательный параметр
|
||||
#тип - массив строк
|
||||
#используется при создании
|
||||
network_plugins = ["flannel"]
|
||||
|
||||
#доступность k8ci
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#enabled = false
|
||||
|
||||
#флаг для удаления k8ci, без возможности восстановления
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при удалении
|
||||
#permanently = true
|
||||
|
||||
#описание
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#desc = "some"
|
||||
|
||||
#доступность k8ci другим аккаунтам
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
#используется при создании и обновлении
|
||||
#shared_with = [1111]
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = decort_cb_k8ci.k8ci
|
||||
}
|
||||
234
samples/cloudbroker/k8s/resource_k8s_cp/main.tf
Normal file
234
samples/cloudbroker/k8s/resource_k8s_cp/main.tf
Normal file
@@ -0,0 +1,234 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса k8s
|
||||
Ресурс позволяет:
|
||||
1. Создавать кластер
|
||||
2. Редактировать кластер
|
||||
3. Удалять кластер
|
||||
4. Настроить мастер-узел
|
||||
5. Изменить кол-во ВМ в мастер-узле
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
controller_url = "https://mr4.digitalenergy.online"
|
||||
app_id = ""
|
||||
app_secret = ""
|
||||
}
|
||||
|
||||
resource "decort_cb_k8s_cp" "cp" {
|
||||
#название кластера
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
name = "k8s-cp"
|
||||
|
||||
#k8sCI ID
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
k8sci_id = 55
|
||||
|
||||
#плагин сети
|
||||
#обязательный параметр
|
||||
#возможные значения - "flannel", "weavenet", "calico"
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
network_plugin = "flannel"
|
||||
|
||||
#id ресурсной группы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
rg_id = 1387
|
||||
|
||||
#id политики хранения
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
storage_policy_id = 111
|
||||
|
||||
#кол-во ядер мастер-узла
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#cpu = 2
|
||||
|
||||
#объем RAM мастер-узла
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#ram = 2048
|
||||
|
||||
#кол-во ВМ мастер-узла (1, 3 или 5)
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#num = 1
|
||||
|
||||
#размер диска мастер-узла
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#disk = 10
|
||||
|
||||
#описание кластера
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#desc = "<DESCRIPTION>"
|
||||
|
||||
#id extnet
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#extnet_id = 0
|
||||
|
||||
#id vins
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#vins_id = 1234
|
||||
|
||||
#sep ip
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#sep_id = 0
|
||||
|
||||
#название пула
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#sep_pool = "pool"
|
||||
|
||||
#старт/стоп кластера
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#start = true
|
||||
|
||||
#включить/отключить кластер
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#enabled = true
|
||||
|
||||
#флаг для удаления k8s_cp, без возможности восстановления
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при удалении
|
||||
#permanently = true
|
||||
|
||||
#восстановить кластер из корзины
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#restore = true
|
||||
|
||||
#создать кластер с/без балансировщика нагрузки
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании
|
||||
#with_lb = true
|
||||
|
||||
#создать схему отказоустройчивой LB
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании
|
||||
#ha_mode = true
|
||||
|
||||
#дополнительные SAN (Subject Alternative Names) для использования в процессе автоматического выписывания сертификата Кластера Kubernetes;
|
||||
#возможность взаимодействовать с кластером по FQDN
|
||||
#параметр получает список строк – IP-адреса и/или DNS (по формату RFC 1123 c поддержкой wildcard)
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
#используется при создании
|
||||
#additional_sans = ["192.168.201.0","192.168.201.1"]
|
||||
|
||||
#используется для определения настроек и действий, которые должны быть выполнены перед запуском любого другого компонента в кластере
|
||||
#это позволяет вам настраивать такие вещи, как регистрация node, настройка network и другие задачи инициализации
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#init_config = "{JSON string}"
|
||||
|
||||
#используется для определения глобальных настроек и конфигураций для всего кластера
|
||||
#он включает в себя такие параметры, как имя кластера, настройки DNS, методы аутентификации и другие конфигурации в масштабах кластера
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#cluster_config = "{JSON string}"
|
||||
|
||||
#используется для настройки поведения и параметров Kubelet, который является агентом primary node, запускаемым на каждом node кластера
|
||||
#он включает в себя такие параметры, как IP-адрес node, распределение ресурсов, политики удаления модулей и другие конфигурации, специфичные для Kubelet
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#kubelet_config = "{JSON string}"
|
||||
|
||||
#используется для настройки поведения и параметров присоединения node к кластеру
|
||||
#он включает в себя такие параметры, как режим прокси-сервера, диапазоны IP-адресов кластера и другие конфигурации, специфичные для Kube-proxy
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#kube_proxy_config = "{JSON string}"
|
||||
|
||||
#используется для настройки поведения и параметров присоединения node к кластеру
|
||||
#он включает в себя такие параметры, как cluster's control plane endpoint, токен и ключ сертификата
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#join_config = "{JSON string}"
|
||||
|
||||
#при создании кластере использовать подключение только к сети ExtNet
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании
|
||||
#extnet_only = true
|
||||
|
||||
#добавить ssl-сертификат в формате x509 pem
|
||||
#опциональный параметр
|
||||
#тип - файл с форматом в виде .crt
|
||||
#используется при создании
|
||||
#oidc_cert = file("ca.crt")
|
||||
|
||||
#тип эмулируемой системы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#возможные значения: "i440fx", "Q35"
|
||||
#по умолчанию - Q35
|
||||
#используется при создании
|
||||
#chipset = "Q35"
|
||||
|
||||
#пользовательские значения sysctl для LB
|
||||
#опциональный параметр
|
||||
#тип - массив мап
|
||||
#используется при создании и обновлении
|
||||
#lb_sysctl_params = [{ key1 = "value1", key2 = "value2" }]
|
||||
|
||||
#идентификатор экземпляра zone
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#zone_id = 1111
|
||||
}
|
||||
|
||||
output "cp_out" {
|
||||
value = decort_cb_k8s_cp.cp
|
||||
}
|
||||
9
samples/cloudbroker/k8s/resource_k8s_wg/initconfig.tftpl
Normal file
9
samples/cloudbroker/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
|
||||
126
samples/cloudbroker/k8s/resource_k8s_wg/main.tf
Normal file
126
samples/cloudbroker/k8s/resource_k8s_wg/main.tf
Normal file
@@ -0,0 +1,126 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о группе воркеров кластера Kubernetes(k8s)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_cb_k8s_wg" "wg" {
|
||||
#id экземпляра k8s
|
||||
#обязательный параметр
|
||||
#это значение должно быть и результат вызова decort_cb_k8s.cluster.k8s_id
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
k8s_id = 1234
|
||||
|
||||
#имя worker group
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
name = "workers-2"
|
||||
|
||||
#id политики хранения
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
storage_policy_id = 111
|
||||
|
||||
#количество worker node для создания
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#по умолчанию - 1
|
||||
#используется при создании и обновлении
|
||||
#num = 2
|
||||
|
||||
#количество cpu для 1 worker node
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#по умолчанию - 1
|
||||
#используется при создании
|
||||
#cpu = 1
|
||||
|
||||
#количество RAM для одной worker node в МБ
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#по умолчанию - 1024
|
||||
#используется при создании
|
||||
#ram = 1024
|
||||
|
||||
#размер загрузочного диска для worker node, в ГБ
|
||||
#опциональный параметр
|
||||
#по умолчанию - 0
|
||||
#если установлен параметр 0, то размер диска будет равен размеру образа
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#disk = 10
|
||||
|
||||
#список строк с labels для worker группы, в формате: ["label1=value1", "label2=value2"]
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
#используется при создании
|
||||
#labels = ["label1=value1", "label2=value2"]
|
||||
|
||||
#список строк с annotations для worker группы, в формате: ["key1=value1", "key2=value2"]
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
#используется при создании
|
||||
#annotations = ["key1=value1", "key2=value2"]
|
||||
|
||||
#список строк с taints для worker группы, в формате: ["key1=value1:NoSchedule", "key2=value2:NoExecute"]
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
#используется при создании
|
||||
#taints = ["key1=value1", "key2=value2"]
|
||||
|
||||
#id СХД для создания загрузочных дисков для Worker-групп по умолчанию. Использует sepId образа, если не указан.
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#worker_sep_id = 1
|
||||
|
||||
#пул для хранения Workers. Если не заполнить, будет выбран системой
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#worker_sep_pool = "worker_pool"
|
||||
|
||||
#перечень аргументов для cloud-init для виртуальных машин worker групп
|
||||
#опциональный параметр
|
||||
#тип - файл в формате YAML
|
||||
#используется при создании и обновлении
|
||||
#cloud_init = file("initconfig.tftpl")
|
||||
|
||||
#тип эмулируемой системы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#возможные значения: "i440fx", "Q35"
|
||||
#по умолчанию - Q35
|
||||
#используется при создании
|
||||
#chipset = "Q35"
|
||||
|
||||
}
|
||||
|
||||
output "test_wg" {
|
||||
value = decort_cb_k8s_wg.wg
|
||||
}
|
||||
38
samples/cloudbroker/kvmvm/data_kvmvm/main.tf
Normal file
38
samples/cloudbroker/kvmvm/data_kvmvm/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных о compute (виртуальной машине).
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_kvmvm" "comp" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 11346
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_kvmvm.comp
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение словаря ВМ (виртуальных машин), разделенного по правилам affinity и anti-affinity.
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_kvmvm_affinity_relations" "aff_rel" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 48
|
||||
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_cb_kvmvm_affinity_relations.aff_rel
|
||||
}
|
||||
92
samples/cloudbroker/kvmvm/data_kvmvm_audits/main.tf
Normal file
92
samples/cloudbroker/kvmvm/data_kvmvm_audits/main.tf
Normal file
@@ -0,0 +1,92 @@
|
||||
/*Deprecated
|
||||
|
||||
Данный datasource является **deprecated** и будет удалён в следующих версиях. Вместо него неоходимо использовать datasource **decort_cb_audit_list**.
|
||||
*/
|
||||
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных об аудитах compute (виртулаьной машине)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_kvmvm_audits" "kvmvm_audits" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 10154
|
||||
|
||||
#найти все аудиты после определенного момента времени
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#timestamp_to = 11
|
||||
|
||||
#найти все аудиты до определенного момента времени
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#timestamp_at = 11
|
||||
|
||||
#фильтр по юзеру
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#user = "user"
|
||||
|
||||
#фильтр по эндпоинту апи
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#call = "call"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#значение по умолчанию - 1
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#значение по умолчанию - 100
|
||||
#size = 100
|
||||
|
||||
#найти по минимальному коду статуса HTTP
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#min_status_code = 1
|
||||
|
||||
#найти по максимальному коду статуса HTTP
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#max_status_code = 140
|
||||
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_cb_kvmvm_audits.kvmvm_audits
|
||||
}
|
||||
39
samples/cloudbroker/kvmvm/data_kvmvm_boot_order_get/main.tf
Normal file
39
samples/cloudbroker/kvmvm/data_kvmvm_boot_order_get/main.tf
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о текущем порядке загрузки ВМ (виртуальной машины).
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_kvmvm_boot_order_get" "boot_order" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое вчисло
|
||||
compute_id = 48
|
||||
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_cb_kvmvm_boot_order_get.boot_order
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных о профиле CPU alignment виртуальной машины
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_kvmvm_cpu_alignment_profile" "cpu_alignment_profile" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 100
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_cb_kvmvm_cpu_alignment_profile.cpu_alignment_profile
|
||||
}
|
||||
39
samples/cloudbroker/kvmvm/data_kvmvm_get_audits/main.tf
Normal file
39
samples/cloudbroker/kvmvm/data_kvmvm_get_audits/main.tf
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных об аудитах compute (виртулаьной машины)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_kvmvm_get_audits" "kvmvm_get_audits" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 10154
|
||||
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_cb_kvmvm_get_audits.kvmvm_get_audits
|
||||
}
|
||||
39
samples/cloudbroker/kvmvm/data_kvmvm_get_console_url/main.tf
Normal file
39
samples/cloudbroker/kvmvm/data_kvmvm_get_console_url/main.tf
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение url compute (виртуальной машины)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_kvmvm_get_console_url" "kvmvm_get_console_url" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 10154
|
||||
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_cb_kvmvm_get_console_url.kvmvm_get_console_url
|
||||
}
|
||||
44
samples/cloudbroker/kvmvm/data_kvmvm_get_log/main.tf
Normal file
44
samples/cloudbroker/kvmvm/data_kvmvm_get_log/main.tf
Normal file
@@ -0,0 +1,44 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение логов compute (виртуальной машины)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_kvmvm_get_log" "kvmvm_get_log" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 10154
|
||||
|
||||
#путь до log файла
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
path = "/var/log/file.log"
|
||||
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_cb_kvmvm_get_log.kvmvm_get_log
|
||||
}
|
||||
129
samples/cloudbroker/kvmvm/data_kvmvm_list/main.tf
Normal file
129
samples/cloudbroker/kvmvm/data_kvmvm_list/main.tf
Normal file
@@ -0,0 +1,129 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных о списке compute (виртуальных машин)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_kvmvm_list" "compute_list" {
|
||||
#фильтр по id ВМ
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени ВМ
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#id аккаунта для получения списка ВМ
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 11111
|
||||
|
||||
#фильтр по имени ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#rg_name = "test"
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#rg_id = 100
|
||||
|
||||
#фильтр по техническому статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#tech_status = "STOPPED"
|
||||
|
||||
#фильтр по названию ноды
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#node_name = "node_name"
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#фильтр по ip
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#ip_address = "test"
|
||||
|
||||
#фильтр по node id
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#node_id = 123
|
||||
|
||||
#фильтр по cd image id
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#cd_image_id = 123
|
||||
|
||||
#фильтр по имени extnet
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#extnet_name = "test"
|
||||
|
||||
#фильтр по id extnet
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#extnet_id = 100
|
||||
|
||||
#флаг включения в результат удаленных балансировщиков нагрузки
|
||||
#опциональный параметр
|
||||
#если не задан - выводятся все доступные неудаленные балансировщики
|
||||
#по умолчанию - false
|
||||
#тип - булев
|
||||
#includedeleted = true
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#тип - строка
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#если не задан - выводятся все доступные данные
|
||||
#тип - целое число
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#если не задан - выводятся все доступные данные
|
||||
#тип - целое число
|
||||
#size = 1
|
||||
|
||||
#id зоны
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#значение по умолчанию - 0
|
||||
#zone_id = 11
|
||||
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_cb_kvmvm_list.compute_list
|
||||
}
|
||||
97
samples/cloudbroker/kvmvm/data_kvmvm_list_deleted/main.tf
Normal file
97
samples/cloudbroker/kvmvm/data_kvmvm_list_deleted/main.tf
Normal file
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных о списке удаленных compute (виртуальных машин)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_kvmvm_list_deleted" "compute_list" {
|
||||
#фильтр по id виртуальной машины
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени виртуальной машины
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по id аккаунта
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 100
|
||||
|
||||
#фильтр по имени ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#rg_name = "test"
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#rg_id = 100
|
||||
|
||||
#фильтр по техническому статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#tech_status = "some"
|
||||
|
||||
#фильтр по ip
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#ip_address = "test"
|
||||
|
||||
#фильтр по имени extNet
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#extnet_name = "test"
|
||||
|
||||
#фильтр по id extNet
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#extnet_id = 100
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#тип - строка
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 1
|
||||
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_cb_kvmvm_list_deleted.compute_list
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о последней (включая текущую) миграции хранилища.
|
||||
|
||||
*/
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_kvmvm_migrate_storage_info" "info" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 48
|
||||
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_cb_kvmvm_migrate_storage_info.info
|
||||
}
|
||||
77
samples/cloudbroker/kvmvm/data_kvmvm_pci_device_list/main.tf
Normal file
77
samples/cloudbroker/kvmvm/data_kvmvm_pci_device_list/main.tf
Normal file
@@ -0,0 +1,77 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных о списке подключенных устройств (PCI)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_kvmvm_pci_device_list" "pci_device_list" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 100
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#rg_id = 100
|
||||
|
||||
#фильтр по id устройства
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#device_id = 100
|
||||
|
||||
#фильтр по имени устройства
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#если не задан - выводятся все доступные данные
|
||||
#тип - целое число
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#если не задан - выводятся все доступные данные
|
||||
#тип - целое число
|
||||
#size = 1
|
||||
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_cb_kvmvm_pci_device_list.pci_device_list
|
||||
}
|
||||
39
samples/cloudbroker/kvmvm/data_kvmvm_pfw_list/main.tf
Normal file
39
samples/cloudbroker/kvmvm/data_kvmvm_pfw_list/main.tf
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных об списке port forwarding compute (виртулаьных машин)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_kvmvm_pfw_list" "kvmvm_pfw_list" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 48
|
||||
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_cb_kvmvm_pfw_list.kvmvm_pfw_list
|
||||
}
|
||||
39
samples/cloudbroker/kvmvm/data_kvmvm_snapshot_list/main.tf
Normal file
39
samples/cloudbroker/kvmvm/data_kvmvm_snapshot_list/main.tf
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка моментальных снимков ВМ (виртуальных машин).
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_kvmvm_snapshot_list" "kvmvm_snapshot_list" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 48
|
||||
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_cb_kvmvm_snapshot_list.kvmvm_snapshot_list
|
||||
}
|
||||
44
samples/cloudbroker/kvmvm/data_kvmvm_snapshot_usage/main.tf
Normal file
44
samples/cloudbroker/kvmvm/data_kvmvm_snapshot_usage/main.tf
Normal file
@@ -0,0 +1,44 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение настоящего размера снимка ВМ (виртуальной машины) в хранилище.
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_kvmvm_snapshot_usage" "snp_usage" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 48
|
||||
|
||||
#label снимка
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#label = "test"
|
||||
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_cb_kvmvm_snapshot_usage.snp_usage
|
||||
}
|
||||
39
samples/cloudbroker/kvmvm/data_kvmvm_user_list/main.tf
Normal file
39
samples/cloudbroker/kvmvm/data_kvmvm_user_list/main.tf
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных об юзерах compute (виртуальной машины)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_kvmvm_user_list" "kvmvm_user_list" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 10154
|
||||
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_cb_kvmvm_user_list.kvmvm_user_list
|
||||
}
|
||||
76
samples/cloudbroker/kvmvm/data_kvmvm_vgpu_list/main.tf
Normal file
76
samples/cloudbroker/kvmvm/data_kvmvm_vgpu_list/main.tf
Normal file
@@ -0,0 +1,76 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных о списке подключенных графических процессоров
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_kvmvm_vgpu_list" "vgpu_list" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 100
|
||||
|
||||
#фильтр по id графического процессора
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#gpu_id = 100
|
||||
|
||||
#фильтр по типу графического процессора
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#type = "NVIDIA"
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#фильтр "включая удаленные графические процессоры"
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#includedeleted = false
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#тип - строка
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#если не задан - выводятся все доступные данные
|
||||
#тип - целое число
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#если не задан - выводятся все доступные данные
|
||||
#тип - целое число
|
||||
#size = 1
|
||||
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_cb_kvmvm_vgpu_list.vgpu_list
|
||||
}
|
||||
14
samples/cloudbroker/kvmvm/resource_kvmvm/initconfig.tftpl
Normal file
14
samples/cloudbroker/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"
|
||||
}
|
||||
]
|
||||
}
|
||||
750
samples/cloudbroker/kvmvm/resource_kvmvm/main.tf
Normal file
750
samples/cloudbroker/kvmvm/resource_kvmvm/main.tf
Normal file
@@ -0,0 +1,750 @@
|
||||
/*
|
||||
Пример использования
|
||||
Работа с ресурсом kvmvm (compute)
|
||||
Ресурс позволяет:
|
||||
1. Создавать compute
|
||||
2. Редактировать compute
|
||||
3. Удалять compute
|
||||
*/
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
version = "<VERSION>"
|
||||
source = "basis/decort/decort"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_cb_kvmvm" "comp" {
|
||||
#имя compute
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
name = "test-tf-compute-update-new"
|
||||
|
||||
#id ресурсной группы
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
rg_id = 1111
|
||||
|
||||
#число cpu
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
cpu = 1
|
||||
|
||||
#кол-во оперативной памяти, МБ
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
ram = 2048
|
||||
|
||||
#id политики хранения
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
storage_policy_id = 1
|
||||
|
||||
#тип эмулируемой системы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#возможные значения: "i440fx", "Q35"
|
||||
#по умолчанию - Q35
|
||||
#используется при создании и обновлении
|
||||
#chipset = "Q35"
|
||||
|
||||
#тип часов для ВМ
|
||||
#опциональный параметр
|
||||
#возможные значения: "default", "linux", "windows", "none"
|
||||
#по умолчанию - "default"
|
||||
#используется при создании и обновлении
|
||||
#clock = "linux"
|
||||
|
||||
#id образа диска для создания compute
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#image_id = 111
|
||||
|
||||
#создать вм без загрузочного диска
|
||||
#если значение равно True, параметры image_id, boot_disk_size, sep_id, pool игнорируются
|
||||
#компьютер создается без загрузочного диска в остановленном состоянии
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании
|
||||
#without_boot_disk = true
|
||||
|
||||
#создание без образа ОС
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании
|
||||
#create_blank = false
|
||||
|
||||
#размер загрузочного диска
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#boot_disk_size = 20
|
||||
|
||||
#установка режима кэширования для загрузочного диска
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#значение по умолчанию - none
|
||||
#возможные варианты: "none" или "writethrough"
|
||||
#используется при создании и обновлении
|
||||
#boot_disk_cache = "none"
|
||||
|
||||
#id сепа для boot диска
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#sep_id = 1
|
||||
|
||||
#название пула
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#pool = "data02"
|
||||
|
||||
#конфигурация cloud init
|
||||
#опциональный параметр
|
||||
#тип - файл в формате JSON
|
||||
#используется при создании
|
||||
#cloud_init = file("initconfig.tftpl")
|
||||
|
||||
#описание compute
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#description = "test update description in tf words update"
|
||||
|
||||
#node id
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#node_id = 1
|
||||
|
||||
#id образа CD-ROM для загрузки
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#alt_boot_id = 1
|
||||
|
||||
#необходимость выравнивать ВМ по NUMA
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#возможные значения - "none, "strict", "loose"
|
||||
#по умолчанию - "none"
|
||||
#используется при создании и обновлении
|
||||
#numa_affinity = "loose"
|
||||
|
||||
#необходимость запускать ВМ на выделенных CPU ядрах
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - false
|
||||
#используется при создании и обновлении
|
||||
#cpu_pin = true
|
||||
|
||||
#необходимость использовать для выделения RAM виртуальной машины Huge Pages
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - false
|
||||
#используется при создании и обновлении
|
||||
#hp_backed = true
|
||||
|
||||
#установка режима "только для чтения", который позволяет лишь получать информацию о ВМ, ничего в ней не менять
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#значение по умолчанию - false
|
||||
#используется при создании и обновлении
|
||||
#read_only = false
|
||||
|
||||
#создание и добавление диска для compute
|
||||
#при изменении параметров `pool` и `sep_id` для обновления ресурса может возникнуть необходимость синхронизации
|
||||
#состояния при помощи команды `terraform refresh`
|
||||
#опциональный параметр
|
||||
#тип - список дисков
|
||||
#используется при создании и обновлении
|
||||
#disks {
|
||||
#имя диска
|
||||
#обязательный для диска параметр
|
||||
#тип - строка
|
||||
#disk_name = "disk_name"
|
||||
|
||||
#размер диска
|
||||
#обязательный для диска параметр
|
||||
#тип - целое число
|
||||
#size = 5
|
||||
|
||||
#id политики хранения
|
||||
#обязательный для диска параметр
|
||||
#тип - целое число
|
||||
#storage_policy_id = 1
|
||||
|
||||
#установка режима кэширования
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#значение по умолчанию - none
|
||||
#возможные варианты: "none" или "writethrough"
|
||||
#cache = "none"
|
||||
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#sep_id = 1
|
||||
|
||||
#название пула
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#pool = "data01"
|
||||
|
||||
#список node
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
#node_ids = [10,11]
|
||||
|
||||
#описание диска
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#desc = ""
|
||||
|
||||
#id образа
|
||||
#опциональный параметр
|
||||
#image_id = 378
|
||||
|
||||
#флаг для удаления диска, без возможности восстановления
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#permanently = false
|
||||
|
||||
#включение режима unmap для диска
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#по умолчанию - "ignore"
|
||||
#возможные варианты: "ignore" или "unmap"
|
||||
#используется при создании и обновлении
|
||||
#discard = "unmap"
|
||||
|
||||
#размер блока диска
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#возможные варианты: "512", "512e", "4k"
|
||||
#block_size = "4k"
|
||||
|
||||
#настройки лимитов операций ввода/вывода диска
|
||||
#опциональный параметр
|
||||
#тип - блок
|
||||
#тип вложенных полей - целое число
|
||||
#используется при создании и обновлении
|
||||
#iotune {
|
||||
#read_bytes_sec = 0
|
||||
#read_bytes_sec_max = 0
|
||||
#read_iops_sec = 0
|
||||
#read_iops_sec_max = 0
|
||||
#size_iops_sec = 0
|
||||
#total_bytes_sec = 0
|
||||
#total_bytes_sec_max = 0
|
||||
#total_iops_sec = 3000
|
||||
#total_iops_sec_max = 0
|
||||
#write_bytes_sec = 0
|
||||
#write_bytes_sec_max = 0
|
||||
#write_iops_sec = 0
|
||||
#write_iops_sec_max = 0
|
||||
#}
|
||||
#}
|
||||
|
||||
#правила affinity
|
||||
#опциональный параметр
|
||||
#может быть один, несколько или ни одного блока
|
||||
#тип - блок
|
||||
#используется при создании и обновлении
|
||||
#affinity_rules {
|
||||
#тип правила
|
||||
#возможные значения - compute или node
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#topology = "compute"
|
||||
|
||||
#строгость правила
|
||||
#возможные значения - RECOMMENDED и REQUIRED
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#policy = "RECOMMENDED"
|
||||
|
||||
#режим проверки
|
||||
#возможные значения - ANY, EQ, NE
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#mode = "ANY"
|
||||
|
||||
#ключ правила
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#key = "testkey"
|
||||
|
||||
#ключ правила
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#value = "testvalue"
|
||||
#}
|
||||
|
||||
#правила anti-affinity
|
||||
#опциональный параметр
|
||||
#может быть один, несколько или ни одного блока
|
||||
#тип - блок
|
||||
#используется при создании и обновлении
|
||||
#anti_affinity_rules {
|
||||
#тип правила
|
||||
#возможные значения - compute или node
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#topology = "compute"
|
||||
|
||||
#строгость правила
|
||||
#возможные значения - RECOMMENDED и REQUIRED
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#policy = "RECOMMENDED"
|
||||
|
||||
#режим проверки
|
||||
#возможные значения - ANY, EQ, NE
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#mode = "ANY"
|
||||
|
||||
#ключ правила
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#key = "testkey"
|
||||
|
||||
#ключ правила
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#value = "testvalue"
|
||||
#}
|
||||
|
||||
#установка метки для вм
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#affinity_label = "test4"
|
||||
|
||||
#имя профиля CPU alignment
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#cpu_alignment_profile = "balanced"
|
||||
|
||||
#id экстра дисков
|
||||
#опциональный параметр
|
||||
#тип - список чисел
|
||||
#используется при создании и обновлении
|
||||
#extra_disks = [1234, 4322, 1344]
|
||||
|
||||
#управление XML виртуальной машины
|
||||
#опциональный параметр
|
||||
#тип - строка (json-encoded)
|
||||
#используется при создании и обновлении
|
||||
#custom_fields = "{`key`:`value`}"
|
||||
|
||||
#присоединение сетей и удаление сетей в компьюте
|
||||
#опциональный параметр
|
||||
#тип - блок
|
||||
#используется при создании и обновлении
|
||||
#network {
|
||||
#тип сети
|
||||
#обязательный параметр
|
||||
#возможные значения - "VINS", "EXTNET", "VFNIC", "DPDK", "SDN", "TRUNK" (при выборе типа DPDK, необходимо указать hp_backed = true)
|
||||
#тип - строка
|
||||
#net_type = "VINS"
|
||||
|
||||
#id сети
|
||||
#обязательный параметр
|
||||
#при использовании SDN необходимо указать любое значение отличное от 0
|
||||
#тип - целое число
|
||||
#net_id = 1234
|
||||
|
||||
#ip адрес входящий в сеть
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#ip_address = "127.0.0.1"
|
||||
|
||||
#mac-адрес интерфейса компьюта
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#mac = "52:54:01:12:34:60"
|
||||
|
||||
#вес сети, указывается при необходимости указания порядка подключения сетей
|
||||
#первой подключается сеть с наименьшим весом
|
||||
#сеть с нулевым или неуказанным весом имеет наименьший приоритет
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#weight = 15
|
||||
|
||||
#максимальный объём данных, который может быть передан за одну итерацию
|
||||
#используется с сетями типа "DPDK", "TRUNK", "EXTNET"
|
||||
#возможные значения - 1500-9216
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#mtu = 1500
|
||||
|
||||
#id sdn сети
|
||||
#используется только с сетями типа "SDN"
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#sdn_interface_id = "f2d87a70-ea35-468d-8aef-bb1ecbe2e476"
|
||||
|
||||
#включение сетевого интерфейса
|
||||
#используется с сетями типа "VINS", "EXTNET", "DPDK", "SDN", "TRUNK"
|
||||
#по умолчанию - true
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#enabled = true
|
||||
|
||||
#маска подсети
|
||||
#используется только с сетями типа "DPDK" и "VFNIC"
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#net_mask = 32
|
||||
#}
|
||||
|
||||
#группы безопасности
|
||||
#опциональный параметр
|
||||
#тип - блок
|
||||
#не применяется к сетям типа "VFNIC", "TRUNK", "SDN"
|
||||
#используется при создании и обновлении
|
||||
#security_groups {
|
||||
#тип сети
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#возможные значения - "VINS", "EXTNET", "DPDK" (при выборе типа DPDK, необходимо указать hp_backed = true)
|
||||
#net_type = "VINS"
|
||||
|
||||
#id сети
|
||||
#обязательный параметр
|
||||
#при использовании SDN необходимо указать любое значение отличное от 0
|
||||
#тип - целое число
|
||||
#net_id = 1234
|
||||
|
||||
#список id групп безопасности
|
||||
#обязательный параметр
|
||||
#тип - массив целых чисел
|
||||
#security_groups = [12, 34]
|
||||
|
||||
#флаг, указывающий, включены ли группы безопасности
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию: false
|
||||
#enable_secgroups = false
|
||||
#}
|
||||
|
||||
#добавление и удаление тэгов
|
||||
#опциональный параметр
|
||||
#тип - блок
|
||||
#используется при создании и обновлении
|
||||
#tags {
|
||||
#ключ для тэга
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#key = "key"
|
||||
|
||||
#значения тэга
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#value = "value"
|
||||
#}
|
||||
|
||||
#добавление и удаление port forwarding
|
||||
#опциональный параметр
|
||||
#тип - блок
|
||||
#используется при создании и обновлении
|
||||
#port_forwarding {
|
||||
#номер внешнего начального порта для правила
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#public_port_start = 2023
|
||||
|
||||
#номер внешнего последнего порта для правила
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#по умолчанию - -1
|
||||
#public_port_end = 2023
|
||||
|
||||
#номер внутреннего базового порта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#local_port = 80
|
||||
|
||||
#сетевой протокол
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#proto = "tcp"
|
||||
#}
|
||||
|
||||
#предоставить/забрать пользователю доступ к компьюту
|
||||
#опциональный параметр
|
||||
#тип - блок
|
||||
#используется при создании и обновлении
|
||||
#user_access {
|
||||
#имя юзера, которому предоставляем доступ
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#username = "some@decs3o"
|
||||
|
||||
#права: 'R' - только на чтение, 'RCX' - чтение/запись, 'ARCXDU' - админ
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#access_type = "ARCXDU"
|
||||
#}
|
||||
|
||||
#создать/удалить снапшот компьюта
|
||||
#опциональный параметр
|
||||
#тип - блок
|
||||
#используется при создании и обновлении
|
||||
#snapshot {
|
||||
#лейбл снапшота
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#label = "label1"
|
||||
#}
|
||||
|
||||
#флаг для удаления снапшотов в асинхронном режиме
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - false
|
||||
#используется при обновлении
|
||||
#snapshot_delete_async = true
|
||||
|
||||
#rollback на нужный снапшот
|
||||
#опциональный параметр
|
||||
#не имеет смысла при отсутсвии снапшотов
|
||||
#тип - блок
|
||||
#используется при обновлении
|
||||
#rollback {
|
||||
#лейбл снапшота
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#label = "label1"
|
||||
#}
|
||||
|
||||
#вставить/удалить СD rom
|
||||
#опциональный параметр
|
||||
#максимальное кол-во - 1
|
||||
#тип - блок
|
||||
#используется при создании и обновлении
|
||||
#cd {
|
||||
#id образа диска CD rom
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#cdrom_id = 344
|
||||
#}
|
||||
|
||||
#добавить компьют на ноду
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#pin_to_node = true
|
||||
|
||||
#список ядер для использования в механизме vcpupinning. Количество указанных ядер должно быть равно количеству виртуальных процессоров ВМ
|
||||
#игнорируется если cpu_pin=false или pin_to_node=false
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
#используется при создании и обновлении
|
||||
#preferred_cpu = [1234, 456]
|
||||
|
||||
#флаг для старта компьюта при рестарте ноды
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#auto_start_w_node = true
|
||||
|
||||
#флаг для принудительного добавления компьюта на ноду
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#force_pin = true
|
||||
|
||||
#список PCI девайсов
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
#используется при создании и обновлении
|
||||
#pci_devices = [1,2]
|
||||
|
||||
#флаг доступности компьюта для проведения с ним операций
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#enabled = true
|
||||
|
||||
#pause/resume компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#pause = true
|
||||
|
||||
#сделать компьют заново
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#reset = true
|
||||
|
||||
#восстановить удаленный компьют из корзины
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#restore = true
|
||||
|
||||
#флаг для редеплоя компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#force_stop = true
|
||||
|
||||
#флаг для ресайза компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#force_resize = true
|
||||
|
||||
#запуск/стоп компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#started = true
|
||||
|
||||
#detach диска при удалении компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при удалении
|
||||
#detach_disks = true
|
||||
|
||||
#флаг для удаления компьюта, без возможности восстановления
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при удалении
|
||||
#permanently = false
|
||||
|
||||
#конфигурация параметров libvirt virtio интерфейса
|
||||
#опциональный параметр
|
||||
#добавление блока возможно только при выключенной виртуальной машине,
|
||||
#удаление блока удалит настройки только локально, состояние на платформе не изменится
|
||||
#тип - блок
|
||||
#используется при создании и обновлении
|
||||
#libvirt_settings {
|
||||
#тип сети
|
||||
#обязательный параметр
|
||||
#возможные значения - "VINS", "VFNIC", "DPDK"
|
||||
#тип - строка
|
||||
#net_type = "VINS"
|
||||
|
||||
#id сети
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#net_id = 1234
|
||||
|
||||
#tx mode
|
||||
#опциональный параметр
|
||||
#возможные значения - 'iothread', 'timer' или 'selected by hypervisor'
|
||||
#тип - строка
|
||||
#txmode = "iothread"
|
||||
|
||||
#io event
|
||||
#опциональный параметр
|
||||
#возможные значения - 'on', 'off' or 'selected by hypervisor'
|
||||
#тип - строка
|
||||
#ioeventfd = "on"
|
||||
|
||||
#event ID
|
||||
#опциональный параметр
|
||||
#возможные значения - 'on', 'off' or 'selected by hypervisor'
|
||||
#тип - строка
|
||||
#event_idx = "off"
|
||||
|
||||
#количество очередей
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#queues = "4"
|
||||
|
||||
#длина очереди RX
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#rx_queue_size = "1024"
|
||||
|
||||
#длина очереди TX
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#tx_queue_size = "1024"
|
||||
#}
|
||||
|
||||
#тип ВМ
|
||||
#возможные значения - linux, windows, unknown
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#loader_type = "unknown"
|
||||
|
||||
#тип загрузки образа
|
||||
#возможные значения - bios, uefi
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#boot_type = "bios"
|
||||
|
||||
#изменение размера ВМ
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#hot_resize = false
|
||||
|
||||
#наименование сетевого интерфейса
|
||||
#возможные значения - eth, ens
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#network_interface_naming = "ens"
|
||||
|
||||
#идентификатор экземпляра zone
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#zone_id = 1111
|
||||
|
||||
#версия ОС, установленная на ВМ
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#os_version = "name"
|
||||
|
||||
#вес ВМ
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#weight = 1
|
||||
|
||||
#включение режима unmap для boot диска
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#по умолчанию - "ignore"
|
||||
#используется при создании и обновлении
|
||||
#возможные варианты: "ignore" или "unmap"
|
||||
#boot_disk_discard = "unmap"
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = decort_cb_kvmvm.comp
|
||||
}
|
||||
38
samples/cloudbroker/lb/data_lb/main.tf
Normal file
38
samples/cloudbroker/lb/data_lb/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о load balancer (балансировщик нагрузки)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_lb" "lb" {
|
||||
#id балансировщика нагрузки
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
lb_id = 238
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_lb.lb
|
||||
}
|
||||
104
samples/cloudbroker/lb/data_lb_list/main.tf
Normal file
104
samples/cloudbroker/lb/data_lb_list/main.tf
Normal file
@@ -0,0 +1,104 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка load balancer (балансировщиков нагрузки)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_lb_list" "lbl" {
|
||||
#фильтр по id балансировщика нагрузки
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени балансировщика нагрузки
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#id аккаунта для получения списка балансировщиков нагрузки
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 11111
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#rg_id = 100
|
||||
|
||||
#фильтр по техническому статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#tech_status = "STOPPED"
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#фильтр по IP front
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#front_ip = "ENABLED"
|
||||
|
||||
#фильтр по IP back
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#back_ip = "ENABLED"
|
||||
|
||||
#флаг включения в результат удаленных балансировщиков нагрузки
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - false
|
||||
#если не задан - выводятся все доступные неудаленные балансировщики
|
||||
#includedeleted = true
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 1
|
||||
|
||||
#id зоны
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#значение по умолчанию - 0
|
||||
#zone_id = 11
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_lb_list.lbl
|
||||
}
|
||||
86
samples/cloudbroker/lb/data_lb_list_deleted/main.tf
Normal file
86
samples/cloudbroker/lb/data_lb_list_deleted/main.tf
Normal file
@@ -0,0 +1,86 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка удаленных load balancer (балансировщиков нагрузок)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
version = "<VERSION>"
|
||||
source = "basis/decort/decort"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_lb_list_deleted" "lbld" {
|
||||
#фильтр по id балансировщика нагрузки
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени балансировщика нагрузки
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#id аккаунта для получения списка балансировщиков нагрузки
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 11111
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#rg_id = 100
|
||||
|
||||
#фильтр по техническому статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#tech_status = "STOPPED"
|
||||
|
||||
#фильтр по IP front
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#front_ip = "ENABLED"
|
||||
|
||||
#фильтр по IP back
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#back_ip = "ENABLED"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 1
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_lb_list_deleted.lbld
|
||||
}
|
||||
139
samples/cloudbroker/lb/resource_lb/main.tf
Normal file
139
samples/cloudbroker/lb/resource_lb/main.tf
Normal file
@@ -0,0 +1,139 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса load balancer
|
||||
Ресурс позволяет:
|
||||
1. Создавать load balancer
|
||||
2. Редактировать load balancer
|
||||
3. Удалять load balancer
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_cb_lb" "lb" {
|
||||
#id ресурсной группы для создания балансировщика
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
rg_id = 1111
|
||||
|
||||
#наименование load balancer
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
name = "tf-test-lb"
|
||||
|
||||
#id внешней сети
|
||||
#опциональный параметр
|
||||
#id внешней сети и id виртуальной сети не могут быть одновременно = 0
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#extnet_id = 6
|
||||
|
||||
#id виртуальной сети
|
||||
#опциональный параметр
|
||||
#id внешней сети и id виртуальной сети не могут быть одновременно = 0
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
#vins_id = 758
|
||||
|
||||
#флаг запуска load balancer
|
||||
#опциональный параметр
|
||||
#если load balancer был в статусе "stopped" (start = false),
|
||||
#то для успешного старта, он должен быть доступен (enable = true)
|
||||
#по умолчанию - true
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#start = true
|
||||
|
||||
#создать схему отказоустойчивой LB
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#ha_mode = true
|
||||
|
||||
#описание
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#desc= "temp super lb for testing tf provider"
|
||||
|
||||
#флаг доступности load balancer
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#enable = true
|
||||
|
||||
#флаг перезапуска load balancer
|
||||
#опциональный параметр
|
||||
#перезагрузка срабатывает только при изменении флага с false на true
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#restart = false
|
||||
|
||||
#флаг сброса конфигурации load balancer
|
||||
#опциональный параметр
|
||||
#сброс срабатывает только при изменении флага с false на true
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#config_reset = false
|
||||
|
||||
#флаг для удаления load balancer, без возможности восстановления
|
||||
#опциональный параметр
|
||||
#применяется при выполнении команды terraform destroy
|
||||
#по умолчанию - false
|
||||
#тип - булев
|
||||
#используется при удалении
|
||||
#permanently = false
|
||||
|
||||
#флаг восстановления load balancer
|
||||
#опциональный параметр
|
||||
#восстановить можно load balancer, удаленным с флагом permanently = false
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#restore = true
|
||||
|
||||
#флаг используемый при рестарте load balancer
|
||||
#опциональный параметр
|
||||
#по умолчанию - true, при данном значении рестарт производится на обоих нодах в HA mode
|
||||
#тип - булев
|
||||
#используется при обновлении
|
||||
#safe = true
|
||||
|
||||
#пользовательские значения sysctl для LB
|
||||
#опциональный параметр
|
||||
#тип - список мап
|
||||
#используется при создании и обновлении
|
||||
#sysctl_params = [{ key1 = "value1", key2 = "value2" }]
|
||||
|
||||
#идентификатор экземпляра zone
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#zone_id = 1111
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = decort_cb_lb.lb
|
||||
}
|
||||
120
samples/cloudbroker/lb/resource_lb_backend/main.tf
Normal file
120
samples/cloudbroker/lb/resource_lb_backend/main.tf
Normal file
@@ -0,0 +1,120 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса load balancer backend
|
||||
Ресурс позволяет:
|
||||
1. Создавать backend
|
||||
2. Редактировать backend
|
||||
3. Удалять backend
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_cb_lb_backend" "lbb" {
|
||||
#id балансировщика нагрузки
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
lb_id = 668
|
||||
|
||||
#имя бекенда для создания сервера
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
name = "testBackend"
|
||||
|
||||
#алгоритм балансировки
|
||||
#опциональный параметр
|
||||
#доступные значения - "roundrobin", "static-rr", "leastconn"
|
||||
#по умолчанию - "roundrobin"
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#algorithm = "roundrobin"
|
||||
|
||||
#-------------------
|
||||
#настройки для серверов по умолчанию
|
||||
#-------------------
|
||||
|
||||
#интервал между проверками, в миллисекундах
|
||||
#опциональный параметр
|
||||
#по умолчанию - 5000
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#inter = 5000
|
||||
|
||||
#интервал между проверками доступности сервера после восстановления, в миллисекундах
|
||||
#опциональный параметр
|
||||
#по умолчанию - 10000
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#downinter = 1000
|
||||
|
||||
#кол-во проверок, которые сервер должен успешно пройти
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#по умолчанию - 2
|
||||
#используется при создании и обновлении
|
||||
#rise = 2
|
||||
|
||||
#кол-во проверок, которые сервер может не пройти и после этого получить статус "unavailable"
|
||||
#опциональный параметр
|
||||
#по умолчанию - 2
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#fall = 2
|
||||
|
||||
#кол-во миллисекунд - время между получением сервера статуса "available" и открытием соединений
|
||||
#опциональный параметр
|
||||
#по умолчанию - 60000
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#slowstart = 60000
|
||||
|
||||
#максимальное кол-во соединений сервера, при достижении этого кол-ва, сервер выходит из схемы балансирования
|
||||
#опциональный параметр
|
||||
#по умолчанию - 250
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#maxconn = 250
|
||||
|
||||
#максимальное кол-во соединений в очереди сервера, при достижении этого кол-ва, соединения будут перенаправлены на другой сервер
|
||||
#опциональный параметр
|
||||
#по умолчанию - 256
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#maxqueue = 256
|
||||
|
||||
#вес сервера для балансировки
|
||||
#опциональный параметр
|
||||
#мин - 0
|
||||
#макс - 255
|
||||
#по умолчанию - 100
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#weight = 100
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = decort_cb_lb_backend.lbb
|
||||
}
|
||||
134
samples/cloudbroker/lb/resource_lb_backend_server/main.tf
Normal file
134
samples/cloudbroker/lb/resource_lb_backend_server/main.tf
Normal file
@@ -0,0 +1,134 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса load balancer backend server
|
||||
Ресурс позволяет:
|
||||
1. Создавать server
|
||||
2. Редактировать server
|
||||
3. Удалять server
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_cb_lb_backend_server" "lbbs" {
|
||||
#id балансировщика нагрузки
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
lb_id = 668
|
||||
|
||||
#имя бекенда для создания сервера
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
backend_name = "testBackend"
|
||||
|
||||
#имя сервера
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
name = "testServer"
|
||||
|
||||
#ip адрес сервера
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
address = "192.168.5.33"
|
||||
|
||||
#порт сервера
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
port = 6553
|
||||
|
||||
#проверка доступности сервера
|
||||
#опциональный параметр
|
||||
#доступные значения - "disabled", "enabled"
|
||||
#по умолчанию - "enabled"
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#check = "enabled"
|
||||
|
||||
#интервал между проверками, в миллисекундах
|
||||
#опциональный параметр
|
||||
#по умолчанию - 5000
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#inter = 5000
|
||||
|
||||
#интервал между проверками доступности сервера после восстановления, в миллисекундах
|
||||
#опциональный параметр
|
||||
#по умолчанию - 10000
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#downinter = 1000
|
||||
|
||||
#кол-во проверок, которые сервер должен успешно пройти
|
||||
#опциональный параметр
|
||||
#по умолчанию - 2
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#rise = 2
|
||||
|
||||
#кол-во проверок, которые сервер может не пройти и после этого получить статус "unavailable"
|
||||
#опциональный параметр
|
||||
#по умолчанию - 2
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#fall = 2
|
||||
|
||||
#кол-во миллисекунд - время между получением сервера статуса "available" и открытием соединений
|
||||
#опциональный параметр
|
||||
#по умолчанию - 60000
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#slowstart = 60000
|
||||
|
||||
#максимальное кол-во соединений сервера, при достижении этого кол-ва, сервер выходит из схемы балансирования
|
||||
#опциональный параметр
|
||||
#по умолчанию - 250
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#maxconn = 250
|
||||
|
||||
#максимальное кол-во соединений в очереди серевера, при достижении этого кол-ва, соединения будут перенаправлены на другой сервер
|
||||
#опциональный параметр
|
||||
#по умолчанию - 256
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#maxqueue = 256
|
||||
|
||||
#вес сервера для балансировки
|
||||
#опциональный параметр
|
||||
#мин - 0
|
||||
#макс - 255
|
||||
#по умолчанию - 100
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
#weight = 100
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = decort_cb_lb_backend_server.lbbs
|
||||
}
|
||||
55
samples/cloudbroker/lb/resource_lb_frontend/main.tf
Normal file
55
samples/cloudbroker/lb/resource_lb_frontend/main.tf
Normal file
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса load balancer frontend
|
||||
Ресурс позволяет:
|
||||
1. Создавать frontend
|
||||
2. Удалять frontend
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_cb_lb_frontend" "lb" {
|
||||
#id балансировщика нагрузки
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
lb_id = 668
|
||||
|
||||
#имя бекенда для создания фронтенда
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
backend_name = "testBackend"
|
||||
|
||||
#имя фронтенда
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
name = "testFrontend"
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = decort_cb_lb_frontend.lb
|
||||
}
|
||||
68
samples/cloudbroker/lb/resource_lb_frontend_bind/main.tf
Normal file
68
samples/cloudbroker/lb/resource_lb_frontend_bind/main.tf
Normal file
@@ -0,0 +1,68 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса load balancer frontend bind (привязка фронтенда балансировщика нагрузки)
|
||||
Ресурс позволяет:
|
||||
1. Создавать привязку
|
||||
2. Редактировать привязку
|
||||
3. Удалять привязку
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_cb_lb_frontend_bind" "lbfb" {
|
||||
#id балансировщика нагрузки
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
lb_id = 668
|
||||
|
||||
#имя фронтенда для создания привязки
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
frontend_name = "testFrontend"
|
||||
|
||||
#наименование привязки
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
name = "testBinding"
|
||||
|
||||
#адрес привязки фронтенда
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
address = "111.111.111.111"
|
||||
|
||||
#порт для привязки фронтенда
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании и обновлении
|
||||
port = 1111
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = decort_cb_lb_frontend_bind.lbfb
|
||||
}
|
||||
38
samples/cloudbroker/node/data_node/main.tf
Normal file
38
samples/cloudbroker/node/data_node/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о ноде платформы
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_node" "node" {
|
||||
#id ноды
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
node_id = 12
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_node.node
|
||||
}
|
||||
90
samples/cloudbroker/node/data_node_list/main.tf
Normal file
90
samples/cloudbroker/node/data_node_list/main.tf
Normal file
@@ -0,0 +1,90 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка нод платформы
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_node_list" "nodes" {
|
||||
#фильтр по id ноды
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 1234
|
||||
|
||||
#фильтр по имени ноды
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "node1"
|
||||
|
||||
#фильтр по версии ноды
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#version = "version1"
|
||||
|
||||
#фильтр по релизу ноды
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#release = "release1"
|
||||
|
||||
#фильтр по sep id
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#sep_id = 12
|
||||
|
||||
#фильтр по ролям ноды
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#role = "service"
|
||||
|
||||
#фильтр по статусу ноды
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "disabled"
|
||||
|
||||
#фильтр по id зоны
|
||||
#опциональный параметр
|
||||
#значение по умолчанию - 0
|
||||
#тип - целое число
|
||||
#zone_id = 54
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#size = 3
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_node_list.nodes
|
||||
}
|
||||
38
samples/cloudbroker/node/data_node_network_info/main.tf
Normal file
38
samples/cloudbroker/node/data_node_network_info/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение сетевой информации ноды
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_node_network_info" "network_info" {
|
||||
#id ноды
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
node_id = 100
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.decort_cb_node_network_info.network_info
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user