|
|
/*
|
|
|
Пример использования
|
|
|
Работа с ресурсом kvmvm (compute)
|
|
|
Ресурс позволяет:
|
|
|
1. Создавать compute
|
|
|
2. Редактировать compute
|
|
|
3. Удалять compute
|
|
|
*/
|
|
|
#Расскомментируйте этот код,
|
|
|
#и внесите необходимые правки в версию и путь,
|
|
|
#чтобы работать с установленным вручную (не через 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_kvmvm" "comp" {
|
|
|
#имя compute
|
|
|
#обязательный параметр
|
|
|
#мб изменен
|
|
|
#тип - строка
|
|
|
name = "test-tf-compute-update-new"
|
|
|
|
|
|
#id resource group
|
|
|
#обязательный параметр
|
|
|
#тип - число
|
|
|
rg_id = 1111
|
|
|
|
|
|
#тип драйвера для compute
|
|
|
#обязательный параметр
|
|
|
#тип - строка
|
|
|
driver = "KVM_X86"
|
|
|
|
|
|
#число cpu
|
|
|
#обязательный параметр
|
|
|
#тип - число
|
|
|
cpu = 1
|
|
|
|
|
|
#кол-во оперативной памяти, МБ
|
|
|
#обязательный параметр
|
|
|
#тип - число
|
|
|
ram = 2048
|
|
|
|
|
|
#id образа диска для создания compute
|
|
|
#обязательный параметр
|
|
|
#тип - число
|
|
|
image_id = 111
|
|
|
|
|
|
#размер загрузочного диска
|
|
|
#обязательный параметр
|
|
|
#тип - число
|
|
|
boot_disk_size = 20
|
|
|
|
|
|
#описание compute
|
|
|
#опциональный параметр
|
|
|
#тип - строка
|
|
|
description = "test update description in tf words update"
|
|
|
|
|
|
#Создание и добавление диска дял compute
|
|
|
#опциональный параметр
|
|
|
#тип - список дисков
|
|
|
disks {
|
|
|
#Имя диска
|
|
|
#Обязательный для диска параметр
|
|
|
#Тип - строка
|
|
|
disk_name = "disk_name"
|
|
|
|
|
|
#Размер диска
|
|
|
#Обязательный для диска параметр
|
|
|
#Тип - число
|
|
|
size = 5
|
|
|
|
|
|
#Тип диска
|
|
|
#опциональный параметр
|
|
|
#тип - строка
|
|
|
disk_type = "D"
|
|
|
|
|
|
#опциональный параметр
|
|
|
#тип - число
|
|
|
sep_id = 1
|
|
|
|
|
|
#Название пула
|
|
|
#опциональный параметр
|
|
|
#тип - строка
|
|
|
pool = "data01"
|
|
|
|
|
|
#Описание диска
|
|
|
#опциональный параметр
|
|
|
#тип - строка
|
|
|
desc = ""
|
|
|
|
|
|
#Айди образа
|
|
|
#опциональный параметр
|
|
|
#опциональный параметр
|
|
|
image_id = 378
|
|
|
|
|
|
#Флаг для удаления диска
|
|
|
#опциональный параметр
|
|
|
#тип - bool
|
|
|
permanently = false
|
|
|
|
|
|
#правила 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"
|
|
|
#}
|
|
|
|
|
|
#Флаг доступности компьюта для проведения с ним операций
|
|
|
#опицональный параметр
|
|
|
#тип - bool
|
|
|
#enable = true
|
|
|
|
|
|
#установка метки для вм
|
|
|
#опциональный параметр
|
|
|
#тип - строка
|
|
|
#affinity_label = "test4"
|
|
|
|
|
|
|
|
|
#наименование системы
|
|
|
#опциональный параметр
|
|
|
#используется при создании вм
|
|
|
#по умолчанию - не задан
|
|
|
#тип - строка
|
|
|
#is=""
|
|
|
|
|
|
#назначение вм
|
|
|
#опциональный параметр
|
|
|
#используется при создании вм
|
|
|
#по умолчанию - не задан
|
|
|
#тип - строка
|
|
|
#ipa_type = ""
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
output "test" {
|
|
|
value = decort_kvmvm.comp
|
|
|
}
|