Add samples repo, rename README.md to README_EN.md, add README.md (RU Version), update README files

2.0
stSolo 3 years ago
parent f28588fea5
commit d9c10c0d9c

@ -1 +0,0 @@
Subproject commit 7522e6ab919879c2688cc2167fd8f96d722f8f92

@ -0,0 +1,27 @@
# Примеры применения ресурсов terraform-provider-decort
Каждый файл снабжен комментариями, которые кратко описывают возможности и параметры ресурса.
Для успешной работы необходим установленный terraform.
## Ресурсы в примерах
- data:
- grid
- grid_list
- image
- image_list
- image_list_stacks
- resources:
- image
- virtual_image
- cdrom_image
- delete_images
## Как пользоваться примерами
1. Установить terraform
2. Установить terraform-provider-decort с помощью команды `terraform init` (выполняется автоматически), либо вручную.
3. Заменить параметр *controller_url* на ваш.
4. Заменить параметр *oauth2* на ваш.
5. Добавить ключи
*DECORT_APP_SECRET* и *DECORT_APP_ID*
в качестве переменных окружения, либо
можно добавить `app_id` и `app_secret`
в блок `provider`,что небезопасно, т.к. данные
могут быть похищены при передачи файла.

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

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

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

@ -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_image_list" "il" {
#номер страницы для отображения
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#page = 2
#размер страницы
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#size = 3
#фильтрация образов по id хранилища
#опциональный параметр
#тип - число
#если не задан - выволятся все доступные элементы
#sep_id = 123
#фильтрация образов по id доступных аккаунтов
#опциональный параметр
#тип - число
#если не задан - выволятся все доступные элементы
#shared_with = 123
}
output "test" {
value = data.decort_image_list.il
}

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

@ -0,0 +1,63 @@
/*
Пример использования
Ресурса delete images
Ресурс является служебным
Его можно использоваться для быстрого удаления нескольких образов
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_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
Примечание:
Данный ресурс не поддерживает обновления параметров, поэтому, для переиспользования
необходимо удалить старое состояние и повторить шаги выше.
*/

@ -0,0 +1,145 @@
/*
Пример использования
Ресурса image
Ресурс позволяет:
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_image" "my_image" {
#имя образа
#обязательный параметр
#тип - строка
#при изменении - изменяет название созданного образа
name = "test_image_rename"
#адрес образа
#обязательный параметр
#тип - строка
url = "https://colba.decs.online/index.php/s/G3H7AREngzeKGw2/download"
#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"]
#id аккаунта владельца образа
#опциональный параметр
#может быть использован как при создании,
#так и при редактировании образа
#тип данных - число
#account_id = 57252
#имя пользователя и пароль
#опциаональные параметры,
#могут быть использованы как при создании образа,
#так и при его редактировании
#тип - строка
#username = "Valera"
#password = "123"
#имя пользователя и пароль для загрузки бинарных данных
#опциаональные параметры,
#могут быть использованы как при создании образа,
#так и при его редактировании
#тип - строка
#username_dl = "Valera1"
#password_dl = "1231"
#id storage endpoint
#опциональный параметр, используется при создании
#тип - число
#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"]
#мгновенное удаление
#опциональный параметр, можно использовать перед удалением
#тип - булев тип
#permanently = true
#причина удаления
#опциональный параметр, можно использовать перед удалением
#тип - строка
#reason = "test"
}
output "test" {
value = decort_image.my_image
}

@ -0,0 +1,127 @@
/*
Пример использования
Ресурса cdrom image
Ресурс позволяет:
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_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"]
#id аккаунта владельца образа
#опциональный параметр
#может быть использован как при создании,
#так и при редактировании образа
#тип данных - число
account_id = 57252
#имя пользователя и пароль
#опциаональные параметры,
#могут быть использованы как при создании образа,
#так и при его редактировании
#тип - строка
username = "Valera"
password = "123"
#имя пользователя и пароль для загрузки бинарных данных
#опциаональные параметры,
#могут быть использованы как при создании образа,
#так и при его редактировании
#тип - строка
#username_dl = "Valera1"
#password_dl = "1231"
#id storage endpoint
#опциональный параметр, используется при создании
#тип - число
#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"]
#мгновенное удаление
#опциональный параметр, можно использовать перед удалением
#тип - булев тип
#permanently = true
}
output "test" {
value = decort_cdrom_image.my_image
}

@ -0,0 +1,98 @@
/*
Пример использования
Ресурса virtual image
Ресурс позволяет:
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_virtual_image" "my_image" {
#имя виртуального образа
#обязательный параметр
#тип - строка
name = "test_vi_im_new_rename"
#id образа, на основе котрого будет создан виртуальный
#обязательный параметр
#тип - число
target_id = 6125
#изменение связи виртуального образа
#опциональный параметр, используется при редактировании ресурса
#тип - число
#link_to = 6062
#id аккаунта владельца образа
#опциональный параметр
#может быть использован при редактировании образа
#тип данных - число
#account_id = 57252
#имя пользователя и пароль
#опциаональные параметры,
#могут быть использованы при редактировании образа
#тип - строка
#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_virtual_image.my_image
}
Loading…
Cancel
Save