Serverspace Public API - публичный API для взаимодействия с услугами Serverspace. Действия, выполняемые в панели управления Serverspace, также могут быть выполнены с помощью публичного API. В этой документации описывается программный интерфейс (API) Serverspace - различные операции API, структуры запросов и ответов, коды ошибок и примеры.
Для работы с публичным API необходимо создать API-ключ для проекта. Сгенерировать ключ может владелец проекта в панели управления в настройках проекта. Каждый ключ обладает атрибутами: имя, значение ключа, дата выпуска, дата истечения. Имя ключа может быть произвольным, но не превышать 50 символов. Значение ключа генерируется автоматически, оно имеет длину 64 символа. Дата истечения ключа может отсутствовать, т.е. ключ может быть бессрочным.
Для работы с публичным API значение ключа необходимо передавать при каждом запросе в заголовке X-API-KEY
, например:
-H "X-API-KEY: lmGwbvllpIqIrKROOCLgE5Z941MKP5EYfbkgwtqJZGigfXUTpuYRpNQkCqShmm6r"
Все запросы API должны выполняться через протокол HTTPS. Вызовы, сделанные через HTTP, завершатся ошибкой. Запросы API без аутентификации также завершатся ошибкой.
Endpoint:
https://api.serverspace.ru/
Ниже представлены объекты, которыми можно управлять с помощью публичного API, и как они соотносятся с услугами в панели управления.
Услуга | Объект | Действия |
---|---|---|
Облачные серверы | Шаблон ОС | Просмотр доступных ОС для создания серверов и сетей |
Облачные серверы | Конфигурация | Просмотр доступных конфигураций для создания серверов и cетей |
Облачные серверы | Локация | Просмотр доступных локаций для создания серверов и сетей |
Облачные серверы | Сервер | Создание сервера Просмотр деталей Управление питанием Изменение конфигурации Удаление |
Облачные серверы | Диск | Создание диска Просмотр деталей Изменение размера Удаление |
Облачные серверы | Снимок | Создание снимка Просмотр деталей Возвращение сервера к снимку Удаление |
Облачные серверы | Изолированная сеть | Создание изолированной сети Просмотр деталей Изменение конфигурации Удаление |
Облачные серверы | Сетевой интерфейс | Подключение сервера к сети (создание сетевого интерфейса) Просмотр деталей Отключение сервера от сети (удаление сетевого интерфейса) |
Облачные серверы | Шлюз | Создание пограничного шлюза Просмотр деталей Управление правилами Firewall и NAT Удаление |
Проект | SSH-ключ | Создание SSH-ключа Просмотр деталей Удаление |
Проект | Проект | Просмотр деталей проекта |
Проект | Задача | Просмотр деталей |
DNS | Доменное имя | Создание доменного имени Просмотр деталей Удаление домена |
DNS | DNS-запись | Создание DNS-записи Просмотр деталей Изменение DNS-записи Удаление DNS-записи |
Возвращает ID проекта и текущий баланс проекта. Проекты позволяют владельцу аккаунта предоставлять полный или ограниченный доступ к своей инфраструктуре другим пользователям для совместной работы с ресурсами: серверами, сетями, балансом и др. Существует два типа проектов: личные и общие. Каждому пользователю в проекте, может быть присвоена роль с определенными правами доступа: владелец, администратор или бухгалтер
{- "project": {
- "id": 123,
- "balance": 850.44,
- "currency": "RUB",
- "state": "Active",
- "created": "2020-06-01T15:23:07.6258725Z"
}
}
Возвращает список SSH-ключей. SSH-ключи используются при создании сервера с операционной системой семейства Linux. Использование SSH-ключей позволяет подключаться к серверу без пароля и повышает уровень безопасности сервера
{- "ssh_key": [
- {
- "id": 1,
- "name": "Test Ssh-Key 1",
- "public_key": "---- BEGIN SSH2 PUBLIC KEY ----\r\nComment: \"rsa-key-20190927\"\r\nAAAAB3NzaC1yc2EAAAABJQAAAQEAkEWseYLYVW4wpdNwWNXtoz84r5sYZ2FBXJ5M\r\nsfibRpJ47o/2z6VcdYnbhhJ/J2dE9AlDCGgleXilnxc9UKRgWXi3NHMmDNFi1kR5\r\nJ6xcY3Tv0ly6w0if+QMJULnoixgPulg93JanVxCvAFy4sE8kwQqTQrYio3UJbiQ5\r\nlX0kEkaWMDM/p8Z97d5izVN+PoMjW0bZdK17VAS90cf+FKFL6cs5VKrY/d7OMfxi\r\nqNeEs+vzYPK2VT4aiLLzryTIiDgG9CjsPtRoMxSihw5tdIw3mhsFdZkKdaJDfank\r\noQ3Y6P4XFPbzwOfDLwIRkDd7Gbh7jRp+4SeVVsBP9AbBR/kv3w==\r\n---- END SSH2 PUBLIC KEY ----"
}, - {
- "id": 2,
- "name": "Test Ssh-Key 2",
- "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEA4pO1k8IU4JYNASJEGWR/3ECARddXiKLePNN8hIGaqT2grSpFIRULrRhL4qFIQOUB5m9qy0ZjazHoBUzaK/m+nrmkfamF90sKMN5KHRCUMbBOixS0Uc5r/HK7SDDnozjNSFDWscfpMuZfzSXQ512HRZ0ZN+fmXl9Ku87SE9fhrir7injfTVvF/VYfz9W1CvIwN8D6iTBo2zpI1xVfX1tuL2akME4ZBvH9+xVV7Ejw4ad6e/Z1p8g/pYzcmoMvng8qhrBMQaNSq1fTHN+YrJmr86k0pFpKbbSEksOLmV2piTBxqWqR00faRFgvG7HJDtoVAKSdpREUyDvDYeyUGyJwJw== rsa-key-20200730"
}
]
}
Добавляет новый SSH-ключ. SSH-ключи используются при создании сервера с операционной системой семейства Linux. Использование SSH-ключей позволяет подключаться к серверу без пароля и повышает уровень безопасности сервера
Поддерживаемые форматы OpenSSH и SSH2
name | string Название ключа |
public_key | string Код ключа |
{- "name": "Test Ssh-Key 1",
- "public_key": "---- BEGIN SSH2 PUBLIC KEY ----\r\nComment: \"rsa-key-20190927\"\r\nAAAAB3NzaC1yc2EAAAABJQAAAQEAkEWseYLYVW4wpdNwWNXtoz84r5sYZ2FBXJ5M\r\nsfibRpJ47o/2z6VcdYnbhhJ/J2dE9AlDCGgleXilnxc9UKRgWXi3NHMmDNFi1kR5\r\nJ6xcY3Tv0ly6w0if+QMJULnoixgPulg93JanVxCvAFy4sE8kwQqTQrYio3UJbiQ5\r\nlX0kEkaWMDM/p8Z97d5izVN+PoMjW0bZdK17VAS90cf+FKFL6cs5VKrY/d7OMfxi\r\nqNeEs+vzYPK2VT4aiLLzryTIiDgG9CjsPtRoMxSihw5tdIw3mhsFdZkKdaJDfank\r\noQ3Y6P4XFPbzwOfDLwIRkDd7Gbh7jRp+4SeVVsBP9AbBR/kv3w==\r\n---- END SSH2 PUBLIC KEY ----"
}
{- "id": 1,
- "name": "Test Ssh-Key 1",
- "public_key": "---- BEGIN SSH2 PUBLIC KEY ----\r\nComment: \"rsa-key-20190927\"\r\nAAAAB3NzaC1yc2EAAAABJQAAAQEAkEWseYLYVW4wpdNwWNXtoz84r5sYZ2FBXJ5M\r\nsfibRpJ47o/2z6VcdYnbhhJ/J2dE9AlDCGgleXilnxc9UKRgWXi3NHMmDNFi1kR5\r\nJ6xcY3Tv0ly6w0if+QMJULnoixgPulg93JanVxCvAFy4sE8kwQqTQrYio3UJbiQ5\r\nlX0kEkaWMDM/p8Z97d5izVN+PoMjW0bZdK17VAS90cf+FKFL6cs5VKrY/d7OMfxi\r\nqNeEs+vzYPK2VT4aiLLzryTIiDgG9CjsPtRoMxSihw5tdIw3mhsFdZkKdaJDfank\r\noQ3Y6P4XFPbzwOfDLwIRkDd7Gbh7jRp+4SeVVsBP9AbBR/kv3w==\r\n---- END SSH2 PUBLIC KEY ----"
}