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.
terraform-provider-decort/samples/cloudapi/resource_rg/main.tf

171 lines
6.0 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 {
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
}