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 Admin y Super admin. Los permisos para llamar al método pueden ser revocados en la configuración de roles de usuario. Consulte Roles de usuario para obtener más información.

Parámetros

(objeto/array) Hosts a crear.

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

Parámetro Tipo Descripción
groups objeto/array Grupos de host a los que añadir el host.

Los grupos de host deben tener definida únicamente la propiedad groupid.

Comportamiento del parámetro:
- obligatorio
interfaces objeto/array Interfaces que se crearán para el host.
tags objeto/array Etiquetas de host.
templates objeto/array Templates que se enlazarán al host.

Los templates deben tener definida únicamente la propiedad templateid.
macros objeto/array Macros de usuario que se crearán para el host.
inventory objeto Propiedades del inventario de host.

Valores de retorno

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

Ejemplos

Creando un equipo

Cree un equipo llamado "Linux server" con una interfaz IP y etiquetas, agréguelo a un grupo, vincule una plantilla y establezca 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": "coordenadas de latitud, longitud y altitud"
            }
        ],
        "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 "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"
            }
        ]
    },
    "id": 1
}

Respuesta:

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

Creando un equipo con cifrado PSK

Cree un equipo llamado "PSK host" con 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
}

Creación de un equipo monitorizado por un proxy

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

Solicitud:

{
    "jsonrpc": "2.0",
    "method": "host.create",
    "params": {
        "host": "Equipo monitorizado por proxy",
        "groups": [
            {
                "groupid": "2"
            }
        ],
        "monitored_by": 1,
        "proxyid": 1
    },
    "id": 1
}

Respuesta:

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

Creando un equipo monitorizado por un grupo de proxies

Cree un equipo que será monitorizado por el grupo de proxies con ID "1".

Solicitud:

{
    "jsonrpc": "2.0",
    "method": "host.create",
    "params": {
        "host": "Equipo monitorizado por grupo de proxies",
        "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.