API, командная строка и Terraform
Управляйте серверами, доменами, DNS-записями и функциями из кода. Большинство действий из панели можно выполнять и через REST API с персональным API-ключом.
1. Создайте API-ключ
В панели создайте ключ на странице «API-ключи». Ключ привязан к одному аккаунту и не даёт больше прав, чем ваша роль в нём; его можно сделать доступным только для чтения, ограничить отдельными продуктами и задать дату окончания. Ключ целиком показывается только один раз, при создании.
Перейти к API-ключам →2. Ваш первый запрос
Передайте ключ в заголовке Authorization:
curl -H "Authorization: Bearer hz_..." \ https://api.haizora.com/v1/portal/servers
Что нужно знать
- Ключи только для чтения могут выполнять лишь запросы на чтение и ведут себя в аккаунте как роль «только чтение».
- Ключ с правом записи работает с текущей ролью создавшего его человека; если этого человека исключат из аккаунта, ключ сразу перестанет действовать.
- С помощью ключа нельзя создать другой ключ; действия с командой и приглашениями выполняются только в панели.
- Ответы с ошибкой содержат поля error.code и error.message.
- Для каждого ключа допускается не более 300 запросов в минуту; при превышении возвращается 429 и заголовок Retry-After.
Инструмент командной строки: haizoraГотовится к выпуску
Инструмент на Node.js без зависимостей (Node 18 и выше): вход, список серверов и управление питанием, DNS-записи и публикация функций.
haizora login # paste an hz_... token haizora servers list haizora servers power <id> reboot haizora dns list example.com haizora dns add example.com A www 203.0.113.10 --ttl 300 haizora workers deploy ./worker.js --name hello
Провайдер TerraformГотовится к выпуску
Ресурсы для сервера, управляемой базы данных, бессерверной функции и DNS-записи. Ресурсы сервера и базы данных создают заказ; услуга подготавливается после оплаты счёта.
provider "haizora" {} # HAIZORA_TOKEN
resource "haizora_dns_record" "www" {
domain_id = data.haizora_domain.main.id
type = "A"
name = "www"
value = "203.0.113.10"
}
resource "haizora_function" "hello" {
name = "hello"
code = file("worker.js")
}Инструмент командной строки и провайдер Terraform ещё не опубликованы в npm и Terraform Registry. До этого можно напрямую использовать REST API.
Справочник API
Этот список формируется из документа OpenAPI 3.1. Вы можете скачать документ, чтобы сгенерировать клиенты с помощью Postman, Insomnia или openapi-generator.
Скачать openapi.jsonЗагрузка документации API…