Область видимости определяется совокупностью ролей и привилегий, предоставленных пользователю. Для пользователя, имеющего роль Cluster master, область видимости включает в себя физический и кластерный слой (узлы кластера, их состояния, сервисы кластера, их состояния). Для остальных пользователей область видимости ограничена виртуальными дата-центрами, в которых данному пользователю предоставлена какая-либо роль.
Для всех пользователей ответ кроме области видимости содержит глобальные опции кластера в секции ответа data->options.
8.1.1. get-statusmap()
Получение области видимости.
Запрос (от пользователя с ролью «Cluster master»):
{ "jsonrpc": "2.0", "method": "get-statusmap", "id": "7abab192-f7fc-11ea-9ff5-5fd455bcd16b" }
Ответ:
{ "id" : "7abab192-f7fc-11ea-9ff5-5fd455bcd16b", "jsonrpc" : "2.0", "result" : { "code" : 1, "data" : { "cluster" : { "nodes" : [ { "enabled" : true, "id" : 0, "name" : "q1u001.z.vstack.com", "state" : "ONLINE" }, { "enabled" : true, "id" : 1, "name" : "q1u002.z.vstack.com", "state" : "ONLINE" }, { "enabled" : true, "id" : 2, "name" : "q1u003.z.vstack.com", "state" : "ONLINE" }, { "enabled" : true, "id" : 3, "name" : "q1u004.z.vstack.com", "state" : "ONLINE" }, { "enabled" : true, "id" : 4, "name" : "q1u005.z.vstack.com", "state" : "ONLINE" } ], "services" : [ { "enabled" : true, "name" : "cluster-management", "nodeId" : 2, "state" : "STARTED" }, { "enabled" : true, "name" : "zpool_z00", "nodeId" : 3, "state" : "STARTED" }, { "enabled" : true, "name" : "zpool_z01", "nodeId" : 1, "state" : "STOPPED" }, { "enabled" : true, "name" : "zpool_z02", "nodeId" : 2, "state" : "STOPPED" }, { "enabled" : false, "name" : "zpool_z03", "nodeId" : null, "state" : "STOPPED" }, { "enabled" : true, "name" : "zpool_z04", "nodeId" : 0, "state" : "STOPPED" } ] } } } }
Запрос (от обычного пользователя):
{ "jsonrpc": "2.0", "method": "get-statusmap", "id": "9db5f862-ac55-11e9-b053-5d0c19f86414" }
Ответ:
{ "id" : "9db5f862-ac55-11e9-b053-5d0c19f86414", "jsonrpc": "2.0", "result": { "code": 1, "data": { "vDCs": [ { "role_id": 2, "role_name": "vDC admin", "vdc_id": 2, "vdc_name": "vDC Василия" }, { "role_id": 3, "role_name": "vDC user", "vdc_id": 3, "vdc_name": "vDC Петра Алексеевича" }, { "role_id": 4, "role_name": "vDC viewer", "vdc_id": "4", "vdc_name": "k8s" } ] } } }