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 ».

Requête:

{
    "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

Source

CHost::create() dans ui/include/classes/api/services/CHost.php.