Функция доступна в провайдере версии 4.5.1 и выше.

_Data source_ функция **decort_cb_vins** служит для получения информации об уже существующем виртуальном сетевом сегменте (Virtual Network Segment, ViNS).

## Аргументы
_Data source_ функция **decort_cb_vins** принимает следующие аргументы:

| Аргумент | Тип    | Обязательный       | Описание        |
|----------|--------|--------------------|-----------------|
| vins_id  | int    | :heavy_check_mark: | id vins         |
| reason   | string | :x:                | Причина запроса |

## Возвращаемые значения
В случае успешного выполнения _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                                                |

### Описание структуры 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 виртуальной машины |

### Описание структуры devices
| Параметр | Тип                                              | Описание             |
|----------|--------------------------------------------------|----------------------|
| primary  | Struct{} [см. ниже](#описание-структуры-primary) | Первичная информация |

### Описание структуры primary
| Параметр | Тип    | Описание    |
|----------|--------|-------------|
| dev_id   | int    | ID dev      |
| iface01  | string | Интерфейс 1 |
| iface02  | string | Интерфейс 2 |

### Описание структуры routes
| Параметр    | Тип    | Описание                                        |
|-------------|--------|-------------------------------------------------|
| compute_ids | []int  | Список ID compute, которым предоствавлен доступ |
| route_id    | int    | ID статического маршрута                        |
| guid        | int    | ID ресурса                                      |
| destination | string | IP целевой сети                                 |
| netmask     | int    | Маска сети                                      |
| gateway     | string | IP шлюза                                        |

## Пример использования
Пример вызова _data source_ функции **decort_cb_vins**:

```terraform
data "decort_cb_vins" "my_vins" {
  vins_id = 10101
  #reason = "report"
}
# Once the above directive completes, ViNS info will be accessible as
# data.decort_cb_vins.my_vins
```

Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://repository.basistech.ru/BASIS/wiki-terraform-provider-decort/src/branch/main/4.5.2/04.02-Инициализация-Terraform-провайдера-DECORT.md)). 

После успешного завершения такого вызова **decort_cb_vins** в переменной `data.decort_cb_vins.my_vins` будут сохранены возвращаемые значения. В частности, для получения идентификатора ViNS следует использовать конструкцию `data.decort_cb_vins.my_vins.vins_id`
