host.create

Descripción

object host.create(object/array hosts)

Este método permite crear nuevos equipos.

Este método solo está disponible para los tipos de usuario Administrador y Superadministrador. Los permisos para llamar al método se pueden revocar en la configuración del rol de usuario. Ver Roles de usuario para más información.

Parámetros

(objeto/matriz) Equipos a crear.

Además de las propiedades estándar del equipo, el método acepta los siguientes parámetros.

Parámetro Tipo Descripción
groups objeto/matriz Grupos de equipos a los que agregar el equipo.

Los grupos de equipos deben tener la propiedad groupid definida.

Comportamiento del parámetro:
- obligatorio
interfaces objeto/matriz Interfaces que se crearán para el equipo.
tags objeto/matriz Etiquetas de equipo.
templates objeto/matriz Plantillas que se vincularán al equipo.

Las plantillas deben tener definida la propiedad templateid.
macros objeto/matriz Macros de usuario que se crearán en el equipo.
inventory objeto Propiedades de inventario del equipo.

Valores de retorno

(objeto) Devuelve un objeto que contiene los ID de los equipos creados bajo la propiedad hostids. El orden de los ID devueltos coincide con el orden de los equipos pasados.

Ejemplos

Creación de un equipo

Cree un equipo llamado "Linux server" con una interfaz IP y etiquetas, agréguelo a un grupo, vincúlelo con una plantilla y configure las direcciones MAC en el inventario del equipo.

Solicitud:

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

Respuesta:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "107819"
               ]
           },
           "id": 1
       }

Creando un equipo con interfaz SNMP

Cree un equipo llamado "host SNMP" con una interfaz SNMPv3 con detalles.

Solicitud:

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

Respuesta:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10658"
               ]
           },
           "id": 1
       }

Crear un equipo con cifrado PSK

Cree un equipo llamado "host PSK" con el cifrado PSK configurado. Tenga en cuenta que el equipo debe estar preconfigurado para usar PSK.

Solicitud:

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

Respuesta:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10590"
               ]
           },
           "id": 1
       }

Crear un equipo monitoreado por un proxy

Cree un equipo que será monitoreado por un proxy con ID "1".

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "host.create",
           "params": {
               "host": "Host monitored by proxy",
               "groups": [
                   {
                       "groupid": "2"
                   }
               ],
               "monitored_by": 1,
               "proxyid": 1
           },
           "id": 1
       }

Respuesta:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10591"
               ]
           },
           "id": 1
       }

Crear un equipo monitoreado por un grupo de proxy

Cree un equipo que será monitoreado por un grupo de proxy con ID "1".

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "host.create",
           "params": {
               "host": "Host monitored by proxy group",
               "groups": [
                   {
                       "groupid": "2"
                   }
               ],
               "monitored_by": 2,
               "proxy_groupid": 1
           },
           "id": 1
       }

Respuesta:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10592"
               ]
           },
           "id": 1
       }

Ver también

Fuente

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