hostprototype.get

Opis

integer/array hostprototype.get(object parameters)

Ta metoda umożliwia pobieranie prototypów hostów zgodnie z podanymi parametrami.

Ta metoda jest dostępna dla użytkowników dowolnego typu. Uprawnienia do wywołania tej metody mogą zostać cofnięte w ustawieniach roli użytkownika. Więcej informacji można znaleźć w Rolach użytkowników.

Parametry

(object) Parametry definiujące żądane dane wyjściowe.

Metoda obsługuje następujące parametry.

Parametr Typ Opis
hostids ID/array Zwracaj tylko prototypy hostów o podanych ID.
discoveryids ID/array Zwracaj tylko prototypy hostów należące do podanych reguł LLD.
inherited boolean Jeśli ustawiono true, zwracaj tylko pozycje dziedziczone z szablonu.
selectDiscoveryData query Zwracaj właściwość discoveryData z danymi obiektu wykrywania prototypu hosta. Obiekt wykrywania prototypu hosta łączy wykryty prototyp hosta z prototypem hosta, z którego został wykryty.

Ma następujące właściwości:
host - (string) ID hosta;
parent_hostid - (string) ID prototypu hosta, z którego utworzono prototyp hosta;
status - (int) status wykrywania prototypu hosta:
0 - (domyślnie) prototyp hosta jest wykryty,
1 - prototyp hosta nie jest już wykrywany;
ts_delete - (timestamp) czas, kiedy prototyp hosta, który nie jest już wykrywany, zostanie usunięty;
ts_disable - (timestamp) czas, kiedy prototyp hosta, który nie jest już wykrywany, zostanie wyłączony;
disable_source - (int) wskaźnik określający, czy prototyp hosta został wyłączony przez regułę LLD czy ręcznie:
0 - (domyślnie) wyłączony automatycznie,
1 - wyłączony przez regułę LLD.
selectDiscoveryRule query Zwracaj właściwość discoveryRule z regułą LLD, do której należy prototyp hosta.
selectDiscoveryRulePrototype query Zwracaj właściwość discoveryRulePrototype z nadrzędnym prototypem reguły LLD, do którego należy prototyp hosta.
selectInterfaces query Zwracaj właściwość interfaces z niestandardowymi interfejsami prototypu hosta.
selectGroupLinks query Zwracaj właściwość groupLinks z powiązaniami grup prototypu hosta.
selectGroupPrototypes query Zwracaj właściwość groupPrototypes z prototypami grup prototypu hosta.
selectInheritedTags query Zwracaj właściwość inheritedTags z tagami znajdującymi się w podłączonych szablonach.
selectMacros query Zwracaj właściwość macros z makrami prototypu hosta.
selectParentHost query Zwracaj właściwość parentHost z hostem, do którego należy prototyp hosta.
selectTags query Zwracaj właściwość tags z tagami prototypu hosta.
selectTemplates query Zwracaj właściwość templates z szablonami podłączonymi do prototypu hosta.

Obsługuje count.
sortfield string/array Sortuj wynik według podanych właściwości.

Możliwe wartości: hostid, host, name, status, discovered.
countOutput boolean Te parametry opisano w komentarzu referencyjnym.
editable boolean
excludeSearch boolean
filter object
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

Zwracane wartości

(integer/array) Zwraca:

  • tablicę obiektów;
  • liczbę pobranych obiektów, jeśli został użyty parametr countOutput.

Przykłady

Pobieranie prototypów hostów z reguły LLD

Pobierz wszystkie prototypy hostów, ich powiązania z grupami, prototypy grup oraz tagi z reguły LLD.

Żądanie:

{
    "jsonrpc": "2.0",
    "method": "hostprototype.get",
    "params": {
        "output": "extend",
        "selectInterfaces": "extend",
        "selectGroupLinks": "extend",
        "selectGroupPrototypes": "extend",
        "selectTags": "extend",
        "discoveryids": "23554"
    },
    "id": 1
}

Odpowiedź:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostid": "10092",
            "host": "{#HV.UUID}",
            "name": "{#HV.UUID}",
            "status": "0",
            "templateid": "0",
            "discover": "0",
            "custom_interfaces": "1",
            "uuid": "051a1469d4d045cbbf818fcc843a352e",
            "flags": "2",
            "inventory_mode": "-1",
            "tags": [
                {
                    "tag": "datacenter",
                    "value": "{#DATACENTER.NAME}"
                },
                {
                    "tag": "instance-type",
                    "value": "{#INSTANCE_TYPE}"
                }
            ],
            "groupLinks": [
                {
                    "group_prototypeid": "4",
                    "hostid": "10092",
                    "groupid": "7",
                    "templateid": "0"
                }
            ],
            "groupPrototypes": [
                {
                    "group_prototypeid": "7",
                    "hostid": "10092",
                    "name": "{#CLUSTER.NAME}",
                    "templateid": "0"
                }
            ],
            "interfaces": [
                {
                    "main": "1",
                    "type": "2",
                    "useip": "1",
                    "ip": "127.0.0.1",
                    "dns": "",
                    "port": "161",
                    "available": "0",
                    "error": "",
                    "errors_from": "0",
                    "disable_until": "0",
                    "details": {
                        "version": "2",
                        "bulk": "1",
                        "community": "{$SNMP_COMMUNITY}",
                        "max_repetitions": "10"
                    }
                }
            ]
        }
    ],
    "id": 1
}

Zobacz także

Źródło

CHostPrototype::get() w ui/include/classes/api/services/CHostPrototype.php.