This commit is contained in:
2024-05-31 14:05:21 +03:00
parent 84b7a80e1b
commit db1760cb72
815 changed files with 58194 additions and 11049 deletions

View 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
}

View File

@@ -0,0 +1,101 @@
/*
Пример использования
Получение списка доступных дисков
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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
#тип диска
#опциональный параметр
#тип - строка
#возможные типы: "b" - boot_disk, "d" - data_disk
#type = "d"
#фильтр по sep id
#опциональный параметр
#тип - целое число
#sep_id = 1
#фильтр по названию pool
#опциональный параметр
#тип - строка
#pool = "pool name"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#кол-во страниц для вывода
#опциональный параметр
#тип - целое число
#page = 1
#размер страницы
#опциональный параметр
#тип - целое число
#size = 1
}
output "test" {
value = data.decort_cb_disk_list.dl
}

View File

@@ -0,0 +1,86 @@
/*
Пример использования
Получение списка удаленных дисков
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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
#тип диска
#опциональный параметр
#возможные типы: "b" - boot_disk, "d" - data_disk
#тип - строка
#type = "d"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#кол-во страниц для вывода
#опциональный параметр
#тип - целое число
#page = 1
#размер страницы
#опциональный параметр
#тип - целое число
#size = 1
}
output "test" {
value = data.decort_cb_disk_list_deleted.dld
}

View File

@@ -0,0 +1,52 @@
/*
Пример использования
Получение списка типов дисков (недетализированное)
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_types" "dlt" {
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#page = 2
#размер страницы
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#size = 3
}
output "test" {
value = data.decort_cb_disk_list_types.dlt
}

View File

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

View File

@@ -0,0 +1,93 @@
/*
Пример использования
Получение списка доступных неприсоединенных дисков
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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"
#фильтр по типу
#опциональный параметр
#тип - строка
#возможные типы: "b" - boot_disk, "d" - data_disk
#type = "d"
#фильтр по id аккаунта
#опциональный параметр
#тип - целое число
#account_id = 100
#фильтр по id sep
#опциональный параметр
#тип - целое число
#sep_id = 1
#фильтр по имени pool
#опциональный параметр
#тип - строка
#pool = "test"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#page = 2
#размер страницы
#опциональный параметр
#если не задан - выводятся все доступные данные
#тип - целое число
#size = 3
}
output "test" {
value = data.decort_cb_disk_list_unattached.dlu
}

View 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
}

View 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
}

View 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
}

View File

@@ -0,0 +1,142 @@
/*
Пример использования
Ресурса диска:
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" "acl" {
#id аккаунта
#обязательный параметр
#тип - целое число
account_id = 88366
#gid
#обязательный параметр
#тип - целое число
gid = 212
#название диска диска
#обязательный параметр
#тип - строка
disk_name = "super-disk-re"
#тип диска
#обязательный параметр
#тип - строка
#допустимые значения: "D", "B", "T"
type = "D"
#максимальный размер диска
#обязательный параметр
#тип - целое число
#значение по умолчанию 10
size_max = 20
#описание диска
#опциональный параметр
#тип - строка
#desc = "description"
#размер ssd
#опциональный параметр
#тип - целое число
#значение по умолчанию 0
#ssd_size = 1
#max IOPS disk can perform
#опциональный параметр
#тип - целое число
#значение по умолчанию 2000
#iops = 1
#sep id
#опциональный параметр
#тип - целое число
#значение по умолчанию 0
#sep_id = 1
#название pool
#опциональный параметр
#тип - строка
#pool = 1
#список node
#опциональный параметр
#тип - массив целых чисел
#node_ids = [10,11]
#флаг для восстановления диска
#опциональный параметр
#тип - булев
#restore = true
#флаг для удаления диска
#опциональный параметр
#тип - булев
#permanently = true
#причина удаления диска
#опциональный параметр
#тип - строка
#reason = "delete"
#флаг поделиться диском
#опциональный параметр
#тип - булев
#shareable = true
#флаг отсоединения диска от машины перед удалением
#опциональный параметр
#тип - булев
#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
}
}
output "test" {
value = decort_cb_disk.acl
}

View File

@@ -0,0 +1,84 @@
/*
Пример использования
Ресурс репликации диска
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_replication" "dr" {
#ID диска из которого будет создана реплика
#обязательный параметр
#тип - целое число
disk_id = 20100
#Имя реплики диска
#обязательный параметр
#тип - строка
disk_name = "test"
#sep id
#обязательный параметр
#тип - целое число
sep_id = 1
#название pool
#обязательный параметр
#тип - строка
pool_name = "some"
#флаг паузы
#опциональный параметр
#тип - булев
#pause = false
#флаг для изменения ролей дисков
#опциональный параметр
#тип - булев
#reverse = false
#флаг для запуска связи между диском и репликой
#опциональный параметр
#тип - булев
#start = false
#флаг для отключения диска от ВМ при удалении
#опциональный параметр
#тип - булев
#detach = false
#флаг для удаления реплики диска безвозвратно
#опциональный параметр
#тип - булев
#permanently = false
#описание причины удаления
#опциональный параметр
#тип - строка
#reason = "some"
}
output "test" {
value = decort_cb_disk_replication.dr
}

View File

@@ -0,0 +1,56 @@
/*
Пример использования
Ресурс снапшота диска
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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
}