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 @@
/*
Пример использования
Получение образа по 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
}

View File

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

View File

@@ -0,0 +1,72 @@
/*
Пример использования
Получение списка stack по 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_list_stacks" "im" {
#id образа
#обязательный параметр
#тип - целое число
image_id = 6040
#фильтр по имени образа
#опциональный параметр
#тип - строка
#name = "test"
#фильтр по статусу
#опциональный параметр
#тип - строка
#status = "ENABLED"
#фильтр по типу образа
#опциональный параметр
#тип - строка
#type_image = "cdrom"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#формат - "+поле" по возрастанию / "-поле" по убыванию
#тип - строка
#sort_by = "+name"
#номер страницы для отображения информации
#опциональный параметр
#если не задан - отображается вся доступная информация
#тип - целое число
#page = 2
#количество отображаемых объектов на странице
#опциональный параметр
#если не задан - отображается вся доступная информация
#тип - целое число
#size = 3
}
output "test" {
value = data.decort_cb_image_list_stacks.im
}

View File

@@ -0,0 +1,63 @@
/*
Пример использования
Ресурса delete images
Ресурс является служебным
Его можно использоваться для быстрого удаления нескольких образов
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_delete_images" "my_images" {
#массив, содержащий набор id образов для удаления
#обязательный параметр
#тип - массив целых чисел
image_ids = [6125]
#параметр удаления
#опциональный тип
#по-умолчанию - false
#тип - булев
permanently = true
#причина удаления
#обязательный параметр
#тип - строка
reason = "test delete"
}
output "test" {
value = decort_delete_images.my_images
}
/*
Применение:
1. terraform plan
2. terraform apply
3. terraform destroy
Примечание:
Данный ресурс не поддерживает обновления параметров, поэтому, для переиспользования
необходимо удалить старое состояние и повторить шаги выше.
*/

View File

@@ -0,0 +1,176 @@
/*
Пример использования
Ресурса 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, или image_file
#тип - строка
url = "https://colba.decs.online/index.php/s/G3H7AREngzeKGw2/download"
#путь к образу для загрузки
#опциональный параметр
#внимание, для создания ресурса обязательно должен быть указан или url, или image_file
#тип - строка
file_path = "img.iso"
#grid id образа
#обязательный параметр
#тип - целое число
gid = 212
#тип загрузки образа
#обязательный параметр
#тип - строка
#возможные варианты: "bios" или "uefi"
boot_type = "bios"
#тип образа
#обязательный параметр
#тип - строка
#возможные варианты - "linux", "windows"
image_type = "linux"
#драйвера
#обязательный параметр
#тип - массив строк
#возможные варианты - ["KVM_X86", "SVA_KVM_X86"], ["KVM_X86"], ["SVA_KVM_X86"]
drivers = ["KVM_X86", "SVA_KVM_X86"]
#поддержка 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"
#архитектура системы образа
#опциональный параметр, используется при создании
#тип - строка
#доступные значения: "X86_64"
#architecture = "X86_64"
#доступность образа
#опциональный параметр, используется на уже созданном ресурсе
#тип - булев
#enabled = true
#является ли образ загрузочным
#опциональный параметр, используется на уже созданном ресурсе
#тип - булев
#bootable = true
#позволяет создавать образ в синхронном режиме
#опциональный параметр
#тип - булев
#sync_mode = true
#настройка доступа образа аккаунтам
#опциональный параметр, используется на уже созданном ресурсе
#тип - массив целых чисел
#пустой массив - удаление всех доступов, если они были
#shared_with = [28096, 57121]
#установка computeci
#опциональный параметр, используется на уже созданном ресурсе
#тип - целое число
#чтобы сбросить, необходимо передать 0
#computeci_id = 1
#доступные стаки
#опциональный параметр, используется на уже созданном ресурсе
#тип - массив целых чисел
#для удаления всех доступных стаков, необходимо передать пустой массив
#enabled_stacks = [9]
#аккаунты, которым предоставляется доступ к образу
#опциональный параметр
#тип - массив целых чисел
#для удаления всех доступных аккаунтов, необходимо передать пустой массив
#accounts = [9, 5]
#мгновенное удаление
#опциональный параметр, можно использовать перед удалением
#тип - булев
#permanently = true
#причина удаления
#опциональный параметр, можно использовать перед удалением
#тип - строка
#reason = "test"
#наименование сетевого интерфейса для вашего компьютера с Linux, eth - встроенный, ens - pci слот
#опциональный параметр
#тип - строка
#network_interface_naming = "ens"
}
output "test" {
value = decort_cb_image.my_image
}

View File

@@ -0,0 +1,128 @@
/*
Пример использования
Ресурса 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"
#grid id образа
#обязательный параметр
#тип - целое число
gid = 212
#драйвера
#обязательный параметр
#тип - массив строк
#возможные варианты - ["KVM_X86", "SVA_KVM_X86"], ["KVM_X86"], ["SVA_KVM_X86"]
drivers = ["KVM_X86", "SVA_KVM_X86"]
#поддержка hot resize
#опциональный параметр
#тип - булев
#hot_resize = true
#id аккаунта владельца образа
#опциональный параметр
#может быть использован как при создании,
#так и при редактировании образа
#тип данных - целое число
#account_id = 57252
#имя пользователя и пароль для загрузки бинарных данных
#опциональные параметры,
#могут быть использованы как при создании образа,
#так и при его редактировании
#тип - строка
#username_dl = "Valera1"
#password_dl = "1231"
#sep id
#опциональный параметр, используется при создании
#тип - целое число
#sep_id = 1206
#пул для создания образа
#опциональный тип, используется при создании образа
#тип - строка
#pool_name = "vmstor"
#архитектура системы образа
#опциаональный параметр, используется при создании
#тип - строка
#доступные значения: "X86_64"
#architecture = "X86_64"
#доступность образа
#опциональный параметр, используется на уже созданном ресурсе
#тип - булев
#enabled = true
#настройка доступа образа аккаунтам
#опциональный параметр, используется на уже созданном ресурсе
#тип - массив целых чисел
#пустой маасив - удаление всех доступов, если они были
#shared_with = [28096, 57121]
#установка computeci
#опциональный параметр, используется на уже созданном ресурсе
#тип - целое число
#чтобы сбросить, необходимо передать 0
#computeci_id = 1
#доступные стаки
#опциональный параметр, используется на уже созданном ресурсе
#тип - массив целых чисел
#для удаления всех доступных стаков, необходимо передать пустой массив
#enabled_stacks = [9]
#является ли образ загрузочным
#опциональный параметр, используется на уже созданном ресурсе
#тип - булев
#bootable = true
#мгновенное удаление
#опциональный параметр, можно использовать перед удалением
#тип - булев
#permanently = true
}
output "test" {
value = decort_cb_cdrom_image.my_image
}

View File

@@ -0,0 +1,155 @@
/*
Ресурс образа из компьюта, созданного как 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"
image_type = "linux"
#имя пользователя для образа
#используется для обновления и создания образа
#опциональный параметр
#тип - строка
#username = "userx"
#пароль для образа
#используется для обновления и создания образа
#опциональный параметр
#тип - строка
#password = "passx"
#ID аккаунта
#используется для обновления и создания образа
#опциональный параметр
#тип - целое число
#account_id = 138
#sep id
#используется для создания образа
#опциональный параметр
#тип - целое число
#sep_id = 1
#название 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
#доступные стаки
#опциональный параметр, используется на уже созданном ресурсе
#тип - массив целых чисел
#для удаления всех доступных стаков, необходимо передать пустой массив
#enabled_stacks = [9]
#аккаунты, которым предоставляется доступ к образу
#Используется для обновления и создания образа
#опциональный параметр
#тип - массив целых чисел
#для удаления всех доступных аккаунтов, необходимо передать пустой массив
#accounts = [9, 5]
#мгновенное удаление
#опциональный параметр, можно использовать перед удалением
#тип - булев
#permanently = true
#причина удаления
#опциональный параметр, можно использовать перед удалением
#тип - строка
#reason = "test"
#наименование сетевого интерфейса для вашего компьютера с Linux, eth - встроенный, ens - pci слот
#используется для обновления образа
#опциональный параметр
#тип - строка
#network_interface_naming = "ens"
}
output "test" {
value = decort_cb_image_from_blank_compute.my_image
}

View File

@@ -0,0 +1,168 @@
/*
Ресурс образа из платформенного диска:
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"
image_type = "linux"
#архитектура образа
#используется для создания образа
#обязательный параметр
#возможные значения - X86_64 or PPC64_LE
#тип - строка
architecture = "X86_64"
#имя пользователя для образа
#используется для обновления и создания образа
#опциональный параметр
#тип - строка
#username = "userx"
#пароль для образа
#используется для обновления и создания образа
#опциональный параметр
#тип - строка
#password = "passx"
#ID аккаунта
#используется для обновления и создания образа
#опциональный параметр
#тип - целое число
#account_id = 138
#sep id
#используется для создания образа
#опциональный параметр
#тип - целое число
#sep_id = 1
#название pool
#используется для создания образа
#опциональный параметр
#тип - строка
#pool_name = "pool"
#драйверы компьютов, подходящие для данного образа
#используется для создания образа
#опциональный параметр
#тип - массив строк
#drivers = ["KVM_X86"]
#поддержка hot resize
#используется для обновления и создания образа
#опциональный параметр
#тип - булев
#hot_resize = true
#является ли образ загрузочным
#опциональный параметр, используется на уже созданном ресурсе или при создании ресурса
#тип - булев
#bootable = true
#флаг для создания образа в асинхронном режиме
#опциональный параметр
#по умолчанию - false
#тип - булев
#async_mode = true
#доступность образа
#опциональный параметр, используется на уже созданном ресурсе
#тип - булев
#enabled = true
#настройка доступа образа аккаунтам
#опциональный параметр, используется на уже созданном ресурсе
#тип - массив целых чисел
#пустой массив - удаление всех доступов, если они были
#shared_with = [28096, 57121]
#установка computeci
#опциональный параметр, используется на уже созданном ресурсе
#тип - целое число
#чтобы сбросить, необходимо передать 0
#computeci_id = 1
#доступные стаки
#опциональный параметр, используется на уже созданном ресурсе
#тип - массив целых чисел
#для удаления всех доступных стаков, необходимо передать пустой массив
#enabled_stacks = [9]
#аккаунты, которым предоставляется доступ к образу
#Используется для обновления и создания образа
#опциональный параметр
#тип - массив целых чисел
#для удаления всех доступных аккаунтов, необходимо передать пустой массив
#accounts = [9, 5]
#мгновенное удаление
#опциональный параметр, можно использовать перед удалением
#тип - булев
#permanently = true
#причина удаления
#опциональный параметр, можно использовать перед удалением
#тип - строка
#reason = "test"
#наименование сетевого интерфейса для вашего компьютера с Linux, eth - встроенный, ens - pci слот
#используется для обновления образа
#опциональный параметр
#тип - строка
#network_interface_naming = "ens"
}
output "test" {
value = decort_cb_image_from_platform_disk.my_image
}

View File

@@ -0,0 +1,115 @@
/*
Пример использования
Ресурса 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
#доступные стаки
#опциональный параметр, используется на уже созданном ресурсе
#для удаления всех доступных стаков, необходимо передать пустой массив
#тип - массив целых чисел
#enabled_stacks = [9]
#мгновенное удаление
#опциональный параметр
#можно использовать перед удалением
#тип - булев
#permanently = true
#причина удаления
#опциональный параметр
#можно использовать перед удалением
#тип - строка
#reason = "test"
}
output "test" {
value = decort_cb_virtual_image.my_image
}