object hostprototype.create(object/array hostPrototypes)
Cette méthode permet de créer de nouveaux prototypes d'hôtes.
Cette méthode est disponible uniquement pour les types d'utilisateurs Admin et Super admin. Les autorisations d'appeler la méthode peuvent être révoquées dans les paramètres de rôles utilisateur. Voir Rôles Utilisateur pour plus d'informations.
(object/array)
Prototypes d'hôte à créer.
En plus des propriétés de l'objet prototype d'hôte standard, la méthode accepte les paramètres suivants.
Paramètre | Type | Description |
---|---|---|
groupLinks (obligatoire) |
array | Liens de groupe à créer pour le prototype d'hôte. |
ruleid (obligatoire) |
string | ID de la règle de découverte bas niveau à laquelle appartient le prototype d'hôte. |
groupPrototypes | array | [Prototypes de groupe(/manual/api/reference/hostprototype/object#group_prototype) devant être créés pour le prototype d'hôte. |
macros | object/array | Macros utilisateurs à créer pour le prototype d'hôte. |
tags | object/array | Tags de prototype d'hôte. |
interfaces | object/array | Interfaces personnalisée de prototype d'hôte. |
templates | object/array | Modèles à lier au prototype d'hôte. Les modèles doivent avoir la propriété templateid définie. |
(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.
Créez un prototype d'hôte "{#VM.NAME}" sur la règle LLD "23542" avec un prototype de groupe "{#HV.NAME}", une paire de tag "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}"
}
}
]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Réponse :
CHostPrototype::create() dans ui/include/classes/api/services/CHostPrototype.php.