hostprototype.get

Description

integer/array hostprototype.get(object parameters)

La méthode permet de récupérer des prototypes d'hôte selon les paramètres fournis.

Cette méthode est disponible pour les utilisateurs de tout type. Les autorisations d'appel de la méthode peuvent être révoquées dans les paramètres des rôles utilisateur. Voir Rôles utilisateur pour plus d'informations.

Paramètres

(object) Paramètres définissant la sortie souhaitée.

La méthode prend en charge les paramètres suivants.

Parameter Type Description
hostids ID/array Retourne uniquement les prototypes d'hôte avec les ID donnés.
discoveryids ID/array Retourne uniquement les prototypes d'hôte qui appartiennent aux règles LLD données.
inherited boolean Si défini sur true, retourne uniquement les éléments hérités d'un modèle.
selectDiscoveryData query Retourne une propriété discoveryData avec les données de l'objet de découverte du prototype d'hôte. L'objet de découverte du prototype d'hôte lie un prototype d'hôte découvert à un prototype d'hôte à partir duquel il a été découvert.

Il possède les propriétés suivantes :
host - (string) ID de l'hôte;
parent_hostid - (string) ID du prototype d'hôte à partir duquel le prototype d'hôte a été créé;
status - (int) statut de découverte du prototype d'hôte :
0 - (par défaut) le prototype d'hôte est découvert,
1 - le prototype d'hôte n'est plus découvert;
ts_delete - (timestamp) moment où un prototype d'hôte qui n'est plus découvert sera supprimé;
ts_disable - (timestamp) moment où un prototype d'hôte qui n'est plus découvert sera désactivé;
disable_source - (int) indicateur précisant si le prototype d'hôte a été désactivé par une règle LLD ou manuellement :
0 - (par défaut) désactivé automatiquement,
1 - désactivé par une règle LLD.
selectDiscoveryRule query Retourne une propriété discoveryRule avec la règle LLD à laquelle appartient le prototype d'hôte.
selectDiscoveryRulePrototype query Retourne une propriété discoveryRulePrototype avec le prototype de règle LLD parent auquel appartient le prototype d'hôte.
selectInterfaces query Retourne une propriété interfaces avec les interfaces personnalisées du prototype d'hôte.
selectGroupLinks query Retourne une propriété groupLinks avec les liens de groupe du prototype d'hôte.
selectGroupPrototypes query Retourne une propriété groupPrototypes avec les prototypes de groupe du prototype d'hôte.
selectMacros query Retourne une propriété macros avec les macros du prototype d'hôte.
selectParentHost query Retourne une propriété parentHost avec l'hôte auquel appartient le prototype d'hôte.
selectTags query Retourne une propriété tags avec les balises du prototype d'hôte.
selectTemplates query Retourne une propriété templates avec les modèles liés au prototype d'hôte.

Prend en charge count.
sortfield string/array Trie le résultat selon les propriétés données.

Valeurs possibles : hostid, host, name, status, discovered.
countOutput boolean Ces paramètres sont décrits dans le commentaire de référence.
editable boolean
excludeSearch boolean
filter object
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

Valeurs de retour

(integer/array) Renvoie soit :

  • un tableau d'objets ;
  • le nombre d'objets récupérés, si le paramètre countOutput a été utilisé.

Exemples

Récupération des prototypes d'hôte à partir d'une règle LLD

Récupérez tous les prototypes d'hôte, leurs liens de groupe, leurs prototypes de groupe et leurs tags à partir d'une règle LLD.

Requête :

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

Réponse :

{
    "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
}

Voir aussi

Source

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