1.0.0
This commit is contained in:
39
samples/cloudapi/kvmvm/data_kvmvm/main.tf
Normal file
39
samples/cloudapi/kvmvm/data_kvmvm/main.tf
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных о compute (виртуальной машине)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
dynamix = {
|
||||
source = "basistech.ru/tf/dynamix"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "dynamix" {
|
||||
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 "dynamix_kvmvm" "comp" {
|
||||
#получение информации по идентификатору машины - compute_id
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 11346
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.dynamix_kvmvm.comp
|
||||
}
|
||||
38
samples/cloudapi/kvmvm/data_kvmvm_audits/main.tf
Normal file
38
samples/cloudapi/kvmvm/data_kvmvm_audits/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных об аудитах compute (виртуальной машине)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
dynamix = {
|
||||
source = "basistech.ru/tf/dynamix"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "dynamix" {
|
||||
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 "dynamix_kvmvm_audits" "kvmvm_audits" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 10154
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.dynamix_kvmvm_audits.kvmvm_audits
|
||||
}
|
||||
38
samples/cloudapi/kvmvm/data_kvmvm_get_audits/main.tf
Normal file
38
samples/cloudapi/kvmvm/data_kvmvm_get_audits/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных об аудитах compute (виртуальной машине)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
dynamix = {
|
||||
source = "basistech.ru/tf/dynamix"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "dynamix" {
|
||||
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 "dynamix_kvmvm_get_audits" "kvmvm_get_audits" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 10154
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.dynamix_kvmvm_get_audits.kvmvm_get_audits
|
||||
}
|
||||
38
samples/cloudapi/kvmvm/data_kvmvm_get_console_url/main.tf
Normal file
38
samples/cloudapi/kvmvm/data_kvmvm_get_console_url/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение url compute (виртуальной машины)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
dynamix = {
|
||||
source = "basistech.ru/tf/dynamix"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "dynamix" {
|
||||
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 "dynamix_kvmvm_get_console_url" "kvmvm_get_console_url" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 10154
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.dynamix_kvmvm_get_console_url.kvmvm_get_console_url
|
||||
}
|
||||
43
samples/cloudapi/kvmvm/data_kvmvm_get_log/main.tf
Normal file
43
samples/cloudapi/kvmvm/data_kvmvm_get_log/main.tf
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение логов compute (виртуальной машины)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
dynamix = {
|
||||
source = "basistech.ru/tf/dynamix"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "dynamix" {
|
||||
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 "dynamix_kvmvm_get_log" "kvmvm_get_log" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 10154
|
||||
|
||||
#путь до log файла
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
path = "/var/log/file.log"
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.dynamix_kvmvm_get_log.kvmvm_get_log
|
||||
}
|
||||
108
samples/cloudapi/kvmvm/data_kvmvm_list/main.tf
Normal file
108
samples/cloudapi/kvmvm/data_kvmvm_list/main.tf
Normal file
@@ -0,0 +1,108 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных об списке compute (виртуальных машин)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
dynamix = {
|
||||
source = "basistech.ru/tf/dynamix"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "dynamix" {
|
||||
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 "dynamix_kvmvm_list" "compute_list" {
|
||||
#фильтр по id ВМ
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени ВМ
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#id аккаунта для получения списка ВМ
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 11111
|
||||
|
||||
#фильтр по имени ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#rg_name = "test"
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#rg_id = 100
|
||||
|
||||
#фильтр по техническому статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#tech_status = "STOPPED"
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#фильтр по ip
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#ip_address = "test"
|
||||
|
||||
#фильтр по имени extnet
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#extnet_name = "test"
|
||||
|
||||
#фильтр по id extnet
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#extnet_id = 100
|
||||
|
||||
#флаг включения в результат удаленных балансироващиков нагрузки
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#значение по-умолчанию - false
|
||||
#если не задан - выводятся все доступные неудаленные балансировщики
|
||||
#includedeleted = true
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 1
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.dynamix_kvmvm_list.compute_list
|
||||
}
|
||||
96
samples/cloudapi/kvmvm/data_kvmvm_list_deleted/main.tf
Normal file
96
samples/cloudapi/kvmvm/data_kvmvm_list_deleted/main.tf
Normal file
@@ -0,0 +1,96 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных о списке удаленных compute (виртуальных машин)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
dynamix = {
|
||||
source = "basistech.ru/tf/dynamix"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "dynamix" {
|
||||
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 "dynamix_kvmvm_list_deleted" "compute_list" {
|
||||
#фильтр по id виртуальной машины
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени виртуальной машины
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по id аккаунта
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#account_id = 100
|
||||
|
||||
#фильтр по имени ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#rg_name = "test"
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#rg_id = 100
|
||||
|
||||
#фильтр по техническому статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#tech_status = "some"
|
||||
|
||||
#фильтр по ip
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#ip_address = "test"
|
||||
|
||||
#фильтр по имени extNet
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#extnet_name = "test"
|
||||
|
||||
#фильтр по id extNet
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#extnet_id = 100
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 1
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.dynamix_kvmvm_list_deleted.compute_list
|
||||
}
|
||||
76
samples/cloudapi/kvmvm/data_kvmvm_pci_device_list/main.tf
Normal file
76
samples/cloudapi/kvmvm/data_kvmvm_pci_device_list/main.tf
Normal file
@@ -0,0 +1,76 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных о списке подключенных устройств (PCI)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
dynamix = {
|
||||
source = "basistech.ru/tf/dynamix"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "dynamix" {
|
||||
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 "dynamix_kvmvm_pci_device_list" "pci_device_list" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 100
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#rg_id = 100
|
||||
|
||||
#фильтр по id устройства
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#device_id = 100
|
||||
|
||||
#фильтр по имени устройства
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 1
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.dynamix_kvmvm_pci_device_list.pci_device_list
|
||||
}
|
||||
38
samples/cloudapi/kvmvm/data_kvmvm_pfw_list/main.tf
Normal file
38
samples/cloudapi/kvmvm/data_kvmvm_pfw_list/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных об списке port forwarding compute (виртуальных машин)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
dynamix = {
|
||||
source = "basistech.ru/tf/dynamix"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "dynamix" {
|
||||
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 "dynamix_kvmvm_pfw_list" "kvmvm_pfw_list" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 10524
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.dynamix_kvmvm_pfw_list.kvmvm_pfw_list
|
||||
}
|
||||
43
samples/cloudapi/kvmvm/data_kvmvm_snapshot_usage/main.tf
Normal file
43
samples/cloudapi/kvmvm/data_kvmvm_snapshot_usage/main.tf
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных об snapshot_usage compute (виртуальной машины)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
dynamix = {
|
||||
source = "basistech.ru/tf/dynamix"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "dynamix" {
|
||||
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 "dynamix_kvmvm_snapshot_usage" "kvmvm_snapshot_usage" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 10154
|
||||
|
||||
#лейбл snapshot usage
|
||||
#необязательный параметр
|
||||
#тип - строка
|
||||
label = "some"
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.dynamix_kvmvm_snapshot_usage.kvmvm_snapshot_usage
|
||||
}
|
||||
38
samples/cloudapi/kvmvm/data_kvmvm_user_list/main.tf
Normal file
38
samples/cloudapi/kvmvm/data_kvmvm_user_list/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных об юзерах compute (виртуальной машины)
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
dynamix = {
|
||||
source = "basistech.ru/tf/dynamix"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "dynamix" {
|
||||
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 "dynamix_kvmvm_user_list" "kvmvm_user_list" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 10154
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.dynamix_kvmvm_user_list.kvmvm_user_list
|
||||
}
|
||||
76
samples/cloudapi/kvmvm/data_kvmvm_vgpu_list/main.tf
Normal file
76
samples/cloudapi/kvmvm/data_kvmvm_vgpu_list/main.tf
Normal file
@@ -0,0 +1,76 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение данных о списке подключенных графических процессоров
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
dynamix = {
|
||||
source = "basistech.ru/tf/dynamix"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "dynamix" {
|
||||
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 "dynamix_kvmvm_vgpu_list" "vgpu_list" {
|
||||
#id виртуальной машины
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
compute_id = 100
|
||||
|
||||
#фильтр по id графического процессора
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#gpu_id = 100
|
||||
|
||||
#фильтр по типу графического процессора
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#type = "NVIDIA"
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#фильтр "включая удаленные графические процессоры"
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#includedeleted = "false"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 1
|
||||
}
|
||||
|
||||
output "output" {
|
||||
value = data.dynamix_kvmvm_vgpu_list.vgpu_list
|
||||
}
|
||||
14
samples/cloudapi/kvmvm/resource_kvmvm/initconfig.tftpl
Normal file
14
samples/cloudapi/kvmvm/resource_kvmvm/initconfig.tftpl
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"users": [
|
||||
{
|
||||
"groups": "users, wheel",
|
||||
"name": "user",
|
||||
"plain_text_passwd": "examplePassword",
|
||||
"primary_group": "user",
|
||||
"ssh_authorized_keys": [
|
||||
"ssh-rsa EXAMPLE%id_rsa.pub"
|
||||
],
|
||||
"sudo": "ALL=(ALL) NOPASSWD:ALL"
|
||||
}
|
||||
]
|
||||
}
|
||||
396
samples/cloudapi/kvmvm/resource_kvmvm/main.tf
Normal file
396
samples/cloudapi/kvmvm/resource_kvmvm/main.tf
Normal file
@@ -0,0 +1,396 @@
|
||||
/*
|
||||
Пример использования
|
||||
Работа с ресурсом kvmvm (compute)
|
||||
Ресурс позволяет:
|
||||
1. Создавать compute
|
||||
2. Редактировать compute
|
||||
3. Удалять compute
|
||||
*/
|
||||
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
dynamix = {
|
||||
version = "<VERSION>"
|
||||
source = "basistech.ru/tf/dynamix"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "dynamix" {
|
||||
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 "dynamix_kvmvm" "comp" {
|
||||
#имя compute
|
||||
#может быть изменен
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
name = "test-tf-compute-update-new"
|
||||
|
||||
#id resource group
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
rg_id = 1111
|
||||
|
||||
#тип драйвера для compute
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#возможные значения: "SVA_KVM_X86", "KVM_X86", "KVM_PPC"
|
||||
driver = "KVM_X86"
|
||||
|
||||
#число cpu
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
cpu = 1
|
||||
|
||||
#кол-во оперативной памяти, МБ
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#возможные значения: кратные 128
|
||||
ram = 2048
|
||||
|
||||
#размер загрузочного диска
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
boot_disk_size = 20
|
||||
|
||||
#id сепа для boot диска
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
sep_id = 1
|
||||
|
||||
#название пула
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
pool = "data02"
|
||||
|
||||
#конфигурация cloud init
|
||||
#опциональный параметр
|
||||
#тип - файл в формате JSON/YAML
|
||||
cloud_init = file("initconfig.tftpl")
|
||||
|
||||
#описание compute
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
description = "test update description in tf words update"
|
||||
|
||||
#id образа диска для создания compute
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
image_id = 111
|
||||
|
||||
#создание без загрузочного диска в остановленном состоянии
|
||||
#опциональный параметр
|
||||
#если значение равно True, параметры image_id, boot_disk_size, sep_id, pool должны быть пустыми
|
||||
#тип - булев
|
||||
without_boot_disk = true
|
||||
|
||||
#необходимость выравнивать ВМ по NUMA
|
||||
#опциональный параметр
|
||||
#возможные значения - "none "strict" "loose"
|
||||
#по умолчанию - "none"
|
||||
#тип - строка
|
||||
numa_affinity = "loose"
|
||||
|
||||
#необходимость запускать ВМ на выделенных CPU ядрах
|
||||
#опциональный параметр
|
||||
#по умолчанию - false
|
||||
#тип - булев
|
||||
cpu_pin = true
|
||||
|
||||
#необходимость использовать для выделения RAM виртуальной машины Huge Pages
|
||||
#опциональный параметр
|
||||
#по умолчанию - false
|
||||
#тип - булев
|
||||
hp_backed = true
|
||||
|
||||
#правила affinity
|
||||
#опциональный параметр
|
||||
#может быть один, несколько или ни одного
|
||||
#тип - список объектов правил
|
||||
affinity_rules = [{
|
||||
#тип правила
|
||||
#обязательный параметр
|
||||
#возможные значения - compute или node
|
||||
#тип - строка
|
||||
topology = "compute"
|
||||
|
||||
#строгость правила
|
||||
#обязательный параметр
|
||||
#возможные значения - RECOMMENDED и REQUIRED
|
||||
#тип - строка
|
||||
policy = "RECOMMENDED"
|
||||
|
||||
#режим проверки
|
||||
#обязательный параметр
|
||||
#возможные значения - ANY, EQ, NE
|
||||
#тип - строка
|
||||
mode = "ANY"
|
||||
|
||||
#ключ правила
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
key = "testkey"
|
||||
|
||||
#ключ правила
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
value = "testvalue"
|
||||
}]
|
||||
|
||||
#правила anti-affinity
|
||||
#опциональный параметр
|
||||
#может быть один, несколько или ни одного
|
||||
#тип - список объектов правил
|
||||
anti_affinity_rules = [{
|
||||
#тип правила
|
||||
#обязательный параметр
|
||||
#возможные значения - compute или node
|
||||
#тип - строка
|
||||
topology = "compute"
|
||||
|
||||
#строгость правила
|
||||
#обязательный параметр
|
||||
#возможные значения - RECOMMENDED и REQUIRED
|
||||
#тип - строка
|
||||
policy = "RECOMMENDED"
|
||||
|
||||
#режим проверки
|
||||
#обязательный параметр
|
||||
#возможные значения - ANY, EQ, NE
|
||||
#тип - строка
|
||||
mode = "ANY"
|
||||
|
||||
#ключ правила
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
key = "testkey"
|
||||
|
||||
#ключ правила
|
||||
#опциональный параметр
|
||||
#тип -строка
|
||||
value = "testvalue"
|
||||
}]
|
||||
|
||||
#установка метки для вм
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
affinity_label = "test4"
|
||||
|
||||
#Управление XML виртуальной машины
|
||||
#опциональный параметр
|
||||
#тип - строка (json-encoded)
|
||||
custom_fields = "{`key`:`value`}"
|
||||
|
||||
#наименование системы
|
||||
#опциональный параметр
|
||||
#используется при создании вм
|
||||
#по умолчанию - не задан
|
||||
#тип - строка
|
||||
is = ""
|
||||
|
||||
#назначение вм
|
||||
#опциональный параметр
|
||||
#используется при создании вм
|
||||
#по умолчанию - не задан
|
||||
#тип - строка
|
||||
ipa_type = ""
|
||||
|
||||
#id экстра дисков
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
extra_disks = [1234, 4322, 1344]
|
||||
|
||||
#присоединения сетей и удаление сетей в компьюте
|
||||
#опциональный параметр
|
||||
#тип - список объектов сетей
|
||||
network = [{
|
||||
#тип сети VINS/EXTNET (для любого драйвера) и VFNIC (для KVM_X86)
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
net_type = "VINS"
|
||||
|
||||
#id сети
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
net_id = 1234
|
||||
|
||||
#ip адрес входящий в сеть
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
ip_address = "127.0.0.1"
|
||||
}]
|
||||
|
||||
#добавление и удаление тэгов
|
||||
#опциональный параметр
|
||||
#тип - список тэгов
|
||||
tags = [{
|
||||
#ключ для тэга
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
key = "key"
|
||||
|
||||
#значения тэга
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
value = "value"
|
||||
}]
|
||||
|
||||
#добавление и удаление port forwarding
|
||||
#опциональный параметр
|
||||
#тип - список объектов переадресации портов
|
||||
port_forwarding = [{
|
||||
#номер внешнего начального порта для правила
|
||||
#Обязательный параметр
|
||||
#тип - целое число
|
||||
public_port_start = 2023
|
||||
|
||||
#номер внешнего последнего порта для правила
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#по умолчанию - -1
|
||||
public_port_end = 2023
|
||||
|
||||
#номер внутреннего базового порта
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
local_port = 80
|
||||
|
||||
#сетевой протокол
|
||||
#Обязательный параметр
|
||||
#тип - строка
|
||||
proto = "tcp"
|
||||
}]
|
||||
|
||||
#предоставить/забрать пользователю доступ к компьюту
|
||||
#опциональный параметр
|
||||
#тип - список объектов прав пользователя
|
||||
user_access = [{
|
||||
#имя юзера, которому предоставляем доступ
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
username = "some@decs3o"
|
||||
|
||||
#права: 'R' - только на чтение, 'RCX' - чтение/запись, 'ARCXDU' - админ
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
access_type = "ARCXDU"
|
||||
}]
|
||||
|
||||
#создать/удалить снапшот компьюта
|
||||
#опциональный параметр
|
||||
#тип - список объектов снапшотов
|
||||
snapshot = [{
|
||||
#лейбл снапшота
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
label = "label1"
|
||||
}]
|
||||
|
||||
#rollback на нужный снапшот
|
||||
#опциональный параметр
|
||||
#не имеет смысла при отсутсвии снапшотов
|
||||
#тип - объект
|
||||
rollback = {
|
||||
#Лейбл снапшота
|
||||
#Обязательный параметр
|
||||
#тип - строка
|
||||
label = "label1"
|
||||
}
|
||||
|
||||
#вставить/удалить СD rom
|
||||
#опциональный параметр
|
||||
#максимальное кол-во - 1
|
||||
#тип - объект
|
||||
cd = {
|
||||
#id образа диска CD rom
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
cdrom_id = 344
|
||||
}
|
||||
|
||||
#добавить компьют на стэк
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
pin_to_stack = true
|
||||
|
||||
#флаг доступности компьюта для проведения с ним операций
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
enabled = true
|
||||
|
||||
#pause/resume компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - false
|
||||
pause = true
|
||||
|
||||
#reset компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - false
|
||||
reset = true
|
||||
|
||||
#восстановить компьют из корзины
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - true
|
||||
restore = true
|
||||
|
||||
#флаг для редеплоя компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - false
|
||||
auto_start = true
|
||||
|
||||
#флаг для редеплоя компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - false
|
||||
force_stop = true
|
||||
|
||||
#флаг для ресайза компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - false
|
||||
force_resize = true
|
||||
|
||||
#поле для редеплоя компьюта
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#возможные значения - "KEEP", "DETACH", "DESTROY"
|
||||
data_disks = "KEEP"
|
||||
|
||||
#запуск/стоп компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - true
|
||||
started = true
|
||||
|
||||
#detach диска при удалении компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - true
|
||||
detach_disks = true
|
||||
|
||||
#флаг для удаления компьюта
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#по умолчанию - true
|
||||
permanently = false
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = dynamix_kvmvm.comp
|
||||
}
|
||||
Reference in New Issue
Block a user