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

_Data source_ функция **decort_k8s_list** служит для получения информации о списке кластеров Kubernetes (k8s).

## Аргументы

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

| Аргумент | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| by_id | int | :x: | Фильтр по ID кластера |
| name | string | :x: | Фильтр по имени кластера |
| ip_address | string | :x: | Фильтр по IP адресу |
| rg_id | int | :x: | Фильтр по ID рес. группы |
| lb_id | int | :x: | Фильтр по ID балансировщика |
| bservice_id | int | :x: | Фильтр по ID basic service |
| status | string | :x: | Фильтр по статусу |
| tech_status | string | :x: | Фильтр по тех. статусу |
| includedeleted | bool| :x: | Включить в результат удаленные балансировщики |
| page | int | :x: | Номер страниц |
| size | int | :x: | Размер страницы |

## Возвращаемые значения

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

| Параметр        | Тип                                                       | Описание                            |
|-----------------|-----------------------------------------------------------|-------------------------------------|
| account_id      | int                                                       | ID аккаунта                         |
| account_name    | string                                                    | Имя аккаунта                        |
| acl             | []string                                                  | acl                                 |
| bservice_id     | int                                                       | ID bservice                         |
| ci_id           | int                                                       | ID образа кластера                  |
| config          | []string                                                  | Конфиг                              |
| created_by      | string                                                    | Кем был создан ресурс               |
| created_time    | int                                                       | Время создания ресурса              |
| deleted_by      | string                                                    | Кем был удален ресурс               |
| deleted_time    | int                                                       | Время удаления ресурса              |
| desc            | string                                                    | Описание ресурса                    |
| extnet_id       | int                                                       | ID внешней сети                     |
| gid             | int                                                       | Grid ID                             |
| guid            | int                                                       | ID ресурса                          |
| k8s_id          | int                                                       | ID кластера                         |
| lb_id           | int                                                       | ID балансировщика нагрзуки          |
| milestones      | int                                                       | Milestones                          |
| k8s_name        | string                                                    | Имя кластера k8s                    |
| network_plugin  | string                                                    | Сетевой плагин                      |
| rg_id           | int                                                       | ID ресурсной группы                 |
| rg_name         | string                                                    | Имя ресурсной группы                |
| service_account | Struct{} [см. ниже](#описание-структуры-service_account)  | информация о аккаунте кластера      |
| status          | string                                                    | Статус ресурса                      |
| tech_status     | string                                                    | Технический статус ресурса          |
| updated_by      | string                                                    | Кем был обновлен ресурс             |
| updated_time    | int                                                       | Время последнего обновления ресурса |
| vins_id         | int                                                       | ID виртуальной сети                 |
| workers_groups  | []Struct{} [см. ниже](#описание-структуры-workers_groups) | группы воркеров кластера            |

### Описание-структуры-service_account

| Параметр | Тип | Описание |
| --- | --- | --- |
| guid | int | ID ресурса |
| password | string | Пароль аккаунта |
| username | string | Username аккаунта |

### Описание-структуры-workers_groups

| Параметр | Тип | Описание |
| --- | --- | --- |
| annotations | []string | Аннотации группы workers |
| cpu | int | Кол-во cpu на компьютах workers |
| detailed_info | []Struct{} [см. ниже](#описание-структуры-списка-detailed_info) | Детальная информация о группе |
| disk | int | ID диска |
| guid | string | ID ресурса |
| detailed_info_id | int | ID группы workers |
| labels | []string | Лейблы группы workers |
| name | string | Имя ресурса |
| num | int | Кол-во компьютов в группе workers |
| ram | int | Кол-во Ram на компьютах группы workers |
| taints | []string | огранечители группы workers |

### Описание структуры списка detailed_info

| Параметр | Тип | Описание |
| --- | --- | --- |
| compute_id | int | ID компьюта в составе группы |
| name | string | Имя компьюта в составе группы |
| status | string | Статус компьюта в составе группы |
| tech_status | string | Статус компьюта в составе группы |
| interfaces | []Struct{} [см. ниже](#описание-структуры-списка-interfaces) | Список интерфейсов группы |
| natable_vins_ip | string | IP NAT |
| natable_vins_network | string | IP виртуальной сети |

### Описание структуры списка interfaces

| Параметр | Тип | Описание |
| --- | --- | --- |
| def_gw | string | Шлюз по умолчанию |
| ip_address | string | IP интерфейса |

## Пример использования

Пример вызова _data source_ функции **decort_k8s_list**:

```terraform
data "decort_k8s_list" "k8s_list" {
  #включение удаленных k8s в результат
  #опциональный параметр
  #тип - будев тип
  #если не задан - выводятся все неудаленные данные
  include_deleted = true

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

  #размер страницы
  #опциональный параметр
  #тип - число
  #если не задан - выводятся все доступные данные
  size = 1
}
```

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