hostprototype.get

Opis

integer/array hostprototype.get(object parameters)

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 metody można odebrać w ustawieniach roli użytkownika. Więcej informacji można znaleźć w sekcji Role użytkowników.

Parametry

(object) Parametry definiujące oczekiwany wynik.

Metoda obsługuje następujące parametry.

Parameter Type Description
hostids ID/array Zwraca tylko prototypy hostów o podanych ID.
discoveryids ID/array Zwraca tylko prototypy hostów należące do podanych reguł LLD.
inherited boolean Jeśli ustawione na true, zwraca tylko pozycje odziedziczone z szablonu.
selectDiscoveryData query Zwraca 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 został utworzony prototyp hosta;
status - (int) status wykrywania prototypu hosta:
0 - (domyślnie) prototyp hosta został wykryty,
1 - prototyp hosta nie jest już wykrywany;
ts_delete - (timestamp) czas, w którym prototyp hosta, który nie jest już wykrywany, zostanie usunięty;
ts_disable - (timestamp) czas, w którym prototyp hosta, który nie jest już wykrywany, zostanie wyłączony;
disable_source - (int) wskaźnik tego, 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 Zwraca właściwość discoveryRule z regułą LLD, do której należy prototyp hosta.
selectDiscoveryRulePrototype query Zwraca właściwość discoveryRulePrototype z nadrzędnym prototypem reguły LLD, do której należy prototyp hosta.
selectInterfaces query Zwraca właściwość interfaces z niestandardowymi interfejsami prototypu hosta.
selectGroupLinks query Zwraca właściwość groupLinks z powiązaniami grup prototypu hosta.
selectGroupPrototypes query Zwraca właściwość groupPrototypes z prototypami grup prototypu hosta.
selectMacros query Zwraca właściwość macros z makrami prototypu hosta.
selectParentHost query Zwraca właściwość parentHost z hostem, do którego należy prototyp hosta.
selectTags query Zwraca właściwość tags z tagami prototypu hosta.
selectTemplates query Zwraca właściwość templates z szablonami powiązanymi z prototypem hosta.

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

Możliwe wartości: hostid, host, name, status, discovered.
countOutput boolean Te parametry są opisane 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

Wartości zwracane

(integer/array) Zwraca albo:

  • tablicę obiektów;
  • liczbę pobranych obiektów, jeśli użyto parametru 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",
            "flags": "2",
            "discover": "0",
            "custom_interfaces": "1",
            "inventory_mode": "-1",
            "groupLinks": [
                {
                    "group_prototypeid": "4",
                    "hostid": "10092",
                    "groupid": "7",
                    "templateid": "0"
                }
            ],
            "groupPrototypes": [
                {
                    "group_prototypeid": "7",
                    "hostid": "10092",
                    "name": "{#CLUSTER.NAME}",
                    "templateid": "0"
                }
            ],
            "tags": [
                {
                    "tag": "datacenter",
                    "value": "{#DATACENTER.NAME}"
                },
                {
                    "tag": "instance-type",
                    "value": "{#INSTANCE_TYPE}"
                }
            ],
            "interfaces": [
                {
                    "main": "1",
                    "type": "2",
                    "useip": "1",
                    "ip": "127.0.0.1",
                    "dns": "",
                    "port": "161",
                    "details": {
                        "version": "2",
                        "bulk": "1",
                        "community": "{$SNMP_COMMUNITY}",
                        "max_repetitions": "10"
                    }
                }
            ]
        }
    ],
    "id": 1
}

Zobacz także

Source

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