GraphQL Playground (далее Панель) позволяет совершать запросы, получать ответы от GraphQL-сервера и просматривать автоматически сгенерированную документацию API.
Для входа в Панель вам нужно:
1. Авторизоваться в console.ps.kz;
2. Ввести в браузерной строке: https://console.ps.kz/ НАЗВАНИЕ СЕРВИСА /graphql,
где НАЗВАНИЕ СЕРВИСА:
В разделе DOCS описаны эндпоинты, типизация переменных и структура запросов.
Для просмотра документации:
В левой части Панели можно протестировать запросы и мутации на GraphQL. Начните с ключевого слова (query или mutation), затем укажите название запроса, его поля и аргументы.
query { vpc { instance { pagination(perPage: 1000, filter: { serviceId: "13745", status: ACTIVE }) { items { instanceName floatingipsArray ram cores } } } } }
где
query - определение запроса к серверу GraphQL на чтение данных;
vpc - узел запроса к сервису «Облачные серверы»;
instance - подузел запроса к списку экземпляров (instances), используемых в вашем проекте;
pagination - метод отражения результатов запроса (например, отражение на странице не более 1000 элементов);
filter - аргумент фильтрации результатов (например, фильтрация экземпляров по идентификатору проекта и статусу экземпляра);
serviceId - значение фильтрации экземпляров по идентификатору проекта (пятизначный идентификатор указан в Консоли, справа от названия проекта);
status - значение фильтрации экземпляров по текущему статусу (например, только активные);
items - поля, запрашиваемые у каждого экземпляра:
Чтобы выполнить запрос, нажмите кнопку Play или используйте комбинацию клавиш Ctrl + Enter на Windows / Linux или Cmd + Enter на Mac.
Результаты запроса будут отображены справа.
Рисунок 2. Интерфейс GraphQL Playground с примером Query-запроса
mutation { vpc { instance { resizeInstance( input: { flavorId: "1517fe16-592c-4938-9bb6-d5ec5593041a" serviceId: "13745" instanceId: "aeaeda28-6ae3-4895-9120-5f46af358cc0" regionId: "kz-ala-1" } ) { instance { instanceName flavor { ram vcpus } regionId } } } } }
где
mutation - определение запроса к серверу GraphQL на изменение данных;
vpc - узел запроса к сервису «Облачные серверы»;
instance - подузел запроса к списку экземпляров (instances), используемых в вашем проекте;
resizeInstance - операция изменения конфигурации экземпляра;
input - определение экземпляра для изменения его конфигурации:
Ниже указываем, какие данные нам нужно получить для подтверждения изменения конфигурации:
Рисунок 2. Интерфейс GraphQL Playground с примером Mutation-запроса