Add bservice, extnet, vins

This commit is contained in:
stSolo
2022-06-03 11:22:42 +03:00
parent 0be6da1ae1
commit 8d1b13f7b7
40 changed files with 4613 additions and 20 deletions

View File

@@ -32,6 +32,14 @@
- account_reserved_units
- account_templates_list
- account_deleted_list
- bservice_list
- bservice
- bservice_group
- extnet_default
- extnet_list
- extnet
- extnet_computes_list
- vins_list
- resources:
- image
- virtual_image
@@ -44,6 +52,8 @@
- sep
- sep_config
- account
- bservice
- bservice_group
## Как пользоваться примерами
1. Установить terraform

View File

@@ -0,0 +1,39 @@
/*
Пример использования
Получение информации о basic service
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_bservice" "b" {
#id сервиса
#обязательный параметр
#тип - число
service_id = 11111
}
output "test" {
value = data.decort_bservice.b
}

View File

@@ -0,0 +1,57 @@
/*
Пример использования
Получение списка удаленных basic service
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_bservice_deleted_list" "bsdl" {
#id аккаунта для фильтрации данных
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#account_id = 11111
#id ресурсной группы, используется для фильтрации
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#rg_id = 11111
#номер страницы для отображения
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#page = 2
#размер страницы
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#size = 3
}
output "test" {
value = data.decort_bservice_deleted_list.bsdl
}

View File

@@ -0,0 +1,44 @@
/*
Пример использования
Получение информации о вычислительной группе, принадлежащей basic service
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_bservice_group" "bsg" {
#id сервиса
#обязательный параметр
#тип - число
service_id = 11111
#id вычислительной группы
#обязательный параметр
#тип - число
compgroup_id = 12121
}
output "test" {
value = data.decort_bservice_group.bsg
}

View File

@@ -0,0 +1,58 @@
/*
Пример использования
Получение списка доступных базовых сервисов
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_bservice_list" "bsl" {
#id аккаунта для фильтрации данных
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#account_id = 11111
#id ресурсной группы, используется для фильтрации
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#rg_id = 11111
#номер страницы для отображения
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#page = 2
#размер страницы
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#size = 3
}
output "test" {
value = data.decort_bservice_list.bsl
}

View File

@@ -0,0 +1,39 @@
/*
Пример использования
Получение списка снимков состояний basic service
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_bservice_snapshot_list" "bsl" {
#id back service
#обязательный параметр
#тип - число
service_id = 11111
}
output "test" {
value = data.decort_bservice_snapshot_list.bsl
}

View File

@@ -0,0 +1,38 @@
/*
Пример использования
Получение информации о сети
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_extnet" "e" {
#идентификатор сети
#обязательный параметр
#тип - число
net_id = 1111
}
output "test" {
value = data.decort_extnet.e
}

View File

@@ -0,0 +1,37 @@
/*
Пример использования
Получение информации о вычислительных ресурсах, использующих сеть аккаунта
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_extnet_computes_list" "ecl" {
#идентификатор аккаунта
#обязательный параметр
#тип - число
account_id = 1111
}
output "test" {
value = data.decort_extnet_computes_list.ecl
}

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_extnet_default" "ed" {
}
output "test" {
value = data.decort_extnet_default.ed
}

View File

@@ -0,0 +1,48 @@
/*
Пример использования
Получение списка сетей
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_extnet_list" "el" {
#id аккаунта для фильтрации результата
#необязательный параметр
#тип - число
#account_id = 1111111
#кол-во страниц для вывода
#опицональный параметр
#тип - число
#page = 1
#размер страницы
#опицональный параметр
#тип - число
#size = 1
}
output "test" {
value = data.decort_extnet_list.el
}

View File

@@ -0,0 +1,51 @@
/*
Пример использования
Получение списка vins
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_vins_list" "vl" {
#включение удаленных vins в результат
#опциональный параметр
#тип - будев тип
#если не задан - выводятся все неудаленные данные
#include_deleted = true
#номер страницы для отображения
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#page = 1
#размер страницы
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#size = 1
}
output "test" {
value = data.decort_vins_list.vl
}

View File

@@ -0,0 +1,110 @@
/*
Пример использования
Ресурса cdrom image
Ресурс позволяет:
1. Создавать basic service
2. Редактировать basic service
3. Удалять basic service
4. Создавать снимки состояний basic service
5. Совершать восстановление по снимкам состояний
6. Удалять снимки состояний
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_bservice" "b" {
#имя сервиса
#обязательный параметр
#тип - строка
service_name = "my_test_bservice_sn"
#id ресурсной группы
#обязательный параметр
#тип - число
rg_id = 11111
#доступность сервиса
#необязательный параметр
#тип - булев тип
#используется при редактировании ресурса
#по-умолачанию - false
#enable = true
#снимок состояния
#необязательный параметр
#тип - объект
#используется при редактировании ресурса
#может быть несколько в ресурсе
/*
snapshots {
#имя снимка состояния
#обязательный параметр
#тип - строка
label = "test_snapshot"
#восстановление сервиса из снимка состояния
#необязательный параметр
#тип - булев тип
#по-умолчанию - false
#восстановление происходит только при переключении с false на true
rollback = false
}
snapshots {
label = "test_snapshot_1"
}
*/
#старт сервиса
#необязательный параметр
#тип - булев тип
#используется при редактировании ресурса
#по-умолачанию - false
#start = false
#восстановление сервиса после удаления
#необязательный параметр
#тип - булев тип
#используется при редактировании ресурса
#по-умолачанию - false
#restore = true
#мгновенное удаление сервиса без права восстановления
#необязательный параметр
#тип - булев тип
#используется при удалении ресурса
#по-умолачанию - false
#permanently = true
#id сервиса, позволяет сформировать .tfstate, если сервис есть в платформе
#необязательный параметр
#тип - булев тип
#используется при создании ресурса
#service_id = 11111
}
output "test" {
value = decort_bservice.b
}

View File

@@ -0,0 +1,150 @@
/*
Пример использования
Работы с ресурсом basic service group
Ресурс позволяет:
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_bservice_group" "bsg" {
#id back service
#обязательный параметр
#тип - число
service_id = 444444
#название группы
#обязательный параметр
#тип - строка
compgroup_name = "tf_group_rename"
#id группы
#необязательный параметр
#тип - число
#применяется при редактировании группы, либо при создании .tfstate - файла, если группа имеется в плафторме
compgroup_id = 33333
#кол-во вычислительных ресурсов
#обязательный параметр
#тип - число
#используется так же для редактирования группы
comp_count = 1
#кол-во ядер на выч. ресурс
#обязательный параметр
#тип - число
#используется так же для редактирования группы
cpu = 2
#кол-во оперативной памяти на выч. ресурс, в МБ
#обязательный параметр
#тип - число
#используется так же для редактирования группы
ram = 256
#размер диска для выч. ресурса, в ГБ
#обязательный параметр
#тип - число
#используется так же для редактирования группы
disk = 11
#id образа диска
#обязательный параметр
#тип - число
image_id = 2222
#драйвер
#обязательный параметр
#тип - число
driver = "kvm_x86"
#id сетей extnet
#обязательный параметр
#тип - массив чисел
#должен быть использован vins или extnets
extnets = [1111]
#id сетей vinses
#обязательный параметр
#тип - массив чисел
#должен быть использован vins или extnets
#vinses = [1111, 2222]
#время таймуата перед стартом
#необязательный параметр
#тип - число
#используется при создании ресурса
#timeout_start = 0
#тег группы
#необязательный параметр
#тип - строка
#используется при создании и редактировании ресурса
# role = "tf_test_changed"
#id групп родителей
#необязательный параметр
#тип - массив чисел
#используется при редактировании ресурса
#parents = []
#принудительное обновление параметров выч. мощностей (ram,disk,cpu) и имени группы
#необязательный параметр
#тип - булев тип
#используется при редактировании
#force_update = true
#старт/стоп вычислительных мощностей
#необязательный параметр
#тип - булев тип
#используется при редактировании
#по-умолчанию - false
#start = false
#принудительная остановка вычислительных мощностей
#необязательный параметр
#тип - булев тип
#используется при редактировании и остановке группы
#по-умолчанию - false
#force_stop = false
#удаление вычислительных мощностей
#необязательный параметр
#тип - массив чисел
#используется при редактировании
#remove_computes = [32287]
#режим увеличения числа выч. мощностей
#необязательный параметр
#тип - число
#используется в связке с comp_count при редактировании группы
#возможные варианты - RELATIVE и ABSOLUTE
#mode = "RELATIVE"
}
output "test" {
value = decort_bservice_group.bsg
}