This commit is contained in:
2026-06-19 17:45:18 +03:00
parent c00c608ce9
commit 89c77ddcbe
1324 changed files with 199523 additions and 1 deletions

View File

@@ -0,0 +1,38 @@
/*
Пример использования
Получение информации о access group по ее 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_access_group" "name" {
#идентификатор группы доступа
#обязательный параметр
#тип - строка
access_group_id = "a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8"
}
output "test" {
value = data.decort_sdn_access_group.name
}

View File

@@ -0,0 +1,85 @@
/*
Пример использования
Получение информации о списке групп доступа
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_access_group_list" "name" {
#фильтр по включенной\выключенной группе
#опциональный параметр
#тип - булев
#enabled = false
#фильтр по удаленной/не удаленной группе
#опциональный параметр
#тип - булев
#deleted = true
#фильтр по отображаемому имени
#опциональный параметр
#тип - строка
#display_name = "name"
#номер страницы результата
#опциональный параметр
#тип - целое число
#page = 1
#количество результатов на странице
#опциональный параметр
#тип - целое число
#per_page = 2
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#возможные значения - display_name, created_at, updated_at, deleted_at, owner_login
#sort_by = "created_at"
#порядок сортировки
#опциональный параметр
#тип - строка
#возможные значения - asc, desc
#sort_order = "asc"
#фильтр по нижней границе даты создания
#опциональный параметр
#тип - строка
#created_from = "2023-01-01T00:00:00Z"
#фильтр по верхней границе даты создания
#опциональный параметр
#тип - строка
#created_to = "2023-01-01T00:00:00Z"
#фильтр по отображаемому имени владельца группы доступа
#опциональный параметр
#тип - строка
#owner_display_name = "owner_name"
}
output "test" {
value = data.decort_sdn_access_group_list.name
}

View File

@@ -0,0 +1,120 @@
/*
Пример использования
Получение информации о списке пользователей группы доступа
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_access_group_user_list" "name" {
#фильтр по идентификатору группы доступа
#обязательный параметр
#тип - строка
access_group_id = "a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8"
#фильтр по глобальной роли
#опциональный параметр
#тип - строка
#global_role = "global_role"
#фильтр по роли группы доступа
#опциональный параметр
#тип - строка
#access_group_role = "access_group_role"
#фильтр по включению
#опциональный параметр
#тип - булев
#enabled = false
#фильтр по удалению
#опциональный параметр
#тип - булев
#deleted = true
#фильтр по отображаемому имени
#опциональный параметр
#тип - строка
#display_name = "name"
#фильтр по логину пользователя
#опциональный параметр
#тип - строка
#login = "login"
#кто создал пользователя
#опциональный параметр
#тип - строка
#created_by = "name"
#кто обновил пользователя
#опциональный параметр
#тип - строка
#updated_by = "name"
#кто удалил пользователя
#опциональный параметр
#тип - строка
#deleted_by = "name"
#кто отключил пользователя
#опциональный параметр
#тип - строка
#disabled_by = "name"
#номер страницы результата
#опциональный параметр
#тип - целое число
#page = 1
#количество результатов на странице
#опциональный параметр
#тип - целое число
#per_page = 2
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#возможные значения - display_name, email, phone, created_at, updated_at, deleted_at
#sort_by = "created_at"
#порядок сортировки
#опциональный параметр
#тип - строка
#возможные значения - asc, desc
#sort_order = "asc"
#фильтр по нижней границе даты создания
#опциональный параметр
#тип - строка
#created_from = "2023-01-01T00:00:00Z"
#фильтр по верхней границе даты создания
#опциональный параметр
#тип - строка
#created_to = "2023-01-01T00:00:00Z"
}
output "test" {
value = data.decort_sdn_access_group_user_list.name
}

View File

@@ -0,0 +1,81 @@
/*
Пример использования
Ресурс позволяет:
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_access_group" "name" {
#название группы
#обязательный параметр
#тип - строка
#используется при создании и обновлении
display_name = "name"
#описание (комментарий) к группе
#обязательный параметр
#тип - строка
#используется при создании и обновлении
comment = "comment"
#управление пользователями, входящими в группу
#опциональный параметр
#тип - блок
#используется при создании и обновлении
#users {
#id назначаемой роли
#обязательный параметр
#тип - строка
#access_group_role_id = "a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8"
#id пользователя
#обязательный параметр
#тип - строка
#user_id = "jkf-jfi-456fn5-kks"
#}
#определение политик безопасности по умолчанию
#опциональный параметр
#может быть один или ни одного
#тип - блок
#используется при создании и обновлении ресурса
#default_security_policy {
#начальные права доступа
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#default_acl_drop = "default_acl_drop"
#флаг сброса открытых сессий
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#default_open_session_drop = true
#}
}

View File

@@ -0,0 +1,61 @@
/*
Пример использования
Получение списка политик безопасности по умолчанию
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_default_security_policy_list" "policy_list" {
#id группы доступа
#опциональный параметр
#тип - строка
#access_group_id = "a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8"
#номер страницы результата
#опциональный параметр
#тип - целое число
#page = 1
#количество результатов на странице
#опциональный параметр
#тип - целое число
#per_page = 2
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#возможные значения - created_at, updated_at
#sort_by = "created_at"
#порядок сортировки
#опциональный параметр
#тип - строка
#возможные значения - asc, desc
#sort_order = "asc"
}
output "test" {
value = data.decort_sdn_default_security_policy_list.policy_list
}

View File

@@ -0,0 +1,44 @@
/*
Пример использования
Получение информации о hypervisor по его 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_hypervisor" "test" {
#имя гипервизора
#обязательный параметр
#тип - строка
name = "name"
#объем информации
#опциональный параметр
#тип - строка
#возможные значения - detailed, general
#port_info = "detailed"
}
output "test" {
value = data.decort_sdn_hypervisor.test
}

View File

@@ -0,0 +1,96 @@
/*
Пример использования
Получение информации о списке гипервизоров
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_hypervisor_list" "test" {
#номер страницы результата
#опциональный параметр
#тип - целое число
#page = 1
#количество результатов на странице
#опциональный параметр
#тип - целое число
#per_page = 2
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#возможные значения - name, hostname, last_sync, display_name, ip, created_at, updated_at
#sort_by = "created_at"
#порядок сортировки
#опциональный параметр
#тип - строка
#возможные значения - asc, desc
#sort_order = "asc"
#объем информации
#опциональный параметр
#тип - строка
#возможные значения - detailed, general
#port_info = "detailed"
#хостнейм
#опциональный параметр
#тип - строка
#hostname = "hostname"
#фильтр по отображаемому имени
#опциональный параметр
#тип - строка
#display_name = "name"
#IP
#опциональный параметр
#тип - строка
#ip = "192.168. 123.132"
#фильтр по нижней границе даты создания
#опциональный параметр
#тип - строка
#created_from = "2023-01-01T00:00:00Z"
#фильтр по верхней границе даты создания
#опциональный параметр
#тип - строка
#created_to = "2023-01-01T00:00:00Z"
#фильтр по нижней границе даты обновления
#опциональный параметр
#тип - строка
#updated_from = "2023-01-01T00:00:00Z"
#фильтр по верхней границе даты обновления
#опциональный параметр
#тип - строка
#updated_to = "2023-01-01T00:00:00Z"
}
output "test" {
value = data.decort_sdn_hypervisor_list.test
}

View File

@@ -0,0 +1,38 @@
/*
Пример использования ресурса гипервизора
Ресурс позволяет:
1. Редактировать гипервизор
2. Удалять гипервизор
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
resource "decort_sdn_hypervisor" "test" {
#имя гипервизора (текущее)
#обязательный параметр
#тип - строка
#используется при обновлении
name = "name"
#отображаемое имя гипервизора (новое)
#обязательный параметр
#тип - строка
#используется при обновлении
display_name = "name"
}
output "test" {
value = decort_sdn_hypervisor.test
}

View File

@@ -0,0 +1,38 @@
/*
Пример использования
Получение информации о логическом порте по его 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_logical_port" "test" {
#идентификатор логического порта
#обязательный параметр
#тип - строка
logical_port_id = "a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8"
}
output "test" {
value = data.decort_sdn_logical_port.test
}

View File

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

View File

@@ -0,0 +1,139 @@
/*
Пример использования
Получение информации о списке логических портов
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_logical_port_list" "test" {
#фильтр по id группы доступа
#опциональный параметр
#тип - строка
#access_group_id = "b2c3d4e5-f6g7-8901-h2i3-j4k5l6m7n8o9"
#фильтр по id сегмента
#опциональный параметр
#тип - строка
#segment_id = "b2c3d4e5-f6g7-8901-h2i3-j4k5l6m7n8o9"
#фильтр по отображаемому имени сегмента
#опциональный параметр
#тип - строка
#segment_display_name = "name"
#фильтр по id внешней сети
#опциональный параметр
#тип - строка
#external_network_id = "b2c3d4e5-f6g7-8901-h2i3-j4k5l6m7n8o9"
#фильтр по уникальному идентификатору
#опциональный параметр
#тип - строка
#unique_identifier = "ca9d66f0-63b3-4709-98c7-5bc99247c4d3"
#фильтр по отображаемому имени логического порта
#опциональный параметр
#тип - строка
#display_name = "name"
#фильтр по MAC адресу адаптера
#опциональный параметр
#тип - строка
#adapter_mac = "12:1f:00:2f:00:14"
#фильтр по гипервизору
#опциональный параметр
#тип - строка
#hypervisor = "hypervisor"
#фильтр по отображаемому имени гипервизора
#опциональный параметр
#тип - строка
#hypervisor_display_name = "name"
#фильтр по live migration target hv
#опциональный параметр
#тип - строка
#live_migration_target_hv = ""
#фильтр по защите порта
#опциональный параметр
#тип - булев
#port_security = true
#фильтр по обнаружению адреса
#опциональный параметр
#тип - булев
#address_detection = true
#фильтр по включенному\выключенному порту
#опциональный параметр
#тип - булев
#enabled = false
#фильтр по статусу операции
#опциональный параметр
#тип - строка
#operation_status = "Synchronized"
#фильтр по статусу гипервизора
#опциональный параметр
#тип - строка
#hypervisor_status = "Warning"
#фильтр по нижней границе даты создания
#опциональный параметр
#тип - строка
#created_from = "2023-01-01T00:00:00Z"
#фильтр по верхней границе даты создания
#опциональный параметр
#тип - строка
#created_to = "2023-01-01T00:00:00Z"
#номер страницы результата
#опциональный параметр
#тип - целое число
#page = 1
#количество результатов на странице
#опциональный параметр
#тип - целое число
#per_page = 2
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#возможные значения - display_name, created_at, updated_at, deleted_at, segment_id, hypervisor, port_security, segment_display_name, primary_address, hypervisor_display_name
#sort_by = "created_at"
#порядок сортировки
#опциональный параметр
#тип - строка
#возможные значения - asc, desc
#sort_order = "asc"
}
output "test" {
value = data.decort_sdn_logical_port_list.test
}

View File

@@ -0,0 +1,154 @@
/*
Пример использования
Функция позволяет:
- Создать логический порт
- Изменять логический порт
- Удалить логический порт
- Включить/отключить логический порт
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_logical_port" "test" {
#id группы доступа
#обязательный параметр
#тип - строка
#используется при создании
access_group_id = "b2c3d4e5-f6g7-8901-h2i3-j4k5l6m7n8o9"
#описание логического порта
#обязательный параметр
#тип - строка
#используется при создании и обновлении
description = "description"
#отображаемое имя логического порта
#обязательный параметр
#тип - строка
#используется при создании и обновлении
display_name = "name"
#включенение порта
#обязательный параметр
#тип - булев
#используется при создании и обновлении
enabled = true
#связанный гипервизор
#обязательный параметр
#тип - строка
#используется при создании и обновлении
hypervisor = "hypervisor"
#статус безопасности порта
#обязательный параметр
#тип - булев
#используется при создании и обновлении
port_security = true
#id сегмента сети
#обязательный параметр
#тип - строка
#используется при создании и обновлении
segment_id = "a866059a-1900-4f7f-89c1-0f98880f5f4c"
#MAC адрес адаптера
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#adapter_mac = "^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$ default: null"
#уникальный идентификатор порта
#опциональный параметр
#тип - строка
#используется при создании
#unique_identifier = "b2c3d4e5-f6g7-8901-h2i3-j4k5l6m7n8o9"
#управление списком адресов логических портов
#опциональный параметр
#тип - блок
#используется при создании и обновлении
#logical_port_addresses {
#ip
#обязательный параметр
#тип - строка
#ip = "192.168.0.1"
#тип ip
#обязательный параметр
#тип - строка
#возможные значения - IPv4, IPv6
#ip_type = IPv4"
#обнаружен/не обнаружен
#опциональный параметр
#тип - булев
#значение по умолчанию - false
#is_discovered = false
#является ли основным
#обязательный параметр
#тип - булев
#значение по умолчанию - true
#is_primary = true
#MAC адрес
#опциональный параметр
#тип - строка
#mac = "^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$"
#}
#метки
#опциональный параметр
#тип - блок
#используется при создании и обновлении
#labels {
# #идентификатор виртуальной машины
# #опциональный параметр
# #тип - строка
# #vm_id = "vmid-420"
# #имя виртуальной машины
# #опциональный параметр
# #тип - строка
# #vm_name = "my-vm"
#}
#флаг инициации миграции на гипервизор из поля hypervisor
#опциональный параметр
#тип - булев
#значение по умолчанию - false
#используется при обновлении
#migrate = true
#флаг принудительного удаления
#опциональный параметр
#тип - булев
#используется при обновлении
#force = true
}
output "test" {
value = decort_sdn_logical_port.test
}

View File

@@ -0,0 +1,37 @@
/*
Пример использования
Получение информации о группе сетевых объектов по её 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_network_object_group" "name" {
#идентификатор группы сетевых объектов
#обязательный параметр
#тип - строка
net_object_group_id = "a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8"
}
output "test" {
value = data.decort_sdn_network_object_group.name
}

View File

@@ -0,0 +1,88 @@
/*
Пример использования
Получение списка групп сетевых объектов
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_network_object_group_list" "name" {
#фильтр по имени группы сетевых объектов
#опциональный параметр
#тип - строка
#name = "my-group"
#фильтр по id группы доступа
#опциональный параметр
#тип - строка
#access_group_id = "a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8"
#номер страницы результата
#опциональный параметр
#тип - целое число
#page = 1
#количество результатов на странице
#опциональный параметр
#тип - целое число
#per_page = 10
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#возможные значения - name, created_at, updated_at
#sort_by = "name"
#порядок сортировки
#опциональный параметр
#тип - строка
#возможные значения - asc, desc
#sort_order = "asc"
#фильтр по нижней границе даты создания
#опциональный параметр
#тип - строка
#значение по умолчанию - null
#created_from = "2024-01-01T00:00:00Z"
#фильтр по верхней границе даты создания
#опциональный параметр
#тип - строка
#значение по умолчанию - null
#created_to = "2025-01-01T00:00:00Z"
#фильтр по нижней границе даты обновления
#опциональный параметр
#тип - строка
#значение по умолчанию - null
#updated_from = "2024-01-01T00:00:00Z"
#фильтр по верхней границе даты обновления
#опциональный параметр
#тип - строка
#значение по умолчанию - null
#updated_to = "2025-01-01T00:00:00Z"
}
output "test" {
value = data.decort_sdn_network_object_group_list.name
}

View File

@@ -0,0 +1,101 @@
/*
Пример использования
Ресурс позволяет:
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_network_object_group" "name" {
#имя группы сетевых объектов
#обязательный параметр
#тип - строка
#используется при создании и обновлении
name = "my-net-obj-group"
#id группы доступа
#обязательный параметр
#тип - строка
#используется при создании и обновлении
access_group_id = "a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8"
#описание группы сетевых объектов
#обязательный параметр
#тип - строка
#используется при создании и обновлении
description = "description"
#привязка и отвязка l2 портов
#опциональный параметр
#тип - блок
#используется при создании
#l2_connection_ports_bindings {
#id порта
#обязательный параметр
#тип - строка
#port_id = "a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8"
#версия порта
#обязательный параметр
#тип - целое число
#port_version = 1747141621952
#}
#список сетевых адресов
#опциональный параметр
#тип - блок (может быть несколько)
#используется при создании и обновлении
#addresses {
#тип сетевого адреса
#обязательный параметр
#тип - строка
#net_address_type = "ip"
#IP-адрес
#опциональный параметр
#тип - строка
#ip_addr = "192.168.1.10"
#конец диапазона IP-адресов
#опциональный параметр
#тип - строка
#ip_addr_range_end = "192.168.1.20"
#IP-префикс (CIDR)
#опциональный параметр
#тип - строка
#ip_prefix = "192.168.1.0/24"
#MAC-адрес
#опциональный параметр
#тип - строка
#mac_addr = "aa:bb:cc:dd:ee:ff"
#}
}
output "test" {
value = decort_sdn_network_object_group.name
}

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,106 @@
/*
Пример использования
Получение списка 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"
#фильтр по нижней границе даты создания
#опциональный параметр
#тип - строка
#created_from = "2023-01-01T00:00:00Z"
#фильтр по верхней границе даты создания
#опциональный параметр
#тип - строка
#created_to = "2023-01-01T00:00:00Z"
#фильтр по нижней границе даты обновления
#опциональный параметр
#тип - строка
#updated_from = "2023-01-01T00:00:00Z"
#фильтр по верхней границе даты обновления
#опциональный параметр
#тип - строка
#updated_to = "2023-01-01T00:00:00Z"
#фильтр по статусу операции
#опциональный параметр
#тип - строка
#возможные значения - Idle, SynchronizingAtCore, SynchronizingAtOVN, Synchronized, NoHypervisorAtOVN, FailedAtCore, TemporaryFailedAtCore
#operation_status = "Idle"
}
output "test" {
value = data.decort_sdn_segment_list.name
}

View File

@@ -0,0 +1,160 @@
/*
Пример использования
Ресурс позволяет:
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
#}
#тип сегмента
#опциональный параметр
#тип - строка
#возможные значения - User, ExtNet
#используется при создании и обновлении
#type = "User"
#флаг принудительного удаления
#опциональный параметр
#тип - булев
#используется при обновлении
#force = true
}
output "test" {
value = decort_sdn_segment.name
}