_Resource_ функция **dynamix_disk** служит для управления дисковыми ресурсами ("disk") на облачной платформе DYNAMIX. ## Аргументы _Resource_ функция **dynamix_disk** принимает следующие аргументы: | Аргумент | Тип | Обязательный | Описание | | --- | --- | --- | --- | | account_id | int | :heavy_check_mark: | id аккаунта | | disk_name | string | :heavy_check_mark: | Наименование диска | | size_max | int | :heavy_check_mark: | Размер диска, ГБ | | pool | string | :x: | Pool для расположения диска | | sep_id | int | :x: | id sep | | desc | string | :x: | Описание диска | | detach | bool | :x: | Отсоединение диска от compute. Используется при удалении | | permanently | bool | :x: | Мгновенное удаление диска. Используется при удалении | | shareable | bool | :x: | Флаг, отвечающий за доступность диска дургим ресурсам | | iotune | Struct{}[см. ниже](#описание-блока-iotune) | :x: | Информация об ограничениях IO диска | ### Описание блока iotune | Аргумент | Тип | Обязательный | Описание | | --- | --- | --- | --- | | read_bytes_sec | int | :x: | Кол-во байт для чтения в секунду | | read_bytes_sec_max | int | :x: | Максимальное кол-во байт для чтения | | read_iops_sec | int | :x: | Кол-во операций чтения io в секунду | | read_iops_sec_max | int | :x: | Максимальное число io операций чтения | | size_iops_sec | int | :x: | Размер io операций | | total_bytes_sec | int | :x: | Общий размер байт в секунду | | total_bytes_sec_max | int | :x: | Максимальный общий размер байт в секунду | | total_iops_sec | int | :x: | Общее кол-во io операций в секунду | | total_iops_sec_max | int | :x: | Максимальное общее кол-во io операций в секунду | | write_bytes_sec | int | :x: | Кол-во байт для записи в секунду | | write_bytes_sec_max | int | :x: | Максимальное кол-во байт для записи в секунду | | write_iops_sec | int | :x: | Кол-во операций записи в секунду | | write_iops_sec_max | int | :x: | Максимальное число операций записей | ## Возвращаемые значения В случае успешного выполнения _data source_ функция **dynamix_disk** возвращает в указанную при вызове переменную следующие значения: | Параметр | Тип | Описание | | --- | --- | --- | | account_id | int | Уникальный идентификатор аккаунта-владельца диска | | account_name | string | Имя аккаунта ("account"), которому принадлежит данный диск | | computes | Struct{} [см. ниже](#описание-структуры-computes) | Информация о компьютах (виртуальных машинах) | | created_by | string | Юзернейм создавшего диск пользователя | | created_time | int | Время создания | | deleted_by | string | Юзернейм удалившего диск пользователя | | deleted_time | int | Время удаления | | desc | string | Текстовое описание диска | | destruction_time | int | Время окончательного удаления | | devicename | string | Наименование устройства | | disk_id | int | Идентификатор диска. Дублирует значение параметра `id`. | | disk_name | string | Наименование диска | | gid | int | Идентификатор площадки (grid id) | | id | int | Идентификатор диска | | image_id | int | Идентификатор образа, содержимое которого было склонировано/скопировано в данный диск при его создании. 0 означает, что данный диск не создавался как клон/копия какого-либо образа | | images | []int | Идентификаторы образов, использующих диск | | iotune | Struct{}[см. ниже](#описание-cтруктуры-iotune) | Информация об ограничениях IO диска | | machine_id | int | id машины | | machine_name | string | Наименование машины | | order | int | Номер диска | | params | string | Параметры диска | | parent_id | int | id родительского диска | | pci_slot | int | id pci слота, к которому подключен диск | | permanently | bool | Флаг удаления диска, без возможности востановления | | pool | string | Имя пула в системе хранения, на ресурсах которой размещён данный диск | | present_to | map[string]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 | int | Кол-во используемого места, в ГБ | | snapshots | []Struct{}[см. ниже](#описание-структуры-snapshots) | Снимки состояния диска | | status | string | Статус диска | | tech_status | string | Технический статус диска | | type | string | Тип диска с точки зрения его роли в составе _compute_. Может принимать одно из фиксированных значений:
"B" - признак загрузочного диска ("boot").
"D" - признак дополнительного диска ("data") | | updated_by | string | Юзернейм обновившего диск пользователя | | updated_time | int | Время обновления | | vmid | int | Идентификатор виртуальной машины (устаревшее) | ### Описание структуры computes | Параметр | Тип | Описание | | --- | --- | --- | | compute_id | int | Идентификатор компьюта | | compute_name | string | Имя компьюта | ### Описание cтруктуры 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 | Время снимка | ## Пример использования ```terraform resource "dynamix_disk" "acl" { #id аккаунта #обязательный параметр #тип - целое число #используется при создании account_id = 88366 #название диска #обязательный параметр #тип - строка #используется при создании и обновлении disk_name = "super-disk-re" #максимальный размер диска, в ГБ #обязательный параметр #тип - целое число #используется при создании и обновлении size_max = 20 #sep id #опциональный параметр #тип - целое число #по умолчанию - 0 #используется при создании #sep_id = 1 #название pool #опциональный параметр #тип - строка #используется при создании #pool = "pool_name" #описание диска #опциональный параметр #тип - строка #используется при создании и обновлении #desc = "description" #флаг поделиться диском #опциональный параметр #тип - булев #по умолчанию - false #используется при создании и обновлении #shareable = true #настройки лимитов операций записи/чтения с диска #опциональный параметр #тип - блок #тип вложенных полей - целое число #используется при создании и обновлении #iotune = { #read_bytes_sec = 0 #read_bytes_sec_max = 0 #read_iops_sec = 0 #read_iops_sec_max = 0 #size_iops_sec = 0 #total_bytes_sec = 0 #total_bytes_sec_max = 0 #total_iops_sec = 3000 #total_iops_sec_max = 0 #write_bytes_sec = 0 #write_bytes_sec_max = 0 #write_iops_sec = 0 #write_iops_sec_max = 0 #} #флаг для удаления диска, без возможности восстановления #опциональный параметр #тип - булев #по умолчанию - true #используется при удалении #permanently = true #флаг отсоединения диска от машины перед удалением #опциональный параметр #тип - булев #по умолчанию - true #используется при удалении #detach = true } ``` Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DYNAMIX см. соответствующий [раздел](https://repository.basistech.ru/BASIS/wiki-terraform-provider-dynamix/src/branch/main/1.3.0/04.02-Инициализация-Terraform-провайдера-DYNAMIX.md)). После успешного завершения такого вызова _resource_ функции **dynamix_disk** в переменной `dynamix_disk.disk` будут сохранены возвращаемые значения. В частности, для получения идентификатора диска следует использовать конструкцию `dynamix_disk.disk.id`.