diff --git a/07.01.03-Resource-функция-decort_disk-управление-дисковыми-ресурсами.md b/07.01.03-Resource-функция-decort_disk-управление-дисковыми-ресурсами.md index 24013c8..0cfb041 100644 --- a/07.01.03-Resource-функция-decort_disk-управление-дисковыми-ресурсами.md +++ b/07.01.03-Resource-функция-decort_disk-управление-дисковыми-ресурсами.md @@ -1,5 +1,10 @@ _Resource_ функция **decort_disk** служит для управления дисковыми ресурсами ("disk") в облачной платформе DECORT. +## Изменения в версии 3.4.0 +- Добавлено опциональное поле shareable +- В вывод добавлено новое поле present_to +- Убраны поля compute_id и compute_name и заменены на поле computes, которое представляет из себя список структур [см. ниже](#Описание-структуры-computes) + ## Изменения в версии 3.2.0 - Начиная с версии 3.2.0 упразднено поле restore в конфигурации ресурса. Провайдер проверяет, при обновлении конфигурации ресурса, его статус, в случае, если диск был удален (статус - **DELETED**) в платформе (помещен в корзину), провайдер его восстанавливает, используя restore автоматически. - Начиная с версии 3.2.0 провайдер, при обновлении ресурса, проверяет его статус. В случае, если диск имеет статус **DESTROYED** или **PURGED**, провайдер создает новый диск с требуемой конфигурацией и параметрами. @@ -17,11 +22,29 @@ _Resource_ функция **decort_disk** принимает следующие | pool | string | :x: | Pool для расположения диска | | sep_id | int | :x: | id sep | | desc | string | :x: | Описание диска | -| type | string | Тип диска, не может быть изменен после создания. Доступные значения:
"B" - признак загрузочного диска ("boot").
"D" - признак дополнительного диска ("data") | +| type | string | :x: | Тип диска, не может быть изменен после создания. Доступные значения:
"B" - признак загрузочного диска ("boot").
"D" - признак дополнительного диска ("data") | | detach | bool | :x: | Отсоединение диска от compute. Используется при удалении | | permanently | bool | :x: | Мгновенное удаление диска. Используется при удалении | | reason | string | :x: | Причина удаления. Используется при удалении | -| iotune | Struct{
read_bytes_sec int
read_bytes_sec_max int
read_iops_sec int
read_iops_sec_max int
size_iops_sec int
total_bytes_sec int
total_bytes_sec_max int
total_iops_sec int
total_iops_sec_max int
write_bytes_sec int
write_bytes_sec_max int
write_iops_sec int
write_iops_sec_max int
} | :x: | Информация об ограничениях IO диска
Кол-во байт для чтения в секунду
Максимальное кол-во байт для чтения
 
Кол-во операций чтения io в секунду
Максимальное число io операций чтения
Размер io операций
Общий размер байт в секунду
Максимальный общий размер байт в секунду
 
Общее кол-во io операций в секунду
Максимальное общее кол-во io операций в секунду
 
Кол-во байт для записи в секунду
Максимальное кол-во байт для записи в секунду
 
Кол-во операций записи в секунду
Максимальное число операций записей
 
| +| 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_ функция **decort_disk** возвращает в указанную при вызове переменную следующие значения: @@ -31,8 +54,7 @@ _Resource_ функция **decort_disk** принимает следующие | account_id | int | Уникальный идентификатор подписчика-владельца диска | | account_name | string | Имя подписчика ("account"), которому принадлежит данный диск | | boot_partition | int | Кол-во разделов диска | -| compute_id | int | Идентификатор compute (виртуальной машины) | -| compute_name | string | Название compute (виртуальной машины) | +| computes | Struct{} [см. ниже](#Описание-структуры-computes) | Информация о компьютах (виртуальных машинах) | | created_time | int | Время создания | | deleted_time | int | Время удаления | | desc | string | Текстовое описание диска | @@ -45,7 +67,7 @@ _Resource_ функция **decort_disk** принимает следующие | id | int | Идентификатор диска | | image_id | int | Идентификатор образа, содержимое которого было склонировано/скопировано в данный диск при его создании. 0 означает, что данный диск не создавался как клон/копия какого-либо образа | | images | []int | Идентификаторы образов, использующих диск | -| iotune | Struct{
read_bytes_sec int
read_bytes_sec_max int
read_iops_sec int
read_iops_sec_max int
size_iops_sec int
total_bytes_sec int
total_bytes_sec_max int
total_iops_sec int
total_iops_sec_max int
write_bytes_sec int
write_bytes_sec_max int
write_iops_sec int
write_iops_sec_max int
} | Информация об ограничениях IO диска
Кол-во байт для чтения в секунду
Максимальное кол-во байт для чтения
 
Кол-во операций чтения io в секунду
Максимальное число io операций чтения
Размер io операций
Общий размер байт в секунду
Максимальный общий размер байт в секунду
 
Общее кол-во io операций в секунду
Максимальное общее кол-во io операций в секунду
 
Кол-во байт для записи в секунду
Максимальное кол-во байт для записи в секунду
 
Кол-во операций записи в секунду
Максимальное число операций записей
 
| +| iotune | Struct{}[см. ниже](#Описание-cтруктуры-iotune) | Информация об ограничениях IO диска| | iqn | string | iqn диска | | login | string | Логин для доступа к диску | | milestones | int | Вехи | @@ -56,6 +78,7 @@ _Resource_ функция **decort_disk** принимает следующие | passwd | string | Пароль для доступа к диску | | pci_slot | int | id pci слота, к которому подключен диск | | pool | string | Имя пула в системе хранения, на ресурсах которой размещён данный диск | +| present_to | []int | Список ID ресурсов, которым предоставлен диск | | purge_attempts | int | Кол-во попыток удаления | | purge_time | int | Время последней попытки | | reality_device_number | int | Реальный номер устройства | @@ -65,24 +88,109 @@ _Resource_ функция **decort_disk** принимает следующие | role | string | Роль диска | | sep_id | int | Идентификатор Storage Endpoint Provider (SEP). SEP это способ идентифицировать конкретную систему хранения, на ресурсах которой размещён данный диск | | sep_type | string | Тип SEP. Определяет тип системы хранения и содержит одно из заданных в облачной платформе значений | +| shareable | bool | Флаг, отвечающий за доступность диска дургим ресурсам | | size_max | int | Размер диска в ГБ | | size_used | int | Кол-во используемого места, в ГБ | -| snapshots | []Struct{
guid string
label string
res_id string
snap_set_guid string
snap_set_time int
timestamp int
} | Снимки состояния диска
id снимка
Наименование снимка
Ссылка на снимок
Установленный id снимка
Установленное время снимка
Время снимка
 
| +| snapshots | []Struct{}[см. ниже](#Описание-структуры-snapshots)| Снимки состояния диска| | status | string | Статус диска | | tech_status | string | Технический статус диска | | type | string | Тип диска с точки зрения его роли в составе _compute_. Может принимать одно из фиксированных значений:
"B" - признак загрузочного диска ("boot").
"D" - признак дополнительного диска ("data") | | 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 | Максимальное число операций записей | + +### Описание структуры snapshots +| Параметр | Тип | Описание | +| --- | --- | --- | +| guid | string | id снимка | +| label | string | Наименование снимка | +| res_id | string | Ссылка на снимок | +| snap_set_guid | string | Установленный id снимка | +| snap_set_time | int | Установленное время снимка | +| timestamp | int | Время снимка | + ## Пример использования ```terraform -resource "decort_disk" "my_disk01" { - name = "MyDisk01" - account_id = 100 - size_max = 10 - gid = 333 +/* +Пример использования +Получение списка доступных образов +*/ +#Расскомментируйте этот код, +#и внесите необходимые правки в версию и путь, +#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером + +terraform { + required_providers { + decort = { + version = "1.1" + source = "digitalenergy.online/decort/decort" + } + } +} + + +provider "decort" { + authenticator = "oauth2" + #controller_url = + controller_url = "https://ds1.digitalenergy.online" + #oauth2_url = + oauth2_url = "https://sso.digitalenergy.online" + allow_unverified_ssl = true +} + +resource "decort_disk" "disk" { + account_id = 88 + gid = 212 + disk_name = "super-disk" + size_max = 20 + restore = true + permanently = true + reason = "delete" + shareable = false + 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 + } + +} + +output "test" { + value = decort_disk.disk } ``` Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://github.com/rudecs/terraform-provider-decort/wiki/05.-%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F-Terraform-%D0%BF%D1%80%D0%BE%D0%B2%D0%B0%D0%B9%D0%B4%D0%B5%D1%80%D0%B0-DECORT.)). -После успешного завершения такого вызова _resource_ функции **decort_disk** в переменной `decort_disk.my_disk01` будут сохранены возвращаемые значения. В частности, для получения идентификатора диска следует использовать конструкцию `decort_disk.my_disk01.id`. \ No newline at end of file +После успешного завершения такого вызова _resource_ функции **decort_disk** в переменной `decort_disk.disk` будут сохранены возвращаемые значения. В частности, для получения идентификатора диска следует использовать конструкцию `decort_disk.disk.id`.