На странице
usermacro.get
Описание
integer/array usermacro.get(параметры объекта)
Метод позволяет получить хостовые и глобальные макросы в соответствии с заданными параметрами.
Этот метод доступен пользователям любого типа. Разрешения на вызов метода можно отозвать в настройках ролей пользователя. Дополнительную информацию см. в разделе Роли пользователей.
Параметры
(object) Параметры, определяющие желаемый вывод.
Метод поддерживает следующие параметры.
| Параметр | Тип | Описание |
|---|---|---|
| globalmacro | flag | Возвращать глобальные макросы вместо макросов узла сети. |
| globalmacroids | ID/array | Возвращать только глобальные макросы с указанными ID. |
| groupids | ID/array | Возвращать только макросы узла сети, принадлежащие узлам сети или шаблонам из указанных групп узлов сети или групп шаблонов. |
| hostids | ID/array | Возвращать только макросы, принадлежащие указанным узлам сети или шаблонам. |
| hostmacroids | ID/array | Возвращать только макросы узла сети с указанными ID. |
| inherited | boolean | Если установлено значение true, возвращать только пользовательские макросы прототипа узла сети, унаследованные от шаблона. |
| selectHostGroups | query | Возвращать группы узлов сети, которым принадлежит макрос узла сети, в свойстве hostgroups.Используется только при получении макросов узла сети. |
| selectHosts | query | Возвращать узлы сети, которым принадлежит макрос узла сети, в свойстве hosts.Используется только при получении макросов узла сети. |
| selectTemplateGroups | query | Возвращать группы шаблонов, которым принадлежит макрос шаблона, в свойстве templategroups.Используется только при получении макросов шаблона. |
| selectTemplates | query | Возвращать шаблоны, которым принадлежит макрос узла сети, в свойстве templates.Используется только при получении макросов узла сети. |
| sortfield | string/array | Сортировать результат по указанным свойствам. Возможные значения: macro. |
| countOutput | boolean | Эти параметры описаны в справочном комментарии. |
| editable | boolean | |
| excludeSearch | boolean | |
| filter | object | |
| limit | integer | |
| output | query | |
| preservekeys | boolean | |
| search | object | |
| searchByAny | boolean | |
| searchWildcardsEnabled | boolean | |
| sortorder | string/array | |
| startSearch | boolean |
Возвращаемые значения
(целое число/массив) Возвращает либо:
- · массив объектов;
- · количество извлеченных объектов, если использовался параметр
countOutput.
Примеры
Получение макросов узла сети для узла сети
Получите все макросы узла сети, определённые для узла сети "10198".
{
"jsonrpc": "2.0",
"method": "usermacro.get",
"params": {
"output": "extend",
"hostids": "10198"
},
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": [
{
"hostmacroid": "9",
"hostid": "10198",
"macro": "{$INTERFACE}",
"value": "eth0",
"description": "",
"type": "0",
"automatic": "0"
},
{
"hostmacroid": "11",
"hostid": "10198",
"macro": "{$SNMP_COMMUNITY}",
"value": "public",
"description": "",
"type": "0",
"automatic": "0"
}
],
"id": 1
}
Получение макросов узла сети для шаблона
Получить макросы узла сети, определенные для шаблона "10265", которые содержат "STATUS" в имени макроса.
{
"jsonrpc": "2.0",
"method": "usermacro.get",
"params": {
"output": "extend",
"hostids": "10265",
"search": {
"macro": "STATUS"
}
},
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": [
{
"hostmacroid": "6709",
"hostid": "10265",
"macro": "{$APACHE.STATUS.HOST}",
"value": "",
"description": "Имя узла или IP-адрес узла страницы состояния Apache.",
"type": "0",
"automatic": "0",
"config": {
"type": "1",
"priority": "1",
"section_name": "",
"label": "Узел страницы состояния Apache",
"description": "Имя узла или IP-адрес узла страницы состояния Apache.",
"required": "1",
"regex": "",
"options": []
}
},
{
"hostmacroid": "814",
"hostid": "10265",
"macro": "{$APACHE.STATUS.PATH}",
"value": "server-status?auto",
"description": "Путь URL страницы состояния Apache.",
"type": "0",
"automatic": "0",
"config": {
"type": "1",
"priority": "3",
"section_name": "",
"label": "Путь страницы состояния Apache",
"description": "Путь URL страницы состояния Apache.",
"required": "1",
"regex": "",
"options": []
}
},
{
"hostmacroid": "815",
"hostid": "10265",
"macro": "{$APACHE.STATUS.PORT}",
"value": "80",
"description": "Порт страницы состояния Apache.",
"type": "0",
"automatic": "0",
"config": {
"type": "1",
"priority": "2",
"section_name": "",
"label": "Порт страницы состояния Apache",
"description": "В диапазоне от 1 до 65535 включительно.",
"required": "1",
"regex": "^-?([0-9]+|(([0-9]+)\\.([0-9]+)))$",
"options": []
}
},
{
"hostmacroid": "816",
"hostid": "10265",
"macro": "{$APACHE.STATUS.SCHEME}",
"value": "http",
"description": "Схема запроса, которая может быть HTTP или HTTPS.",
"type": "0",
"automatic": "0",
"config": {
"type": "2",
"priority": "4",
"section_name": "",
"label": "Схема запроса",
"description": "Схема запроса, которая может быть HTTP или HTTPS.",
"required": "0",
"regex": "",
"options": [
{
"value": "http",
"text": "HTTP"
},
{
"value": "https",
"text": "HTTPS"
}
]
}
}
],
"id": 1
}
Получение глобальных макросов
Получите все глобальные макросы.
{
"jsonrpc": "2.0",
"method": "usermacro.get",
"params": {
"output": "extend",
"globalmacro": true
},
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": [
{
"globalmacroid": "6",
"macro": "{$SNMP_COMMUNITY}",
"value": "public",
"description": "",
"type": "0"
}
],
"id": 1
}
Источник
CUserMacro::get() в ui/include/classes/api/services/CUserMacro.php.