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,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_image" "image" {
#id образа
#обязательный параметр
#тип - целое число
image_id = 111
#показывать ли информацию об удаленном образе
#опциональный параметр
#тип - булево значение
#по умолчанию - false
#show_all = false
}
output "test" {
value = data.decort_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_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_image_list.il
}

View File

@@ -0,0 +1,115 @@
/*
Пример использования
Работа с образом
Ресурс позволяет:
1. Управлять образом
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_image" "img" {
#наименование образа
#обязательный параметр
#тип - строка
name = "image_name"
#драйверы компьютов, подходящие для данного образа
#обязательный параметр
#тип - массив строк
drivers = ["KVM_X86"]
#тип образа (linux, windows и др.)
#обязательный параметр
#тип - строка
type = "linux"
#прямая ссылка на образ
#обязательный параметр
#тип - строка
url = "https://dl-cdn.alpinelinux.org/alpine/v3.17/releases/x86_64/alpine-virt-3.17.3-x86_64.iso"
#тип загрузчика (bios/uefi)
#обязательный параметр
#тип - строка
boot_type = "bios"
#id аккаунта
#обязательный параметр
#тип - целое число
account_id = 138
#поддержка hot resize
#опциональный параметр
#тип - булев
hot_resize = true
#юзернейм для образа
#опциональный параметр
#тип - целое число
username = "userx"
#пароль для образа
#опциональный параметр
#тип - строка
password = "passx"
#юзернейм для загрузки binary media
#опциональный параметр
#тип - строка
username_dl = "userxdl"
#пароль для загрузки binary media
#опциональный параметр
#тип - строка
password_dl = "passxdl"
#storage endpoint provider ID
#опциональный параметр
#тип - целое число
sep_id = 1
#pool для образа
#опциональный параметр
#тип - строка
pool_name = "pool"
#архитектура образа (X86_64 / PPC64_LE)
#опциональный параметр
#тип - строка
architecture = "PPC64_LE"
#флаг окончательного удаления
#опциональный параметр
#тип - булев
permanently = true
#наименование сетевого интерфейса для вашего компьютера с Linux, eth - встроенный, ens - pci слот
#опциональный параметр
#тип - строка
network_interface_naming = "ens"
}
output "img_out" {
value = decort_image.img
}

View File

@@ -0,0 +1,107 @@
/*
Ресурс образа из компьюта, созданного как 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_image_from_blank_compute" "img" {
#id виртуальной машины, созданной как blank
#обязательный параметр
#используется для создания образа
#тип - целое число
compute_id = 1234
#наименование образа
#обязательный параметр
#используется для создания и обновления образа
#тип - строка
name = "image_name"
#тип загрузчика (bios/uefi)
#обязательный параметр
#используется для создания образа
#тип - строка
boot_type = "bios"
#тип образа (linux, windows и др.)
#обязательный параметр
#используется для создания образа
#тип - строка
type = "linux"
#юзернейм для образа
#опциональный параметр
#используется для создания образа
#тип - строка
#username = "userx"
#пароль для образа
#опциональный параметр
#используется для создания образа
#тип - строка
#password = "passx"
#id аккаунта
#опциональный параметр
#используется для создания образа
#тип - целое число
#account_id = 138
#storage endpoint provider ID
#опциональный параметр
#используется для создания образа
#тип - целое число
#sep_id = 1
#pool для образа
#опциональный параметр
#используется для создания образа
#тип - строка
#pool_name = "pool"
#поддержка hot resize
#опциональный параметр
#используется для создания образа
#тип - булев
#hot_resize = true
#флаг для создания образа в асинхронном режиме
#опциональный параметр
#дефолтное значение - false
#тип - булев
#async_mode = true
#флаг окончательного удаления
#опциональный параметр
#тип - булев
#permanently = true
}
output "img_out" {
value = decort_image_from_blank_compute.img
}

View File

@@ -0,0 +1,127 @@
/*
Ресурс образа из платформенного диска позволяет:
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_image_from_platform_disk" "img" {
#id диска
#используется для создания образа
#обязательный параметр
#тип - целое число
disk_id = 1234
#наименование образа
#используется для создания и обновления образа
#обязательный параметр
#тип - строка
name = "image_name"
#тип загрузчика
#используется для создания образа
#обязательный параметр
#возможные значения - bios, uefi
#тип - строка
boot_type = "bios"
#тип образа (linux, windows и др.)
#используется для создания образа
#обязательный параметр
#тип - строка
type = "linux"
#архитектура образа
#используется для создания образа
#обязательный параметр
#возможные значения - X86_64, PPC64_LE
#тип - строка
architecture = "X86_64"
#имя пользователя для образа
#используется для создания образа
#опциональный параметр
#тип - строка
#username = "userx"
#пароль для образа
#используется для создания образа
#опциональный параметр
#тип - строка
#password = "passx"
#id аккаунта
#используется для создания образа
#опциональный параметр
#тип - целое число
#account_id = 138
#id сепа для образа
#используется для создания образа
#опциональный параметр
#тип - целое число
#sep_id = 1
#pool для образа
#используется для создания образа
#опциональный параметр
#тип - строка
#pool_name = "pool"
#драйверы компьютов, подходящие для данного образа
#используется для создания образа
#опциональный параметр
#тип - массив строк
#drivers = ["KVM_X86"]
#поддержка hot resize
#используется для создания образа
#опциональный параметр
#тип - булев
#hot_resize = true
#флаг загрузочного образа
#используется для создания образа
#опциональный параметр
#по умолчанию - true
#тип - булев
#bootable = true
#флаг для создания образа в асинхронном режиме
#опциональный параметр
#по умолчанию - false
#тип - булев
#async_mode = true
#флаг окончательного удаления
#опциональный параметр
#тип - булев
#permanently = true
}
output "img_out" {
value = decort_image_from_platform_disk.img
}

View File

@@ -0,0 +1,54 @@
/*
Пример использования
Управления виртуальным образом
Ресурс позволяет:
1. Создавать image virtual
2. Изменять image virtual
2. Удалять image virtual
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_image_virtual" "iv" {
#имя виртуального образа
#обязательный параметр
#при изменении - обновляет имя виртуального образа
#тип - строка
name = "iv-name"
#ID реального образа, на который будет ссылаться виртуальный
#обязательный параметр
#при изменении - ссылается на другой реальный образ
#тип - целое число
link_to = 123
#Флаг для удаления диска
#опциональный параметр
#тип - булев
permanently = false
}
output "sr" {
value = decort_image_virtual.iv
}