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
(obligatorio)
objeto/matriz Grupos de equipos al que agregar el equipo.

Los grupos de equipos deben tener la propiedad groupid definida.
interfaces objeto/matriz Interfaces que se crearán para el equipo.
tags objeto/matriz Host etiquetas.
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 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

Creando un equipo

Cree un equipo llamado "Linux server" con una interfaz IP y etiquetas, agreguelo a un grupo, vincule 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"
               }
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Respuesta:

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

Creando un equipo con interfaz SNMP

Cree un equipo llamado "SNMP host" 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"
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "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"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "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.