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

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

## Аргументы

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

| Аргумент | Тип    | Обязательный | Описание                                  |
|----------|--------|--------------|-------------------------------------------|
| by_id    | int    | :x:          | фильтр по ID вычислительного узла (stack) |
| name     | string | :x:          | фильтр по наименованию stack              |
| type     | string | :x:          | фильтр по типу stack                      |
| status   | string | :x:          | фильтр по статусу stack                   |
| page     | int    | :x:          | Номер страницы для вывода                 |
| size     | int    | :x:          | Размер страницы для вывода                |

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

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

| Параметр             | Тип                                               | Описание                                 |
|----------------------|---------------------------------------------------|------------------------------------------|
| 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_list" "sl" {
  status = "ENABLED"
}

# once the above directive completes, stack list with items with status ENABLED will be accessible
# as data.decort_cb_stack_list.sl.items
```

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

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