This is a translation of the original English documentation page. Help us make it better.

hanode.get

Опис

integer/array hanode.get(object parameters)

Метод дозволяє отримати список вузлів кластера високої доступності відповідно до заданих параметрів.

Цей метод доступний лише для користувачів типу Super admin. Див. Ролі користувача для отримання додаткової інформації.

Параметри

(object) Параметри, що визначають бажаний результат.

Метод підтримує такі параметри.

Параметр Тип Опис
ha_nodeids рядок/масив Повертати лише вузли з указаними ідентифікаторами вузлів.
фільтр об'єкт Повертає лише ті результати, які точно відповідають заданому фільтру.

Приймає масив, де ключі є іменами властивостей, а значення є або одним значенням, або масивом значень для порівняння.

Дозволяє фільтрувати за властивостями вузла: name, address, status.
sortfield рядок/масив Відсортуйте результат за заданими властивостями.

Можливі значення: name, lastaccess, status.
countOutput flag Ці параметри, які є спільними для всіх методів get, детально описані в довідковому коментарі.
ліміт ціле
вивід запит
preservekeys boolean
порядок сортування рядок/масив

Повернуті значення

(integer/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
       }

Отримайте список конкретних вузлів за їхніми ідентифікаторами

Запит:

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

Відповідь:

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

Отримати список зупинених вузлів

Запит:

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

Відповідь:

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

Отримати кількість резервних вузлів

Запит:

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

Відповідь:

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

Перевірте статус вузлів за певними IP-адресами

Запит:

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

Відповідь:

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

Джерело

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