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'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)
Hôtes à créer.
En plus des propriétés standard de l'hôte, la méthode accepte les paramètres suivants.
Paramètre | Type | Description |
---|---|---|
groups (obligatoire) |
object/array | Groupes d'hôtes auquel ajouter l'hôte. Les groupes d'hôtes doivent avoir la propriété groupid définie. |
interfaces | object/array | Interfaces à créer pour l'hôte. |
tags | object/array | Tags d'hôte. |
templates | object/array | Templates à lier à l'hôte. Les modèles doivent avoir la propriété templateid définie. |
macros | object/array | Macros utilisateur à créer pour l'hôte. |
inventory | objet | Propriétés inventaire de l'hôte. |
(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.
Créez un hôte appelé "Linux server" avec une interface IP et des tags, ajoutez-le à un groupe, liez-la à un modèle et définissez les adresses MAC dans l'inventaire des hôtes.
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"
}
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Réponse :
Créez un hôte appelé "hôte SNMP" 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"
}
]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Réponse :
Create a host called "PSK host" with PSK encryption configured. Note that the host has to be pre-configured to use PSK.
Request:
{
"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"
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Response:
CHost::create() dans ui/include/classes/api/services/CHost.php.