diff --git a/07.3-Resource-функция-decort_disk:-управление-дисковыми-ресурсами..md b/07.3-Resource-функция-decort_disk:-управление-дисковыми-ресурсами..md new file mode 100644 index 0000000..1ae2f42 --- /dev/null +++ b/07.3-Resource-функция-decort_disk:-управление-дисковыми-ресурсами..md @@ -0,0 +1,59 @@ +_Resource_ функция **decort_disk** служит для управления дисковыми ресурсами ("disk") в облачной платформе DECORT. + +## Аргументы +_Resource_ функция **decort_disk** принимает следующие аргументы: + +| Аргумент | Тип | Описание | +| --- | --- | --- | +| account_id | int | Идентификатор подписчика (aka "account"), которому принадлежит данная ресурсная группа.
Этот параметр является обязательным при идентификации уже имеющегося диска по его имени (`name`) или при создании нового диска. | +| description | string | Текстовое описание диска.
Данный параметр не является обязательным. | +| disk_id | int | Идентификатор диска. Данный параметр может использоваться только при управлении уже существующим диском.
Если этот параметр явно задан, то `name` и `account_id` игнорируются, а плагин считает, что диск с указанным `disk_id` уже существует. | +| name | string | Имя диска. Обратите внимание, что имя диска НЕ является уникальным в рамках одного и того же подписчика ("account").
При создании нового диска этот параметр является обязательным и не может быть пустым. | +| pool | string | Имя пула в системе хранения, на ресурсах которой должен быть размещён данный диск. | +| sep_id | int | Идентификатор Storage Endpoint Provider (SEP). SEP это способ идентифицировать конкретную систему хранения, на ресурсах которой должен быть размещён данный диск. | +| size | int | Размер диска в ГБ. | +| type | string | Тип диска с точки зрения его роли в составе _compute_. Может принимать одно из фиксированных значений:
"B" - признак загрузочного диска ("boot").
"D" - признак дополнительного диска ("data").
Данный параметр не является обязательным, значение по умолчанию "B". | + +Для создания диска пользователь облачной платформы, от лица которого происходит обращение к данной функции, должен иметь как минимум доступ на запись к указанному подписчику. В противном случае возникнет ошибка доступа. + +Пользователь облачной платформы задается на стадии инициализации 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.)). + +## Возвращаемые значения +В случае успешного выполнения _data source_ функция **decort_disk** возвращает в указанную при вызове переменную следующие значения: + +| Параметр | Тип | Описание | +| --- | --- | --- | +| account_id | int | Уникальный идентификатор подписчика-владельца диска. | +| account_name | string | Имя подписчика ("account"), которому принадлежит данный диск. | +| description | string | Текстовое описание диска. | +| disk_id | int | Идентификатор диска. Дублирует значение параметра `id`. | +| id | int | Идентификатор диска. | +| image_id | int | Идентификатор образа, содержимое которого было склонировано/скопировано в данный диск при его создании. 0 означает, что данный диск не создавался как клон/копия какого-либо образа. | +| name | string | Имя диска. Обратите внимание, что имя диска НЕ является уникальным, и если в рамках одного и того же подписчика ("account") есть несколько дисков с одним и тем же названием, то используется первый из них. | +| pool | string | Имя пула в системе хранения, на ресурсах которой размещён данный диск. | +| sep_id | int | Идентификатор Storage Endpoint Provider (SEP). SEP это способ идентифицировать конкретную систему хранения, на ресурсах которой размещён данный диск. | +| sep_type | string | Тип SEP. Определяет тип системы хранения и содержит одно из заданных в облачной платформе значений. | +| size | int | Размер диска в ГБ. | +| type | string | Тип диска с точки зрения его роли в составе _compute_. Может принимать одно из фиксированных значений:
"B" - признак загрузочного диска ("boot").
"D" - признак дополнительного диска ("data"). | + +## Пример использования +В нижеприведённом примере с помощью _resource_ функции **decort_disk** создаётся новый диск со следующими характеристиками: +* Имя диска- "MyDisk01" +* Идентификатор подпичсика-владельца ("account") - 100 +* Размер диска - 10 ГБ. +* Система хранения, на которой будет размещён ноый диск, идентифицируется как SEP ID = 5 +* Пул на указанной системе хранения, где будет размещён диск, называется "data" + +``` +resource "decort_disk" "my_disk01" { + name = "MyDisk01" + type = "D" + account_id = 100 + sep_id = 5 + pool = "data" +} +``` + +Данный пример подразумевает, что ранее по тексту 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