/*
Пример использования
Получение информации о списке логических портов
*/

#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
  required_providers {
    decort = {
      source  = "basis/decort/decort"
      version = "<VERSION>"
    }
  }
}
*/
provider "decort" {
  authenticator = "decs3o"
  #controller_url = <DECORT_CONTROLLER_URL>
  controller_url = "https://ds1.digitalenergy.online"
  #oauth2_url = <DECORT_SSO_URL>
  oauth2_url           = "https://sso.digitalenergy.online"
  allow_unverified_ssl = true
}


data "decort_sdn_logical_port_list" "test" {
   #фильтр по id группы доступа
   #опциональный параметр
   #тип - строка
   #access_group_id = "b2c3d4e5-f6g7-8901-h2i3-j4k5l6m7n8o9"

   #фильтр по id сегмента
   #опциональный параметр
   #тип - строка
   #segment_id = "b2c3d4e5-f6g7-8901-h2i3-j4k5l6m7n8o9"

   #фильтр по отображаемому имени сегмента
   #опциональный параметр
   #тип - строка
   #segment_display_name = "name"

   #фильтр по id внешней сети
   #опциональный параметр
   #тип - строка
   #external_network_id = "b2c3d4e5-f6g7-8901-h2i3-j4k5l6m7n8o9"

   #фильтр по уникальному идентификатору
   #опциональный параметр
   #тип - строка
   #unique_identifier = "ca9d66f0-63b3-4709-98c7-5bc99247c4d3"

   #фильтр по отображаемому имени логического порта
   #опциональный параметр
   #тип - строка
   #display_name = "name"

   #фильтр по MAC адресу адаптера
   #опциональный параметр
   #тип - строка
   #adapter_mac = "12:1f:00:2f:00:14"

   #фильтр по гипервизору
   #опциональный параметр
   #тип - строка
   #hypervisor = "hypervisor"

   #фильтр по отображаемому имени гипервизора
   #опциональный параметр
   #тип - строка
   #hypervisor_display_name = "name"

   #фильтр по live migration target hv
   #опциональный параметр
   #тип - строка
   #live_migration_target_hv = ""

   #фильтр по защите порта
   #опциональный параметр
   #тип - булев
   #port_security = true

   #фильтр по обнаружению адреса
   #опциональный параметр
   #тип - булев
   #address_detection = true

   #фильтр по включенному\выключенному порту
   #опциональный параметр
   #тип - булев
   #enabled = false

   #фильтр по нижней границе даты создания
   #опциональный параметр
   #тип - строка
   #значение по умолчанию - null
   #created_from = "2023-01-01T00:00:00Z"

   #фильтр по верхней границе даты создания
   #опциональный параметр
   #тип - строка
   #значение по умолчанию - null
   #created_to = "2023-01-01T00:00:00Z"

   #номер страницы результата
   #опциональный параметр
   #тип - целое число
   #page = 1

   #количество результатов на странице
   #опциональный параметр
   #тип - целое число
   #per_page = 2

   #сортировка по одному из поддерживаемых полей
   #опциональный параметр
   #тип - строка
   #возможные значения - display_name, created_at, updated_at, deleted_at, segment_id, hypervisor, port_security, segment_display_name, primary_address, hypervisor_display_name
   #sort_by = "created_at"

   #порядок сортировки
   #опциональный параметр
   #тип - строка
   #возможные значения - asc, desc
   #sort_order = "asc"
}
output "test" {
  value = data.decort_sdn_logical_port_list.test
}