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.
wiki-decort-ansible/7.0.0/модуль-decort_user_info.md

1339 lines
26 KiB

6 days ago
# Модуль decort_user_info
## Обзор модуля
Модуль **decort_user_info** предназначен для получения следующей информации о пользователе:
- **основная информация** (см. [возвращаемые значения](#основная-информация) и [примеры](#получение-основной-информации-о-пользователе))
- **используемые и зарезервированные ресурсы** (см. [параметр resource_consumption](#resource_consumption), [возвращаемые значения](#используемые-и-зарезервированные-ресурсы) и [примеры](#получение-информации-об-используемых-и-зарезервируемых-ресурсах))
- **доступные аккаунты** (см. [параметр accounts](#accounts), [возвращаемые значения](#доступные-аккаунты) и [примеры](#получение-информации-о-доступных-аккаунтах))
- **аудиты** (см. [параметр audits](#audits), [возвращаемые значения](#аудиты) и [примеры](#получение-информации-об-аудитах))
- **доступные методы API** (см. [параметр api_methods](#api_methods), [возвращаемые значения](#доступные-методы-api) и [примеры](#получение-доступных-методов-api))
- **поиск доступных объектов по строке** (см. [параметр objects_search](#objects_search), [возвращаемые значения](#найденные-объекты) и [примеры](#поиск-доступных-объектов))
## Параметры модуля
Ниже приведен список параметров для модуля **decort_user_info** (за исключением [общих параметров авторизации](./введение.md#общие-параметры-модулей-для-авторизации)):
<table>
<tr>
<th colspan="6">Параметр</th>
<th>Тип</th>
<th>Описание</th>
</tr>
<tr>
<td colspan="6">
<a name="accounts">
accounts
</a>
</td>
<td>
(dict)
</td>
<td>
Получить информацию об аккаунтах, к которым имеет доступ пользователь,
с учётом заданных параметров вывода.
<br> Чтобы получить информацию без указания параметров вывода,
необходимо задать пустой словарь <code>{}</code>.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
deleted
</td>
<td>
(bool)
<br>Default: <code>false</code>
</td>
<td>
<br><code>false</code> - вывод только неудалённых объектов.
<br><code>true</code> - вывод только удалённых в корзину объектов.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
filter
</td>
<td>
(dict)
</td>
<td>
Фильтр.
</td>
</tr>
<tr>
<td></td>
<td></td>
<td colspan="4">
rights
</td>
<td>
(str)
<br>Значения:
<br><code>R</code>
<br><code>RCX</code>
<br><code>ARCXDU</code>
<br><code>CXDRAU</code>
</td>
<td>
По предоставленным правам доступа.
</td>
</tr>
<tr>
<td></td>
<td></td>
<td colspan="4">
id
</td>
<td>
(int)
</td>
<td>
По идентификатору.
</td>
</tr>
<tr>
<td></td>
<td></td>
<td colspan="4">
name
</td>
<td>
(str)
</td>
<td>
По имени.
</td>
</tr>
<tr>
<td></td>
<td></td>
<td colspan="4">
status
</td>
<td>
(str)
<br> Значения:
<br><code>CONFIRMED</code>
<br><code>DELETED</code>
<br><code>DESTROYED</code>
<br><code>DESTROYING</code>
<br><code>DISABLED</code>
</td>
<td>
По статусу.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
pagination
</td>
<td>
(dict)
</td>
<td>
Постраничный вывод.
</td>
</tr>
<tr>
<td></td>
<td></td>
<td colspan="4">
number
</td>
<td>
(int)
<br>Default: <code>1</code>
</td>
<td>
Номер страницы.
</td>
</tr>
<tr>
<td></td>
<td></td>
<td colspan="4">
size
</td>
<td>
(int)
</td>
<td>
Размер страниц.
<br> Обязательный параметр.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
resource_consumption
</td>
<td>
(bool)
<br>Default: <code>false</code>
</td>
<td>
Получить информацию об используемых и зарезервированных ресурсах.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
sorting
</td>
<td>
(dict)
</td>
<td>
Сортировка.
</td>
</tr>
<tr>
<td></td>
<td></td>
<td colspan="4">
asc
</td>
<td>
(bool)
<br>Default: <code>true</code>
</td>
<td>
Сортировать по возрастанию.
<br><code>true</code> - по возрастанию.
<br><code>false</code> - по убыванию.
</td>
</tr>
<tr>
<td></td>
<td></td>
<td colspan="4">
field
</td>
<td>
(str)
<br>Значения:
<br><code>createdTime</code>
<br><code>deletedTime</code>
<br><code>id</code>
<br><code>name</code>
<br><code>status</code>
<br><code>updatedTime</code>
</td>
<td>
Название поля, по которому сортировать.
<br> Обязательный параметр.
</td>
</tr>
<tr>
<td colspan="6">
<a name="api_methods">
api_methods
</a>
</td>
<td>
(bool)
<br>Default: <code>false</code>
</td>
<td>
Получить методы API, к которым имеет доступ пользователь.
</td>
</tr>
<tr>
<td colspan="6">
<a name="audits">
audits
</a>
</td>
<td>
(dict)
</td>
<td>
Получить информацию об аудитах пользователя, с учётом
заданных параметров вывода.
<br> Чтобы получить информацию с параметрами вывода по умолчанию,
необходимо задать пустой словарь <code>{}</code>.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
filter
</td>
<td>
(dict)
</td>
<td>
Фильтр.
</td>
</tr>
<tr>
<td></td>
<td></td>
<td colspan="4">
api_method
</td>
<td>
(str)
</td>
<td>
По методу API.
</td>
</tr>
<tr>
<td></td>
<td></td>
<td colspan="4">
status_code
</td>
<td>
(dict)
</td>
<td>
По коду ответа HTTP.
</td>
</tr>
<tr>
<tr>
<td></td>
<td></td>
<td></td>
<td colspan="3">
min
</td>
<td>
(int)
</td>
<td>
По минимальному коду ответа HTTP.
</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td colspan="3">
max
</td>
<td>
(int)
</td>
<td>
По максимальному коду ответа HTTP.
</td>
</tr>
<tr>
<td></td>
<td></td>
<td colspan="4">
time
</td>
<td>
(dict)
</td>
<td>
По временному периоду.
</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td colspan="3">
start
</td>
<td>
(dict)
</td>
<td>
Начало периода.
</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td colspan="2">
unix
</td>
<td>
(int)
</td>
<td>
Unix-время.
</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td colspan="2">
date_time
</td>
<td>
(str)
</td>
<td>
Дата и время в формате <code>ггггммддччммсс</code>.
Альтернатива параметру <code>unix</code>.
<br> Допустимо использовать любой разделитель между
группами цифр для повышения читаемости. Например,
<code>гггг-мм-дд чч:мм:сс</code>.
</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td colspan="3">
end
</td>
<td>
(dict)
</td>
<td>
Конец периода.
<br> Структура словаря аналогична параметру
<code>start</code>.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
pagination
</td>
<td>
(dict)
</td>
<td>
Постраничный вывод.
</td>
</tr>
<tr>
<td></td>
<td></td>
<td colspan="4">
number
</td>
<td>
(int)
<br>Default: <code>1</code>
</td>
<td>
Номер страницы.
</td>
</tr>
<tr>
<td></td>
<td></td>
<td colspan="4">
size
</td>
<td>
(int)
<br>Default: <code>50</code>
</td>
<td>
Размер страниц.
</td>
</tr>
<tr>
<td colspan="6">
<a name="objects_search">
objects_search
</a>
</td>
<td>
(str)
</td>
<td>
Получить информацию о доступных пользователю объектах,
найденных по строчному значению данного параметра.
</td>
</tr>
<tr>
<td colspan="6">
<a name="resource_consumption">
resource_consumption
</a>
</td>
<td>
(bool)
<br>Default: <code>false</code>
</td>
<td>
Получить информацию об используемых и зарезервированных ресурсах,
к которым имеет доступ пользователь.
</td>
</tr>
</table>
## Возвращаемые значения
Модуль **decort_user_info** возвращает информацию о пользователе в виде словаря `facts` со следующими ключами:
### Основная информация
<table>
<tr>
<th colspan="6">
Ключ
</th>
<th>
Тип
<br>данных
</th>
<th>
Описание
</th>
</tr>
<tr>
<td colspan="6">
admin
</td>
<td>
bool
</td>
<td>
Наличие административных прав.
</td>
</tr>
<tr>
<td colspan="6">
data
</td>
<td>
dict
</td>
<td>
Дополнительные данные.
</td>
</tr>
<tr>
<td colspan="6">
emailaddresses
</td>
<td>
list
</td>
<td>
Адреса эл. почты.
</td>
</tr>
<tr>
<td colspan="6">
name
</td>
<td>
str
</td>
<td>
Имя/идентификатор.
</td>
</tr>
<tr>
<td colspan="6">
roles
</td>
<td>
list
</td>
<td>
Группы доступа.
</td>
</tr>
</table>
### Используемые и зарезервированные ресурсы
<table>
<tr>
<th colspan="6">
Ключ
</th>
<th>
Тип
<br>данных
</th>
<th>
Описание
</th>
</tr>
<tr>
<td colspan="6">
<a name="resource_consumed">
resource_consumed
</a>
</td>
<td>
dict
</td>
<td>
Используемые ресурсы.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
cpu
</td>
<td>
int
</td>
<td>
Количество виртуальных процессоров.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
disksize
</td>
<td>
int
</td>
<td>
Объём дисков в ГБ.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
extips
</td>
<td>
int
</td>
<td>
Количество внешних IP-адресов.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
exttraffic
</td>
<td>
int
</td>
<td>
Объём трафика внешних сетей.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
gpu
</td>
<td>
int
</td>
<td>
Количество графических процессоров.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
ram
</td>
<td>
int
</td>
<td>
Объём оперативной памяти в МБ.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
seps
</td>
<td>
dict
</td>
<td>
Объём дисков по пулам СХД.
</td>
<tr>
<td></td>
<td></td>
<td colspan="4">
(идентификатор СХД)
</td>
<td>
dict
</td>
<td>
Пулы СХД.
</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td colspan="3">
(название пула)
</td>
<td>
dict
</td>
<td>
Словарь пула СХД.
</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td colspan="2">
disksize
</td>
<td>
int
</td>
<td>
Объём дисков в ГБ.
</td>
</tr>
<tr>
<td colspan="6">
resource_reserved
</td>
<td>
dict
</td>
<td>
Зарезервированные ресурсы.
<br> Структура словаря аналогична словарю
<a href=#resource_consumed>
resource_consumed
</a>.
</td>
</tr>
</table>
### Доступные аккаунты
<table>
<tr>
<th colspan="6">
Ключ
</th>
<th>
Тип
<br>данных
</th>
<th>
Описание
</th>
</tr>
<tr>
<td colspan="6">
accounts
</td>
<td>
list
</td>
<td>
Список словарей, описывающих аккаунты.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
acl
</td>
<td>
list
</td>
<td>
Список словарей, описывающих доступы пользователей.
</td>
</tr>
<tr>
<td></td>
<td></td>
<td colspan="4">
right
</td>
<td>
str
</td>
<td>
Права доступа.
</td>
</tr>
<tr>
<td></td>
<td></td>
<td colspan="4">
status
</td>
<td>
str
</td>
<td>
Статус.
</td>
</tr>
<tr>
<td></td>
<td></td>
<td colspan="4">
type
</td>
<td>
str
</td>
<td>
Тип.
</td>
</tr>
<tr>
<td></td>
<td></td>
<td colspan="4">
userGroupId
</td>
<td>
str
</td>
<td>
Идентификатор пользователя или группы пользователей.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
computeFeatures
</td>
<td>
list
</td>
<td>
Список дополнительных возможностей гипервизора, доступных ВМ.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
createdTime
</td>
<td>
int
</td>
<td>
Unix-время создания.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
createdTime_readable
</td>
<td>
str
</td>
<td>
Дата и время создания.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
deletedTime
</td>
<td>
int
</td>
<td>
Unix-время удаления.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
deletedTime_readable
</td>
<td>
str
</td>
<td>
Дата и время удаления.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
id
</td>
<td>
int
</td>
<td>
Идентификатор.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
name
</td>
<td>
str
</td>
<td>
Имя.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
resource_consumed
</td>
<td>
list
</td>
<td>
Используемые ресурсы.
<br> Только если
<code>accounts.resource_consumption: true</code>
и только для неудалённых объектов.
<br> Структура словаря аналогична словарю
<a href=#resource_consumed>
resource_consumed
</a>.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
resource_reserved
</td>
<td>
list
</td>
<td>
Зарезервированные ресурсы.
<br> Только если
<code>accounts.resource_consumption: true</code>
и только для неудалённых объектов.
<br> Структура словаря аналогична словарю
<a href=#resource_consumed>
resource_consumed
</a>.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
status
</td>
<td>
str
</td>
<td>
Статус.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
updatedTime
</td>
<td>
int
</td>
<td>
Unix-время обновления.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
updatedTime_readable
</td>
<td>
str
</td>
<td>
Дата и время обновления.
</td>
</tr>
</table>
### Аудиты
<table>
<tr>
<th colspan="6">
Ключ
</th>
<th>
Тип
<br>данных
</th>
<th>
Описание
</th>
</tr>
<tr>
<td colspan="6">
audits
</td>
<td>
list
</td>
<td>
Список словарей, описывающих аудиты.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
Call
</td>
<td>
str
</td>
<td>
Метод API.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
Guid
</td>
<td>
str
</td>
<td>
Уникальный идентификатор аудита.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
Response Time
</td>
<td>
float
</td>
<td>
Время отклика в секундах.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
Status Code
</td>
<td>
int
</td>
<td>
Код ответа HTTP.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
Time
</td>
<td>
float
</td>
<td>
Unix-время.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
Time_readable
</td>
<td>
str
</td>
<td>
Дата и время.
</td>
</tr>
</table>
### Доступные методы API
<table>
<tr>
<th colspan="6">
Ключ
</th>
<th>
Тип
<br>данных
</th>
<th>
Описание
</th>
</tr>
<tr>
<td colspan="6">
api_methods
</td>
<td>
list
</td>
<td>
Список словарей, описывающих доступные методы API.
</td>
</tr>
<tr>
<td></td>
<td colspan="5">
(название группы методов API)
</td>
<td>
dict
</td>
<td>
Доступные методы группы.
</td>
</tr>
<tr>
<td></td>
<td></td>
<td colspan="4">
(название подгруппы методов API)
</td>
<td>
list
</td>
<td>
Методы подгруппы.
</td>
</tr>
<tr>
<td></td>
<td></td>
<td colspan="4">
ALL
</td>
<td>
bool
</td>
<td>
Доступ ко всем методам группы.
</td>
</tr>
</table>
### Найденные объекты
<table>
<tr>
<th colspan="6">
Ключ
</th>
<th>
Тип
<br>данных
</th>
<th>
Описание
</th>
</tr>
<tr>
<td colspan="6">
objects_search
</td>
<td>
list
</td>
<td>
Список словарей, описывающих найденные объекты.
</td>
</tr>
</table>
## Примеры использования
### Получение основной информации о пользователе
```
- name: Example
hosts: localhost
tasks:
- name: Get basic user info
decort_user_info:
# Параметры для авторизации упущены
```
### Получение информации об используемых и зарезервируемых ресурсах
```
- name: Example
hosts: localhost
tasks:
- name: Get user info with resource consumption
decort_user_info:
# Параметры для авторизации упущены
resource_consumption: true
```
### Получение информации о доступных аккаунтах
#### Только неудалённые
```
- name: Example
hosts: localhost
tasks:
- name: Get user info with not deleted accounts
decort_user_info:
# Параметры для авторизации упущены
accounts: {}
```
#### Только удалённые в корзину
```
- name: Example
hosts: localhost
tasks:
- name: Get user info with deleted accounts
decort_user_info:
# Параметры для авторизации упущены
accounts:
deleted: true
```
#### С информацией об используемых и зарезервированных ресурсах
```
- name: Example
hosts: localhost
tasks:
- name: Get user info with accounts
decort_user_info:
# Параметры для авторизации упущены
accounts:
resource_consumption: true
```
#### С фильтрацией по статусу
```
- name: Example
hosts: localhost
tasks:
- name: Get user info with accounts
decort_user_info:
# Параметры для авторизации упущены
accounts:
filter:
status: CONFIRMED
```
#### С сортировкой по имени
```
- name: Example
hosts: localhost
tasks:
- name: Get user info with accounts
decort_user_info:
# Параметры для авторизации упущены
accounts:
sorting:
field: name
```
#### С постраничным выводом
```
- name: Example
hosts: localhost
tasks:
- name: Get user info with accounts
decort_user_info:
# Параметры для авторизации упущены
accounts:
pagination:
size: 2
```
### Получение информации об аудитах
#### Без использования параметров вывода
```
- name: Example
hosts: localhost
tasks:
- name: Get user info with audits
decort_user_info:
# Параметры для авторизации упущены
audits: {}
```
#### С фильтрацией по методу API
```
- name: Example
hosts: localhost
tasks:
- name: Get user info with audits
decort_user_info:
# Параметры для авторизации упущены
audits:
filter:
call: cloudapi/account
```
#### С фильтрацией по временному периоду
```
- name: Example
hosts: localhost
tasks:
- name: Get user info with audits
decort_user_info:
# Параметры для авторизации упущены
audits:
filter:
time:
start:
unix: 1724668267
end:
date_time: 2024-08-26_13-40
```
#### С постраничным выводом
```
- name: Example
hosts: localhost
tasks:
- name: Get user info with audits
decort_user_info:
# Параметры для авторизации упущены
audits:
pagination:
size: 2
```
### Получение доступных методов API
```
- name: Example
hosts: localhost
tasks:
- name: Get user info with API methods
decort_user_info:
# Параметры для авторизации упущены
api_methods: true
```
### Поиск доступных объектов
```
- name: Example
hosts: localhost
tasks:
- name: Get user info with found objects
decort_user_info:
# Параметры для авторизации упущены
objects_search: test
```