/* Пример использования Ресурсов RG Ресурс позволяет: 1. Создавать 2. Редактировать 3. Удалять */ #Раскомментируйте этот код, #и внесите необходимые правки в версию и путь, #чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером /* terraform { required_providers { dynamix = { source = "basistech.ru/tf/dynamix" version = "" } } } */ provider "dynamix" { authenticator = "decs3o" #controller_url = controller_url = "https://ds1.digitalenergy.online" #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" #описание #опциональный параметр #тип - строка 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 } #лимиты ресурсов для ресурсной группы #опциональный параметр #тип - блок конфигураций quota = { #максимальное количество ядер процессора #опциональный параметр #значение по умолчанию: -1 #тип - целое число cpu = 5 #максимальный размер памяти в мегабайтах #опциональный параметр #тип - число #значение по умолчанию: -1 ram = 1024 #максимальный размер объединенных виртуальных дисков в ГБ #опциональный параметр #значение по умолчанию: -1 #тип - целое число disk = 180 #максимальное количество отправленных/полученных сетевых узлов #опциональный параметр #значение по умолчанию: -1 #тип - целое число ext_traffic = 21 #максимальное количество назначенных общедоступных IP-адресов #опциональный параметр #значение по умолчанию: -1 #тип - целое число ext_ips = 29 } #список названий pools #необязательный параметр #игнорируется при создании ресурса, применяется только при обновлении #тип - массив строк uniq_pools = ["sep1_poolName1", "sep2_poolName2"] #флаг для принудительного удаления ресурсной группы #опциональный параметр #тип - булев #по умолчанию - true force = true #флаг для моментального удаления ресурсной группы #опциональный параметр #тип - булев #по умолчанию - true permanently = true #восстановление группы после удаления #опциональный параметр #используется при редактировании ресурса #по умолчанию - true #тип - булев restore = true } output "output" { value = dynamix_resgroup.rg }