You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

215 lines
13 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

_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_. Может принимать одно из фиксированных значений:<br/>"B" - признак загрузочного диска ("boot").<br/>"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`.