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

_Data source_ функция **decort_sdn_logical_port_list** служит для получения информации о списке логических портов.

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

| Аргумент | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| access_group_id | string | :x: | Фильтр по ID группы доступа |
| segment_id | string | :x: | Фильтр по ID сегмента |
| segment_display_name | string | :x: | Фильтр по отображаемому имени сегмента |
| external_network_id | string | :x: | Фильтр по ID внешнй сети |
| unique_identifier | string | :x: | Фильтр по уникальному ID логического порта |
| display_name | string | :x: | Фильтр по отображаемому имени логического порта |
| adapter_mac | string | :x: | Фильтр по MAC |
| hypervisor | string | :x: | Фильтр по гипервизору |
| hypervisor_display_name | string | :x: | Фильтр по отображаемому имени гипервизора |
| live_migration_target_hv | string | :x: | Фильтр по целевому гипервизору |
| port_security | bool | :x: | Фильтр по флагу безопасности порта |
| address_detection | bool | :x: | Фильтр по флагу обнаружения адреса |
| enabled | bool | :x: | Фильтр по флагу доступности логического порта |
| created_from | string | :x: | Фильтр по нижней границе даты создания |
| created_to | string | :x: | Фильтр по верхней границе даты создания |
| page | int | :x: | Номер страницы результата |
| per_page | int | :x: | Количество результатов на странице |
| sort_by | string | :x: | Сортировка по одному из поддерживаемых полей |
| sort_order | string | :x: | Порядок сортировки |


## Возвращаемые значения
В случае успешного выполнения _data source_ функция **decort_sdn_logical_port_list** возвращает в указанную при вызове переменную возвращает в указанную при вызове переменную массив, каждый элемент которого состоит из следующих параметров:

| Параметр | Тип | Описание |
| --- | --- | --- | 
| id | int | ID логического порта |
| access_group_id | string | ID группы доступа |
| access_group_name | string | Имя группы доступа |
| adapter_mac | string | MAC adapter |
| address_detection | bool | Флаг обнаружения адреса |
| description | string | Описание логического порта | 
| created_at | int | Когда создан логический порт |
| display_name | string | Имя логического порта |
| enabled | bool | Флаг доступности логического порта |  
| external_network_id | string | ID внешней сети |
| hypervisor | string | Выбранный гипервизор |
| hypervisor_display_name | string | Имя выбранного гипервизора |
| live_migration_target_hv | string | Гипервизор для миграции |
| status | Struct [см. ниже](#описание-структуры-status) | Описание статуса |
| bindings | Struct [см. ниже](#описание-структуры-bindings) | Описание привязки логического порта |
| unique_identifier | string | Уникальный идентификатор логического порта |
| updated_at | string | Когда обновлён логический порт |  
| version_id | int | Номер версии логического порта |  


### Описание структуры status
| Параметр | Тип | Описание |
| --- | --- | --- |
| status | string | Статус сегмента |
| hypervisors | []Struct [см. ниже](#описание-структуры-hypervisor) | Список гипервизоров |

### Описание структуры hypervisor
| Параметр | Тип | Описание |
| --- | --- | --- |
| status | string | Статус |
| name | string | Имя гипервизора |
| display_name | string | Отображаемое имя гипервизора |
| hypervisor_status | string | Статус гипервизора |
| synced_at | string | Время последней синхронизации |

### Описание структуры bindings
| Параметр | Тип | Описание |
| --- | --- | --- |
| id | string | ID привязки |
| segment_display_name | string | Отображаемое имя сегмента |
| segment_id | string | ID сегмента |
| port_security | bool | Флаг безопасности порта |
| address_detection | bool | Флаг обнаружения адреса |
| is_excluded_from_firewall | bool | Флаг исключения привязки из файервола |
| version_id | int | Номер версии привязки | 
| created_at | int | Когда создана привязка | 
| updated_at | string | Когда обновлена привязка |  
| logical_port_addresses | []Struct [см. ниже](#описание-структуры-logical_port_addresses) | Список адресов логического порта |

### Описание структуры logical_port_addresses
| Параметр | Тип | Описание |
| --- | --- | --- |
| ip | string | IP |
| ip_type | string | Тип IP |
| is_discovered | bool | Флаг обнаружения адреса |
| is_primary | bool | Флаг первичности адреса |
| mac | string | MAC |
| id | string | ID адреса |
| logical_port_id | string | ID логического порта |
| assigned_at | string | Когда был приписан адрес |


## Пример использования
В нижеприведённом примере посредством вызова _data source_ функции **decort_sdn_logical_port_list** извлекается информация об уже существующем на платформе виртуальном сервере со следующими характеристиками:

```terraform
data "decort_sdn_logical_port_list" "test" {
  #идентификатор логического порта
  #обязательный параметр
  #тип - строка
  logical_port_id = "a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8"
}
```

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

После успешного завершения такого вызова **decort_sdn_logical_port_list** в переменной `data.decort_sdn_logical_port_list.test` будут сохранены возвращаемые значения. 

