4.4.0
This commit is contained in:
37
samples/cloudapi/data_stack/main.tf
Normal file
37
samples/cloudapi/data_stack/main.tf
Normal file
@@ -0,0 +1,37 @@
|
||||
/*
|
||||
Получение stack по его id
|
||||
*/
|
||||
|
||||
#Расскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
version = "4.4.0"
|
||||
source = "basis/decort/decort"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
provider "decort" {
|
||||
authenticator = "oauth2"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://alpha.dev.decs.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso-alpha.dev.decs.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_stack" "stack" {
|
||||
#обязательный параметр
|
||||
#тип - число
|
||||
#идентификатор стека
|
||||
stack_id = 2
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_stack.stack
|
||||
}
|
||||
|
||||
64
samples/cloudapi/data_stack_list/main.tf
Normal file
64
samples/cloudapi/data_stack_list/main.tf
Normal file
@@ -0,0 +1,64 @@
|
||||
/*
|
||||
Получение списка stack
|
||||
*/
|
||||
|
||||
#Расскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
version = "4.4.0"
|
||||
source = "basis/decort/decort"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
provider "decort" {
|
||||
authenticator = "oauth2"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://alpha.dev.decs.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso-alpha.dev.decs.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_stack_list" "stack_list" {
|
||||
#необязательный параметр
|
||||
#тип - число
|
||||
#фильтрация списка для получения информации о конкретном stack по его id
|
||||
#by_id =
|
||||
|
||||
#необязательный параметр
|
||||
#тип - строка
|
||||
#фильтрация списка для получения информации о конкретном stack по его имени
|
||||
#name = "alpha-cpu-04"
|
||||
|
||||
#необязательный параметр
|
||||
#тип - строка
|
||||
#фильтрация списка для получения информации о конкретном stack по его типу
|
||||
#type = "KVM"
|
||||
|
||||
#необязательный параметр
|
||||
#тип - строка
|
||||
#фильтрация списка для получения информации о конкретном stack по его статусу
|
||||
#status = "ENABLED"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 3
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_stack_list.stack_list
|
||||
}
|
||||
|
||||
50
samples/cloudapi/data_vins_static_route/main.tf
Normal file
50
samples/cloudapi/data_vins_static_route/main.tf
Normal file
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса vins static routes
|
||||
Ресурс позволяет:
|
||||
1. Создавать static routes
|
||||
2. Удалять static routes
|
||||
3. Получать информацию о всех static routes в данном Vins
|
||||
4. Предоставлять доступ виртуальным машинам к static routes
|
||||
5. Удалять доступ виртуальным машинам к static routes
|
||||
|
||||
*/
|
||||
|
||||
#Расскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
version = "<VERSION>"
|
||||
source = "basis/decort/decort"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "oauth2"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://mr4.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_vins_static_route" "route" {
|
||||
#обязательный параметр
|
||||
#id vins в котором добавлены routes
|
||||
#тип - число
|
||||
vins_id = 1111
|
||||
|
||||
#обязательный параметр
|
||||
#id route
|
||||
#тип - число
|
||||
route_id = 1
|
||||
}
|
||||
|
||||
output "route" {
|
||||
value = decort_vins_static_route.route
|
||||
}
|
||||
45
samples/cloudapi/data_vins_static_route_list/main.tf
Normal file
45
samples/cloudapi/data_vins_static_route_list/main.tf
Normal file
@@ -0,0 +1,45 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса vins static routes
|
||||
Ресурс позволяет:
|
||||
1. Создавать static routes
|
||||
2. Удалять static routes
|
||||
3. Получать информацию о всех static routes в данном Vins
|
||||
4. Предоставлять доступ виртуальным машинам к static routes
|
||||
5. Удалять доступ виртуальным машинам к static routes
|
||||
|
||||
*/
|
||||
|
||||
#Расскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
version = "<VERSION>"
|
||||
source = "basis/decort/decort"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "oauth2"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://mr4.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_vins_static_route_list" "list" {
|
||||
#обязательный параметр
|
||||
#id vins в котором добавлены routes
|
||||
#тип - число
|
||||
vins_id = 1111
|
||||
}
|
||||
|
||||
output "list" {
|
||||
value = decort_vins_static_route_list.list
|
||||
}
|
||||
@@ -77,32 +77,47 @@ resource "decort_bservice_group" "bsg" {
|
||||
|
||||
#драйвер
|
||||
#обязательный параметр
|
||||
#тип - число
|
||||
#тип - строка
|
||||
driver = "kvm_x86"
|
||||
|
||||
#id сетей extnet
|
||||
#обязательный параметр
|
||||
#тип - массив чисел
|
||||
#должен быть использован vins или extnets
|
||||
extnets = [1111]
|
||||
|
||||
#id сетей vinses
|
||||
#обязательный параметр
|
||||
#тип - массив чисел
|
||||
#должен быть использован vins или extnets
|
||||
#vinses = [1111, 2222]
|
||||
|
||||
#время таймуата перед стартом
|
||||
#id Storage endpoint provider
|
||||
#необязательный параметр
|
||||
#тип - число
|
||||
#используется при создании ресурса
|
||||
#timeout_start = 0
|
||||
sep_id = 3
|
||||
|
||||
#Наименование SEPPool используется если установлен sepId, также может быть пустым
|
||||
#необязательный параметр
|
||||
#тип - строка
|
||||
sep_pool = "name"
|
||||
|
||||
#тег группы
|
||||
#необязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и редактировании ресурса
|
||||
# role = "tf_test_changed"
|
||||
role = "tf_test_changed"
|
||||
|
||||
#id сетей extnet
|
||||
#необязательный параметр
|
||||
#тип - массив чисел
|
||||
#должен быть использован vins или extnets
|
||||
extnets = [1111, 2222]
|
||||
|
||||
#id сетей vinses
|
||||
#необязательный параметр
|
||||
#тип - массив чисел
|
||||
#должен быть использован vins или extnets
|
||||
vinses = [1111, 2222]
|
||||
|
||||
#время таймуата перед стартом
|
||||
#необязательный параметр
|
||||
#тип - число
|
||||
#используется при создании ресурса
|
||||
timeout_start = 0
|
||||
|
||||
#Перечень аргументов для cloud-init создаваемым группам узлов Worker
|
||||
#необязательный параметр
|
||||
#тип - файл
|
||||
cloud_init = file("initconfig.tftpl")
|
||||
|
||||
#id групп родителей
|
||||
#необязательный параметр
|
||||
@@ -113,13 +128,14 @@ resource "decort_bservice_group" "bsg" {
|
||||
#принудительное обновление параметров выч. мощностей (ram,disk,cpu) и имени группы
|
||||
#необязательный параметр
|
||||
#тип - булев тип
|
||||
#используется при редактировании
|
||||
#используется при редактировании ресурса
|
||||
#по-умолчанию - false
|
||||
#force_update = true
|
||||
|
||||
#старт/стоп вычислительных мощностей
|
||||
#необязательный параметр
|
||||
#тип - булев тип
|
||||
#используется при редактировании
|
||||
#используется при редактировании ресурса
|
||||
#по-умолчанию - false
|
||||
#start = false
|
||||
|
||||
@@ -141,6 +157,7 @@ resource "decort_bservice_group" "bsg" {
|
||||
#тип - строка
|
||||
#используется в связке с comp_count при редактировании группы
|
||||
#возможные варианты - RELATIVE и ABSOLUTE
|
||||
#по-умолчанию - "RELATIVE"
|
||||
#mode = "RELATIVE"
|
||||
|
||||
}
|
||||
|
||||
@@ -13,11 +13,12 @@ terraform {
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "oauth2"
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
controller_url = "https://mr4.digitalenergy.online"
|
||||
app_id = ""
|
||||
app_secret = ""
|
||||
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_k8s" "cluster" {
|
||||
@@ -49,7 +50,6 @@ resource "decort_k8s" "cluster" {
|
||||
|
||||
# список labels для дефолтной worker группы
|
||||
# опциональный параметр
|
||||
# В скором времени параметры labels, annotations, taints будут полностью перенесены в блок workers
|
||||
# тип - массив строк
|
||||
labels = ["key1=val1", "key2=val2"]
|
||||
|
||||
@@ -80,29 +80,32 @@ resource "decort_k8s" "cluster" {
|
||||
#тип - число
|
||||
cpu = 2
|
||||
|
||||
|
||||
#кол-во RAM в Мбайтах
|
||||
#обязательный параметр
|
||||
#тип - число
|
||||
ram = 2048
|
||||
|
||||
|
||||
#размер диска в Гбайтах
|
||||
#обязательный параметр
|
||||
#тип - число
|
||||
disk = 10
|
||||
}
|
||||
|
||||
#идентификатор SEP для создания загрузочных дисков для master узлов
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
sep_id = 3
|
||||
|
||||
#наименование MasterSEPPool используется если установлен master sepId, также может быть пустым
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
sep_pool = "data_01"
|
||||
}
|
||||
|
||||
#настройка worker группы
|
||||
#опциональный параметр
|
||||
#Первая указанная воркер-группа должна соответствовать изначально созданной вместе с кластером.
|
||||
# labels, annotations, taints для дефолтной worker группы указываются в корне ресурса при создании кластера.
|
||||
workers {
|
||||
#наименование worker группы
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
name = "workers_wg"
|
||||
|
||||
#кол-во node
|
||||
#обязательный параметр
|
||||
#тип - число
|
||||
@@ -187,6 +190,89 @@ resource "decort_k8s" "cluster" {
|
||||
#тип - массив строк
|
||||
taints = ["key1=value1:NoSchedule", "key2=value2:NoExecute"]
|
||||
}
|
||||
|
||||
# id extnet
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
extnet_id = 0
|
||||
|
||||
# id vins
|
||||
# опциональный параметр
|
||||
# тип - число
|
||||
vins_id = 1234
|
||||
|
||||
# создать Kubernetes cluster с masters nodes с подключенным LB
|
||||
# опциональный параметр
|
||||
# тип - булев тип
|
||||
with_lb = true
|
||||
|
||||
# пользовательские значения sysctl для LB
|
||||
# опциональный параметр
|
||||
# тип - строка
|
||||
lb_sysctl_params = "some"
|
||||
|
||||
# позволяет создать схему отказоустройчивой LB
|
||||
# опциональный параметр
|
||||
# тип - булев тип
|
||||
ha_mode = true
|
||||
|
||||
# дополнительные SAN (Subject Alternative Names) для использования в процессе автоматического выписывания сертификата Кластера Kubernetes;
|
||||
# возможность взаимодействовать с кластером по FQDN
|
||||
# параметр получает список строк – IP-адреса и/или DNS (по формату RFC 1123 c поддержкой wildcard)
|
||||
# опциональный параметр
|
||||
# тип - массив строк
|
||||
additional_sans = ["192.168.201.0","192.168.201.1"]
|
||||
|
||||
# используется для определения настроек и действий, которые должны быть выполнены перед запуском любого другого компонента в кластере
|
||||
# это позволяет вам настраивать такие вещи, как регистрация node, настройка network и другие задачи инициализации
|
||||
# опциональный параметр
|
||||
# тип - строка
|
||||
init_config = "{JSON string}"
|
||||
|
||||
# используется для определения глобальных настроек и конфигураций для всего кластера
|
||||
# он включает в себя такие параметры, как имя кластера, настройки DNS, методы аутентификации и другие конфигурации в масштабах кластера
|
||||
# опциональный параметр
|
||||
# тип - строка
|
||||
cluster_config = "{JSON string}"
|
||||
|
||||
# используется для настройки поведения и параметров Kubelet, который является агентом primary node, запускаемым на каждом node кластера
|
||||
# он включает в себя такие параметры, как IP-адрес node, распределение ресурсов, политики удаления модулей и другие конфигурации, специфичные для Kubelet
|
||||
# опциональный параметр
|
||||
# тип - строка
|
||||
kubelet_config = "{JSON string}"
|
||||
|
||||
# используется для настройки поведения и параметров присоединения node к кластеру
|
||||
# он включает в себя такие параметры, как режим прокси-сервера, диапазоны IP-адресов кластера и другие конфигурации, специфичные для Kube-proxy
|
||||
# опциональный параметр
|
||||
# тип - строка
|
||||
kube_proxy_config = "{JSON string}"
|
||||
|
||||
# используется для настройки поведения и параметров присоединения node к кластеру
|
||||
# он включает в себя такие параметры, как cluster's control plane endpoint, токен и ключ сертификата
|
||||
# опциональный параметр
|
||||
# тип - строка
|
||||
join_config = "{JSON string}"
|
||||
|
||||
# описание кластера
|
||||
# опциональный параметр
|
||||
# тип - строка
|
||||
desc = "description"
|
||||
|
||||
# перечень аргументов для cloud-init создаваемым группам узлов Worker
|
||||
# необязательный параметр
|
||||
# тип - файл
|
||||
cloud_init = file("initconfig.tftpl")
|
||||
|
||||
# при создании кластре использовать подключение только к сети ExtNet
|
||||
# опциональный параметр
|
||||
# тип - булев тип
|
||||
extnet_only = true
|
||||
|
||||
# добавить ssl-сертификат в формате x509 pem
|
||||
# необязательный параметр
|
||||
# тип - файл
|
||||
oidc_cert = file("ca.crt")
|
||||
|
||||
}
|
||||
|
||||
output "test_cluster" {
|
||||
|
||||
@@ -41,13 +41,15 @@ resource "decort_lb" "lb" {
|
||||
#тип - строка
|
||||
name = "tf-test-lb"
|
||||
|
||||
#id внешней сети и id виртуальной сети не могут быть одновременно = 0
|
||||
|
||||
#id внешней сети
|
||||
#обязательный параметр
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
extnet_id = 6
|
||||
|
||||
#id виртуальной сети
|
||||
#обязательный параметр
|
||||
#опциональный параметр
|
||||
#тип - число
|
||||
vins_id = 758
|
||||
|
||||
@@ -59,6 +61,11 @@ resource "decort_lb" "lb" {
|
||||
#то для успешного старта, он должен быть доступен (enable = true)
|
||||
start = true
|
||||
|
||||
# позволяет создать схему отказоустройчивой LB
|
||||
# опциональный параметр
|
||||
# тип - булев тип
|
||||
ha_mode = true
|
||||
|
||||
#описание
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
|
||||
74
samples/cloudapi/resource_vins_static_route/main.tf
Normal file
74
samples/cloudapi/resource_vins_static_route/main.tf
Normal file
@@ -0,0 +1,74 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса vins static routes
|
||||
Ресурс позволяет:
|
||||
1. Создавать static routes
|
||||
2. Удалять static routes
|
||||
3. Получать информацию о всех static routes в данном Vins
|
||||
4. Предоставлять доступ виртуальным машинам к static routes
|
||||
5. Удалять доступ виртуальным машинам к static routes
|
||||
|
||||
*/
|
||||
|
||||
#Расскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
version = "<VERSION>"
|
||||
source = "basis/decort/decort"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "oauth2"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://mr4.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_vins_static_route" "sr" {
|
||||
|
||||
#id Vins
|
||||
#обязательный параметр
|
||||
#тип - число
|
||||
vins_id = 1111
|
||||
|
||||
# destination network
|
||||
# обязательный параметр
|
||||
#тип - строка
|
||||
destination = "192.168.201.0"
|
||||
|
||||
# destination network mask
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
netmask = "255.255.255.255"
|
||||
|
||||
# IP-адрес из пула свободных IP-адресов ViNS ID
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
gateway = "192.168.201.40"
|
||||
|
||||
# список виртуальных машин, которым будет предоставлен доступ к роуту
|
||||
#опциональный параметр
|
||||
#тип - массив чисел
|
||||
compute_ids = [111,222]
|
||||
}
|
||||
|
||||
output "sr" {
|
||||
value = decort_vins_static_route.sr
|
||||
}
|
||||
|
||||
data "decort_vins_static_routes_list" "list" {
|
||||
vins_id = 1111
|
||||
}
|
||||
|
||||
output "list" {
|
||||
value = decort_vins_static_routes_list.list
|
||||
}
|
||||
Reference in New Issue
Block a user