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
(object/array) Hosts a crear.
Además de las propiedades estándar del host, el método acepta los siguientes parámetros.
| Parámetro | Tipo | Descripción |
|---|---|---|
| groups | object/array | Grupos de hosts a los que añadir el host. Los grupos de hosts deben tener sólo la propiedad groupid definida.Comportamiento del parámetro: - obligatorio |
| interfaces | object/array | Interfaces que se crearán para el host. |
| tags | object/array | Etiquetas de host. |
| templates | object/array | Templates que se vincularán al host. Las templates deben tener sólo la propiedad templateid definida. |
| macros | object/array | Macros de usuario que se crearán para el host. |
| inventory | object | Propiedades del inventario de host. |
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.
{
"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.
{
"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.
{
"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".
{
"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".
{
"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
- Grupo de hosts
- Template
- Macro de usuario
- Interfaz de host
- Inventario de host
- Etiqueta de host
- Proxy
- Grupo de proxies
Fuente
CHost::create() en ui/include/classes/api/services/CHost.php.