hostprototype.get

Description

integer/array hostprototype.get(object parameters)

Cette 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 User roles 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.

Paramètre Type Description
hostids ID/array Retourner uniquement les prototypes d'hôte avec les ID donnés.
discoveryids ID/array Retourner uniquement les prototypes d'hôte qui appartiennent aux règles LLD données.
inherited boolean Si défini sur true, retourner uniquement les éléments hérités d'un modèle.
selectDiscoveryData query Retourner 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 relie 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) heure à laquelle un prototype d'hôte qui n'est plus découvert sera supprimé ;
ts_disable - (timestamp) heure à laquelle 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 Retourner une propriété discoveryRule avec la règle LLD à laquelle appartient le prototype d'hôte.
selectDiscoveryRulePrototype query Retourner une propriété discoveryRulePrototype avec le prototype de règle LLD parent auquel appartient le prototype d'hôte.
selectInterfaces query Retourner une propriété interfaces avec les interfaces personnalisées du prototype d'hôte.
selectGroupLinks query Retourner une propriété groupLinks avec les liens de groupes du prototype d'hôte.
selectGroupPrototypes query Retourner une propriété groupPrototypes avec les prototypes de groupes du prototype d'hôte.
selectInheritedTags query Retourner une propriété inheritedTags avec les tags présents sur les modèles liés.
selectMacros query Retourner une propriété macros avec les macros du prototype d'hôte.
selectParentHost query Retourner une propriété parentHost avec l'hôte auquel appartient le prototype d'hôte.
selectTags query Retourner une propriété tags avec les tags du prototype d'hôte.
selectTemplates query Retourner une propriété templates avec les modèles liés au prototype d'hôte.

Prend en charge count.
sortfield string/array Trier 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, prototypes de groupe et 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",
            "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
}

Voir aussi

Source

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