|
|
/*
|
|
|
Пример использования
|
|
|
Ресурсов RG
|
|
|
Ресурс позволяет:
|
|
|
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_resgroup" "rg" {
|
|
|
#имя ресурсной группы
|
|
|
#обязательный параметр
|
|
|
#тип - строка
|
|
|
name = "testing_rg_1"
|
|
|
|
|
|
#id аккаунта которому будет принадлежать ресурсная группа
|
|
|
#обязательный параметр
|
|
|
#тип - число
|
|
|
account_id = 123
|
|
|
|
|
|
#id сети
|
|
|
#обязательный параметр
|
|
|
#тип - число
|
|
|
gid = 1234
|
|
|
|
|
|
#тип сети по умолчанию для этой ресурсной группы.
|
|
|
#виртуальные машины, созданные в этой RG, по умолчанию будут подключены к этой сети.
|
|
|
#Допустимые значения: PRIVATE, PUBLIC, NONE.
|
|
|
#необязательный параметр
|
|
|
#тип - строка
|
|
|
def_net_type = "NONE"
|
|
|
|
|
|
#ip cidr частной сети, если сеть по умолчанию PRIVATE
|
|
|
#необязательный параметр
|
|
|
#тип - строка
|
|
|
ipcidr = "1.1.1.1"
|
|
|
|
|
|
#id внешней сети
|
|
|
#необязательный параметр
|
|
|
#тип - число
|
|
|
ext_net_id = 123
|
|
|
|
|
|
#ip внешней сети
|
|
|
#необязательный параметр
|
|
|
#тип - строка
|
|
|
ext_ip = "1.1.1.1"
|
|
|
|
|
|
#причина выполнения
|
|
|
#необязательный параметр
|
|
|
#тип - строка
|
|
|
reason = "TEST"
|
|
|
|
|
|
#описание
|
|
|
#необязательный параметр
|
|
|
#тип - строка
|
|
|
description = "qwerty"
|
|
|
|
|
|
#флаг доступности ресурсной группы
|
|
|
#необязательный параметр
|
|
|
#тип - булевый
|
|
|
enable = true
|
|
|
|
|
|
#блок для предоставления прав на ресурсную группу
|
|
|
#необязательный параметр
|
|
|
#тип - блок
|
|
|
access {
|
|
|
#имя юзера предоставляемому права
|
|
|
#обязательный праметр при использовании блока
|
|
|
#тип - строка
|
|
|
user = "kasim_baybikov_1@decs3o"
|
|
|
#тип прав
|
|
|
#необязательный параметр
|
|
|
#тип - строка
|
|
|
right = "RCX"
|
|
|
}
|
|
|
|
|
|
#Установить сеть по умолчанию
|
|
|
#необязательный параметр
|
|
|
#тип - блок
|
|
|
#при добавлении блока, удалять его нельзя
|
|
|
def_net {
|
|
|
#тип сети
|
|
|
#обязательный параметр при использовании блока
|
|
|
#тип - строка
|
|
|
net_type = "PUBLIC"
|
|
|
#id сети
|
|
|
#идентификатор сегмента сети. Если net_type — PUBLIC, а net_id — 0,
|
|
|
#то будет выбран сегмент внешней сети по умолчанию. Если net_type
|
|
|
#имеет значение PRIVATE и net_id=0, будет выбран первый vins, определенный для этой ресурсной группы.
|
|
|
#В противном случае net_id идентифицирует либо существующий сегмент внешней сети, либо vins.
|
|
|
#необязательный параметр
|
|
|
#тип - число
|
|
|
net_id = 1234
|
|
|
#причина выполнения
|
|
|
#необязательный параметр
|
|
|
#тип - строка
|
|
|
reason = "TEST"
|
|
|
}
|
|
|
|
|
|
#лимиты ресурсов для ресурсной группы
|
|
|
#необязательный параметр
|
|
|
#тип - блок
|
|
|
quota {
|
|
|
#максимальное количество ядер процессора
|
|
|
#необязательный параметр
|
|
|
#тип - число
|
|
|
#значение по умолчанию: -1
|
|
|
cpu = 5
|
|
|
#максимальный размер памяти в мегабайтах
|
|
|
#необязательный параметр
|
|
|
#тип - число
|
|
|
#значение по умолчанию: -1
|
|
|
ram = 1024
|
|
|
#максимальный размер объединенных виртуальных дисков в ГБ
|
|
|
#необязательный параметр
|
|
|
#тип - число
|
|
|
#значение по умолчанию: -1
|
|
|
disk = 180
|
|
|
#максимальное количество отправленных/полученных сетевых узлов
|
|
|
#необязательный параметр
|
|
|
#тип - число
|
|
|
#значение по умолчанию: -1
|
|
|
ext_traffic = 21
|
|
|
#максимальное количество назначенных общедоступных IP-адресов
|
|
|
#необязательный параметр
|
|
|
#тип - число
|
|
|
#значение по умолчанию: -1
|
|
|
ext_ips = 29
|
|
|
}
|
|
|
|
|
|
#флаг для принудительного удаления ресурсной группы
|
|
|
#необязательный параметр
|
|
|
#тип - булевый
|
|
|
force = true
|
|
|
|
|
|
#флаг для моментального удаления ресурсной группы
|
|
|
#необязательный параметр
|
|
|
#тип - булевый
|
|
|
permanently = true
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
output "output" {
|
|
|
value = decort_resgroup.rg
|
|
|
}
|
|
|
|
|
|
|