[comment]: # ({065d382b-065d382b})
# hanode.get

[comment]: # ({/065d382b-065d382b})

[comment]: # ({ced44c2d-6959a37d})
### Описание

`integer/array hanode.get(параметры объекта)`

Метод позволяет получить список узлов кластера высокой доступности по заданным параметрам.

::: noteclassic
Этот метод доступен только пользователю с типом доступа *Супер-администратор*.
Разрешения на вызов метода можно отозвать в настройках ролей пользователя.
Дополнительную информацию см. в разделе [Роли пользователей](/manual/web_interface/frontend_sections/users/user_roles).
:::

[comment]: # ({/ced44c2d-6959a37d})

[comment]: # ({be1dbd39-029d9518})
### Параметры

`(object)` Параметры, определяющие требуемый результат.

Метод поддерживает следующие параметры.

|Parameter|[Type](/manual/api/reference_commentary#data-types)|Description|
|--|--|------|
|ha\_nodeids|ID/array|Возвращать только узлы сети с указанными ID узлов сети.|
|filter|object|Возвращать только те результаты, которые точно соответствуют заданному фильтру.<br><br>Принимает объект, где ключи — это имена свойств, а значения — либо одно значение, либо массив значений, с которыми выполняется сравнение.<br><br>Поддерживаемые свойства: `name`, `address`, `status`.|
|sortfield|string/array|Сортировать результат по указанным свойствам.<br><br>Возможные значения: `name`, `lastaccess`, `status`.|
|countOutput|flag|Эти параметры описаны в [справочном комментарии](/manual/api/reference_commentary#common-get-method-parameters).|
|limit|integer|^|
|output|query|^|
|preservekeys|boolean|^|
|sortorder|string/array|^|

[comment]: # ({/be1dbd39-029d9518})

[comment]: # ({7223bab1-7223bab1})
### Возвращаемые значения

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

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

[comment]: # ({/7223bab1-7223bab1})

[comment]: # ({b41637d2-b41637d2})
### Примеры

[comment]: # ({/b41637d2-b41637d2})

[comment]: # ({3c66d4ac-ed719206})
#### Получить список узлов сети, упорядоченных по статусу

[Запрос](/manual/api#performing-requests):

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

Ответ:

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

[comment]: # ({/3c66d4ac-ed719206})

[comment]: # ({92e44ed9-7cb963f4})
#### Получение списка конкретных узлов по их ID

[Запрос](/manual/api#performing-requests):

```json
{
    "jsonrpc": "2.0",
    "method": "hanode.get",
    "params": {
        "ha_nodeids": ["ckuo7i1nw000e0sajwfttc1mp", "ckuo7i1nv000c0sajz85xcrtt"]
    },
    "id": 1
}
```

Ответ:

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

[comment]: # ({/92e44ed9-7cb963f4})

[comment]: # ({2eba6468-acac81bc})
#### Получить список остановленных узлов сети

[Запрос](/manual/api#performing-requests):

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

Ответ:

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

[comment]: # ({/2eba6468-acac81bc})

[comment]: # ({810f375f-f14ff801})
#### Получить количество резервных узлов сети

[Запрос](/manual/api#performing-requests):

```json
{
    "jsonrpc": "2.0",
    "method": "hanode.get",
    "params": {
        "countOutput": true,
        "filter": {
            "status": 0
        }
    },
    "id": 1
}
```

Ответ:

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

[comment]: # ({/810f375f-f14ff801})

[comment]: # ({b5cf86b7-ed7236c1})
#### Проверка статуса узлов сети по указанным IP-адресам

[Запрос](/manual/api#performing-requests):

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

Ответ:

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

[comment]: # ({/b5cf86b7-ed7236c1})

[comment]: # ({698a6e58-698a6e58})
### Источник

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

[comment]: # ({/698a6e58-698a6e58})
