Перейти к основному содержимому

Быстрый старт

Кратчайший надёжный путь от токена доступа до созданной виртуальной машины. Страница описывает порядок действий; точные схемы запросов и ответов смотрите в справочнике API.

Что нужно заранее

  • Действующий токен API, выпущенный в аккаунте ZennoHosting.
  • Клиент, умеющий отправлять запросы по HTTPS с заголовком Authorization.

  • Возможность прочитать актуальные каталоги образов и тарифов до сборки запроса на создание машины.

Проверьте подключение

Начните с безопасного запроса на чтение. Он подтвердит, что базовый адрес и заголовок авторизации указаны верно, — до того, как вы начнёте создавать проект и машину.

curl --request GET \
  --url 'https://api.zennohosting.com/v1/projects' \
  --header 'Authorization: Bearer <token>' \
  --header 'Accept: application/json'
  1. 1

    Получите токен доступа

    Выпустите токен в аккаунте ZennoHosting и положите его в хранилище секретов, а не в код.

  2. 2

    Проверьте доступ запросом на чтение

    Вызовите GET /projects: так вы убедитесь, что API принимает ваш базовый адрес и токен, прежде чем готовить данные для создания машины.

  3. 3

    Посмотрите квоты

    GET /limits покажет, сколько проектов и машин вам ещё доступно и сколько осталось ядер, памяти и диска. Это дешевле, чем получить отказ на создании.

  4. 4

    Соберите входные данные

    Прочитайте конфигурации, образы и тарифы. Если машине нужен новый публичный адрес, выберите отдельный тариф для него — тариф машины для этого не подходит.

  5. 5

    Создайте проект

    Проект владеет машинами, SSH-ключами, сетями и публичными адресами. Создайте его первым и переиспользуйте идентификатор в остальных вызовах.

  6. 6

    Выберите способ доступа

    Решите, передавать ли публичные ключи прямо в запросе через sshPublicKeys или ссылаться на зарегистрированные в проекте через sshKeyIds. Тогда же решите, нужны ли плагины.

  7. 7

    Создайте машину

    Отправьте запрос с образом, тарифом, именем и параметрами доступа. В том же запросе можно описать публичный адрес, подключение к приватным сетям и плагины.

  8. 8

    Сразу сохраните пароль, если он вернулся

    Пароль в ответе показывается один раз. Получить его позже через API нельзя, поэтому сохраните его немедленно.

  9. 9

    Дождитесь готовности машины

    Создание асинхронно. Ответ 202 Accepted с commandId означает только приём работы. Дальше опрашивайте машину и смотрите на status: creating — ещё создаётся, active — готова. Питание показывает bootStatus.

Что должно получиться

В конце у вас есть рабочий токен, идентификатор проекта, идентификатор машины, зафиксированный способ доступа и подтверждённое состояние машины — а не просто принятая команда.

Частые ошибки

Берите идентификаторы из живых ответов API, а не из примеров на этой странице. Почти все проблемы при первом создании машины сводятся к устаревшим projectId, imageId или tariffId — либо к предположению, что машина готова сразу после 202 Accepted.

Связанные эндпоинты