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

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

## Аргументы

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

| Аргумент | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| k8s_id | int | :heavy_check_mark: | ID кластера |

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

В случае успешного выполнения _data source_ функция **decort_cb_k8s** возвращает следующие параметры:

| Параметр | Тип | Описание                            |
| --- | --- |-------------------------------------|
| acl | Struct{} [см. ниже](#описание-структуры-acl) | acl                                 |
| account_id | int | ID аккаунта                         |
| account_name | string | Имя аккаунта                        |
| bservice_id | int | ID bservice                         |
| k8sci_id | int | ID образа кластера                  |
| 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_ci_name | string | Имя образа кластера                 |
|k8s_groups| []Struct{} [см. ниже](#описание-структуры-k8s_groups) | Стурктура компьютов                 |
| kubeconfig | string | Конфиг                              |
| lb_id | int | ID балансировщика нагрузки          |
| milestones | int | Вехи                                |
| lb_ip | string | IP балансировщика нагрузки          |
| name | string | Имя ресурса                         |
| network_plugin | string                                             | Сетевой плагин                      |
| rg_id | int | ID ресурсной группы                 |
| rg_name | string | Имя ресурсной группы                |
| service_account | Struct{} [см. ниже](#описание-структуры-service_account)| информация о аккаунте кластера      |
| ssh_key | string | Публичный SSH ключ                  |
| status | string | Статус ресурса                      |
| tech_status | string | Технический статус ресурса          |
| updated_by | string | Кем был обновлен ресурс             |
| updated_time | int | Время последнего обновления ресурса |
| vins_id | int | ID виртуальной сети                 |

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

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

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

| Параметр | Тип | Описание |
| --- | --- | --- |
| account_acl | []Struct{} [см. ниже](#описание-структуры-списка-acl)  | account_acl |
| k8s_acl| []Struct{} [см. ниже](#описание-структуры-списка-acl) | k8s_acl |
| rg_acl | []Struct{} [см. ниже](#описание-структуры-списка-acl) | rg_acl |

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

| Параметр | Тип | Описание |
| --- | --- | --- |
| explicit      | bool   | explicit |
| guid          | string | ID ресурса |
| right         | string | right |
| status        | string | Статус ресурса |
| type          | string | Тип ресурса |
| user_group_id | string | ID группы |

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

| Параметр | Тип | Описание |
| --- | --- | --- |
| masters | []Struct{} [см. ниже](#описание-структуры-masters) | Структура компьютов мастеров        |
| workers | []Struct{} [см. ниже](#описание-структуры-workers) | Структура компьютов воркеров        |

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

| Параметр | Тип | Описание |
| --- | --- | --- |
| cpu | int | Кол-во cpu на компьютах master |
| detailed_info | []Struct{} [см. ниже](#описание-структуры-списка-detailed_info) | Детальная информация masters |
| disk | int | ID диска |
| master_id | int | ID группы master |
| name | string | Имя группы master |
| num | int | Кол-во компьютов в группе master |
| ram | int | Кол-во Ram на компьютах группы master|

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

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

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

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

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

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

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

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

```terraform
data "decort_cb_k8s" "k8s" {
  #id кластера
  #обязательный параметр
  #тип - число
  k8s_id = 49304
}
```

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