diff --git a/07.01.04-Resource-функция-decort_vins-управление-виртуальными-сетевыми-сегментами.md b/07.01.04-Resource-функция-decort_vins-управление-виртуальными-сетевыми-сегментами.md
index 079c79f..ba2601a 100644
--- a/07.01.04-Resource-функция-decort_vins-управление-виртуальными-сетевыми-сегментами.md
+++ b/07.01.04-Resource-функция-decort_vins-управление-виртуальными-сетевыми-сегментами.md
@@ -6,31 +6,298 @@ _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_id | int | :x: | Данный параметр является обязательным независимо от того, создаётся ли ViNS на уровне подписчика или на уровне ресурсной группы.
Идентификатор подписчика ("account"), в котором должен находиться данный ViNS.
Обратите внимание, что попытка изменить `account_id` у существующего ресурса приведёт к его пересозданию. |
+| ext_net_id | int | :x: | Идентификатор внешней сети, в которую должен быть подключён ViNS. Если подключение во внешнюю сеть не требуется, то необходимо задать `ext_net_id = 0`.
Обратите внимание, что из всех ViNS, созданных на уровне одной и той же ресурсной группы, только один может иметь подключение к внешней сети. ViNS, созданные на уровне "account", не могут иметь подключений к внешним сетям. |
+| ext_ip_addr | string | :x: | IP внешней сети |
+| ipcidr | string | :x: | IP CIDR, который требуется присвоить внутреннему сегменту данного ViNS.
Данный параметр не является обязательным и принимается во внимание только на стадии создания нового ViNS. Если он не задан, то платформа установит значение самостоятельно. |
+| pre_reservations_num | int | :x: | Кол-во IP адресов, которое будет зарезервировано при создании |
+| gid | int | :x: | GRID ID |
+| enable | bool | :x: | Флаг, отвечающий за возможность переводить ресурс в состояния enable и disable |
+| permanently | bool | :x: | Безвозвратное удаление диска. Используется при удалении|
+| force | bool | :x: | Удаление ресурса, в случае если он к чему-то присоединен произойдет отсоединение его от других ресурсов и удаление|
+| ip | Struct{} [см. ниже](#Описание-структуры-ip)| :x: | Структура для резервирования IP адресов |
+| nat_rule | Struct{} [см. ниже](#Описание-структуры-nat_rule)| :x: | Структура для того, чтобы задавать правила NAT |
+| desc | string | :x: | Текстовое описание данного ViNS.
Данный параметр не является обязательным, значение по умолчанию - пустая строка. |
+| restore | bool | :x: | Флаг, для восстановления ресурса |
+| vnfdev_restart | bool | :x: | Флаг, для рестарта VNF |
+| vnfdev_redeploy | bool | :x: | Флаг, для редеплоя VNF |
+### Описание структуры ip
+| Аргумент | Тип | Обязательный | Описание |
+| --- | --- | --- | --- |
+| type | string | :heavy_check_mark: | Тип резервирования IP адреса |
+| ip_addr | string | :x: | IP адрес, который надо зарезервировать |
+| mac_addr | string | :x: | MAC адрес, который надо зарезервировать |
+| compute_id | int | :x: | ID компьюта, который надо зарезервировать |
+
+### Описание структуры nat_rule
+| Аргумент | Тип | Обязательный | Описание |
+| --- | --- | --- | --- |
+| int_ip | string | :x: | Внутренний IP, для NAT правила |
+| int_port | int | :x: | Внутренний порт, для NAT правила |
+| ext_port_start | int | :x: | Начало диапазона внешних портов, для NAT правила |
+| ext_port_end | int | :x:| Конец диапазона внешних портов, для NAT правила |
+| proto | string | :x: | Протокол для NAT. tcp или udp |
Пользователь облачной платформы, от лица которого происходит обращение к данной функции, должен иметь доступ к указанной учётной записи ("account") и/или ресурсной группе. В противном случае возникнет ошибка доступа.
-Пользователь облачной платформы задается на стадии инициализации Terraform провайдера DECORT (см. [подробности](https://github.com/rudecs/terraform-provider-decort/wiki/03.-%D0%9E%D0%B1%D0%B7%D0%BE%D1%80-%D0%BE%D0%B1%D0%BB%D0%B0%D1%87%D0%BD%D0%BE%D0%B9-%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D1%8B-DECORT.)).
## Возвращаемые значения
В случае успешного выполнения _data source_ функция **decort_vins** возвращает в указанную при вызове переменную следующие значения:
| Параметр | Тип | Описание |
| --- | --- | --- |
+| vnf_dev | []Struct{} [см. ниже](#Описание-структуры-vnf_dev)| VNFDEV |
+| \_ckey | string | CKey |
| 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. |
+| computes | []Struct{} [см. ниже](#Описание-структуры-computes) | Информация о компьютах |
+| default_gw | string | Шлюз по умолчанию |
+| default_qos | []Struct{} [см. ниже](#Описание-структуры-qos) | qos виртуальной сети |
+| desc | string | Текстовое описание ViNS. |
+| gid | int | Grid ID |
+| guid | int | ID ресурса |
+| lock_status | string | Статус доступа виртуальной сети |
+| manager_id | int | ID manager |
+| manager_type | string | Type of manager |
+| milestones | int | Milestones |
| name | string | Имя ViNS. |
+| net_mask | int | Маска подсети |
+| network | string | Сеть Vins |
+| 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 vnf |
+| status | string | Статус |
+| user_managed | bool | Флаг user managed |
+| vnfs | []Struct{} [см. ниже](#Описание-структуры-vnfs) | VNFS |
+| vxlan_id | int | ID vxlan |
+
+### Описание структуры vnf_dev
+
+| Параметр | Тип | Описание |
+| --- | --- | --- |
+| \_ckey | string | Ckey |
+| account_id | int | ID аккаунта |
+| capabilities | []string | Возможности vnf_dev |
+| config | Struct{} [см. ниже](#Описание-структуры-config)| Конфиг VNF |
+| config_saved | bool | Флаг, отвечающий за то сохранен ли конфиг |
+| custom_pre_cfg | bool | Custom |
+| desc | string | Описание |
+| gid | int | Grid ID |
+| guid | int | ID ресурса |
+| vnf_id | int | ID vnf |
+| interfaces | []Struct{} [см. ниже](#Описание-структуры-interfaces)| Информация о интерфейсах |
+| lock_status | string | Статус доступа vnf_dev |
+| milestones | int | Этапы |
+| vnf_name | string | Имя VNF |
+| status | string | Статус |
+| tech_status | string | Технический статус |
+| type | string | Тип vnf |
+| vins | []int | Список виртуальных сетей |
+
+### Описание структуры config
+
+| Параметр | Тип | Описание |
+| --- | --- | --- |
+| mgmt | Struct{} [см. ниже](#Описание-структуры-mgmt) | Config Mgmt |
+| resources | []Struct{} [см. ниже](#Описание-структуры-resources)| Config resources |
+
+### Описание структуры mgmt
+
+| Параметр | Тип | Описание |
+| --- | --- | --- |
+| ip_addr | string | IP адрес mgmt |
+| password | string | Пароль юзера |
+| ssh_key | string | Публичный SSH ключ |
+| user | string | Имя юзера |
+
+### Описание структуры resources
+
+| Параметр | Тип | Описание |
+| --- | --- | --- |
+| cpu | int | Кол-во cpu ресурса |
+| ram | int | Кол-во ram ресурса |
+| stack_id | int | ID stack ресурса |
+| uuid | string | UUID ресурса |
+
+### Описание структуры interfaces
+
+| Параметр | Тип | Описание |
+| --- | --- | --- |
+| conn_id | int | ID коннекта |
+| conn_type | string | Тип коннекта |
+| def_gw | string | Шлюз по умолчанию |
+| flipgroup_id | int | ID flipgroup |
+| guid | string | ID ресурса |
+| ip_address | string | IP адрес интерфейса |
+| listen_ssh | bool | Флаг, говорящий о том, слушается ли ssh |
+| mac | string | MAC адрес интерфейса |
+| name | string | Имя интерфейса |
+| net_id | int | ID сети |
+| net_mask | int | Маска |
+| net_type | string | Тип сети |
+| pci_slot | int | Слот pci |
+| qos | Struct{} [см. ниже](#Описание-структуры-qos) | QOS |
+| target | string | Таргет интерфейса |
+| type | string | Тип интерфейса |
+| vnfs | []int | Список ID vnf |
+
+### Описание структуры computes
+
+| Параметр | Тип | Описание |
+| --- | --- | --- |
+| compute_id | int | ID компьюта |
+| compute_name | string | Имя компьюта |
+
+### Описание структуры qos
+
+| Параметр | Тип | Описание |
+| --- | --- | --- |
+| e_rate | int | E rate |
+| guid | string | ID ресурса |
+| in_brust | int | In brust |
+| in_rate | int | In rate |
+
+### Описание структуры vnfs
+
+| Параметр | Тип | Описание |
+| --- | --- | --- |
+| dhcp | []Struct{} [см. ниже](#Описание-структуры-dhcp) | информаиця о DHCP |
+| gw | []Struct{} [см. ниже](#Описание-структуры-gw) | GW |
+| nat | []Struct{} [см. ниже](#Описание-структуры-nat) | NAT |
+
+### Описание структуры dhcp
+
+| Параметр | Тип | Описание |
+| --- | --- | --- |
+| \_ckey | string | CKey |
+| account_id | int | Уникальный идентификатор подписчика-владельца ViNS. |
+| config | Struct{} [см. ниже](#Описание-структуры-dhcp-config)| Информация о DHCP конфиге |
+| created_time | int | Время создания |
+| devices | []Struct{} [см. ниже](#Описание-структуры-devices)| Информация о девайсах |
+| gid | int | GRID ID |
+| guid | int | ID ресурса |
+| dhcp_id | int | ID dhcp |
+| lock_status | string | Статус доступа виртуальной сети |
+| milestones | int | Milestones |
+| owner_id | int | ID владельца |
+| owner_type | string | Тип владельца |
+| pure_virtual | bool | Флаг, показывающий является ли ресурс чисто виртуальным |
+| status | string | Статус |
+| tech_status | string | Технический статус |
+| type | string | Тип ресурса |
+
+### Описание структуры dhcp config
+
+| Параметр | Тип | Описание |
+| --- | --- | --- |
+| default_gw | string | Шлюз по умолчанию |
+| dns | []string | Список dns |
+| ip_end | string | Конец диапазона IP адресов |
+| ip_start | string | Старт диапазона IP адресов |
+| lease | int | срок |
+| netmask | int | Маска сети |
+| network | string | Сеть |
+| reservations | []Struct{} [см. ниже](#Описание-структуры-reservations)| Информация о резервациях |
+
+### Описание структуры reservations
+
+| Параметр | Тип | Описание |
+| --- | --- | --- |
+| client_type | string | Тип клиента |
+| desc | string | Описание |
+| domainname | string | Имя домена |
+| hostname | string | Имя хоста |
+| ip | string | IP адрес |
+| mac | string | MAC адрес |
+| type | string | Тип |
+| vm_id | int | ID виртуальной машины |
+
+
+### Описание структуры devices
+| Параметр | Тип | Описание |
+| --- | --- | --- |
+| primary | Struct{} [см. ниже](#Описание-структуры-primary)| Первичная информация |
+
+### Описание структуры primary
+| Параметр | Тип | Описание |
+| --- | --- | --- |
+| dev_id | int | ID dev |
+| iface01 | string | Интерфейс 1|
+| iface02 | string | Интерфейс 2|
+
+### Описание структуры gw
+
+| Параметр | Тип | Описание |
+| --- | --- | --- |
+| \_ckey | string | CKey |
+| account_id | int | Уникальный идентификатор подписчика-владельца ViNS. |
+| config | Struct{} [см. ниже](#Описание-структуры-gw-config)| Информация о конфиге |
+| created_time | int | Время создания |
+| devices | []Struct{} [см. ниже](#Описание-структуры-devices)| Информация о девайсах |
+| gid | int | GRID ID |
+| guid | int | ID ресурса |
+| gw_id | int | ID GW |
+| lock_status | string | Статус доступа виртуальной сети |
+| milestones | int | Milestones |
+| owner_id | int | ID владельца |
+| owner_type | string | Тип владельца |
+| pure_virtual | bool | Флаг, показывающий является ли ресурс чисто виртуальным |
+| status | string | Статус |
+| tech_status | string | Технический статус |
+| type | string | Тип ресурса |
+
+### Описание структуры gw config
+
+| Параметр | Тип | Описание |
+| --- | --- | --- |
+| default_gw | string | Шлюз по умолчанию |
+| ext_net_id | int | ID внешней сети |
+| ext_net_ip | string | IP внешней сети |
+| ext_netmask | int | Маска внешней сети |
+| qos | Struct{} [см. ниже](#Описание-структуры-qos) | QOS |
+
+### Описание структуры nat
+| Параметр | Тип | Описание |
+| --- | --- | --- |
+| \_ckey | string | CKey |
+| account_id | int | Уникальный идентификатор подписчика-владельца ViNS. |
+| created_time | int | Время создания |
+| config | Struct{} [см. ниже](#Описание-структуры-nat-config)| Информация о конфиге |
+| devices | []Struct{} [см. ниже](#Описание-структуры-devices)| Информация о девайсах |
+| gid | int | GRID ID |
+| guid | int | ID ресурса |
+| nat_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 | Тип ресурса |
+
+### Описание структуры 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 | Имя виртуальной машины |
## Пример использования
@@ -38,15 +305,134 @@ _Resource_ функция **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
+ #обязательный параметр
+ #имя создаваемого ресурса
+ #тип - строка
+ name = "Test_name"
+
+ #опциональный параметр
+ #id ресурсной группы для создаения ресруса
+ #тип - число
+ rg_id = 10101
+
+ #опциональный параметр
+ #id аккаунта для создаения ресруса
+ #тип - число
+ account_id = 2023
+
+ #опциональный параметр
+ #id внешней сети для подключения к ней ресруса
+ #тип - число
+ ext_net_id = 2222
+
+ #опциональный параметр
+ #ip внешней сети для подключения к нему ресруса
+ #тип - строка
+ ext_ip_addr = "1.1.1.1"
+
+
+ #опциональный параметр
+ #private network IP CIDR
+ #тип - строка
+ ipcidr = "192.168.0.1"
+
+ #опциональный параметр
+ #количество зарезервированных адресов на момент создания
+ #тип - число
+ #значение по умолчанию 32
+ pre_reservations_num = 2
+
+ #опциональный параметр
+ #grid (platform) ID
+ #тип - число
+ gid = 2002
+
+ #опциональный параметр
+ #Description
+ #тип - строка
+ desc = "Description"
+
+ #опциональный параметр
+ #ручное подключение и отключение ресурса
+ #тип - булев тип
+ enable = true
+
+ #опциональный параметр
+ #удаление навсегда
+ #тип - булев тип
+ permanently = true
+
+ #опциональный параметр
+ #удаляет за собой все зависимые ресурсы
+ #тип - булев тип
+ force = true
+
+ #опциональный параметр
+ #блок для резервирования ip
+ #тип - блок
+ ip {
+ #обязательный параметр
+ #тип подключения
+ #тип - строка
+ type = "DHCP"
+
+ #опциональный параметр
+ #ip который необходимо зарезервировать
+ #тип - строка
+ ip_addr = "192.168.5.5"
+
+ #опциональный параметр
+ #mac который необходимо зарезервировать
+ #тип - строка
+ mac_addr = "ff:ff:ff:ff:ff:ff"
+ }
+
+ #опциональный параметр
+ #блок для добавления natRule
+ #тип - блок
+ nat_rule {
+ #опциональный параметр
+ #ip внутренний
+ #тип - строка
+ int_ip = "192.168.0.28"
+
+ #опциональный параметр
+ #внутренний порт
+ #тип - число
+ int_port = 80
+
+ #опциональный параметр
+ #начало диапазона внешних портов
+ #тип - число
+ ext_port_start = 8001
+
+ #опциональный параметр
+ #конец диапазона внешних портов
+ #тип - число
+ ext_port_end = 8001
+
+ #опциональный параметр
+ #протокол natRule
+ #тип - строка
+ proto = "tcp"
+ }
+
+ #опциональный параметр
+ #восстановление ресурса
+ #тип - булев тип
+ restore = true
+
+ #опциональный параметр
+ #перезапуск vnfDev
+ ##тип - булев тип
+ vnfdev_restart = true
+
+ #опциональный параметр
+ #редеплой vnfDev
+ #тип - булев тип
+ vnfdev_redeploy = true
}
-# Once the above directive completes, ViNS ID will be accessible as
-# decort_vins.my_vins.id
```
-Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://github.com/rudecs/terraform-provider-decort/wiki/05.-%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F-Terraform-%D0%BF%D1%80%D0%BE%D0%B2%D0%B0%D0%B9%D0%B4%D0%B5%D1%80%D0%B0-DECORT.) и [пример](https://github.com/rudecs/terraform-provider-decort/wiki/02.-%D0%9A%D0%BE%D1%80%D0%BE%D1%87%D0%B5,-%D0%A1%D0%BA%D0%BB%D0%B8%D1%84%D0%BE%D1%81%D0%BE%D1%84%D1%81%D0%BA%D0%B8%D0%B9!)).
-После успешного завершения такого вызова **decort_vins** в переменной `data.decort_vins.my_vins` будут сохранены возвращаемые значения. В частности, для получения идентификатора ViNS следует использовать конструкцию `data.decort_vins.my_vins.id`
\ No newline at end of file
+После успешного завершения такого вызова **decort_vins** в переменной `data.decort_vins.my_vins` будут сохранены возвращаемые значения. В частности, для получения идентификатора ViNS следует использовать конструкцию `data.decort_vins.my_vins.id`