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