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 du paramètre:
- obligatoire
ruleid ID ID de la règle LLD à laquelle appartient le prototype d'hôte.

Comportement du paramètre:
- 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 du 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.

Les modèles doivent avoir uniquement la propriété templateid définie.

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 également

Source

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