En esta página
hanode.get
Descripción
integer/array hanode.get(object parameters)
El método permite recuperar una lista de nodos del clúster de alta disponibilidad según los parámetros dados.
Este método solo está disponible para los tipos de usuarios Superadministrador. Ver Roles de usuario para más información.
Parámetros
(objeto) Parámetros que definen la salida deseada.
El método admite los siguientes parámetros.
| Parámetro | Tipo | Descripción |
|---|---|---|
| ha_nodeids | cadena/matriz | Devuelve solo nodos con los ID de nodo proporcionados. |
| filter | objeto | Devuelve sólo aquellos resultados que coinciden exactamente con el filtro dado. Acepta una matriz, donde las claves son nombres de propiedades y los valores son un valor único o una matriz de valores con los que comparar. Permite filtrar por las propiedades del nodo: name, address, status. |
| sortfield | cadena/matriz | Ordena el resultado por las propiedades dadas. Valores posibles: nombre, lastaccess, status. |
| countOutput | flag | Estos parámetros, que son comunes para todos los métodos get, se describen en detalle en el comentario de referencia. |
| limit | entero | |
| output | consulta | |
| preservekeys | booleano | |
| sortorder | cadena/matriz |
Valores de retorno
(entero/matriz) Devuelve:
- una matriz de objetos;
- el recuento de objetos recuperados, si el parámetro
countOutputha sido usado.
Ejemplos
Obtener una lista de nodos ordenados por estado
Solicitud:
{
"jsonrpc": "2.0",
"method": "hanode.get",
"params": {
"preservekeys": true,
"sortfield": "status",
"sortorder": "DESC"
},
"auth": "3a57200802b24cda67c4e4010b50c065",
"id": 1
}
Respuesta:
{
"jsonrpc": "2.0",
"result": {
"ckuo7i1nw000h0sajj3l3hh8u": {
"ha_nodeid": "ckuo7i1nw000h0sajj3l3hh8u",
"name": "node-active",
"address": "192.168.1.13",
"port": "10051",
"lastaccess": "1635335704",
"status": "3"
},
"ckuo7i1nw000e0sajwfttc1mp": {
"ha_nodeid": "ckuo7i1nw000e0sajwfttc1mp",
"name": "node6",
"address": "192.168.1.10",
"port": "10053",
"lastaccess": "1635332902",
"status": "2"
},
"ckuo7i1nv000c0sajz85xcrtt": {
"ha_nodeid": "ckuo7i1nv000c0sajz85xcrtt",
"name": "node4",
"address": "192.168.1.8",
"port": "10052",
"lastaccess": "1635334214",
"status": "1"
},
"ckuo7i1nv000a0saj1fcdkeu4": {
"ha_nodeid": "ckuo7i1nv000a0saj1fcdkeu4",
"name": "node2",
"address": "192.168.1.6",
"port": "10051",
"lastaccess": "1635335705",
"status": "0"
}
},
"id": 1
}
Obtenga una lista de nodos específicos por sus ID
Solicitud:
{
"jsonrpc": "2.0",
"method": "hanode.get",
"params": {
"ha_nodeids": ["ckuo7i1nw000e0sajwfttc1mp", "ckuo7i1nv000c0sajz85xcrtt"]
},
"auth": "3a57200802b24cda67c4e4010b50c065",
"id": 1
}
Respuesta:
{
"jsonrpc": "2.0",
"result": [
{
"ha_nodeid": "ckuo7i1nv000c0sajz85xcrtt",
"name": "node4",
"address": "192.168.1.8",
"port": "10052",
"lastaccess": "1635334214",
"status": "1"
},
{
"ha_nodeid": "ckuo7i1nw000e0sajwfttc1mp",
"name": "node6",
"address": "192.168.1.10",
"port": "10053",
"lastaccess": "1635332902",
"status": "2"
}
],
"id": 1
}
Obtener una lista de nodos detenidos
Solicitud:
{
"jsonrpc": "2.0",
"method": "hanode.get",
"params": {
"output": ["ha_nodeid", "address", "port"],
"filter": {
"status": 1
}
},
"auth": "3a57200802b24cda67c4e4010b50c065",
"id": 1
}
Respuesta:
{
"jsonrpc": "2.0",
"result": [
{
"ha_nodeid": "ckuo7i1nw000g0sajjsjre7e3",
"address": "192.168.1.12",
"port": "10051"
},
{
"ha_nodeid": "ckuo7i1nv000c0sajz85xcrtt",
"address": "192.168.1.8",
"port": "10052"
},
{
"ha_nodeid": "ckuo7i1nv000d0sajd95y1b6x",
"address": "192.168.1.9",
"port": "10053"
}
],
"id": 1
}
Obtener un recuento de nodos en espera
Solicitud:
{
"jsonrpc": "2.0",
"method": "hanode.get",
"params": {
"countOutput": true,
"filter": {
"status": 0
}
},
"auth": "3a57200802b24cda67c4e4010b50c065",
"id": 1
}
Respuesta:
{
"jsonrpc": "2.0",
"result": "3",
"id": 1
}
Verificar el estado de los nodos en direcciones IP específicas
Solicitud:
{
"jsonrpc": "2.0",
"method": "hanode.get",
"params": {
"output": ["name", "status"],
"filter": {
"address": ["192.168.1.7", "192.168.1.13"]
}
},
"auth": "3a57200802b24cda67c4e4010b50c065",
"id": 1
}
Respuesta:
{
"jsonrpc": "2.0",
"result": [
{
"name": "node3",
"status": "0"
},
{
"name": "node-active",
"status": "3"
}
],
"id": 1
}
Fuente
CHaNode::get() en ui/include/classes/api/services/CHaNode.php.