This commit is contained in:
KasimBaybikov
2023-03-10 12:42:15 +03:00
parent f5e0a53364
commit af82decadd
79 changed files with 9422 additions and 1567 deletions

View File

@@ -26,27 +26,12 @@ provider "decort" {
}
data "decort_kvmvm" "comp" {
#Для получения информации о виртуальной машине
#можно воспользоваться двумя методами:
#1. получение информации по идентификатору машины - compute_id
#2. получение информации по имени машины и идентификатору ресурсной группы - name и rg_id
#получение информации по идентификатору машины - compute_id
#id виртуальной машины
#опциональный параметр
#обязательный параметр
#тип - число
#compute_id = 11346
#название машины
#опциональный параметр
#тип - строка
#используется вместе с параметром rg_id
#name = "test-rg-temp"
#id ресурсной группы
#опциональный параметр
#тип - число
#используется вместе с параметром name
#rg_id = 1825
}
output "test" {

View File

@@ -0,0 +1,36 @@
/*
Пример использования
Получение данных об аудитах compute (виртулаьной машине)
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "1.1"
source = "digitalenergy.online/decort/decort"
}
}
}
*/
provider "decort" {
authenticator = "oauth2"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_kvmvm_audits" "kvmvm_audits" {
#id виртуальной машины
#обязательный параметр
#тип - число
compute_id = 10154
}
output "output" {
value = data.decort_kvmvm_audits.kvmvm_audits
}

View File

@@ -0,0 +1,36 @@
/*
Пример использования
Получение данных об аудитах compute (виртулаьной машине)
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "1.1"
source = "digitalenergy.online/decort/decort"
}
}
}
*/
provider "decort" {
authenticator = "oauth2"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_kvmvm_get_audits" "kvmvm_get_audits" {
#id виртуальной машины
#обязательный параметр
#тип - число
compute_id = 10154
}
output "output" {
value = data.decort_kvmvm_get_audits.kvmvm_get_audits
}

View File

@@ -0,0 +1,36 @@
/*
Пример использования
Получение url compute (виртулаьной машины)
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "1.1"
source = "digitalenergy.online/decort/decort"
}
}
}
*/
provider "decort" {
authenticator = "oauth2"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_kvmvm_get_console_url" "kvmvm_get_console_url" {
#id виртуальной машины
#обязательный параметр
#тип - число
compute_id = 10154
}
output "output" {
value = data.decort_kvmvm_get_console_url.kvmvm_get_console_url
}

View File

@@ -0,0 +1,41 @@
/*
Пример использования
Получение логов compute (виртулаьной машины)
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "1.1"
source = "digitalenergy.online/decort/decort"
}
}
}
*/
provider "decort" {
authenticator = "oauth2"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_kvmvm_get_log" "kvmvm_get_log" {
#id виртуальной машины
#обязательный параметр
#тип - число
compute_id = 10154
#путь до log файла
#обязательный параметр
#тип - строка
path = "/var/log/file.log"
}
output "output" {
value = data.decort_kvmvm_get_log.kvmvm_get_log
}

View File

@@ -0,0 +1,50 @@
/*
Пример использования
Получение данных об списке compute (виртулаьных машин)
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "1.1"
source = "digitalenergy.online/decort/decort"
}
}
}
*/
provider "decort" {
authenticator = "oauth2"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_kvmvm_list" "compute_list" {
#флаг влючения в результат удаленных балансироващиков нагрузки
#опциональный параметр
#тип - булев тип
#значение по-умолчанию - false
#если не задан - выводятся все доступные неудаленные балансировщики
includedeleted = true
#номер страницы для отображения
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
page = 1
#размер страницы
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
size = 1
}
output "output" {
value = data.decort_kvmvm_list.compute_list
}

View File

@@ -0,0 +1,36 @@
/*
Пример использования
Получение данных об списке port forwarding compute (виртулаьных машин)
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "1.1"
source = "digitalenergy.online/decort/decort"
}
}
}
*/
provider "decort" {
authenticator = "oauth2"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_kvmvm_pfw_list" "kvmvm_pfw_list" {
#id виртуальной машины
#обязательный параметр
#тип - число
compute_id = 10524
}
output "output" {
value = data.decort_kvmvm_pfw_list.kvmvm_pfw_list
}

View File

@@ -0,0 +1,36 @@
/*
Пример использования
Получение данных об юзерах compute (виртулаьной машины)
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "1.1"
source = "digitalenergy.online/decort/decort"
}
}
}
*/
provider "decort" {
authenticator = "oauth2"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_kvmvm_user_list" "kvmvm_user_list" {
#id виртуальной машины
#обязательный параметр
#тип - число
compute_id = 10154
}
output "output" {
value = data.decort_kvmvm_user_list.kvmvm_user_list
}

View File

@@ -0,0 +1,42 @@
/*
Пример использования
Получение информации о ресурсной группе RG
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "1.1"
source = "digitalenergy.online/decort/decort"
}
}
}
*/
provider "decort" {
authenticator = "oauth2"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_resgroup" "rg" {
#id ресурсной группы
#обязательный параметр
#тип - число
rg_id = 1535
#причина для выполняния действия
#необязятельный параметр
#тип - строка
reason = "TEST"
}
output "output" {
value = data.decort_resgroup.rg
}

View File

@@ -0,0 +1,40 @@
/*
Пример использования
Получение информации о специальной группе компьютов
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/* terraform {
required_providers {
decort = {
version = "1.1"
source = "digitalenergy.online/decort/decort"
}
}
} */
provider "decort" {
authenticator = "oauth2"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_rg_affinity_group_computes" "lc" {
#id ресурсной группы
#обязательный параметр
#тип - число
rg_id = 123
#название специальной группы компьютов
#обязательное поле
#тип - строка
affinity_group = "TEST"
}
output "output" {
value = data.decort_rg_affinity_group_computes.lc
}

View File

@@ -0,0 +1,41 @@
/*
Пример использования
Получение информации о списке компьютов из определенной группы
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/* terraform {
required_providers {
decort = {
version = "1.1"
source = "digitalenergy.online/decort/decort"
}
}
} */
provider "decort" {
authenticator = "oauth2"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_rg_affinity_groups_get" "get_groups" {
#id ресурсной группы
#обязательный параметр
#тип - число
rg_id = 123
#название специальной группы компьютов
#обязательное поле
#тип - строка
affinity_group = "TEST"
}
output "output" {
value = data.decort_rg_affinity_groups_get.get_groups
}

View File

@@ -0,0 +1,36 @@
/*
Пример использования
Получение информации о списке специальных групп компьютов
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/* terraform {
required_providers {
decort = {
version = "1.1"
source = "digitalenergy.online/decort/decort"
}
}
} */
provider "decort" {
authenticator = "oauth2"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_rg_affinity_groups_list" "list_groups" {
#id ресурсной группы
#обязательный параметр
#тип - число
rg_id = 123
}
output "output" {
value = data.decort_rg_affinity_groups_list.list_groups
}

View File

@@ -0,0 +1,36 @@
/*
Пример использования
Получение информации о списке аудитов ресурсной группы
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/* terraform {
required_providers {
decort = {
version = "1.1"
source = "digitalenergy.online/decort/decort"
}
}
} */
provider "decort" {
authenticator = "oauth2"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_rg_audits" "rg_audits" {
#id ресурсной группы
#обязательный параметр
#тип - число
rg_id = 123
}
output "output" {
value = data.decort_rg_audits.rg_audits
}

View File

@@ -1,21 +1,20 @@
/*
Пример использования
Получение списка всех resource groups
Получение информации о списке всех ресурсных группах к которым есть доступ
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
/* terraform {
required_providers {
decort = {
version = "1.1"
source = "digitalenergy.online/decort/decort"
}
}
}
*/
} */
provider "decort" {
authenticator = "oauth2"
#controller_url = <DECORT_CONTROLLER_URL>
@@ -25,25 +24,23 @@ provider "decort" {
allow_unverified_ssl = true
}
data "decort_rg_list" "rl" {
#включение удаленных rg в результат поиска
#опциональный параметр
#тип - булев тип
#по-умолчанию - false
#includedeleted = true
омер страницы для отображения
#опциональный параметр, тип - число
#если не задан - выводятся все доступные данные
#page = 2
data "decort_rg_list" "rg_list" {
#отображать удаленные ресурсные группы или нет
#необязательный параметр
#тип - булевый
includedeleted = false
#номер страницы
еобязательный параметр
#тип - число
page = 1
#размер страницы
#опциональный параметр, тип - число
#если не задан - выводятся все доступные данные
#size = 3
#необязательный параметр
#тип - число
size = 2
}
output "test" {
value = data.decort_rg_list.rl
output "output" {
value = data.decort_rg_list.rg_list
}

View File

@@ -0,0 +1,40 @@
/*
Пример использования
Получение информации о списке компьютов в ресурсной группе
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/* terraform {
required_providers {
decort = {
version = "1.1"
source = "digitalenergy.online/decort/decort"
}
}
} */
provider "decort" {
authenticator = "oauth2"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_rg_list_computes" "list_computes" {
#id ресурсной группы
#обязательный параметр
#тип - число
rg_id = 123
#причина для действия
#необязательный параметр
#тип - строка
reason = "TEST"
}
output "output" {
value = data.decort_rg_list_computes.list_computes
}

View File

@@ -0,0 +1,41 @@
/*
Пример использования
Получение информации о списке удаленных ресурсных групп
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/* terraform {
required_providers {
decort = {
version = "1.1"
source = "digitalenergy.online/decort/decort"
}
}
} */
provider "decort" {
authenticator = "oauth2"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_rg_list_deleted" "list_deleted" {
#номер страницы
#необязательный параметр
#тип - число
page = 1
#размер страницы
#необязательный параметр
#тип - число
size = 2
}
output "output" {
value = data.decort_rg_list_deleted.list_deleted
}

View File

@@ -0,0 +1,36 @@
/*
Пример использования
Получение информации о списке балансировщиков в ресурсной группе
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/* terraform {
required_providers {
decort = {
version = "1.1"
source = "digitalenergy.online/decort/decort"
}
}
} */
provider "decort" {
authenticator = "oauth2"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_rg_list_lb" "list_lb" {
#id ресурсной группы
#обязательный параметр
#тип - число
rg_id = 123
}
output "output" {
value = data.decort_rg_list_lb.list_lb
}

View File

@@ -0,0 +1,36 @@
/*
Пример использования
Получение информации о списке правил переадресации портов для ресурсной группы.
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/* terraform {
required_providers {
decort = {
version = "1.1"
source = "digitalenergy.online/decort/decort"
}
}
} */
provider "decort" {
authenticator = "oauth2"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_rg_list_pfw" "list_pfw" {
#id ресурсной группы
#обязательный параметр
#тип - число
rg_id = 123
}
output "output" {
value = data.decort_rg_list_pfw.list_pfw
}

View File

@@ -0,0 +1,40 @@
/*
Пример использования
Получение информации о списке винсов в ресурсной группе
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/* terraform {
required_providers {
decort = {
version = "1.1"
source = "digitalenergy.online/decort/decort"
}
}
} */
provider "decort" {
authenticator = "oauth2"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_rg_list_vins" "list_vins" {
#id ресурсной группы
#обязательный параметр
#тип - число
rg_id = 123
#причина для действия
#необязательный параметр
#тип - строка
reason = "TEST"
}
output "output" {
value = data.decort_rg_list_vins.list_vins
}

View File

@@ -0,0 +1,40 @@
/*
Пример использования
Получение информации об использовании ресурсов на ресурсной группе
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/* terraform {
required_providers {
decort = {
version = "1.1"
source = "digitalenergy.online/decort/decort"
}
}
} */
provider "decort" {
authenticator = "oauth2"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_rg_usage" "rg_usage" {
#id ресурсной группы
#обязательный параметр
#тип - число
rg_id = 123
#причина для действия
#необязательный параметр
#тип - строка
reason = "TEST"
}
output "output" {
value = data.decort_rg_usage.rg_usage
}

View File

@@ -67,6 +67,16 @@ resource "decort_kvmvm" "comp" {
#тип - число
boot_disk_size = 20
#ID сепа для boot диска
#опциональный параметр
#тип - число
sep_id = 1
#Название пула
#опциональный параметр
#тип - строка
pool = "data02"
#описание compute
#опциональный параметр
#тип - строка
@@ -114,84 +124,80 @@ resource "decort_kvmvm" "comp" {
#опциональный параметр
#тип - bool
permanently = false
}
#правила affinity
#опциональный параметр
#может быть один, несколько или ни одного блока
#тип - блок
#affinity_rules {
affinity_rules {
#тип правила
#возможные значения - compute или node
#обязательный параметр
#тип - строка
#topology = "compute"
topology = "compute"
#строгость правила
#возможные значения - RECOMMENDED и REQUIRED
#обязательный параметр
#тип - строка
#policy = "RECOMMENDED"
policy = "RECOMMENDED"
#режим проверки
#возможные значения - ANY, EQ, NE
#обязательный параметр
#тип - строка
#mode = "ANY"
mode = "ANY"
#ключ правила
#обязательный параметр
#тип строка
#key = "testkey"
key = "testkey"
#ключ правила
#обязательный параметр
#тип строка
#value = "testvalue"
#}
value = "testvalue"
}
#правила anti-affinity
#опциональный параметр
#может быть один, несколько или ни одного блока
#тип - блок
#anti_affinity_rules {
anti_affinity_rules {
#тип правила
#возможные значения - compute или node
#обязательный параметр
#тип - строка
#topology = "compute"
topology = "compute"
#строгость правила
#возможные значения - RECOMMENDED и REQUIRED
#обязательный параметр
#тип - строка
#policy = "RECOMMENDED"
policy = "RECOMMENDED"
#режим проверки
#возможные значения - ANY, EQ, NE
#обязательный параметр
#тип - строка
#mode = "ANY"
mode = "ANY"
#ключ правила
#обязательный параметр
#тип строка
#key = "testkey"
key = "testkey"
#ключ правила
#обязательный параметр
#тип строка
#value = "testvalue"
#}
#Флаг доступности компьюта для проведения с ним операций
#опицональный параметр
#тип - bool
#enable = true
value = "testvalue"
}
#установка метки для вм
#опциональный параметр
#тип - строка
#affinity_label = "test4"
affinity_label = "test4"
#наименование системы
@@ -199,17 +205,182 @@ resource "decort_kvmvm" "comp" {
#используется при создании вм
#по умолчанию - не задан
#тип - строка
#is=""
is=""
#назначение вм
#опциональный параметр
#используется при создании вм
#по умолчанию - не задан
#тип - строка
#ipa_type = ""
}
ipa_type = ""
#Id экстра дисков
#опциональный параметр
#тип - список чисел
extra_disks = [1234, 4322, 1344]
#Присоеденения сетей и удаление сетей в компьюте
#опциональный параметр
#тип - блок
network {
#Тип сети VINS/EXTNET
#Обязательный параметр
#тип - строка
net_type = "VINS"
#ID сети
#Обязательный параметр
#тип - число
net_id = 1234
#IP адрес входящий в сеть
#опциональный параметр
#тип - строка
ip_address = "127.0.0.1"
}
#добавление и удаление тэгов
#опциональный параметр
#тип - блок
tags {
#Ключ для тэга
#Обязательный параметр
#тип - строка
key = "key"
#Значения тэга
#Обязательный параметр
#тип - строка
value = "value"
}
#добавление и удаление port forwarding
#опциональный параметр
#тип - блок
port_forwarding {
#номер внешнего начального порта для правила
#Обязательный параметр
#тип - число
public_port_start = 2023
#номер внешнего последнего порта для правила
#опциональный параметр
#тип - число
#по умолчанию - -1
public_port_end = 2023
#номер внутреннего базового порта
#Обязательный параметр
#тип - число
local_port = 80
#сетевой протокол
#Обязательный параметр
#тип - строка
proto = "tcp"
}
#предоставить/забрать пользователю доступ к компьюту
#опциональный параметр
#тип - блок
user_access {
#Имя юзера, которому предоставляем доступ
#Обязательный параметр
#тип - строка
username = "kasim_baybikov_1@decs3o"
#Права: 'R' - только на чтение, 'RCX' - чтение/запись, 'ARCXDU' - админ
#Обязательный параметр
#тип - строка
access_type = "ARCXDU"
}
#Создать/удалить снапшот компьюта
#опциональный параметр
#тип - блок
snapshot {
#Лейбл снапшота
#Обязательный параметр
#тип - строка
label = "label1"
}
#Rollback на нужный снапшот
#опциональный параметр
#Не имеет смысла при отсутсвии снапшотов
#тип - блок
rollback {
#Лейбл снапшота
#Обязательный параметр
#тип - строка
label = "label1"
}
#Вставить/удалить СD rom
#опциональный параметр
#Максимальное кол-во - 1
#тип - блок
cd {
#ID образа диска CD rom
#Обязательный параметр
#тип - число
cdrom_id = 344
}
#Добавить компьют на стэк
#опциональный параметр
#тип - булев
pin_to_stack = true
#Применяется только при создании нового экземпляра compute, игнорируется во всех остальных случаях
#опциональный параметр
#тип - строка
cloud_init = ""
#Флаг доступности компьюта для проведения с ним операций
#опциональный параметр
#тип - булев
enabled = true
#pause/resume компьюта
#опциональный параметр
#тип - булев
pause = true
#сделать компьют заново
#опциональный параметр
#тип - булев
reset = true
#флаг для редеплоя компьюта
#опциональный параметр
#тип - булев
auto_start = true
#флаг для редеплоя компьюта
#опциональный параметр
#тип - булев
force_stop = true
#поле для редеплоя компьюта
#опциональный параметр
#тип - строка
data_disks = "KEEP"
#запуск/стоп компьюта
#опциональный параметр
#тип - булев
started = true
#detach диска при удалении компьюта
#опциональный параметр
#тип - булев
detach_disks = true
#Флаг для удаления компьюта
#опциональный параметр
#тип - bool
permanently = false
}
output "test" {

View File

@@ -0,0 +1,170 @@
/*
Пример использования
Ресурсов RG
Ресурс позволяет:
1. Создавать
2. Редактировать
3. Удалять
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "1.1"
source = "digitalenergy.online/decort/decort"
}
}
}
*/
provider "decort" {
authenticator = "oauth2"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
resource "decort_resgroup" "rg" {
#имя ресурсной группы
#обязательный параметр
#тип - строка
name = "testing_rg_1"
#id аккаунта которому будет принадлежать ресурсная группа
#обязательный параметр
#тип - число
account_id = 123
#id сети
#обязательный параметр
#тип - число
gid = 1234
#тип сети по умолчанию для этой ресурсной группы.
#виртуальные машины, созданные в этой RG, по умолчанию будут подключены к этой сети.
#Допустимые значения: PRIVATE, PUBLIC, NONE.
#необязательный параметр
#тип - строка
def_net_type = "NONE"
#ip cidr частной сети, если сеть по умолчанию PRIVATE
#необязательный параметр
#тип - строка
ipcidr = "1.1.1.1"
#id внешней сети
#необязательный параметр
#тип - число
ext_net_id = 123
#ip внешней сети
#необязательный параметр
#тип - строка
ext_ip = "1.1.1.1"
#причина выполнения
#необязательный параметр
#тип - строка
reason = "TEST"
#описание
#необязательный параметр
#тип - строка
description = "qwerty"
#флаг доступности ресурсной группы
#необязательный параметр
#тип - булевый
enable = true
#блок для предоставления прав на ресурсную группу
#необязательный параметр
#тип - блок
access {
#имя юзера предоставляемому права
#обязательный праметр при использовании блока
#тип - строка
user = "kasim_baybikov_1@decs3o"
#тип прав
#необязательный параметр
#тип - строка
right = "RCX"
}
#Установить сеть по умолчанию
#необязательный параметр
#тип - блок
#при добавлении блока, удалять его нельзя
def_net {
#тип сети
#обязательный параметр при использовании блока
#тип - строка
net_type = "PUBLIC"
#id сети
#идентификатор сегмента сети. Если net_type — PUBLIC, а net_id — 0,
#то будет выбран сегмент внешней сети по умолчанию. Если net_type
#имеет значение PRIVATE и net_id=0, будет выбран первый vins, определенный для этой ресурсной группы.
#В противном случае net_id идентифицирует либо существующий сегмент внешней сети, либо vins.
#необязательный параметр
#тип - число
net_id = 1234
#причина выполнения
#необязательный параметр
#тип - строка
reason = "TEST"
}
#лимиты ресурсов для ресурсной группы
#необязательный параметр
#тип - блок
quota {
#максимальное количество ядер процессора
#необязательный параметр
#тип - число
#значение по умолчанию: -1
cpu = 5
#максимальный размер памяти в мегабайтах
#необязательный параметр
#тип - число
#значение по умолчанию: -1
ram = 1024
#максимальный размер объединенных виртуальных дисков в ГБ
#необязательный параметр
#тип - число
#значение по умолчанию: -1
disk = 180
#максимальное количество отправленных/полученных сетевых узлов
#необязательный параметр
#тип - число
#значение по умолчанию: -1
ext_traffic = 21
#максимальное количество назначенных общедоступных IP-адресов
#необязательный параметр
#тип - число
#значение по умолчанию: -1
ext_ips = 29
}
#флаг для принудительного удаления ресурсной группы
#необязательный параметр
#тип - булевый
force = true
#флаг для моментального удаления ресурсной группы
#необязательный параметр
#тип - булевый
permanently = true
}
output "output" {
value = decort_resgroup.rg
}