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.