Files
wiki-decort-ansible/12.0.0/модуль-decort_disk.md
2026-06-01 18:15:20 +03:00

30 KiB
Raw Permalink Blame History

Модуль decort_disk

Обзор модуля decort_disk

Модуль decort_disk предназначен для выполнения следующих действий над дисками:

Параметры модуля 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 }}"