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 | objeto/matriz | Grupos de equipos a los que agregar el equipo. Los grupos de equipos deben tener la propiedad groupid definida.Comportamiento de parámetros: - obligatorio |
| interfaces | objeto/matriz | Interfaces que se crearán para el equipo. |
| tags | objeto/matriz | Etiquetas. de equipo |
| 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 del equipo inventario. |
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 "servidor Linux" con una interfaz IP y etiquetas, agregue a un grupo, vincularle una plantilla y configure las direcciones MAC en el inventario de 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
}
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.
{
"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
}
Ver también
- Grupo de equipos
- Plantilla
- Macro de usuario
- Interfaz de equipo
- Inventario de equipo
- Etiqueta de equipo
Fuente
CHost::create() en ui/include/classes/api/services/CHost.php.