_Data source_ функция **dynamix_disk_list** служит для получения информации об имеющихся дисках. ## Аргументы _Data source_ функция **dynamix_disk_list** принимает следующие аргументы: | Аргумент | Тип | Обязательный | Описание | | --- | --- | --- | --- | | by_id | int | :x: | Фильтр по ID диска | | name | string | :x: | Фильтр по имени диска | | account_name | string | :x: | Фильтр по имени аккаунта | | disk_max_size | int | :x: | Фильтр по макс. размеру диска | | status | string | :x: | Фильтр по статусу | | shared | bool | :x: | Фильтр по значению shared | | account_id | int | :x: | id аккаунта для получения списка дисков | | type | string | :x: | Тип диска. Возможные типы: "B" - boot_disk, "D" - data_disk | | sep_id | int | :x: | Фильтр по SEP id. SEP это способ идентифицировать конкретную систему хранения, на ресурсах которой размещён данный диск | | pool_name | string | :x: | Фильтр по наименованию pool | | sort_by | string | :x: | Фильтр по одному из поддерживаемых полей, формат: +или- название поля | | page | int | :x: | Номер страниц | | size | int | :x: | Размер страницы | ## Возвращаемые значения В случае успешного выполнения _data source_ функция **dynamix_disk_list** возвращает в указанную при вызове переменную, в поле _items_ массив, каждый элемент которого состоит из следующих параметров: | Параметр | Тип | Описание | | --- | --- | --- | | account_id | int | Уникальный идентификатор подписчика-владельца диска | | account_name | string | Имя подписчика ("account"), которому принадлежит данный диск | | acl | string | Acces Control List | | computes | Struct{} [см. ниже](#описание-структуры-computes) | Информация о компьютах (виртуальных машинах) | | created_time | int | Время создания | | deleted_time | int | Время удаления | | desc | string | Текстовое описание диска | | destruction_time | int | Время окончательного удаления | | devicename | string | Наименование устройства | | disk_id | int | Идентификатор диска. Дублирует значение параметра `id`. | | gid | int | Идентификатор площадки (grid id) | | id | int | Идентификатор диска | | image_id | int | Идентификатор образа, содержимое которого было склонировано/скопировано в данный диск при его создании. 0 означает, что данный диск не создавался как клон/копия какого-либо образа | | images | []int | Идентификаторы образов, использующих диск | | iotune | Struct{}[см. ниже](#описание-структуры-iotune) | Информация об ограничениях IO диска | | machine_id | int | id машины (устаревшее) | | machine_name | string | Наименование машины (устаревшее) | | disk_name | string | Наименование диска | | order | int | Номер диска | | params | string | Параметры диска | | parent_id | int | id родительского диска | | pci_slot | int | id pci слота, к которому подключен диск | | pool | string | Имя пула в системе хранения, на ресурсах которой размещён данный диск | | present_to | []int | Список ID ресурсов, которым предоставлен диск | | purge_time | int | Время удаления | | replication | Struct{} [см. ниже](#описание-структуры-replication) | Информация о реплике диска | | res_id | int | id ресурса | | res_name | string | Наименование ресурса | | role | string | Роль диска | | sep_id | int | Идентификатор Storage Endpoint Provider (SEP). SEP это способ идентифицировать конкретную систему хранения, на ресурсах которой размещён данный диск | | sep_type | string | Тип SEP. Определяет тип системы хранения и содержит одно из заданных в облачной платформе значений | | shareable | bool | Флаг, отвечающий за доступность диска дургим ресурсам | | size_max | int | Размер диска в ГБ | | size_used | float | Кол-во используемого места, в ГБ | | snapshots | []Struct{}[см. ниже](#описание-структуры-snapshots) | Снимки состояния диска | | status | string | Статус диска | | tech_status | string | Технический статус диска | | type | string | Тип диска с точки зрения его роли в составе _compute_. Может принимать одно из фиксированных значений:
"B" - признак загрузочного диска ("boot").
"D" - признак дополнительного диска ("data") | | vmid | int | Идентификатор виртуальной машины (устаревшее) | ### Описание структуры computes | Параметр | Тип | Описание | | --- | --- | --- | | compute_id | int | Идентификатор компьюта | | compute_name | string | Имя компьюта | ### Описание структуры iotune | Параметр | Тип | Описание | | --- | --- | --- | | read_bytes_sec | int | Кол-во байт для чтения в секунду | | read_bytes_sec_max | int | Максимальное кол-во байт для чтения | | read_iops_sec | int | Кол-во операций чтения io в секунду | | read_iops_sec_max | int | Максимальное число io операций чтения | | size_iops_sec | int | Размер io операций | | total_bytes_sec | int | Общий размер байт в секунду | | total_bytes_sec_max | int | Максимальный общий размер байт в секунду | | total_iops_sec | int | Общее кол-во io операций в секунду | | total_iops_sec_max | int | Максимальное общее кол-во io операций в секунду | | write_bytes_sec | int | Кол-во байт для записи в секунду | | write_bytes_sec_max | int | Максимальное кол-во байт для записи в секунду | | write_iops_sec | int | Кол-во операций записи в секунду | | write_iops_sec_max | int | Максимальное число операций записей | ### Описание структуры replication | Параметр | Тип | Описание | | --- | --- | --- | | disk_id | int | id диска | | pool_id | string | id пула | | role | string | Роль диска (главный или реплика) | | self_volume_id | string | id раздела | | storage_id | int | id хранилища | | volume_id | int | id раздела | ### Описание структуры snapshots | Параметр | Тип | Описание | | --- | --- | --- | | guid | string | id снимка | | label | string | Наименование снимка | | res_id | string | Ссылка на снимок | | snap_set_guid | string | Установленный id снимка | | snap_set_time | int | Установленное время снимка | | timestamp | int | Время снимка | ## Пример использования Пример вызова _data source_ функции **dynamix_disk_list**: ```terraform data "dynamix_disk_list" "dl" { #фильтр по id диска #опциональный параметр #тип - целое число #by_id = 100 #фильтр по имени диска #опциональный параметр #тип - строка #name = "data_disk" #фильтр по имени аккаунта #опциональный параметр #тип - строка #account_name = "user" #фильтр по максимальному размеру диска #опциональный параметр #тип - целое число #disk_max_size = 100 #фильтр по статусу #опциональный параметр #тип - строка #status = "ENABLED" #фильтр по доступности иным пользователям #опциональный параметр #тип - булев #shared = "false" #id аккаунта для получения списка дисков #опциональный параметр #тип - целое число #account_id = 11111 #тип диска #опциональный параметр #тип - строка #возможные типы: "B" - boot_disk, "D" - data_disk #type = "D" #id SEP для получения списка дисков #опциональный параметр #тип - целое число #sep_id = 11111 #фильтр по имени pool #опциональный параметр #тип - строка #pool_name = "test" #сортировка по одному из поддерживаемых полей #опциональный параметр #тип - строка #формат - "+поле" по возрастанию / "-поле" по убыванию #sort_by = "+name" #кол-во страниц для вывода #опциональный параметр #тип - целое число #page = 1 #размер страницы #опциональный параметр #тип - целое число #size = 1 } ``` Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DYNAMIX см. соответствующий [раздел](https://repository.basistech.ru/BASIS/terraform-provider-dynamix/src/branch/main/wiki/1.2.0/04.02-Инициализация-Terraform-провайдера-DYNAMIX.md)). После успешного завершения такого вызова **dynamix_disk_list** в переменной `data.dynamix_disk_list.dl` будут сохранены возвращаемые значения.