This commit is contained in:
2024-05-31 14:05:21 +03:00
parent 84b7a80e1b
commit db1760cb72
815 changed files with 58194 additions and 11049 deletions

View File

@@ -0,0 +1,217 @@
/*
Пример использования
Ресурсов RG
Ресурс позволяет:
1. Создавать RG
2. Редактировать RG
3. Удалять RG
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#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_cb_rg" "rg" {
#имя ресурсной группы
#обязательный параметр
#тип - строка
rg_name = "testing_rg_1"
#id аккаунта которому будет принадлежать ресурсная группа
#обязательный параметр
#тип - целое число
account_id = 123
#id сети
#обязательный параметр
#тип - целое число
gid = 1234
#лимиты ресурсов
#опциональные параметры
#тип - блок лимитов на ресурсы
#resource_limits {
#максимальное количество ядер cpu
#опциональный праметр
#тип - целое число
#cu_c = 12
#максимальный размер агрегированных виртуальных дисков в ГБ
#опциональный параметр
#тип - целое число
#cu_dm = 12
#максимальное количество назначенных общедоступных IP-адресов
#опциональный праметр
#тип - целое число
#cu_i = 12
#максимальный объем памяти в МБ
#опциональный праметр
#тип - целое число
#cu_m = 12
#максимальный пиринг отправленных/принятых сетевых передач
#опциональный праметр
#тип - целое число
#cu_np = 12
#}
#имя владельца ресурсной группы
#опциональный параметр
#тип - строка
#owner = "owner name"
#тип сети по умолчанию для этой ресурсной группы.
#виртуальные машины, созданные в этой RG, по умолчанию будут подключены к этой сети.
#Допустимые значения: PRIVATE, PUBLIC, NONE.
#необязательный параметр
#тип - строка
#def_net_type = "NONE"
#ip cidr частной сети, если сеть по умолчанию PRIVATE
#необязательный параметр
#тип - строка
#ipcidr = "1.1.1.1"
#описание
#необязательный параметр
#тип - строка
#description = "qwerty"
#id внешней сети
#необязательный параметр
#тип - целое число
#ext_net_id = 123
#ip внешней сети
#необязательный параметр
#тип - строка
#ext_ip = "1.1.1.1"
#причина выполнения
#необязательный параметр
#тип - строка
#reason = "TEST"
#зарегистрировать компьюты в регистрационной системе
#необязательный параметр
#тип - булев
#register_computes = true
#список названий pools
#необязательный параметр
#тип - массив строк
#uniq_pools = ["sep1_poolName1", "sep2_poolName2"]
#блок для предоставления прав на ресурсную группу
#необязательный параметр
#тип - блок прав пользователя
access {
#имя юзера предоставляемому права
#обязательный праметр при использовании блока
#тип - строка
user = "kasim_baybikov_1@decs3o"
#тип прав
#обязательный параметр
#тип - строка
#разрешенные значения: "R", "RCX" or "ARCXDU"
right = "RCX"
#причина запроса
#необязательный параметр
#тип - строка
reason = "test"
}
#установить сеть по умолчанию
#необязательный параметр
#тип - блок конфигурации сети
#при добавлении блока, удалять его нельзя
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"
}
#может ли запуститься ВМ, если ресурсов CPU недостаточно
#необязательный параметр
#Допустимые значения: strict, loose.
#тип - строка
cpu_allocation_parameter = "loose"
#CPU allocation ratio
#необязательный параметр
#one pCPU = ratio*vCPU (zero or positive value)
#тип - целое число
cpu_allocation_ratio = 1
#флаг доступности ресурсной группы
#необязательный параметр
#тип - булев
enable = true
#флаг для восстановления удаленной ресурсной группы
#необязательный параметр
#тип - булев
#restore = false
#флаг для принудительного удаления ресурсной группы
#необязательный параметр
#тип - булев
#перед удалением следует перевести ресурсную группу в статус disabled, выставив enable = false
force = true
#флаг для моментального удаления ресурсной группы
#необязательный параметр
#тип - булев
permanently = true
#доступ к дополнительным функциям управления ВМ
#необязательный параметр
#возможные значенния - "hugepages", "numa", "cpupin", "vfnic"
#тип - массив строк
#внимание - требуется указывать итоговое желаемое состояние для ресурсной группы (рг), так как поле compute_features не будет автоматически
#наследоваться от аккаунта, в котором создается рг.
compute_features = ["hugepages", "numa", "cpupin", "vfnic"]
}
output "output" {
value = decort_cb_rg.rg
}