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.
13 KiB
13 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 | ✔️ | Размер диска, ГБ |
gid | int | ✔️ | id площадки (grid id) |
pool | string | ❌ | Pool для расположения диска |
sep_id | int | ❌ | id sep |
desc | string | ❌ | Описание диска |
type | string | ❌ | Тип диска, не может быть изменен после создания. Доступные значения: "B" - признак загрузочного диска ("boot"). "D" - признак дополнительного диска ("data") |
detach | bool | ❌ | Отсоединение диска от compute. Используется при удалении |
permanently | bool | ❌ | Мгновенное удаление диска. Используется при удалении |
reason | string | ❌ | Причина удаления. Используется при удалении |
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"), которому принадлежит данный диск |
computes | Struct{} см. ниже | Информация о компьютах (виртуальных машинах) |
created_time | int | Время создания |
deleted_time | int | Время удаления |
desc | string | Текстовое описание диска |
destruction_time | int | Время окончательного удаления |
devicename | string | Наименование устройства |
disk_id | int | Идентификатор диска. Дублирует значение параметра id . |
disk_path | string | Адрес диска |
gid | int | Идентификатор площадки (grid id) |
id | int | Идентификатор диска |
image_id | int | Идентификатор образа, содержимое которого было склонировано/скопировано в данный диск при его создании. 0 означает, что данный диск не создавался как клон/копия какого-либо образа |
images | []int | Идентификаторы образов, использующих диск |
iotune | Struct{}см. ниже | Информация об ограничениях IO диска |
disk_name | string | Наименование диска |
order | int | Номер диска |
params | string | Параметры диска |
parent_id | int | id родительского диска |
pci_slot | int | id pci слота, к которому подключен диск |
pool | string | Имя пула в системе хранения, на ресурсах которой размещён данный диск |
present_to | []int | Список ID ресурсов, которым предоставлен диск |
purge_time | int | Время последней попытки |
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") |
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 | Время снимка |
Пример использования
/*
Пример использования
Получение списка доступных образов
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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 см. соответствующий раздел).
После успешного завершения такого вызова resource функции decort_disk в переменной decort_disk.disk
будут сохранены возвращаемые значения. В частности, для получения идентификатора диска следует использовать конструкцию decort_disk.disk.id
.