This commit is contained in:
2026-02-11 13:55:42 +03:00
parent 139f6fb703
commit 0e8d88a5e2
33 changed files with 20139 additions and 0 deletions

View File

@@ -0,0 +1,447 @@
# Модуль decort_user
## Обзор модуля
Модуль **decort_user** предназначен для получения следующей информации о пользователе:
- **основная информация** (см. [возвращаемые значения](#основная-информация) и [примеры](#получение-основной-информации-о-пользователе))
- **используемые и зарезервированные ресурсы** (см. [параметр resource_consumption](#resource_consumption), [возвращаемые значения](#используемые-и-зарезервированные-ресурсы) и [примеры](#получение-информации-об-используемых-и-зарезервируемых-ресурсах))
- **доступные методы API** (см. [параметр api_methods](#api_methods), [возвращаемые значения](#доступные-методы-api) и [примеры](#получение-доступных-методов-api))
- **поиск доступных объектов по строке** (см. [параметр objects_search](#objects_search), [возвращаемые значения](#найденные-объекты) и [примеры](#поиск-доступных-объектов))
## Параметры модуля
Ниже приведен список параметров для модуля **decort_user** (за исключением [общих параметров](./введение.md#общие-параметры-модулей)):
<table>
<tr>
<th colspan="6">Параметр</th>
<th>Тип</th>
<th>Описание</th>
</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="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** возвращает информацию о пользователе в виде словаря `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>
### Доступные методы 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:
# Параметры для авторизации упущены
```
### Получение информации об используемых и зарезервируемых ресурсах
```
- name: Example
hosts: localhost
tasks:
- name: Get user info with resource consumption
decort_user:
# Параметры для авторизации упущены
resource_consumption: true
```
### Получение доступных методов API
```
- name: Example
hosts: localhost
tasks:
- name: Get user info with API methods
decort_user:
# Параметры для авторизации упущены
api_methods: true
```
### Поиск доступных объектов
```
- name: Example
hosts: localhost
tasks:
- name: Get user info with found objects
decort_user:
# Параметры для авторизации упущены
objects_search: test
```