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