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) 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/array | Grupos de equipos a los que añadir el equipo. Los grupos de equipos deben tener definida únicamente la propiedad groupid.Comportamiento del parámetro: - obligatorio |
| interfaces | objeto/array | Interfaces que se crearán para el equipo. |
| tags | objeto/array | Etiquetas de equipo. |
| templates | objeto/array | Plantillas que se vincularán al equipo. Las plantillas deben tener definida únicamente la propiedad templateid. |
| macros | objeto/array | Macros de usuario que se crearán para el equipo. |
| inventory | objeto | Propiedades del inventario del equipo. |
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
}
Véase también
- Grupo de equipos
- Plantilla
- Macro de usuario
- Interfaz de equipo
- Inventario de equipo
- Etiqueta de equipo
- Proxy
- Grupo de proxies
Fuente
CHost::create() en ui/include/classes/api/services/CHost.php.