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".
{
"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
- Lien du groupe
- Prototype du groupe
- Tag du prototype d'hôte
- Interface personnalisée
- Macro utilisateur
Source
CHostPrototype::create() dans ui/include/classes/api/services/CHostPrototype.php.