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'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.
Paramètres
(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. |
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 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 :
{
"jsonrpc": "2.0",
"result": {
"hostids": [
"107819"
]
},
"id": 1
}
Création d'un hôte avec interface SNMP
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 :
{
"jsonrpc": "2.0",
"result": {
"hostids": [
"10658"
]
},
"id": 1
}
Creating a host with PSK encryption
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:
{
"jsonrpc": "2.0",
"result": {
"hostids": [
"10590"
]
},
"id": 1
}
Voir également
- Groupe d'hôtes
- Modèle
- Utilisateur macro
- Interface de l'hôte
- [Inventaire de l'hôte] (object#host_inventory)
- [Balise hôte] (objet#host_tag)
Source
CHost::create() dans ui/include/classes/api/services/CHost.php.