This commit is contained in:
2025-11-18 16:20:26 +03:00
parent 4b3f21d9be
commit e42fbcef39
397 changed files with 17560 additions and 1501 deletions

View File

@@ -0,0 +1,43 @@
/*
Пример использования
Получение информации о segment по ее id
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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
}
data "decort_sdn_segment" "name" {
#идентификатор сегмента
#обязательный параметр
#тип - строка
segment_id = "a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8"
#идентификатор группы доступа
#опциональный параметр
#тип - строка
#access_group_id = "a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8"
}
output "test" {
value = data.decort_sdn_segment.name
}

View File

@@ -0,0 +1,48 @@
/*
Пример использования
Получение информации о статусе segment по ее id
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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
}
data "decort_sdn_segment_get_status" "name" {
#идентификатор сегмента
#обязательный параметр
#тип - строка
segment_id = "a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8"
#идентификатор версии
#опциональный параметр
#тип - целое число
#version_id = 378849
#подробный статус
#опциональный параметр
#тип - булев
#detailed = true
}
output "test" {
value = data.decort_sdn_segment_get_status.name
}

View File

@@ -0,0 +1,104 @@
/*
Пример использования
Получение списка segments
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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
}
data "decort_sdn_segment_list" "name" {
#номер страницы результата
#опциональный параметр
#тип - целое число
#page = 1
#количество результатов на странице
#опциональный параметр
#тип - целое число
#per_page = 2
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#возможные значения - display_name, subnet, created_at, updated_at
#sort_by = "created_at"
#порядок сортировки
#опциональный параметр
#тип - строка
#возможные значения - asc, desc
#sort_order = "asc"
#фильтр по включенному/выключенному сегменту
#опциональный параметр
#тип - булев
#enabled = false
#считает ли Core в настоящее время, что его данные синхронизированы с данными в OVN?
#опциональный параметр
#тип - булев
#is_synced = true
#фильтр по отображаемому имени
#опциональный параметр
#тип - строка
#display_name = "name"
#фильтр по подсети IPv4 или IPv6
#опциональный параметр
#тип - строка
#subnet = "192.168.1.0/24"
#фильтр по id группы доступа
#опциональный параметр
#тип - строка
#access_group_id = "a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8"
#фильтр по нижней границе даты создания
#опциональный параметр
#тип - строка
#значение по умолчанию - null
#created_from = "2023-01-01T00:00:00Z"
#фильтр по верхней границе даты создания
#опциональный параметр
#тип - строка
#значение по умолчанию - null
#created_to = "2023-01-01T00:00:00Z"
#фильтр по нижней границе даты обновления
#опциональный параметр
#тип - строка
#значение по умолчанию - null
#updated_from = "2023-01-01T00:00:00Z"
#фильтр по верхней границе даты обновления
#опциональный параметр
#тип - строка
#значение по умолчанию - null
#updated_to = "2023-01-01T00:00:00Z"
}
output "test" {
value = data.decort_sdn_segment_list.name
}

View File

@@ -0,0 +1,154 @@
/*
Пример использования
Ресурс позволяет:
1. Создавать сегмент
2. Изменять сегмент
3. Удалять сегмент
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_sdn_segment" "name" {
#id группы доступа
#обязательный параметр
#тип - строка
#используется при создании и обновлении
access_group_id = "a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8"
#описание сегмента
#обязательный параметр
#тип - строка
#используется при создании и обновлении
description = "description"
#отображаемое имя сегмента
#обязательный параметр
#тип - строка
#используется при создании и обновлении
display_name = "name"
#включение/отключение сегмента
#обязательный параметр
#тип - булев
#используется при создании и обновлении
enabled = true
#подсеть IPv4 для текущего сегмента
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#subnet_v4 = "192.168.1.0/24"
#подсеть IPv6 для текущего сегмента
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#subnet_v6 = "aef0::/64"
#настройка DHCPv4
#опциональный параметр
#тип - блок
#используется при создании и обновлении
#dhcp_v4 {
#DNS
#опциональный параметр
#тип - массив строк
#dns = ["198.51.100.42","8.8.8.8"]
#исключенные диапазоны адресов
#опциональный параметр
#тип - массив строк
#excluded_address_ranges = ["198.51.100.42","8.8.8.8"]
#шлюз
#обязательный параметр
#тип - строка
#gateway = "192.168.0.1"
#время аренды
#опциональный параметр
#тип - целое число
#lease_time = 86400
#ip сервера
#обязательный параметр
#тип - строка
#server_ip = "192.168.1.100"
#MAC адрес сервера
#опциональный параметр
#тип - строка
#server_mac = "^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$"
#включение/отключение
#обязательный параметр
#тип - булев
#enabled = true
#}
#настройка DHCPv6
#опциональный параметр
#тип - блок
#используется при создании и обновлении
#dhcp_v6 {
#префикс IPv6
#обязательный параметр
#тип - строка
#address_prefix = "2001:db8::/64"
#DNS
#опциональный параметр
#тип - массив строк
#dns = ["198.51.100.42","8.8.8.8"]
#время аренды
#опциональный параметр
#тип - целое число
#lease_time = 86400
#MAC адрес сервера
#опциональный параметр
#тип - строка
#server_mac = "^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$"
#включение/отключение
#обязательный параметр
#тип - булев
#enabled = true
#}
#флаг принудительного удаления
#опциональный параметр
#тип - булев
#значение по умолчанию - null
#используется при обновлении
#force = true
}
output "test" {
value = decort_sdn_segment.name
}