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 de parámetros:
- 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 para el equipo.
inventory objeto Propiedades del equipo inventario.

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

Creando un equipo

Cree un equipo llamado "servidor Linux" con una interfaz IP y etiquetas, agregue a un grupo, vincularle una plantilla y configure las direcciones MAC en el inventario de 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
       }

Creando 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
       }

Ver también

Fuente

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