usermacro.get

Описание

integer/array usermacro.get(object parameters)

Метод позволяет получать макросы узла сети и глобальные макросы в соответствии с заданными параметрами.

Этот метод доступен пользователям любого типа. Разрешения на вызов метода могут быть отозваны в настройках роли пользователя. См. Роли пользователей для получения дополнительной информации.

Параметры

(object) Параметры, определяющие требуемый результат.

Метод поддерживает следующие параметры.

Parameter Type Description
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.