diff --git a/06.01.04-Data-функция-decort_vins-получение-информации-о-ViNS.md b/06.01.04-Data-функция-decort_vins-получение-информации-о-ViNS.md index ff837cc..55e942c 100644 --- a/06.01.04-Data-функция-decort_vins-получение-информации-о-ViNS.md +++ b/06.01.04-Data-функция-decort_vins-получение-информации-о-ViNS.md @@ -5,9 +5,7 @@ _Data source_ функция **decort_vins** принимает следующи | Аргумент | Тип | Обязательный | Описание | | --- | --- | --- | --- | -| name | string | :heavy_check_mark: | Имя виртуального сетевого сегмента (ViNS), по которому требуется получить информацию. Имя не может быть пустым.
ViNS идентифицируется по комбинации имени и идентификатора ресурсной группы (`rg_id`) или подписчика (`account_id`).
Обратите внимание, что имя ViNS является уникальным в рамках "account" и ресурсной группы. | -| account_id | int | :x: | Идентификатор подписчика ("account"), в котором находится данный ViNS.
Данный параметр игнорируется, если задан ненулевой `rg_id`, так как в этом случае подразумевается, что осуществляется поиск ViNS на уровне указанной ресурсной группы. | -| rg_id | int | :x: | Идентификатор ресурсной группы, в которой находится данный ViNS.
Если необходимо найти ViNS, созданный на уровне подписчика ("account"), то необходимо указать ненулевой `account_id`, а параметр `rg_id` не задавать. | +| vins_id | int | :heavy_check_mark: | ID виртуальной сети | Пользователь облачной платформы, от лица которого происходит обращение к данной функции, должен иметь доступ к указанной учётной записи ("account") и/или ресурсной группе. В противном случае возникнет ошибка доступа. @@ -18,29 +16,266 @@ _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 | Имя виртуальной машины | ## Пример использования Пример вызова _data source_ функции **decort_vins**: ```terraform -data "decort_vins" "my_vins" { - name = "Vins01" # this is the name of pre-existing ViNS - rg_id = 500 # this is the ID of the resource group, where ViNS named "Vins01" is found +data "decort_vins" "vins" { + #обязательный параметр + #id жедаемого vins + #тип - число + vins_id = 10101 } -# Once the above directive completes, ViNS ID will be accessible as -# data.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.vins` будут сохранены возвращаемые значения. В частности, для получения идентификатора ViNS следует использовать конструкцию `data.decort_vins.vins.id`