hostprototype.create

Description

object hostprototype.create(object/array hostPrototypes)

Cette méthode permet de créer de nouveaux prototypes d’hôte.

Cette méthode est disponible uniquement pour les types d’utilisateur Admin et Super admin. Les autorisations d’appel de la méthode peuvent être révoquées dans les paramètres du rôle utilisateur. Voir User roles pour plus d’informations.

Paramètres

(object/array) Prototypes d'hôte à créer.

En plus des propriétés standard des prototypes d'hôte, la méthode accepte les paramètres suivants.

Paramètre Type Description
groupLinks array Liens de groupes à créer pour le prototype d'hôte.

Comportement des paramètres:
- obligatoire
ruleid ID ID de la règle LLD à laquelle appartient le prototype d'hôte.

Comportement des paramètres:
- obligatoire
groupPrototypes array Prototypes de groupes à créer pour le prototype d'hôte.
macros object/array Macros utilisateur à créer pour le prototype d'hôte.
tags object/array Tags de prototype d'hôte.
interfaces object/array Interfaces personnalisées du prototype d'hôte.
templates object/array Modèles à lier au prototype d'hôte.

Seule la propriété templateid doit être définie pour les modèles.

Valeurs retournées

(object) Renvoie un objet contenant les IDs des prototypes d'hôtes créés sous la propriété hostids. L'ordre des ID renvoyés correspond à l'ordre des prototypes d'hôtes transmis.

Exemples

Création d’un prototype d’hôte

Créez un prototype d’hôte "{#VM.NAME}" sur la règle LLD "23542" avec un prototype de groupe "{#HV.NAME}", la paire de tags "datacenter": "{#DATACENTER.NAME}" et une interface SNMPv2 personnalisée 127.0.0.1:161 avec la communauté {$SNMP_COMMUNITY}. Liez-le au groupe d’hôtes "2".

Requête:

{
    "jsonrpc": "2.0",
    "method": "hostprototype.create",
    "params": {
        "host": "{#VM.NAME}",
        "ruleid": "23542",
        "custom_interfaces": "1",
        "groupLinks": [
            {
                "groupid": "2"
            }
        ],
        "groupPrototypes": [
            {
                "name": "{#HV.NAME}"
            }
        ],
        "tags": [
            {
                "tag": "datacenter",
                "value": "{#DATACENTER.NAME}"
            }
        ],
        "interfaces": [
            {
                "main": "1",
                "type": "2",
                "useip": "1",
                "ip": "127.0.0.1",
                "dns": "",
                "port": "161",
                "details": {
                    "version": "2",
                    "bulk": "1",
                    "community": "{$SNMP_COMMUNITY}"
                }
            }
        ]
    },
    "id": 1
}

Réponse :

{
    "jsonrpc": "2.0",
    "result": {
        "hostids": [
            "10103"
        ]
    },
    "id": 1
}

Voir aussi

Source

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