From 07f8a7b122ace53315f4ab3b669fb9be7893abb5 Mon Sep 17 00:00:00 2001 From: loskutovanl Date: Thu, 23 Nov 2023 15:31:22 +0300 Subject: [PATCH] update resource vins; add resource vins_static_route --- ...-сетевыми-сегментами.md | 376 ++++++++++++++++++ ...-сетевыми-сегментами.md | 52 --- ...м-для-внутренней-сети.md | 46 +++ Home.md | 3 +- 4 files changed, 424 insertions(+), 53 deletions(-) create mode 100644 07.02.12-Resource-функция-decort_cb_vins-управление-виртуальными-сетевыми-сегментами.md delete mode 100644 07.02.12-Resource-функция-decort_vins-управление-виртуальными-сетевыми-сегментами.md create mode 100644 07.02.22-Resource-функция-decort_cb_vins_static_route-управление-статическим-маршрутом-для-внутренней-сети.md diff --git a/07.02.12-Resource-функция-decort_cb_vins-управление-виртуальными-сетевыми-сегментами.md b/07.02.12-Resource-функция-decort_cb_vins-управление-виртуальными-сетевыми-сегментами.md new file mode 100644 index 0000000..f932727 --- /dev/null +++ b/07.02.12-Resource-функция-decort_cb_vins-управление-виртуальными-сетевыми-сегментами.md @@ -0,0 +1,376 @@ +_Resource_ функция **decort_cb_vins** служит для управления виртуальными сетевыми сегментами (Virtual Network Segment) в платформе DECORT. + +## Аргументы +_Resource_ функция **decort_cb_vins** принимает следующие аргументы: + +| Аргумент | Тип | Обязательный | Описание | +|----------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| --- |-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| name | string | :heavy_check_mark: | Имя виртуального сетевого сегмента (ViNS), по которому требуется получить информацию. Имя не может быть пустым.
ViNS идентифицируется по комбинации имени и идентификатора ресурсной группы (`rg_id`) или подписчика (`account_id`).
Обратите внимание, что имя ViNS является уникальным в рамках "account" и ресурсной группы. | +| account_id | int | :heavy_check_mark: | ID аккаунта, в котором будет создан vins. Для создания vins должен быть указан или account_id, или rg_id. | +| rg_id | int | :heavy_check_mark: | Идентификатор ресурсной группы, в которой будет создан vins. Для создания vins должен быть указан или account_id, или rg_id. | +| ext_net_id | int | :x: | Идентификатор внешней сети, в которую должен быть подключён ViNS. ViNS, созданные на уровне "account", не могут иметь подключений к внешним сетям.
-1 – не подключаться к extnet;
0 – автоматический выбор;
1+ – extnet ID.
Значение по умолчанию -1. | +| ext_ip | string | :x: | IP внешней сети, относится только к extNetId >= 0 | +| ipcidr | string | :x: | IP CIDR, который требуется присвоить внутреннему сегменту данного ViNS.
Данный параметр не является обязательным и принимается во внимание только на стадии создания нового ViNS. Если он не задан, то платформа установит значение самостоятельно. | +| pre_reservations_num | int |:x:| Количество предварительно созданных резерваций. Значение по умолчанию 32. | +| gid | int |:x:| ID кластера | +| description | string |:x:| Текстовое описание vins. | +| reason | string |:x:| Причина создания/изменения vins. | +| routes | []Struct{
destination string;
netmask string;
gateway string
} |:x:| Список статических маршрутов. Элемент списка состоит из:
 
адреса сети назначения,
 
маски сети,
 
шлюза по умолчанию. | +|default_qos| []Struct{
in_rate int;
 
in_burst int;
 
e_rate int
} |:x:| Обновить значения QoS по умолчанию:
 
Внутренний трафик, Кбит
 
Burst внутреннего трафика, Кбит
 
Rate внешнего трафика, Кбит | +|enable| bool |:x:| Флаг включения внутренней сети | +|permanently| bool |:x:| Флаг для удаления ресурса vins без возможности восстановления. | +|force| bool |:x:| Флаг для принудительного удаления ресурса vins. | +|ip| []Struct{
 
type string;
 
ip_addr string;
 
mac string;
 
compute_id int;
 
reason string;
 
} |:x:| Создать/удалить резервирование DHCP на внутренней сети:
 
Тип резервирования (обязательный параметр структуры ip)
 
Используемый IP-адрес. Для типа "EXCLUDE" требуется непустая строка. Игнорируется для типов "DHCP" и "VIP".
 
MAC-адрес для связи с резервированием IP-адресов. Игнорируется для типа "EXCLUDE", непустая строка требуется для "DHCP" и "VIP"
 
ID виртуальной машины, связанной с этим резервированием типа "DHCP". Игнорируется для других типов.
 
Причина действия | +|nat_rule| []Struct{
int_ip string;
 
int_port int;
 
ext_port_start int;
 
ext_port_end int
 
proto string;
} |:x:| Добавить/удалить правило NAT (переадресации портов) для внутренней сети.
 
Внутренний IP-адрес (обязательный параметр структуры nat_rule)
 
Внутренний порт (обязательный параметр структуры nat_rule)
 
Внешний начальный порт (обязательный параметр структуры nat_rule)
 
Внешний конечный порт, Значение по умолчанию -1
 
Протокол: tcp или udp. Значение по умолчанию tcp. | +|vnfdev_start| bool |:x:| Флаг запуска основного виртуального маршрутизатора внутренней сети. | +|vnfdev_restart|bool|:x:| Флаг перезагрузки основного виртуального маршрутизатора внутренней сети. | +|vnfdev_reset|bool|:x:| Флаг сброса основного виртуального маршрутизатора внутренней сети. | +|vnfdev_redeploy|bool|:x:| Флаг повторного разворачивания основного виртуального маршрутизатора внутренней сети. | + + +Пользователь облачной платформы, от лица которого происходит обращение к данной функции, должен иметь доступ к указанной учётной записи ("account") и/или ресурсной группе. В противном случае возникнет ошибка доступа. + +Пользователь облачной платформы задается на стадии инициализации Terraform провайдера DECORT (см. [подробности](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/04.02-Инициализация-Terraform-провайдера-DECORT)). + +## Возвращаемые значения +В случае успешного выполнения _data source_ функция **decort_cb_vins** возвращает в указанную при вызове переменную следующие значения: + +| Параметр | Тип | Описание | +|----------------------|------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------| +| vins_id | int | id vins | +| vnf_dev | []Struct [см. ниже](#описание-структуры-vnf_dev) | Виртуальный маршрутизатор внутренней сети | +| account_id | int | ID подписчика ("account"), которому принадлежит ViNS. | +| account_name | string | Имя подписчика ("account"), которому принадлежит ViNS. | +| created_by | string | Аккаунт, создавший vins | +| created_time | int | Время создания vins | +| default_gw | string | Шлюз по умолчанию | +| default_qos | []Struct [см. ниже](#описание-структуры-default_qos) | QOS по умолчанию | +| deleted_by | string | Пользователь, удаливший vins | +| deleted_time | int | Время удаления vins | +| description | string | Текстовое описание ViNS. | +| gid | int | GRID ID | +| guid | int | ID ресурса | +| lock_status | string | Статус доступности | +| manager_id | int | Manager id | +| manager_type | string | Type of manager | +| milestones | int | Вехи | +| name | string | Имя ViNS. | +| netmask | int | Маска сети | +| network | string | Информация о сети | +| pre_reservations_num | int | Кол-во зарезервированных ip адресов | +| redundant | bool | Redudant | +| rg_id | int | Идентификатор ресурсной группы, на уровне которой создан ViNS. Для ViNS, существующих на уровне "account", данный параметр будет равен 0. | +| rg_name | string | Имя ресурсной группы | +| sec_vnf_dev_id | int | ID sec внутренней сети для разработки | +| status | string | Статус vins | +| updated_by | string | Кем был обновлен vins | +| updated_time | int | Время последнего обновления vins | +| user_managed | bool | Флаг, управляется ли пользователем | +| vnfs | []Struct [см. ниже](#описание-структуры-vnfs) | Список VNFs | +| vxlan_id | int | Идентификатор vxlan | + +### Описание структуры vnf_dev +| Параметр | Тип | Описание | +|---------------|---------------------------------------------------------|------------------------------------------------------| +| ckey | string | CKey | +| meta | []string | Мета информация | +| account_id | int | ID учетной записи | +| capabilities | []string | Возможности vnf_dev | +| config | []Struct [см. ниже](#описание-структуры-vnf_dev_config) | Конфигурация | +| config_saved | bool | Флаг, отвечающий за то сохранен ли конфиг | +| custom_precfg | bool | Флаг, отвечающий за то, есть ли кастомный пре-конфиг | +| description | string | Описание | +| gid | int | GRID ID | +| guid | int | ID ресурса | +| id | int | ID виртуального маршрутизатора внутренней сети | +| interfaces | []Struct [см. ниже](#описание-структуры-interfaces) | Список интерфейсов подключений | +| lock_status | string | Статус доступности | +| milestones | int | Вехи | +| name | string | Название виртуального маршрутизатора внутренней сети | +| status | string | Статус виртуального маршрутизатора внутренней сети | +| tech_status | string | Технический статус | +| type | string | Тип виртуального маршрутизатора внутренней сети | +| vins | []int | Список виртуальных сетей | + +### Описание структуры vnf_dev_config +| Параметр | Тип | Описание | +|-----------|----------------------------------------------------|-------------| +| mgmt | []Struct [см. ниже](#описание-структуры-mgmt) | Config Mgmt | +| resources | []Struct [см. ниже](#описание-структуры-resources) | Ресурсы | + +### Описание структуры mgmt +| Параметр | Тип | Описание | +|----------|--------|--------------------| +| ip_addr | string | ip-адрес | +| password | string | Пароль | +| ssh_key | string | Публичный SSH ключ | +| user | string | Имя пользователя | + +### Описание структуры resources +| Параметр | Тип | Описание | +|----------|--------|----------------| +| cpu | int | Количество CPU | +| ram | int | Количество RAM | +| stack_id | int | id стэка | +| uuid | string | UUID ресурса | + +### Описание структуры interfaces +| Параметр | Тип | Описание | +|--------------|----------------------------------------------|----------------------------------| +| conn_id | int | ID подключения | +| conn_type | string | Тип соединения | +| def_gw | string | Шлюз по умолчанию | +| enabled | bool | Флаг доступности | +| flipgroup_id | int | ID группы с плавающим ip-адресом | +| guid | string | ID ресурса | +| ip_address | string | IP адрес | +| listen_ssh | bool | открыт ли ssh connect | +| mac | string | MAC адрес интерфейса | +| name | string | Название интерфейса | +| net_id | int | ID сети | +| net_mask | int | Маска подсети | +| net_type | string | Тип сети | +| pci_slot | int | id pci слота | +| qos | []Struct [см. ниже](#описание-структуры-qos) | QOS | +| target | string | Цель сети | +| type | string | Тип интерфейса | +| vnfs | []int | Список VNFs | + +### Описание структуры qos +| Параметр | Тип | Описание | +|----------|--------|-------------| +| e_rate | int | Egress Rate | +| guid | string | ID ресурса | +| in_brust | int | In brust | +| in_rate | int | In rate | + +### Описание структуры default_qos +| Параметр | Тип | Описание | +|----------|--------|-------------| +| e_rate | int | Egress Rate | +| guid | string | ID ресурса | +| in_brust | int | In brust | +| in_rate | int | In rate | + +### Описание структуры vnfs +| Параметр | Тип | Описание | +|----------|-----------------------------------------------|--------------------| +| dhcp | []Struct [см. ниже](#описание-структуры-dhcp) | Информация о DHCP | +| gw | []Struct [см. ниже](#описание-структуры-gw) | Информация о шлюзе | +| nat | []Struct [см. ниже](#описание-структуры-nat) | NAT | + +### Описание структуры nat +| Параметр | Тип | Описание | +|--------------|-----------------------------------------------------|---------------------------------------------------------| +| ckey | string | CKey | +| meta | []string | Мета информация | +| account_id | int | Уникальный идентификатор подписчика-владельца ViNS. | +| created_time | int | Время создания | +| config | Struct{} [см. ниже](#описание-структуры-nat_config) | Информация о конфиге | +| devices | []Struct{} [см. ниже](#описание-структуры-devices) | Информация о девайсах | +| gid | int | GRID ID | +| guid | int | ID ресурса | +| id | int | ID NAT | +| lock_status | string | Статус доступа виртуальной сети | +| milestones | int | Milestones | +| owner_id | int | ID владельца | +| owner_type | string | Тип владельца | +| pure_virtual | bool | Флаг, показывающий является ли ресурс чисто виртуальным | +| status | string | Статус | +| tech_status | string | Технический статус | +| type | string | Тип ресурса | +| routes | []Struct{} [см. ниже](#описание-структуры-routes) | Список статических маршрутов | + +### Описание структуры nat_config +| Параметр | Тип | Описание | +|----------|--------------------------------------------------|-------------| +| net_mask | int | Маска сети | +| network | string | Сеть | +| rules | []Struct{} [см. ниже](#описание-структуры-rules) | Правила NAT | + +### Описание структуры rules +| Параметр | Тип | Описание | +|-------------------|--------|-------------------------| +| rule_id | int | ID правила | +| local_ip | string | Локальный IP адрес | +| local_port | int | Локальный порт | +| protocol | string | Протокол | +| public_port_end | int | Конец диапазона портов | +| public_port_start | int | Начало диапазона портов | +| vm_id | int | ID виртуальной машины | +| vm_name | string | Имя виртуальной машины | + +### Описание структуры gw +| Параметр | Тип | Описание | +|--------------|----------------------------------------------------|---------------------------------------------------------| +| ckey | string | CKey | +| meta | []string | Мета информация о шлюзе | +| account_id | int | Уникальный идентификатор владельца | +| config | Struct{} [см. ниже](#писание-структуры-gw_config) | Информация о конфиге | +| created_time | int | Время создания | +| devices | []Struct{} [см. ниже](#описание-структуры-devices) | Информация о девайсах | +| gid | int | Grid ID | +| guid | int | ID ресурса | +| id | int | ID gw | +| lock_status | string | Статус доступа gw | +| milestones | int | Вехи | +| owner_id | int | ID владельца | +| owner_type | string | Тип владельца | +| pure_virtual | bool | Флаг, показывающий является ли ресурс чисто виртуальным | +| routes | []Struct{} [см. ниже](#описание-структуры-routes) | Список статических маршрутов | +| status | string | Статус gw | +| tech_status | string | Технический статус gw | +| type | string | Тип gw | + +### Описание структуры gw_config +| Параметр | Тип | Описание | +|-------------|----------------------------------------------|--------------------| +| default_gw | string | Шлюз по умолчанию | +| ext_net_id | int | ID внешней сети | +| ext_net_ip | string | IP внешней сети | +| ext_netmask | int | Маска внешней сети | +| qos | Struct{} [см. ниже](#описание-структуры-qos) | QOS | + +### Описание структуры dhcp +| Параметр | Тип | Описание | +|--------------|------------------------------------------------------|---------------------------------------------------------| +| ckey | string | CKey | +| meta | []string | Мета информация о dhcp | +| account_id | int | id аккаунта | +| config | []Struct [см. ниже](#описание-структуры-dhcp_config) | Конфигурация dhcp | +| created_time | int | Время создания | +| devices | []Struct{} [см. ниже](#описание-структуры-devices) | Информация о девайсах | +| gid | int | Grid ID | +| guid | int | ID ресурса | +| id | int | ID dhcp | +| lock_status | string | Статус доступа dhcp | +| milestones | int | Вехи | +| owner_id | int | ID владельца | +| owner_type | string | Тип владельца | +| pure_virtual | bool | Флаг, показывающий является ли ресурс чисто виртуальным | +| routes | []Struct{} [см. ниже](#описание-структуры-routes) | Список статических маршрутов | +| status | string | Статус dhcp | +| tech_status | string | Технический статус dhcp | +| type | string | Тип dhcp | + +### Описание структуры routes +| Параметр | Тип | Описание | +|-------------|--------|-------------------------------------------------| +| compute_ids | []int | Список ID compute, которым предоствавлен доступ | +| route_id | int | ID статического маршрута | +| guid | int | ID ресурса | +| destination | string | IP целевой сети | +| netmask | int | Маска сети | +| gateway | string | IP шлюза | + +### Описание структуры devices +| Параметр | Тип | Описание | +|----------|--------------------------------------------------|----------------------| +| primary | Struct{} [см. ниже](#описание-структуры-primary) | Первичная информация | + +### Описание структуры primary +| Параметр | Тип | Описание | +|----------|--------|-------------| +| dev_id | int | ID dev | +| iface01 | string | Интерфейс 1 | +| iface02 | string | Интерфейс 2 | + +### Описание структуры dhcp_config +| Параметр | Тип | Описание | +|--------------|-------------------------------------------------------|----------------------------| +| default_gw | string | Шлюз по умолчанию | +| dns | []string | Список dns | +| ip_end | string | Конец диапазона IP адресов | +| ip_start | string | Старт диапазона IP адресов | +| lease | int | Срок | +| net_mask | int | Маска подсети | +| network | string | Информация о сети | +| reservations | []Struct [см. ниже](#описание-структуры-reservations) | Информация о резервациях | + +### Описание структуры reservations +| Параметр | Тип | Описание | +|-------------|--------|-----------------------| +| client_type | string | Тип клиента | +| description | string | Описание | +| domain_name | string | Имя домена | +| host_name | string | Имя хоста | +| ip | string | IP адрес | +| mac | string | MAC адрес | +| type | string | Тип сети | +| vm_id | int | ID виртуальной машины | + +## Пример использования +Пример вызова _data source_ функции **decort_cb_vins**: + +```terraform +resource "decort_cb_vins "my_vins" { + name = "Test_name" + account_id = 2023 #для создания ресурса обязательно должен быть указан или rg_id, или account_id + rg_id = 10101 #для создания ресурса обязательно должен быть указан или rg_id, или account_id + + #ext_net_id = 2222 + #ext_ip = "1.1.1.1" + #ipcidr = "192.168.0.1" + #pre_reservations_num = 2 + #gid = 2002 + #description = "Description" + #reason = "test" + + #блок для указания списка routes +/* + routes = [{ + #destination = "DHCP" + #netmask = "192.168.5.5" + #gateway = "192.168.5.5" + }] +*/ + + # Default qos +/* + default_qos = { + #in_rate = 1 + #in_burst = 1 + #e_rate = 1 + } +*/ + + # Enable, delete parameters + #enable = true + #permanently = true + #force = true + + # IP release, IP reserve parameters +/* + ip { + type = "DHCP" + #ip_addr = "192.168.5.5" + #mac = "ff:ff:ff:ff:ff:ff" + #compute_id = 1234 + #reason = "one more reason" + } +*/ + + # Добавление и удаление NAT Rules +/* + nat_rule { + int_ip = "192.168.0.28" + int_port = 80 + ext_port_start = 8001 + #ext_port_end = 8001 + #proto = "tcp" + } +*/ + + # vnf dev start, stop, restart, reset, redeploy parameters + #vnfdev_start = true + #vnfdev_restart = true + #vnfdev_reset = true + #vnfdev_redeploy = true +} +# Once the above directive completes, ViNS ID will be accessible as +# decort_cb_vins.my_vins.id +``` + +Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/04.02-Инициализация-Terraform-провайдера-DECORT) и [пример](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/02.-Пример-работы)). + +После успешного завершения такого вызова **decort_cb_vins** в переменной `data.decort_cb_vins.my_vins` будут сохранены возвращаемые значения. В частности, для получения идентификатора ViNS следует использовать конструкцию `data.decort_cb_vins.my_vins.id` diff --git a/07.02.12-Resource-функция-decort_vins-управление-виртуальными-сетевыми-сегментами.md b/07.02.12-Resource-функция-decort_vins-управление-виртуальными-сетевыми-сегментами.md deleted file mode 100644 index 19f2a7b..0000000 --- a/07.02.12-Resource-функция-decort_vins-управление-виртуальными-сетевыми-сегментами.md +++ /dev/null @@ -1,52 +0,0 @@ -_Resource_ функция **decort_vins** служит для управления виртуальными сетевыми сегментами (Virtual Network Segment) в платформе DECORT. - -## Аргументы -_Resource_ функция **decort_vins** принимает следующие аргументы: - -| Аргумент | Тип | Обязательный | Описание | -| --- | --- | --- | --- | -| name | string | :heavy_check_mark: | Имя виртуального сетевого сегмента (ViNS), по которому требуется получить информацию. Имя не может быть пустым.
ViNS идентифицируется по комбинации имени и идентификатора ресурсной группы (`rg_id`) или подписчика (`account_id`).
Обратите внимание, что имя ViNS является уникальным в рамках "account" и ресурсной группы. | -| account_id | int | :heavy_check_mark: | Данный параметр является обязательным независимо от того, создаётся ли ViNS на уровне подписчика или на уровне ресурсной группы.
Идентификатор подписчика ("account"), в котором должен находиться данный ViNS.
Обратите внимание, что попытка изменить `account_id` у существующего ресурса приведёт к его пересозданию. | -| ext_net_id | int | :heavy_check_mark: | Идентификатор внешней сети, в которую должен быть подключён ViNS. Если подключение во внешнюю сеть не требуется, то необходимо задать `ext_net_id = 0`.
Обратите внимание, что из всех ViNS, созданных на уровне одной и той же ресурсной группы, только один может иметь подключение к внешней сети. ViNS, созданные на уровне "account", не могут иметь подключений к внешним сетям. | -| description | string | :x: | Текстовое описание данного ViNS.
Данный параметр не является обязательным, значение по умолчанию - пустая строка. | -| ipcidr | string | :x: | IP CIDR, который требуется присвоить внутреннему сегменту данного ViNS.
Данный параметр не является обязательным и принимается во внимание только на стадии создания нового ViNS. Если он не задан, то платформа установит значение самостоятельно. | -| rg_id | int | :x: | Идентификатор ресурсной группы, в которой должен находиться данный ViNS.
Если требуется создать ViNS на уровне подписчика ("account"), то необходимо указать `rg_id = 0`.
Обратите внимание, что попытка изменить `rg_id` у существующего ресурса приведёт к его пересозданию.| - - -Пользователь облачной платформы, от лица которого происходит обращение к данной функции, должен иметь доступ к указанной учётной записи ("account") и/или ресурсной группе. В противном случае возникнет ошибка доступа. - -Пользователь облачной платформы задается на стадии инициализации Terraform провайдера DECORT (см. [подробности](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/04.02-Инициализация-Terraform-провайдера-DECORT)). - -## Возвращаемые значения -В случае успешного выполнения _data source_ функция **decort_vins** возвращает в указанную при вызове переменную следующие значения: - -| Параметр | Тип | Описание | -| --- | --- | --- | -| account_id | int | Уникальный идентификатор подписчика-владельца ViNS. | -| account_name | string | Имя подписчика ("account"), которому принадлежит ViNS. | -| description | string | Текстовое описание ViNS. | -| ext_ip_addr | string | IP адрес подключения ViNS к внешней сети. Если ViNS не подключен к внешней сети, то данный параметр содержит пустую строку.
Обратите внимание, что из всех ViNS, созданных на уровне одной и той же ресурсной группы, только один может иметь подключение к внешней сети. ViNS, созданные на уровне "account", не могут иметь подключений к внешним сетям. | -| ext_net_id | int | Идентификатор внешней сети, к которой подключен данный ViNS. Признаком подключения ViNS ко внешней сети является ненулевое значение этого параметра.
Обратите внимание, что из всех ViNS, созданных на уровне одной и той же ресурсной группы, только один может иметь подключение к внешней сети. ViNS, созданные на уровне "account", не могут иметь подключений к внешним сетям. | -| id | int | Идентификатор ViNS. | -| ipcidr | string | IP CIDR, присвоенный внутреннему сегменту данного ViNS. | -| name | string | Имя ViNS. | -| rg_id | int | Идентификатор ресурсной группы, на уровне которой создан ViNS. Для ViNS, существующих на уровне "account", данный параметр будет равен 0. | - - -## Пример использования -Пример вызова _data source_ функции **decort_vins**: - -```terraform -resource "decort_vins "my_vins" { - name = "Vins01" # this is the name of the ViNS to create - rg_id = 500 # this is the ID of the resource group, where ViNS is created - account_id = 100 # this is the ID of the account, where the resource group is located and ViNS is created - ext_net_id = 0 # no connection to external network for this ViNS -} -# Once the above directive completes, ViNS ID will be accessible as -# decort_vins.my_vins.id -``` - -Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/04.02-Инициализация-Terraform-провайдера-DECORT) и [пример](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/02.-Пример-работы)). - -После успешного завершения такого вызова **decort_vins** в переменной `data.decort_vins.my_vins` будут сохранены возвращаемые значения. В частности, для получения идентификатора ViNS следует использовать конструкцию `data.decort_vins.my_vins.id` diff --git a/07.02.22-Resource-функция-decort_cb_vins_static_route-управление-статическим-маршрутом-для-внутренней-сети.md b/07.02.22-Resource-функция-decort_cb_vins_static_route-управление-статическим-маршрутом-для-внутренней-сети.md new file mode 100644 index 0000000..bea92ac --- /dev/null +++ b/07.02.22-Resource-функция-decort_cb_vins_static_route-управление-статическим-маршрутом-для-внутренней-сети.md @@ -0,0 +1,46 @@ +Функция доступна в провайдере версии 4.5.1 и выше. + +_Resource_ функция **decort_cb_vins_static_route** служит для управления управление статическим маршрутом для внутренней сети. + +## Аргументы +_Resource_ функция **decort_cb_vins_static_route** принимает следующие аргументы: + +| Аргумент | Тип | Обязательный | Описание | +|----------|--------|--------------------|--------------------------------------------------| +| vins_id | int | :heavy_check_mark: | ID виртуальной сети | +| destination | string | :heavy_check_mark: | IP-адрес сети назначения | +| gateway | string | :heavy_check_mark: |Шлюз по умолчанию. IP-адрес из пула свободных IP-адресов внутренней сети. | +| netmask | string | :heavy_check_mark: | Маска сети назначения в формате 255.255.255.255 | +| compute_ids | []int | :x: | Список ID виртуальных машин, которым предоставляется доступ к маршруту | + +## Возвращаемые значения +В случае успешного выполнения _data source_ функция **decort_cb_vins_static_route** возвращает в указанную при вызове переменную следующие значения: + +| Параметр | Тип | Описание | +|-------------|--------|-------------------------------------------------| +| vins_id | int | ID виртуальной сети | +| compute_ids | []int | Список ID compute, которым предоствавлен доступ | +| route_id | int | ID статического маршрута | +| guid | string | ID ресурса | +| destination | string | IP целевой сети | +| netmask | int | Маска сети | +| gateway | string | IP шлюза | + +## Пример использования +Пример вызова _data source_ функции **decort_cb_vins_static_route**: + +```terraform +resource "decort_cb_vins_static_route "my_route" { + vins_id = 385 + destination = "192.168.201.0" + netmask = "255.255.255.255" + gateway = "192.168.201.40" + #compute_ids = [111,222] +} +# Once the above directive completes, ViNS static route id will be accessible as +# decort_cb_vins_static_route.my_route.route_id +``` + +Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/04.02-Инициализация-Terraform-провайдера-DECORT) и [пример](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/02.-Пример-работы)). + +После успешного завершения такого вызова **decort_cb_vins_static_route** в переменной `data.decort_cb_vins_static_route.my_route` будут сохранены возвращаемые значения. diff --git a/Home.md b/Home.md index e7ec996..a5c6262 100644 --- a/Home.md +++ b/Home.md @@ -198,7 +198,7 @@ Terraform провайдер для платформы DECORT с API верси - [**decort_resgroup**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.02.14-Resource-функция-decort_resgroup-управление-ресурсными-группами) - управление ресурсными группами - [**decort_cb_extnet**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.02.15-Resource-функция-decort_cb_extnet-управление-внешними-сетями) - управление внешними сетями - [**decort_disk**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.02.13-Resource-функция-decort_disk-управление-дисковыми-ресурсами) - управление дисковыми ресурсами. - - [**decort_vins**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.02.12-Resource-функция-decort_vins-управление-виртуальными-сетевыми-сегментами) - управление виртуальными сетевыми сегментами. + - [**decort_cb_vins**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.02.12-Resource-функция-decort_cb_vins-управление-виртуальными-сетевыми-сегментами) - управление виртуальными сетевыми сегментами. - [**decort_k8s**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.02.10-Resource-функция-decort_k8s-управление-кластером-kubernetes) - управление кластером - [**decort_k8s_wg**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.02.09-Resource-функция-decort_k8s_wg-управление-worker-groups-кластера) - управление worker group кластера - [**decort_virtual_image**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.02.07-Resource-функция-decort_virtual_image-управление-виртуальным-образом) - управление виртуальным образом @@ -215,6 +215,7 @@ Terraform провайдер для платформы DECORT с API верси - [**decort_cb_lb_backend_server**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.02.19-Resource-функция-decort_cb_lb_backend_server-управление-сервером-бекендом-балансировщиком-нагрузки) управление сервером бекендом балансировщиком нагрузки - [**decort_cb_lb_frontend**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.02.20-Resource-функция-decort_cb_lb_frontend-управление-фронтендом-балансировщиком-нагрузки) управление фронтендом балансировщиком нагрузки - [**decort_cb_lb_frontend_bind**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.02.21-Resource-функция-decort_cb_lb_frontend_bind-управление-привязками-фронтенда-балансировщиком-нагрузки) - управление привязками фронтенда балансировщиком нагрузки + - [**decort_cb_vins_static_route**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.02.22-Resource-функция-decort_cb_vins_static_route-управление-статическим-маршрутом-для-внутренней-сети) - управление статическим маршрутом для внутренней сети --> 8. [Полезные советы](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/08.-Полезные-советы)