host.create
Description
object host.create(object/array hosts)
Cette méthode permet de créer de nouveaux hôtes.
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) Hôtes à créer.
En plus des propriétés d’hôte standard, la méthode accepte les paramètres suivants.
| Paramètre | Type | Description |
|---|---|---|
| groups | object/array | Groupes d’hôtes auxquels ajouter l’hôte. Les groupes d’hôtes doivent avoir uniquement la propriété groupid définie.Comportement des paramètres : - obligatoire |
| interfaces | object/array | Interfaces à créer pour l’hôte. |
| tags | object/array | Tags d’hôte. |
| templates | object/array | Modèles à lier à l’hôte. Les modèles doivent avoir uniquement la propriété templateid définie. |
| macros | object/array | Macros utilisateur à créer pour l’hôte. |
| inventory | object | Propriétés de l’inventaire de l’hôte. |
Valeurs retournées
(object) Retourne un objet contenant les identifiants des hôtes créés sous la propriété hostids. L'ordre des ID retournés correspond à l'ordre des hôtes transmis.
Exemples
Création d’un hôte
Créez un hôte nommé « Linux server » avec une interface IP et des tags, ajoutez-le à un groupe, liez-lui un modèle et définissez les adresses MAC dans l’inventaire de l’hôte.
Requête :
{
"jsonrpc": "2.0",
"method": "host.create",
"params": {
"host": "Linux server",
"interfaces": [
{
"type": 1,
"main": 1,
"useip": 1,
"ip": "192.168.3.1",
"dns": "",
"port": "10050"
}
],
"groups": [
{
"groupid": "50"
}
],
"tags": [
{
"tag": "host-name",
"value": "linux-server"
}
],
"templates": [
{
"templateid": "20045"
}
],
"macros": [
{
"macro": "{$USER_ID}",
"value": "123321"
},
{
"macro": "{$USER_LOCATION}",
"value": "0:0:0",
"description": "latitude, longitude and altitude coordinates"
}
],
"inventory_mode": 0,
"inventory": {
"macaddress_a": "01234",
"macaddress_b": "56768"
}
},
"id": 1
}
Réponse :
{
"jsonrpc": "2.0",
"result": {
"hostids": [
"107819"
]
},
"id": 1
}
Création d’un hôte avec une interface SNMP
Créez un hôte nommé « SNMP host » avec une interface SNMPv3 avec des détails.
Requête :
{
"jsonrpc": "2.0",
"method": "host.create",
"params": {
"host": "SNMP host",
"interfaces": [
{
"type": 2,
"main": 1,
"useip": 1,
"ip": "127.0.0.1",
"dns": "",
"port": "161",
"details": {
"version": 3,
"bulk": 0,
"securityname": "mysecurityname",
"contextname": "",
"securitylevel": 1
}
}
],
"groups": [
{
"groupid": "4"
}
]
},
"id": 1
}
Réponse :
{
"jsonrpc": "2.0",
"result": {
"hostids": [
"10658"
]
},
"id": 1
}
Création d’un hôte avec chiffrement PSK
Créez un hôte nommé « PSK host » avec le chiffrement PSK configuré. Notez que l’hôte doit être préconfiguré pour utiliser PSK.
Requête :
{
"jsonrpc": "2.0",
"method": "host.create",
"params": {
"host": "PSK host",
"interfaces": [
{
"type": 1,
"ip": "192.168.3.1",
"dns": "",
"port": "10050",
"useip": 1,
"main": 1
}
],
"groups": [
{
"groupid": "2"
}
],
"tls_accept": 2,
"tls_connect": 2,
"tls_psk_identity": "PSK 001",
"tls_psk": "1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952"
},
"id": 1
}
Réponse :
{
"jsonrpc": "2.0",
"result": {
"hostids": [
"10590"
]
},
"id": 1
}
Création d’un hôte surveillé par un proxy
Créez un hôte qui sera surveillé par le proxy avec l’ID « 1 ».
{
"jsonrpc": "2.0",
"method": "host.create",
"params": {
"host": "Host monitored by proxy",
"groups": [
{
"groupid": "2"
}
],
"monitored_by": 1,
"proxyid": 1
},
"id": 1
}
Réponse :
{
"jsonrpc": "2.0",
"result": {
"hostids": [
"10591"
]
},
"id": 1
}
Création d’un hôte surveillé par un groupe de proxys
Créez un hôte qui sera surveillé par le groupe de proxys avec l’ID « 1 ».
Requête :
{
"jsonrpc": "2.0",
"method": "host.create",
"params": {
"host": "Hôte surveillé par un groupe de proxys",
"groups": [
{
"groupid": "2"
}
],
"monitored_by": 2,
"proxy_groupid": 1
},
"id": 1
}
Réponse :
{
"jsonrpc": "2.0",
"result": {
"hostids": [
"10592"
]
},
"id": 1
}
Voir aussi
- Groupe d'hôtes
- Modèle
- Macro utilisateur
- Interface d'hôte
- Inventaire de l'hôte
- Tag d'hôte
- Proxy
- Groupe de proxys
Source
CHost::create() dans ui/include/classes/api/services/CHost.php.