Updated 07.01.03 Resource функция decort_disk управление дисковыми ресурсами (markdown)

Касим
2023-01-25 18:05:57 +03:00
parent a6712e6e71
commit e6c4f2b814

@@ -1,5 +1,10 @@
_Resource_ функция **decort_disk** служит для управления дисковыми ресурсами ("disk") в облачной платформе DECORT. _Resource_ функция **decort_disk** служит для управления дисковыми ресурсами ("disk") в облачной платформе DECORT.
## Изменения в версии 3.4.0
- Добавлено опциональное поле shareable
- В вывод добавлено новое поле present_to
- Убраны поля compute_id и compute_name и заменены на поле computes, которое представляет из себя список структур [см. ниже](#Описание-структуры-computes)
## Изменения в версии 3.2.0 ## Изменения в версии 3.2.0
- Начиная с версии 3.2.0 упразднено поле restore в конфигурации ресурса. Провайдер проверяет, при обновлении конфигурации ресурса, его статус, в случае, если диск был удален (статус - **DELETED**) в платформе (помещен в корзину), провайдер его восстанавливает, используя restore автоматически. - Начиная с версии 3.2.0 упразднено поле restore в конфигурации ресурса. Провайдер проверяет, при обновлении конфигурации ресурса, его статус, в случае, если диск был удален (статус - **DELETED**) в платформе (помещен в корзину), провайдер его восстанавливает, используя restore автоматически.
- Начиная с версии 3.2.0 провайдер, при обновлении ресурса, проверяет его статус. В случае, если диск имеет статус **DESTROYED** или **PURGED**, провайдер создает новый диск с требуемой конфигурацией и параметрами. - Начиная с версии 3.2.0 провайдер, при обновлении ресурса, проверяет его статус. В случае, если диск имеет статус **DESTROYED** или **PURGED**, провайдер создает новый диск с требуемой конфигурацией и параметрами.
@@ -17,11 +22,29 @@ _Resource_ функция **decort_disk** принимает следующие
| pool | string | :x: | Pool для расположения диска | | pool | string | :x: | Pool для расположения диска |
| sep_id | int | :x: | id sep | | sep_id | int | :x: | id sep |
| desc | string | :x: | Описание диска | | desc | string | :x: | Описание диска |
| type | string | Тип диска, не может быть изменен после создания. Доступные значения:<br/>"B" - признак загрузочного диска ("boot").<br/>"D" - признак дополнительного диска ("data") | | type | string | :x: | Тип диска, не может быть изменен после создания. Доступные значения:<br/>"B" - признак загрузочного диска ("boot").<br/>"D" - признак дополнительного диска ("data") |
| detach | bool | :x: | Отсоединение диска от compute. Используется при удалении | | detach | bool | :x: | Отсоединение диска от compute. Используется при удалении |
| permanently | bool | :x: | Мгновенное удаление диска. Используется при удалении | | permanently | bool | :x: | Мгновенное удаление диска. Используется при удалении |
| reason | string | :x: | Причина удаления. Используется при удалении | | reason | string | :x: | Причина удаления. Используется при удалении |
| iotune | Struct{<br/>read_bytes_sec int<br/>read_bytes_sec_max int<br/>read_iops_sec int<br/>read_iops_sec_max int<br/>size_iops_sec int<br/>total_bytes_sec int<br/>total_bytes_sec_max int<br/>total_iops_sec int<br/>total_iops_sec_max int<br/>write_bytes_sec int<br/>write_bytes_sec_max int<br/>write_iops_sec int<br/>write_iops_sec_max int<br/>} | :x: | Информация об ограничениях IO диска<br/>Кол-во байт для чтения в секунду<br/>Максимальное кол-во байт для чтения<br/>&nbsp;<br/>Кол-во операций чтения io в секунду<br/>Максимальное число io операций чтения<br/>Размер io операций<br/>Общий размер байт в секунду<br/>Максимальный общий размер байт в секунду<br/>&nbsp;<br/>Общее кол-во io операций в секунду<br/>Максимальное общее кол-во io операций в секунду<br/>&nbsp;<br/>Кол-во байт для записи в секунду<br/>Максимальное кол-во байт для записи в секунду<br/>&nbsp;<br/>Кол-во операций записи в секунду<br/>Максимальное число операций записей<br/>&nbsp;<br/> | | 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** возвращает в указанную при вызове переменную следующие значения: В случае успешного выполнения _data source_ функция **decort_disk** возвращает в указанную при вызове переменную следующие значения:
@@ -31,8 +54,7 @@ _Resource_ функция **decort_disk** принимает следующие
| account_id | int | Уникальный идентификатор подписчика-владельца диска | | account_id | int | Уникальный идентификатор подписчика-владельца диска |
| account_name | string | Имя подписчика ("account"), которому принадлежит данный диск | | account_name | string | Имя подписчика ("account"), которому принадлежит данный диск |
| boot_partition | int | Кол-во разделов диска | | boot_partition | int | Кол-во разделов диска |
| compute_id | int | Идентификатор compute (виртуальной машины) | | computes | Struct{} [см. ниже](#Описание-структуры-computes) | Информация о компьютах (виртуальных машинах) |
| compute_name | string | Название compute (виртуальной машины) |
| created_time | int | Время создания | | created_time | int | Время создания |
| deleted_time | int | Время удаления | | deleted_time | int | Время удаления |
| desc | string | Текстовое описание диска | | desc | string | Текстовое описание диска |
@@ -45,7 +67,7 @@ _Resource_ функция **decort_disk** принимает следующие
| id | int | Идентификатор диска | | id | int | Идентификатор диска |
| image_id | int | Идентификатор образа, содержимое которого было склонировано/скопировано в данный диск при его создании. 0 означает, что данный диск не создавался как клон/копия какого-либо образа | | image_id | int | Идентификатор образа, содержимое которого было склонировано/скопировано в данный диск при его создании. 0 означает, что данный диск не создавался как клон/копия какого-либо образа |
| images | []int | Идентификаторы образов, использующих диск | | images | []int | Идентификаторы образов, использующих диск |
| iotune | Struct{<br/>read_bytes_sec int<br/>read_bytes_sec_max int<br/>read_iops_sec int<br/>read_iops_sec_max int<br/>size_iops_sec int<br/>total_bytes_sec int<br/>total_bytes_sec_max int<br/>total_iops_sec int<br/>total_iops_sec_max int<br/>write_bytes_sec int<br/>write_bytes_sec_max int<br/>write_iops_sec int<br/>write_iops_sec_max int<br/>} | Информация об ограничениях IO диска<br/>Кол-во байт для чтения в секунду<br/>Максимальное кол-во байт для чтения<br/>&nbsp;<br/>Кол-во операций чтения io в секунду<br/>Максимальное число io операций чтения<br/>Размер io операций<br/>Общий размер байт в секунду<br/>Максимальный общий размер байт в секунду<br/>&nbsp;<br/>Общее кол-во io операций в секунду<br/>Максимальное общее кол-во io операций в секунду<br/>&nbsp;<br/>Кол-во байт для записи в секунду<br/>Максимальное кол-во байт для записи в секунду<br/>&nbsp;<br/>Кол-во операций записи в секунду<br/>Максимальное число операций записей<br/>&nbsp;<br/> | | iotune | Struct{}[см. ниже](#Описание-cтруктуры-iotune) | Информация об ограничениях IO диска|
| iqn | string | iqn диска | | iqn | string | iqn диска |
| login | string | Логин для доступа к диску | | login | string | Логин для доступа к диску |
| milestones | int | Вехи | | milestones | int | Вехи |
@@ -56,6 +78,7 @@ _Resource_ функция **decort_disk** принимает следующие
| passwd | string | Пароль для доступа к диску | | passwd | string | Пароль для доступа к диску |
| pci_slot | int | id pci слота, к которому подключен диск | | pci_slot | int | id pci слота, к которому подключен диск |
| pool | string | Имя пула в системе хранения, на ресурсах которой размещён данный диск | | pool | string | Имя пула в системе хранения, на ресурсах которой размещён данный диск |
| present_to | []int | Список ID ресурсов, которым предоставлен диск |
| purge_attempts | int | Кол-во попыток удаления | | purge_attempts | int | Кол-во попыток удаления |
| purge_time | int | Время последней попытки | | purge_time | int | Время последней попытки |
| reality_device_number | int | Реальный номер устройства | | reality_device_number | int | Реальный номер устройства |
@@ -65,24 +88,109 @@ _Resource_ функция **decort_disk** принимает следующие
| role | string | Роль диска | | role | string | Роль диска |
| sep_id | int | Идентификатор Storage Endpoint Provider (SEP). SEP это способ идентифицировать конкретную систему хранения, на ресурсах которой размещён данный диск | | sep_id | int | Идентификатор Storage Endpoint Provider (SEP). SEP это способ идентифицировать конкретную систему хранения, на ресурсах которой размещён данный диск |
| sep_type | string | Тип SEP. Определяет тип системы хранения и содержит одно из заданных в облачной платформе значений | | sep_type | string | Тип SEP. Определяет тип системы хранения и содержит одно из заданных в облачной платформе значений |
| shareable | bool | Флаг, отвечающий за доступность диска дургим ресурсам |
| size_max | int | Размер диска в ГБ | | size_max | int | Размер диска в ГБ |
| size_used | int | Кол-во используемого места, в ГБ | | size_used | int | Кол-во используемого места, в ГБ |
| snapshots | []Struct{<br/>guid string<br/>label string<br/>res_id string<br/>snap_set_guid string<br/>snap_set_time int<br/>timestamp int<br/>} | Снимки состояния диска<br/>id снимка<br/>Наименование снимка<br/>Ссылка на снимок<br/>Установленный id снимка<br/>Установленное время снимка<br/>Время снимка<br/>&nbsp;<br/> | | snapshots | []Struct{}[см. ниже](#Описание-структуры-snapshots)| Снимки состояния диска|
| status | string | Статус диска | | status | string | Статус диска |
| tech_status | string | Технический статус диска | | tech_status | string | Технический статус диска |
| type | string | Тип диска с точки зрения его роли в составе _compute_. Может принимать одно из фиксированных значений:<br/>"B" - признак загрузочного диска ("boot").<br/>"D" - признак дополнительного диска ("data") | | type | string | Тип диска с точки зрения его роли в составе _compute_. Может принимать одно из фиксированных значений:<br/>"B" - признак загрузочного диска ("boot").<br/>"D" - признак дополнительного диска ("data") |
| vmid | 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 | Максимальное число операций записей |
### Описание структуры snapshots
| Параметр | Тип | Описание |
| --- | --- | --- |
| guid | string | id снимка |
| label | string | Наименование снимка |
| res_id | string | Ссылка на снимок |
| snap_set_guid | string | Установленный id снимка |
| snap_set_time | int | Установленное время снимка |
| timestamp | int | Время снимка |
## Пример использования ## Пример использования
```terraform ```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 = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_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.)). Данный пример подразумевает, что ранее по тексту 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`. После успешного завершения такого вызова _resource_ функции **decort_disk** в переменной `decort_disk.disk` будут сохранены возвращаемые значения. В частности, для получения идентификатора диска следует использовать конструкцию `decort_disk.disk.id`.