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 countOutput ha 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.