_Data source_ функция **dynamix_vins** служит для получения информации об уже существующем виртуальном сетевом сегменте (Virtual Network Segment, ViNS). ## Аргументы _Data source_ функция **dynamix_vins** принимает следующие аргументы: | Аргумент | Тип | Обязательный | Описание | | --- | --- | --- | --- | | vins_id | int | :heavy_check_mark: | ID виртуальной сети | ## Возвращаемые значения В случае успешного выполнения _data source_ функция **dynamix_vins** возвращает в указанную при вызове переменную следующие значения: | Параметр | Тип | Описание | | --- | --- | --- | | vnf_dev | []Struct{} [см. ниже](#описание-структуры-vnf_dev) | VNFDEV | | \_ckey | string | CKey | | account_id | int | Уникальный идентификатор подписчика-владельца ViNS. | | account_name | string | Имя подписчика ("account"), которому принадлежит 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 | Параметр | Тип | Описание | | --- | --- | --- | | bus_number | int | Номер шины | | conn_id | int | ID коннекта | | conn_type | string | Тип коннекта | | def_gw | string | Шлюз по умолчанию | | flipgroup_id | int | ID flipgroup | | guid | string | ID ресурса | | ip_address | string | IP адрес интерфейса | | libvirt_settings | []Struct{}[см. ниже](#описание-структуры-libvirt_settings) | Параметры libvirt virtio интерфейса | | listen_ssh | bool | Флаг, говорящий о том, слушается ли ssh | | mac | string | MAC адрес интерфейса | | mtu | int | Максимальный размер пакета, который может быть передан по сети без фрагментации | | name | string | Имя интерфейса | | net_id | int | ID сети | | net_mask | int | Маска | | net_type | string | Тип сети | | node_id | int | ID узла | | pci_slot | int | Слот pci | | qos | Struct{} [см. ниже](#описание-структуры-qos) | QOS | | target | string | Таргет интерфейса | | type | string | Тип интерфейса | | vnfs | []int | Список ID vnf | ### Описание структуры libvirt_settings | Параметр | Тип | Описание | | --- | --- | --- | | guid | string | GUID | | txmode | string | TX mode | | ioeventfd | string | IO event | | event_idx | string | Event ID | | queues | int | Количество очередей | | rx_queue_size | int | Длина очереди RX | | tx_queue_size | int | Длина очереди TX | ### Описание структуры 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 | Имя виртуальной машины | ## Пример использования Пример вызова _data source_ функции **dynamix_vins**: ```terraform data "dynamix_vins" "vins" { #обязательный параметр #id желаемого vins #тип - целое число vins_id = 10101 } ``` После успешного завершения такого вызова **dynamix_vins** в переменной `data.dynamix_vins.vins` будут сохранены возвращаемые значения. В частности, для получения идентификатора ViNS следует использовать конструкцию `data.dynamix_vins.vins.id`