30 KiB
30 KiB
Модуль decort_disk
Обзор модуля decort_disk
Модуль decort_disk предназначен для выполнения следующих действий над дисками:
- создать (см. примеры)
- с указанием описания (см. параметр description и примеры)
- c указанием СХД (см. параметр sep_id и примеры)
- с указанием СХД и пула (см. параметр sep_id и параметр pool и примеры)
- удалить (см. примеры)
- в корзину (см. параметр state и примеры)
- безвозвратно (см. параметр state и параметр permanently и примеры)
- восстановить из корзины (см. параметр state и примеры)
- изменить (см. примеры)
- имя (см. параметр name и примеры)
- размер (см. параметр size и примеры)
- лимиты ввода/вывода (см. параметр limitIO и примеры)
- политику хранения (см. параметр storage_policy_id и примеры)
- включить/отключить общий доступ (см. параметр shareable и примеры)
Параметры модуля decort_disk
Ниже приведен список параметров для модуля decort_disk (за исключением общих параметров):
| Параметр | Тип | Описание | |||||
|---|---|---|---|---|---|---|---|
| account_id | (int) |
Уникальный целочисленный идентификатор аккаунта, которому принадлежит данный диск.
При идентификации диска по имени (см. параметр name) должен быть задан либо идентификатор, либо имя аккаунта (см. параметр account_name). Если одновременно заданы и account_id, и account_name, то account_name игнорируется. |
|||||
| account_name | (str) |
Имя аккаунта, которому принадлежит данный диск.
При идентификации диска по имени (см. параметр name) должно быть задано либо имя, либо идентификатор учётной записи (см. параметр account_id). Если одновременно заданы и account_id, и account_name, то account_name игнорируется. |
|||||
| description | (str) |
Текстовое описание диска.
Данный параметр является опциональным и учитывается только при создании диска, а при всех прочих операциях игнорируется. |
|||||
| id | (int) |
Уникальный целочисленный идентификатор диска.
Соответствующий диск должен существовать (таким образом, с помощью id нельзя создать новый диск, а только управлять уже имеющимися). Если задан данный параметр, то параметры name, account_name и account_id игнорируются. |
|||||
| force_detach |
(bool)
Default: false
|
Задаёт поведение платформы при попытке удалить диск, подключённый к виртуальной машине.
По умолчанию, удаление подключённых дисков не разрешается, и попытка удалить такой диск приведёт к аварийному завершению модуля. Чтобы изменить это поведение, явно установите force_detach: true.
|
|||||
| limitIO | (dict) |
Параметр, позволяющий ограничить скорость ввода/вывода диска как в iops, так и в байтах в секунду.
Обратите внимание, что параметры с total не задаются вместе с read/write. |
|||||
| 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) | ||||||
| name | (str) |
Имя диска.
Для идентификации диска требуется либо его name и информация об аккаунте (account_id или account_name), которому принадлежит диск, либо его id. |
|||||
| permanently |
(bool)
Default: false
|
Параметр, использующийся при удалении диска.
При значении true - диск удалится навсегда, а при false - попадёт в корзину.
|
|||||
| place_with | (int) |
Идентификатор образа диска, из которого следует взять параметр sep_id, чтобы разместить данный диск на той же системе хранения данных, что и указанный образ диска.
Данный параметр является опциональным и используется только на стадии создания диска. Если задан place_with, то sep_id игнорируется. |
|||||
| pool | (str) |
Название пула на системе хранения данных, в рамках которой следует создать данный диск.
Этот параметр используется только на стадии создания диска и игнорируется при операциях над уже существующими дисками. Параметр является опциональным, если не задан, то платформа будет использовать пул, который сконфигурирован на целевой системе хранения как пул по умолчанию. |
|||||
| sep_id | (int) |
Идентификатор системы хранения данных (Storage End-point).
Данный параметр определяет систему хранения данных, на ресурсах которой создаётся диск. Используется только при создании диска и игнорируется при прочих операциях. Альтернативой данному параметру является place_with, позволяющий разместить диск на той же системе хранения, что и указанный образ диска, на базе которого создаётся виртуальная машина. |
|||||
| shareable |
(bool)
Default: false
|
Включение/отключение общего доступа к диску. | |||||
| size | (int) |
Размер диска в ГБ.
Этот параметр является обязательным при создании диска. Если он задан для уже существующего диска, а текущий размер диска меньше заданного, то будет предпринята попытка увеличить размер диска. При прочих операциях данный параметр игнорируется. |
|||||
| state |
(str)
Значения: present
absent
Default: present
|
Целевое состояние диска. | |||||
| storage_policy_id | (int) |
Идентификатор политики хранения.
Обязателен при создании. |
|||||
Возвращаемые значения модуля decort_disk
Модуль decort_disks возвращает информацию о диске в виде словаря facts со следующими ключами:
| Ключ |
Тип
данных |
Описание | ||||
|---|---|---|---|---|---|---|
| account_name | str | Имя аккаунта. | ||||
| account_id | int | Идентификатор аккаунта. | ||||
| acl | dict | |||||
| blkdiscard | bool |
true - unmap
false - ignore
|
||||
| block_size | str | Размер блока. | ||||
| cache_mode | str | Режим кеширования диска | ||||
| created_by | str | Имя пользователя, создавшего диск. | ||||
| created_datetime | str | null | Дата и время создания. | ||||
| created_timestamp | int | Unix-время создания. | ||||
| deleted_by | str | null | Имя пользователя, удалившего диск. | ||||
| deleted_datetime | str | null | Дата и время удаления. | ||||
| deleted_timestamp | int | null | Unix-время удаления. | ||||
| description | str | Описание. | ||||
| destruction_datetime | str | null | Дата и время уничтожения. | ||||
| destruction_timestamp | int | null | Unix-время уничтожения. | ||||
| device_name | str | null | Имя устройства. | ||||
| grid_id | int | Идентификатор ЦОД. | ||||
| id | int | Идентификатор. | ||||
| image_id | int | Идентификатор образа. | ||||
| image_ids | list[int] | Идентификаторы образов. | ||||
| independent | bool | Является ли диск независимым. | ||||
| io_tune | dict[str, int | null] | Словарь, описывающий текущие ограничения ввода/вывода диска. | ||||
| read_bytes_sec | int | null | |||||
| read_bytes_sec_max | int | null | |||||
| read_iops_sec | int | null | |||||
| read_iops_sec_max | int | null | |||||
| size_iops_sec | int | null | |||||
| total_bytes_sec | int | null | |||||
| total_bytes_sec_max | int | null | |||||
| total_iops_sec | int | null | |||||
| total_iops_sec_max | int | null | |||||
| write_bytes_sec | int | null | |||||
| write_bytes_sec_max | int | null | |||||
| write_iops_sec | int | null | |||||
| write_iops_sec_max | int | null | |||||
| milestones | int | Идентификатор состояния диска. | ||||
| name | str | Название. | ||||
| params | str | Параметры. | ||||
| parent_id | int | Идентификатор родителя. | ||||
| present_to | dict[str, int] | Словарь, описывающий, к каким узлам подключён диск. Ключом является идентификатор узла, а значением - количество подключений диска к этому узлу. | ||||
| provision | str | Способ выделения физического пространства. | ||||
| purge_datetime | str | null | Дата и время безвозвратного удаления. | ||||
| purge_timestamp | int | null | Unix-время безвозвратного удаления. | ||||
| replication | dict[str, any] | Словарь, описывающий репликацию диска. | ||||
| disk_id | int | Идентификатор диска. | ||||
| pool_id | str | Идентификатор пула. | ||||
| role | str | Роль. | ||||
| self_volume_id | str | |||||
| storage_id | str | Идентификатор хранилища. | ||||
| volume_id | str | |||||
| res_id | str | Идентификатор ресурса. | ||||
| res_name | str | Имя ресурса. | ||||
| role | str | Роль. | ||||
| sep_id | int | Идентификатор СХД. | ||||
| sep_pool_name | str | Название пула СХД. | ||||
| sep_type | str | Тип СХД. | ||||
| shared | bool | Предоставлен ли общий доступ к диску. | ||||
| size_available_gb | int | Доступный объем в ГБ. | ||||
| size_max_gb | int | Максимальный объем в ГБ. | ||||
| size_used_gb | int | Используемый объем в ГБ. | ||||
| snapshots | list[dict[str, any]] | Снимки. | ||||
| guid | str | Идентификатор снимка. | ||||
| label | str | Имя снимка. | ||||
| reference_id | str | |||||
| res_id | str | Идентификатор ресурса. | ||||
| snapshot_set_guid | str | |||||
| snapshot_set_datetime | str | null | Дата и время создания набора снимков. | ||||
| snapshot_set_timestamp | int | Unix-время создания набора снимков. | ||||
| timestamp | int | Unix-время создания. | ||||
| status | str | Статус. | ||||
| storage_policy_id | int | Идентификатор политики хранения. | ||||
| tech_status | str | Технический статус. | ||||
| to_clean | bool | Диск помечен для очистки после удаления. | ||||
| updated_by | str | null | Пользователь, обновивший диск. | ||||
| updated_datetime | str | null | Дата и время обновления. | ||||
| updated_timestamp | int | null | Unix-время обновления. | ||||
| vms | dict[str, str] | Словарь, описывающий ВМ, к которым подключен диск. Ключом является идентификатор ВМ, а значением - имя ВМ. | ||||
Примеры использования
Создать
С указанием описания
- name: Example
hosts: localhost
tasks:
- name: Create disk with description
decort_disk:
# Параметры для авторизации упущены
account_id: "{{ account_id }}"
name: "{{ disk_name }}"
size: "{{ disk_size }}"
storage_policy_id: "{{ storage_policy_id }}"
description: "{{ disk_description }}"
С указанием СХД
- name: Example
hosts: localhost
tasks:
- name: Create disk with sep
decort_disk:
# Параметры для авторизации упущены
account_id: "{{ account_id }}"
name: "{{ disk_name }}"
size: "{{ disk_size }}"
storage_policy_id: "{{ storage_policy_id }}"
sep_id: "{{ sep_id }}"
С указанием СХД и пула
- name: Example
hosts: localhost
tasks:
- name: Create disk with sep and pool
decort_disk:
# Параметры для авторизации упущены
account_id: "{{ account_id }}"
name: "{{ disk_name }}"
size: "{{ disk_size }}"
storage_policy_id: "{{ storage_policy_id }}"
sep_id: "{{ sep_id }}"
pool: "{{ sep_pool_name }}"
Удалить
В корзину
- name: Example
hosts: localhost
tasks:
- name: Delete
decort_disk:
# Параметры для авторизации упущены
id: "{{ disk_id }}"
state: absent
Безвозвратно
- name: Example
hosts: localhost
tasks:
- name: Delete permanently
decort_disk:
# Параметры для авторизации упущены
id: "{{ disk_id }}"
permanently: true
state: absent
Восстановить из корзины
- name: Example
hosts: localhost
tasks:
- name: Restore
decort_disk:
# Параметры для авторизации упущены
id: "{{ disk_id }}"
state: present
Изменить
Имя
- name: Example
hosts: localhost
tasks:
- name: Change name
decort_disk:
# Параметры для авторизации упущены
id: "{{ disk_id }}"
name: "{{ disk_new_name }}"
Размер
- name: Example
hosts: localhost
tasks:
- name: Change size
decort_disk:
# Параметры для авторизации упущены
id: "{{ disk_id }}"
size: "{{ disk_new_size }}"
Лимиты ввода/вывода
- name: Example
hosts: localhost
tasks:
- name: Change IO limits
decort_disk:
# Параметры для авторизации упущены
id: "{{ disk_id }}"
limitIO:
read_bytes_sec: "{{ read_bytes_sec }}"
write_bytes_sec: "{{ write_bytes_sec }}"
read_iops_sec: "{{ read_iops_sec }}"
write_iops_sec: "{{ write_iops_sec }}"
read_bytes_sec_max: "{{ read_bytes_sec_max }}"
write_bytes_sec_max: "{{ write_bytes_sec_max }}"
read_iops_sec_max: "{{ read_iops_sec_max }}"
write_iops_sec_max: "{{ write_iops_sec_max }}"
size_iops_sec: "{{ size_iops_sec }}"
Политику хранения
- name: Example
hosts: localhost
tasks:
- name: Change storage policy
decort_disk:
# Параметры для авторизации упущены
id: "{{ disk_id }}"
storage_policy_id: "{{ disk_new_storage_policy_id }}"
Включить/отключить общий доступ
- name: Example
hosts: localhost
tasks:
- name: Change shareable
decort_disk:
# Параметры для авторизации упущены
id: "{{ disk_id }}"
shareable: "{{ shareable }}"