# Модуль decort_account ## Обзор модуля Модуль **decort_account** предназначен для выполнения следующих действий над аккаунтом: - **удалить в корзину** (см. [параметр state](#state) и [примеры](#в-корзину)) - **удалить безвозвратно** (см. [параметр state](#state) и [примеры](#безвозвратно)) - **восстановить из корзины** (см. [параметр state](#state) и [примеры](#восстановить-из-корзины)) - **выключить/включить** (см. [параметр state](#state) и [примеры](#выключитьвключить)) - **изменить права доступа** (см. [параметр acl](#acl) и [примеры](#изменить-права-доступа)) - **изменить имя** (см. [параметр name](#name) и [примеры](#переименовать)) - **изменить квоты** (см. [параметр quotas](#quotas) и [примеры](#изменить-квоты)) - **выключить/включить отправку уведомлений о предоставлении доступа к ресурсам** (см. [параметр access_emails](#access_emails) и [примеры](#выключитьвключить-отправку-уведомлений-о-предоставлении-доступа-к-ресурсам)) ## Параметры модуля Ниже приведен список параметров для модуля **decort_account** (за исключением [общих параметров авторизации](./введение.md#общие-параметры-модулей-для-авторизации)):
Параметр Тип Описание
access_emails (bool) Выключение/включение отправки пользователям на эл. почту уведомлений о предоставлении доступа к ресурсам.
acl (dict) Целевые права доступа.
mode (str)
Значения:
match
revoke
update
Default: update
Режим изменения прав доступа для указанных пользователей.
match - привести в соответствие для указанных пользователей, удалить предоставленные для других.
revoke - отозвать для указанных пользователей, если предоставлены.
update - привести в соответствие для указанных пользователей, оставить без изменения предоставленные для других.
users (list) Список словарей, описывающих права доступа пользователей.
Обязательный параметр.
rights (str)
Значения:
R
RCX
ARCXDU
Default: R
Права доступа.
При mode: revoke не используется.
При mode: match и mode: update права ARCXDU считаются соответствующими правам CXDRAU.
id (str) Идентификатор пользователя.
Обязательный параметр.
id (int) Идентификатор целевого аккаунта.
Обязательный параметр, если не задан параметр name.
name (str) Имя целевого аккаунта.
Может быть альтернативой параметру id, за исключением случая, когда необходимо получить информацию о безвозвратно удалённом объекте.
Если задан совместно с параметром id, то используется для переименования (целевое имя).
quotas (dict) Целевые квоты.
cpu (int) Количество виртуальных процессоров.
-1 - удалить квоту.
disks_size (int) Объём дисков в ГБ.
-1 - удалить квоту.
ext_traffic (int) Объём трафика внешних сетей.
-1 - удалить квоту.
gpu (int) Количество графических процессоров.
-1 - удалить квоту.
public_ip (int) Количество внешних IP-адресов.
-1 - удалить квоту.
ram (int) Объём оперативной памяти в МБ.
-1 - удалить квоту.
state (str)
Значения:
absent
absent_permanently
confirmed
disabled
present
Default: present
Целевое состояние.
absent - удалён в корзину, безвозвратно удалён или не существует. Если существует и не удалён, то будет удалён в корзину.
absent_permanently - безвозвратно удалён или не существует. Если существует и не удалён или удалён в корзину, то будет безвозвратно удалён.
При значениях absent и absent_permanently использование других параметров модуля, вызывающих изменение объекта, не допускается.
confirmed - включён. Если выключен, то будет включён. Если удалён в корзину, то будет восстановлен из корзины.
disabled - выключен. Если включён, то будет выключен. Если удалён в корзину, то будет восстановлен из корзины и выключен.
present - существует и не удалён. Если удалён в корзину, то будет восстановлен из корзины.
## Возвращаемые значения Модуль **decort_account** возвращает информацию об аккаунте в виде словаря `facts` со следующими ключами:
Ключ Тип
данных
Описание
acl list Список словарей, описывающих доступы пользователей.
canBeDeleted bool Может ли быть удалён.
explicit bool Видимость аккаунта.
right str Права.
status str Статус.
type str Тип.
userGroupId str Идентификатор пользователя или группы пользователей.
company str Название компании.
companyurl str URL компании.
computeFeatures list Список дополнительных возможностей гипервизора, доступных ВМ.
computes_amount dict Количество ВМ по состоянию.
started int Количество запущенных ВМ.
stopped int Количество остановленных ВМ.
cpu_allocation_parameter str Режим выделения ЦП.
cpu_allocation_ratio str Коэффициент для режима выделения ЦП.
createdBy str Идентификатор пользователя, который создал.
createdTime int Unix-время создания.
createdTime_readable str Дата и время создания.
deactivationTime int Unix-время выключения.
deactivationTime_readable str Дата и время выключения.
deletedBy str Идентификатор пользователя, который удалил.
deletedTime int Unix-время удаления.
deletedTime_readable str Дата и время удаления.
displayname str Отображаемое имя.
id int Идентификатор.
name str Имя.
resourceLimits dict Квоты на ресурсы.
CU_C int Количество виртуальных процессоров.
CU_D int Объём диска в ГБ.
CU_DM int Объём дисков в ГБ.
CU_I int Количество внешних IP-адресов.
CU_M float Объём оперативной памяти в МБ.
CU_NP int Объём трафика внешних сетей.
gpu_units int Количество графических процессоров.
sendAccessEmails bool Отправка пользователям на эл. почту уведомлений о предоставлении доступа.
status str Статус.
uniqPools list Список доступных пулов СХД.
updatedTime int Unix-время обновления.
updatedTime_readable str Дата и время обновления.
vins list Список идентификаторов внутренних сетей на уровне аккаунта.
vinses_amount int Количество внутренних сетей.
## Примеры использования ### Удалить #### В корзину ``` - name: Example hosts: localhost tasks: - name: Delete account decort_account: # Параметры для авторизации упущены id: "{{ account_id }}" state: absent ``` #### Безвозвратно ``` - name: Example hosts: localhost tasks: - name: Delete account decort_account: # Параметры для авторизации упущены id: "{{ account_id }}" state: absent_permanently ``` ### Восстановить из корзины ``` - name: Example hosts: localhost tasks: - name: Restore account from recycle bin decort_account: # Параметры для авторизации упущены id: "{{ account_id }}" state: present ``` ### Выключить/включить #### Выключить ``` - name: Example hosts: localhost tasks: - name: Disable account decort_account: # Параметры для авторизации упущены id: "{{ account_id }}" state: disabled ``` #### Включить ``` - name: Example hosts: localhost tasks: - name: Enable account decort_account: # Параметры для авторизации упущены id: "{{ account_id }}" state: confirmed ``` ### Изменить права доступа #### Отозвать ``` - name: Example hosts: localhost tasks: - name: Revoke user access rights decort_account: # Параметры для авторизации упущены id: "{{ account_id }}" acl: mode: revoke users: - id: "{{ user1_id }}" - id: "{{ user2_id }}" ``` #### Обновить ``` - name: Example hosts: localhost tasks: - name: Update user access rights decort_account: # Параметры для авторизации упущены id: "{{ account_id }}" acl: mode: update users: - id: "{{ user1_id }}" rights: R - id: "{{ user2_id }}" rights: RCX ``` #### Привести в соответствие ``` - name: Example hosts: localhost tasks: - name: Match user access rights decort_account: # Параметры для авторизации упущены id: "{{ account_id }}" acl: mode: match users: - id: "{{ user1_id }}" rights: ARCXDU - id: "{{ user2_id }}" rights: RCX ``` ### Переименовать ``` - name: Example hosts: localhost tasks: - name: Rename account decort_account: # Параметры для авторизации упущены id: "{{ account_id }}" name: "{{ account_new_name }}" ``` ### Изменить квоты #### На объём дисков ``` - name: Example hosts: localhost tasks: - name: Update account quota of disks size decort_account: # Параметры для авторизации упущены id: "{{ account_id }}" quotas: disks_size: 500 ``` #### На количество внешних IP-адресов ``` - name: Example hosts: localhost tasks: - name: Update account quota of public IP amount decort_account: # Параметры для авторизации упущены id: "{{ account_id }}" quotas: public_ip: 10 ``` ### Выключить/включить отправку уведомлений о предоставлении доступа к ресурсам #### Выключить ``` - name: Example hosts: localhost tasks: - name: Disable sending access emails decort_account: # Параметры для авторизации упущены id: "{{ account_id }}" access_emails: false ``` #### Включить ``` - name: Example hosts: localhost tasks: - name: Enable sending access emails decort_account: # Параметры для авторизации упущены id: "{{ account_id }}" access_emails: true ```