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

_Data source_ функция **decort_cb_stack** служит для получения информации о переданном stack. Stack - вычислительный узел.

## Аргументы

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

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

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

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

| Параметр             | Тип                                               | Описание                                 |
|----------------------|---------------------------------------------------|------------------------------------------|
| stack_id             | int                                               | ID вычислительного узла (stack)          |
| ckey                 | string                                            | CKey                                     |
| meta                 | []string                                          | Мета информация о stack                  |
| api_url              | string                                            | Адрес api                                |
| api_key              | string                                            | Ключ api                                 |
| app_id               | string                                            | ID приложения                            |
| cpu_allocation_ratio | float                                             | Отношение выделения CPU                  |
| description          | string                                            | Описание                                 |
| descr                | string                                            | Описание                                 |
| drivers              | []string                                          | Список используемых драйверов            |
| eco                  | string                                            | Системные ошибки                         |
| error                | int                                               | Ошибка                                   |
| gid                  | int                                               | Идентификатор площадки (grid id)         |
| guid                 | int                                               | ID ресурса                               |
| images               | []int                                             | Список доступных образов на stack        |
| login                | string                                            | Логин                                    |
| mem_allocation_ratio | float                                             | Коэффициент выделения оперативной памяти |
| name                 | string                                            | Наименование stack                       |
| packages             | []Struct [см. ниже](#описание-структуры-packages) | Информация о пакетах                     |
| passwd               | string                                            | Пароль                                   |
| reference_id         | string                                            | ID ссылки                                |
| status               | string                                            | Статус stack                             |
| type                 | string                                            | Тип stack                                |

### Описание структуры packages
| Параметр           | Тип                                                 | Описание                               |
|--------------------|-----------------------------------------------------|----------------------------------------|
| libvirt_bin        | Struct [см. ниже](#описание-структуры-libvirt_bin)  | Информация о пакете libvirt_bin        |
| libvirt_daemon     | Struct [см. ниже](#описание-структуры-libvirt_daemon) | Информация о пакете libvirt_daemon     |
| lvm2_lockd         | Struct [см. ниже](#описание-структуры-lvm2_lockd)   | Информация о пакете lvm2_lockd         |
| openvswitch_common | Struct [см. ниже](#описание-структуры-openvswitch_common) | Информация о пакете openvswitch_common |
| openvswitch_switch | Struct [см. ниже](#описание-структуры-openvswitch_switch) | Информация о пакете openvswitch_switch |
| qemu_system_x86    | Struct [см. ниже](#описание-структуры-qemu_system_x86) | Информация о пакете qemu_system_x86    |
| sanlock            | Struct [см. ниже](#описание-структуры-sanlock)      | Информация о пакете sanlock            |

### Описание структуры libvirt_bin
| Параметр       | Тип    | Описание |
|----------------|--------|----------|
| installed_size | string | Размер   |
| ver            | string | Версия   |

### Описание структуры libvirt_daemon
| Параметр       | Тип    | Описание |
|----------------|--------|----------|
| installed_size | string | Размер   |
| ver            | string | Версия   |

### Описание структуры lvm2_lockd
| Параметр       | Тип    | Описание |
|----------------|--------|----------|
| installed_size | string | Размер   |
| ver            | string | Версия   |

### Описание структуры openvswitch_common
| Параметр       | Тип    | Описание |
|----------------|--------|----------|
| installed_size | string | Размер   |
| ver            | string | Версия   |

### Описание структуры openvswitch_switch
| Параметр       | Тип    | Описание |
|----------------|--------|----------|
| installed_size | string | Размер   |
| ver            | string | Версия   |

### Описание структуры qemu_system_x86
| Параметр       | Тип    | Описание |
|----------------|--------|----------|
| installed_size | string | Размер   |
| ver            | string | Версия   |

### Описание структуры sanlock
| Параметр       | Тип    | Описание |
|----------------|--------|----------|
| installed_size | string | Размер   |
| ver            | string | Версия   |

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

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

```terraform
data "decort_cb_stack" "stack" {
  stack_id = 1
}

# once the above directive completes, stack will be accessible
# as data.decort_cb_stack.stack
```

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

После успешного завершения такого вызова **decort_cb_stack** в переменной `data.decort_cb_stack.stack` будут сохранены возвращаемые значения. Так, например:
* наименование stack - `data.decort_cb_stack.stack.name`
* версия пакета libvirt_bin - `data.decort_cb_stack.stack.packages.libvirt_bin.ver`
* cписок доступных образов - `data.decort_cb_stack.stack.images`
