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,39 @@
/*
Пример использования
Получение информации о внешней сети
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_cb_extnet" "ex" {
#id сети
#обязательный параметр
#тип - целое число
extnet_id = 13
}
output "ex_out" {
value = data.decort_cb_extnet.ex
}

View File

@@ -0,0 +1,34 @@
/*
Пример использования
Получение информации о доступной внешней сети по-умолчанию
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_cb_extnet_default" "ed" {
}
output "default_net_id_out" {
value = data.decort_cb_extnet_default.ed
}

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_cb_extnet_list" "ex_list" {
#id аккаунта для фильтрации результата
#опциональный параметр
#тип - целое число
#account_id = 1111111
#фильтр по id внешней сети
#опциональный параметр
#тип - целое число
#by_id = 100
#фильтр по имени внешней сети
#опциональный параметр
#тип - строка
#name = "test"
#фильтр по IP внешней сети
#опциональный параметр
#тип - строка
#network = "test"
#фильтр по id vlan
#опциональный параметр
#тип - целое число
#vlan_id = 100
#фильтр по id vnfDevices
#опциональный параметр
#тип - целое число
#vnfdev_id = 100
#фильтр по статусу
#опциональный параметр
#тип - строка
#status = "ENABLED"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#кол-во страниц для вывода
#опциональный параметр
#тип - целое число
#page = 1
#размер страницы
#опциональный параметр
#тип - целое число
#size = 1
}
output "ex_out" {
value = data.decort_cb_extnet_list.ex_list
}

View File

@@ -0,0 +1,43 @@
/*
Пример использования
Получение информации о static routes по id в данном extnet
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_cb_extnet_static_route" "route" {
#обязательный параметр
#id extnet в котором добавлены routes
#тип - целое число
extnet_id = 1111
#обязательный параметр
#id route
#тип - целое число
route_id = 1
}
output "route" {
value = data.decort_cb_extnet_static_route.route
}

View File

@@ -0,0 +1,38 @@
/*
Пример использования
Получение списка static routes в данном extnet
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
}
}
}
*/
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_cb_extnet_static_route_list" "list" {
#обязательный параметр
#id extnet в котором добавлены routes
#тип - целое число
extnet_id = 1111
}
output "list" {
value = data.decort_cb_extnet_static_route_list.list
}

View File

@@ -0,0 +1,184 @@
/*
Пример использования
Ресурса extnet
Ресурс позволяет:
1. Создавать extnet
2. Удалять extnet
3. Получать информацию о extnet
4. Предоставлять доступ аккаунтов к extnet
5. Удалять доступ аккаунтов к extnet
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_extnet" "new_extnet" {
#наименование внешней сети
#обязательный параметр
#тип - строка
name = "test_extnet"
#id платформы
#обязательный параметр
#тип - целое число
gid = 500
#CIDR
#обязательный параметр
#тип - строка
ipcidr = "192.168.0.0/24"
#id виртуальной локальной сети
#обязательный параметр
#тип - целое число
vlan_id = 111
#IP-адрес шлюза внешней сети
#опциональный параметр
#тип - строка
#gateway = "test desc"
#cписок DNS адресов
#опциональный параметр
#тип - массив строк
#dns = ["8.8.8.8", "9.9.9.9"]
#список NTP адресов
#опциональный параметр
#тип - массив строк
#ntp = ["ntp0.ntp-servers.net", "ntp1.ntp-servers.net"]
#IP-адреса для проверки доступности сети
#опциональный параметр
#тип - массив строк
#check_ips = ["191.255.0.0,", "191.255.0.0,"]
#если true - DHCP-сервер создан не будет
#опциональный параметр
#тип - булев
#virtual = true
#описание
#опциональный параметр
#тип - строка
#desc = "test desc"
#начало диапазона IP-адресов
#опциональный параметр
#тип - строка
#start_ip = "191.255.0.0"
#окончание диапазона IP-адресов
#опциональный параметр
#тип - строка
#end_ip = "191.255.0.40"
#IP с которым будет создан vnfdev
#опциональный параметр
#тип - строка
#vnfdev_ip = "191.255.0.20"
#количество предварительно созданных бронирований
#опциональный параметр
#тип - целое число
#по умолчанию - 128
#pre_reservations_num = 128
#имя bridge Openvswitch для подключения к внешней сети
#опциональный параметр
#тип - строка
#ovs_bridge = "some"
#включение/выключение внешней сети
#опциональный параметр
#тип - булев
#enable = true
#сделать сеть сетью по умолчанию
#опциональный параметр
#тип - булев
#set_default = true
#список исключенных IP адресов
#опциональный параметр
#тип - массив строк
#excluded_ips = ["192.168.0.4", "192.168.0.5"]
#диапазон исключенных IP адресов
#опциональный параметр
#тип - блок,
#тип вложенных полей - строка
excluded_ips_range {
#начало диапазона
#обязательный параметр
#тип - строка
ip_start = "192.168.0.4"
#окончание диапазона
#обязательный параметр
#тип - строка
ip_end = "192.168.0.50"
}
#список id аккаунтов, которым предоставлен доступ к extnet
#опциональный параметр
#тип - массив целых чисел
#shared_with = [112, 123]
#изменение настроек ограничения трафика сети
#значение по умолчанию 0, то есть без ограничений
#опциональный параметр
#тип - блок,
#тип вложенных полей - целое число
default_qos {
#ограничение внутреннего трафика в кбит
#опциональный параметр
#тип - целое число
#in_rate = 0
#ограничение внутреннего burst трафика в кбит
#опциональный параметр
#тип - целое число
#in_burst = 0
#ограничение внешнего трафика в кбит
#опциональный параметр
#тип - целое число
#e_rate = 0
}
#ID stack на который происходит миграция
#опциональный параметр
#тип - целое число
#migrate = 1
#перезапустить сеть
#опциональный параметр
#тип - булев
#restart = true
}
output "extnet" {
value = decort_cb_extnet.new_extnet
}

View File

@@ -0,0 +1,65 @@
/*
Пример использования
Ресурса extnet static routes
Ресурс позволяет:
1. Создавать static routes
2. Удалять static routes
3. Получать информацию о всех static routes в данном extnet
4. Предоставлять доступ виртуальным машинам к static routes
5. Удалять доступ виртуальным машинам к static routes
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_extnet_static_route" "sr" {
#id extnet
#обязательный параметр
#тип - целое число
extnet_id = 1111
#destination network
#обязательный параметр
#тип - строка
destination = "192.168.201.0"
#destination network mask
#обязательный параметр
#тип - строка
netmask = "255.255.255.255"
#IP-адрес из пула свободных IP-адресов extnet ID
#обязательный параметр
#тип - строка
gateway = "192.168.201.40"
#список виртуальных машин, которым будет предоставлен доступ к роуту
#опциональный параметр
#тип - массив целых чисел
#compute_ids = [111,222]
}
output "sr" {
value = decort_cb_extnet_static_route.sr
}