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

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/*
Пример использования
Ресурсов RG
Ресурс позволяет:
1. Создавать
2. Редактировать
3. Удалять
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
dynamix = {
source = "basistech.ru/tf/dynamix"
version = "<VERSION>"
}
}
}
*/
provider "dynamix" {
authenticator = "decs3o"
#controller_url = <DYNAMIX_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DYNAMIX_OAUTH2_URL>
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
}