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.
14 KiB
14 KiB
Resource функция decort_disk служит для управления дисковыми ресурсами ("disk") в облачной платформе DECORT.
Изменения в версии 3.4.0
- В аргументы добавлено опциональное поле shareable
- В возвращаемые значения добавлено новое поле present_to
- Убраны поля compute_id и compute_name и заменены на поле computes, которое представляет из себя список структур см. ниже
Изменения в версии 3.2.0
- Начиная с версии 3.2.0 упразднено поле restore в конфигурации ресурса. Провайдер проверяет, при обновлении конфигурации ресурса, его статус, в случае, если диск был удален (статус - DELETED) на платформе (помещен в корзину), провайдер его восстанавливает, используя restore автоматически.
- Начиная с версии 3.2.0 провайдер, при обновлении ресурса, проверяет его статус. В случае, если диск имеет статус DESTROYED или PURGED, провайдер создает новый диск с требуемой конфигурацией и параметрами.
- При изменении параметров
account_idиgidресурс будет пересоздан, т.е. старый диск будет удален и произойдет создание нового диска.
Аргументы
Resource функция decort_disk принимает следующие аргументы:
| Аргумент | Тип | Обязательный | Описание |
|---|---|---|---|
| account_id | int | ✔️ | id аккаунта |
| disk_name | string | ✔️ | Наименование диска |
| size_max | int | ✔️ | Размер диска, ГБ |
| pool | string | ❌ | Pool для расположения диска |
| sep_id | int | ❌ | id sep |
| desc | string | ❌ | Описание диска |
| detach | bool | ❌ | Отсоединение диска от compute. Используется при удалении |
| permanently | bool | ❌ | Мгновенное удаление диска. Используется при удалении |
| shareable | bool | ❌ | Флаг, отвечающий за доступность диска дургим ресурсам |
| iotune | Struct{}см. ниже | ❌ | Информация об ограничениях IO диска |
Описание структуры 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 | ❌ | Максимальное число операций записей |
Возвращаемые значения
В случае успешного выполнения data source функция decort_disk возвращает в указанную при вызове переменную следующие значения:
| Параметр | Тип | Описание |
|---|---|---|
| account_id | int | Уникальный идентификатор аккаунта-владельца диска |
| account_name | string | Имя аккаунта ("account"), которому принадлежит данный диск |
| acl | string | Cписок Acces Control |
| computes | Struct{} см. ниже | Информация о компьютах (виртуальных машинах) |
| created_by | string | Юзернейм создавшего диск пользователя |
| created_time | int | Время создания |
| deleted_by | string | Юзернейм удалившего диск пользователя |
| deleted_time | int | Время удаления |
| desc | string | Текстовое описание диска |
| destruction_time | int | Время окончательного удаления |
| detach | bool | Отсоединение диска от compute. |
| devicename | string | Наименование устройства |
| disk_id | int | Идентификатор диска. Дублирует значение параметра id. |
| disk_name | string | Наименование диска |
| gid | int | Идентификатор площадки (grid id) |
| id | int | Идентификатор диска |
| image_id | int | Идентификатор образа, содержимое которого было склонировано/скопировано в данный диск при его создании. 0 означает, что данный диск не создавался как клон/копия какого-либо образа |
| images | []int | Идентификаторы образов, использующих диск |
| iotune | Struct{}см. ниже | Информация об ограничениях 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{} см. ниже | Информация о реплике диска |
| 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{}см. ниже | Снимки состояния диска |
| 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 | Время снимка |
Пример использования
resource "decort_disk" "acl" {
#id владельца диска
#обязательный параметр
#тип - целое число
#используется при создании
account_id = 88366
#имя диска
#обязательный параметр
#тип - строка
#используется при создании и обновлении
disk_name = "super-disk-re"
#размер диска, в ГБ
#обязательный параметр
#тип - целое число
#используется при создании и обновлении
size_max = 20
#флаг для отключения диска от ВМ при удалении
#опциональный параметр
#тип - булев
#используется при удалении
#detach = false
#флаг для удаления диска, без возможности восстановления
#опциональный параметр
#тип - булев
#используется при удалении
#permanently = false
#флаг, отвечающий за доступность диска другим ресурсам
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#shareable = false
}
Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий раздел).
После успешного завершения такого вызова resource функции decort_disk в переменной decort_disk.disk будут сохранены возвращаемые значения. В частности, для получения идентификатора диска следует использовать конструкцию decort_disk.disk.id.