Это перевод страницы документации с английского языка. Помогите нам сделать его лучше.

hanode.get

Description

integer/array hanode.get(object parameters)

The method allows to retrieve a list of High availability cluster nodes according to the given parameters.

This method is only available to Super admin user types. See User roles for more information.

Parameters

(object) Parameters defining the desired output.

The method supports the following parameters.

Parameter Type Description
ha_nodeids string/array Return only nodes with the given node IDs.
filter object Return only those results that exactly match the given filter.

Accepts an array, where the keys are property names, and the values are either a single value or an array of values to match against.

Allows filtering by the node properties: name, address, status.
sortfield string/array Sort the result by the given properties.

Possible values are: name, lastaccess, status.
countOutput flag These parameters being common for all get methods are described in detail in the reference commentary.
limit integer
output query
preservekeys boolean
sortorder string/array

Возвращаемые значения

(целое число/массив) Возвращает либо:

  • · массив объектов;
  • · количество извлеченных объектов, если использовался параметр countOutput.

Примеры

Получение списка узлов, упорядоченных по статусу

Запрос:

{
           "jsonrpc": "2.0",
           "method": "hanode.get",
           "params": {
               "preservekeys": true,
               "sortfield": "status",
               "sortorder": "DESC"
           },
           "auth": "3a57200802b24cda67c4e4010b50c065",
           "id": 1
       }

Ответ:

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

Get a list of specific nodes by their IDs

Request:

{
           "jsonrpc": "2.0",
           "method": "hanode.get",
           "params": {
               "ha_nodeids": ["ckuo7i1nw000e0sajwfttc1mp", "ckuo7i1nv000c0sajz85xcrtt"]
           },
           "auth": "3a57200802b24cda67c4e4010b50c065",
           "id": 1
       }

Response:

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

Get a list of stopped nodes

Request:

{
           "jsonrpc": "2.0",
           "method": "hanode.get",
           "params": {
               "output": ["ha_nodeid", "address", "port"],
               "filter": {
                   "status": 1
               }
           },
           "auth": "3a57200802b24cda67c4e4010b50c065",
           "id": 1
       }

Response:

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

Get a count of standby nodes

Request:

{
           "jsonrpc": "2.0",
           "method": "hanode.get",
           "params": {
               "countOutput": true,
               "filter": {
                   "status": 0
               }
           },
           "auth": "3a57200802b24cda67c4e4010b50c065",
           "id": 1
       }

Response:

{
           "jsonrpc": "2.0",
           "result": "3",
           "id": 1
       }

Check status of nodes at specific IP addresses

Request:

{
           "jsonrpc": "2.0",
           "method": "hanode.get",
           "params": {
               "output": ["name", "status"],
               "filter": {
                   "address": ["192.168.1.7", "192.168.1.13"]
               }
           },
           "auth": "3a57200802b24cda67c4e4010b50c065",
           "id": 1
       }

Response:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "name": "node3",
                   "status": "0"
               },
               {
                   "name": "node-active",
                   "status": "3"
               }
           ],
           "id": 1
       }

Исходный код

CHaNode::get() в ui/include/classes/api/services/CHaNode.php.