You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

190 lines
6.5 KiB

7 months ago
/*
Пример использования
Ресурсов RG
Ресурс позволяет:
1. Создавать
2. Редактировать
3. Удалять
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
dynamix = {
source = "basistech.ru/tf/dynamix"
version = "<VERSION>"
}
}
}
*/
provider "dynamix" {
authenticator = "decs3o"
6 months ago
#controller_url = <DYNAMIX_CONTROLLER_URL>
7 months ago
controller_url = "https://ds1.digitalenergy.online"
6 months ago
#oauth2_url = <DYNAMIX_OAUTH2_URL>
7 months ago
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
resource "dynamix_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
#имя пользователя
#опциональный параметр
#тип - строка
owner = "name_user"
#блок для предоставления прав на ресурсную группу
#опциональный параметр
#тип - блок прав доступа
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
}
#флаг для принудительного удаления ресурсной группы
#опциональный параметр
#тип - булев
#по умолчанию - true
force = true
#флаг для моментального удаления ресурсной группы
#опциональный параметр
#тип - булев
#по умолчанию - true
permanently = true
#восстановление группы после удаления
#опциональный параметр
#используется при редактировании ресурса
#по умолчанию - true
#тип - булев
restore = true
}
output "output" {
value = dynamix_resgroup.rg
}