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.by/
Ниже представлены объекты, которыми можно управлять с помощью публичного API, и как они соотносятся с услугами в панели управления.
Услуга | Объект | Действия |
---|---|---|
Облачные серверы | Шаблон ОС | Просмотр доступных ОС для создания серверов и сетей |
Облачные серверы | Конфигурация | Просмотр доступных конфигураций для создания серверов и cетей |
Облачные серверы | Локация | Просмотр доступных локаций для создания серверов и сетей |
Облачные серверы | Сервер | Создание сервера Просмотр деталей Управление питанием Изменение конфигурации Удаление |
Облачные серверы | Диск | Создание диска Просмотр деталей Изменение размера Удаление |
Облачные серверы | Снимок | Создание снимка Просмотр деталей Возвращение сервера к снимку Удаление |
Облачные серверы | Группы Affinity | Создание группы Просмотр деталей Удаление |
Облачные серверы | Изолированная сеть | Создание изолированной сети Просмотр деталей Изменение конфигурации Удаление |
Облачные серверы | Сетевой интерфейс | Подключение сервера к сети (создание сетевого интерфейса) Просмотр деталей Отключение сервера от сети (удаление сетевого интерфейса) |
Облачные серверы | Шлюз | Создание пограничного шлюза Просмотр деталей Управление правилами Firewall и NAT Подключение и отключение изолированной сети Удаление |
Проект | SSH-ключ | Создание SSH-ключа Просмотр деталей Удаление |
Проект | Проект | Просмотр деталей проекта |
Проект | Задача | Просмотр деталей |
DNS | Доменное имя | Создание доменного имени Просмотр деталей Удаление домена |
DNS | DNS-запись | Создание DNS-записи Просмотр деталей Изменение DNS-записи Удаление DNS-записи |
Возвращает ID проекта и текущий баланс проекта. Проекты позволяют владельцу аккаунта предоставлять полный или ограниченный доступ к своей инфраструктуре другим пользователям для совместной работы с ресурсами: серверами, сетями, балансом и др. Существует два типа проектов: личные и общие. Каждому пользователю в проекте, может быть присвоена роль с определенными правами доступа: владелец, администратор или бухгалтер
{- "project": {
- "id": 123,
- "balance": 850.44,
- "currency": "BYN",
- "state": "Active",
- "created": "2020-06-01T15:23:07.6258725Z"
}
}
Возвращает список SSH-ключей. SSH-ключи используются при создании сервера с операционной системой семейства Linux. Использование SSH-ключей позволяет подключаться к серверу без пароля и повышает уровень безопасности сервера
{- "ssh_keys": [
- {
- "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 required | string Название ключа |
public_key required | 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 ----"
}
Возвращает детализацию одного SSH-ключа. SSH-ключи используются при создании сервера с операционной системой семейства Linux. Использование SSH-ключей позволяет подключаться к серверу без пароля и повышает уровень безопасности сервера
ssh_key_id required | integer <int32> ID 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 сущности, над которой выполняется действие, а также данные о её завершении
task_id required | string ID задачи, информацию о которой необходимо получить |
{- "task": {
- "id": "lt17499",
- "server_id": "l1s2274",
- "created": "2020-10-28T13:41:48.7754873Z",
- "completed": "2020-10-28T13:42:13.0265233Z",
- "is_completed": "Completed"
}
}
Возвращает список локаций, в которых доступно создание серверов и сетей, а также данные о минимальном и максимальном размерах дисков
{- "locations": [
- {
- "id": "am2",
- "system_volume_min": 25600,
- "additional_volume_min": 10240,
- "volume_max": 512000,
- "windows_system_volume_min": 25600,
- "bandwidth_min": 50,
- "bandwidth_max": 200,
- "cpu_quantity_options": [
- 1,
- 2,
- 3,
- 4,
- 6,
- 8,
- 12,
- 16
], - "ram_size_options": [
- 1024,
- 2048,
- 3072,
- 4096,
- 8192,
- 16384,
- 32768,
- 49152,
- 65536,
- 98304,
- 131072
]
}, - {
- "id": "nj3",
- "system_volume_min": 10240,
- "additional_volume_min": 10240,
- "volume_max": 512000,
- "windows_system_volume_min": 25600,
- "bandwidth_min": 50,
- "bandwidth_max": 200,
- "cpu_quantity_options": [
- 1,
- 2,
- 3,
- 4,
- 6,
- 8
], - "ram_size_options": [
- 1024,
- 2048,
- 3072,
- 4096,
- 8192,
- 16384,
- 32768,
- 49152,
- 65536
]
}
]
}
{- "images": [
- {
- "id": "Freebsd-12.1-X64",
- "location_id": "nj3",
- "type": "Freebsd",
- "os_version": "12.1",
- "architecture": "X64",
- "allow_ssh_keys": true
}, - {
- "id": "Ubuntu-20.04-X64",
- "location_id": "nj3",
- "type": "Ubuntu",
- "os_version": "20.04",
- "architecture": "X64",
- "allow_ssh_keys": true
}, - {
- "id": "Windows-Server 2019 Std-X64",
- "location_id": "am2",
- "type": "Windows",
- "os_version": "Server 2019 Std",
- "architecture": "X64",
- "allow_ssh_keys": false
}, - {
- "id": "Debian-10.1-X64",
- "location_id": "am2",
- "type": "Debian",
- "os_version": "10.1",
- "architecture": "X64",
- "allow_ssh_keys": true
}
]
}
Возвращает список приложений, доступных для установки на серверы
location_id | string Название локации, позволяет отфильтровать доступные приложения по локации |
{- "applications": [
- {
- "id": "apache",
- "location_id": "nj3",
- "images": [
- "CentOS-7.9-X64",
- "CentOS-8.2-X64",
- "CentOS-8.3-X64",
- "Debian-10.7-X64",
- "Debian-11-X64",
- "Freebsd-12.2-X64",
- "Freebsd-13.0-X64",
- "Oracle-8.6-X64",
- "Ubuntu-18.04-X64",
- "Ubuntu-20.04-X64"
]
}, - {
- "id": "docker",
- "location_id": "nj3",
- "images": [
- "CentOS-7.9-X64",
- "CentOS-8.2-X64",
- "CentOS-8.3-X64",
- "Debian-10.7-X64",
- "Debian-11-X64",
- "Oracle-8.6-X64",
- "Ubuntu-18.04-X64",
- "Ubuntu-20.04-X64"
]
}, - {
- "id": "gitlab",
- "location_id": "nj3",
- "images": [
- "CentOS-7.9-X64",
- "CentOS-8.2-X64",
- "CentOS-8.3-X64",
- "Debian-10.7-X64",
- "Debian-11-X64",
- "Oracle-8.6-X64",
- "Ubuntu-18.04-X64",
- "Ubuntu-20.04-X64"
]
}, - {
- "id": "lamp",
- "location_id": "nj3",
- "images": [
- "CentOS-7.9-X64",
- "CentOS-8.2-X64",
- "CentOS-8.3-X64",
- "Debian-10.7-X64",
- "Debian-11-X64",
- "Freebsd-12.2-X64",
- "Freebsd-13.0-X64",
- "Oracle-8.6-X64",
- "Ubuntu-18.04-X64",
- "Ubuntu-20.04-X64"
]
}, - {
- "id": "lemp",
- "location_id": "nj3",
- "images": [
- "CentOS-7.9-X64",
- "CentOS-8.2-X64",
- "CentOS-8.3-X64",
- "Debian-10.7-X64",
- "Debian-11-X64",
- "Freebsd-12.2-X64",
- "Freebsd-13.0-X64",
- "Oracle-8.6-X64",
- "Ubuntu-18.04-X64",
- "Ubuntu-20.04-X64"
]
}, - {
- "id": "nginx",
- "location_id": "nj3",
- "images": [
- "CentOS-7.9-X64",
- "CentOS-8.2-X64",
- "CentOS-8.3-X64",
- "Debian-10.7-X64",
- "Debian-11-X64",
- "Freebsd-12.2-X64",
- "Freebsd-13.0-X64",
- "Oracle-8.6-X64",
- "Ubuntu-18.04-X64",
- "Ubuntu-20.04-X64"
]
}, - {
- "id": "php",
- "location_id": "nj3",
- "images": [
- "CentOS-7.9-X64",
- "CentOS-8.2-X64",
- "CentOS-8.3-X64",
- "Debian-10.7-X64",
- "Debian-11-X64",
- "Freebsd-12.2-X64",
- "Freebsd-13.0-X64",
- "Oracle-8.6-X64",
- "Ubuntu-18.04-X64",
- "Ubuntu-20.04-X64"
]
}, - {
- "id": "postgreSQL",
- "location_id": "nj3",
- "images": [
- "CentOS-7.9-X64",
- "CentOS-8.2-X64",
- "CentOS-8.3-X64",
- "Debian-10.7-X64",
- "Debian-11-X64",
- "Freebsd-12.2-X64",
- "Freebsd-13.0-X64",
- "Oracle-8.6-X64",
- "Ubuntu-18.04-X64",
- "Ubuntu-20.04-X64"
]
}, - {
- "id": "wordpress",
- "location_id": "nj3",
- "images": [
- "CentOS-7.9-X64",
- "CentOS-8.2-X64",
- "CentOS-8.3-X64",
- "Debian-10.7-X64",
- "Debian-11-X64",
- "Freebsd-12.2-X64",
- "Freebsd-13.0-X64",
- "Oracle-8.6-X64",
- "Ubuntu-18.04-X64",
- "Ubuntu-20.04-X64"
]
}
]
}
{- "servers": [
- {
- "id": "l1s2400",
- "location_id": "am2",
- "cpu": 1,
- "ram_mb": 1024,
- "volumes": [
- {
- "id": 2977,
- "name": "boot",
- "size_mb": 25600,
- "created": "2020-11-12T09:09:30.46252"
}, - {
- "id": 2978,
- "name": "additional",
- "size_mb": 30720,
- "created": "2020-11-12T09:36:34.376165"
}
], - "nics": [
- {
- "id": 3024,
- "network_id": "l1n1",
- "network_type": "PublicShared",
- "mac": "ca:05:27:ff:56:89",
- "ip_address": "45.14.48.218",
- "mask": 28,
- "bandwidth_mbps": 50
}, - {
- "id": 3025,
- "network_id": "l1n368",
- "network_type": "Isolated",
- "mac": "ca:05:1a:50:f6:07",
- "ip_address": "10.0.0.1",
- "mask": 24,
- "bandwidth_mbps": 1024
}
], - "image_id": "CentOS-7.7-X64",
- "is_power_on": true,
- "name": "public-api",
- "login": "root",
- "password": "EuvzlqK6pv",
- "ssh_key_ids": [
- 223,
- 224
], - "state": "Active",
- "created": "2020-11-12T09:09:54.6478655Z",
- "tags": [
- "production",
- "elastic"
]
}, - {
- "id": "l1s2401",
- "location_id": "am2",
- "cpu": 2,
- "ram_mb": 3072,
- "volumes": [
- {
- "id": 2979,
- "name": "boot",
- "size_mb": 25600,
- "created": "2020-11-12T09:43:43.257493"
}
], - "nics": [
- {
- "id": 3026,
- "network_id": "l1n1",
- "network_type": "PublicShared",
- "mac": "ca:05:5e:6e:4d:36",
- "ip_address": "45.14.48.219",
- "mask": 28,
- "bandwidth_mbps": 100
}
], - "image_id": "CentOS-7.7-X64",
- "is_power_on": false,
- "name": "example",
- "login": "root",
- "password": "TzJYPpAV9P9",
- "ssh_key_ids": [ ],
- "state": "Active",
- "created": "2020-11-12T09:44:05.0545552Z",
- "tags": [
- "production",
- "gitlab"
], - "application_ids": [
- "nginx",
- "gitlab",
- "wordpress"
], - "affinity_group_id": "l1g11"
}
]
}
Создаёт новый сервер, в результате возвращается ID задачи, по которой можно отследить процесс создания сервера и его ID. При создании сервера должен быть указан минимум один диск, который будет являться загрузочным, имя у него должно быть "boot". Для подключения к публичной сети необходимо указать только пропускную способность интерфейса в теле запроса, для подключения к изолированной сети только её идентификатор
location_id required | string ID локации |
image_id required | string ID шаблона |
cpu required | integer <int32> Количество ядер |
ram_mb required | integer <int32> Объём оперативной памяти в МБ |
required | Array of objects |
Array of objects | |
name required | string Имя сервера |
ssh_key_ids | Array of integers <int32> [ items <int32 > ] ID SSH-ключей, если не будет указан ни один SSH-ключ, то для сервера будет доступна аутентификация по логину и паролю |
application_ids | Array of strings Список приложений, которые будут установлены на сервер. Если задано поле application_ids, то поле server_init_script игнорируется |
tags | Array of strings Список тегов, которые будут присвоены серверу. Список можно оставить пустым |
affinity_group_id | string ID группы Affinity |
server_init_script | string Пользовательский скрипт, который будет запущен на сервере при его создании. При написании скрипта можно использовать экранирование, специальные и управляющие символы. Только для ОС Linux и FreeBSD. Если задано поле application_ids, то поле server_init_script игнорируется |
{- "location_id": "am2",
- "image_id": "Ubuntu-20.04-X64",
- "cpu": 1,
- "ram_mb": 1024,
- "volumes": [
- {
- "name": "boot",
- "size_mb": 25600
}
], - "networks": [
- {
- "bandwidth_mbps": 50
}, - {
- "network_id": "l6n343",
- "ip_address": "10.0.0.5"
}
], - "name": "public-api",
- "ssh_key_ids": [
- 223
], - "application_ids": [
- "nginx",
- "gitlab",
- "wordpress"
], - "tags": [
- "example",
- "my_tag"
], - "affinity_group_id": "l1g11",
- "server_init_script": "sudo apt update\nsudo apt install apache2 -y\nsudo systemctl enable apache2\nsudo systemctl start apache2\n"
}
{- "task_id": "lt17499"
}
Возвращает детализацию одного сервера
server_id required | string ID сервера, по которому необходимо получить детализацию |
{- "server": {
- "id": "l1s2400",
- "location_id": "am2",
- "cpu": 1,
- "ram_mb": 1024,
- "volumes": [
- {
- "id": 2977,
- "name": "boot",
- "size_mb": 25600,
- "created": "2020-11-12T09:09:30.46252"
}, - {
- "id": 2978,
- "name": "additional",
- "size_mb": 30720,
- "created": "2020-11-12T09:36:34.376165"
}
], - "nics": [
- {
- "id": 3024,
- "network_id": "l1n1",
- "network_type": "PublicShared",
- "mac": "ca:05:27:ff:56:89",
- "ip_address": "45.14.48.218",
- "mask": 28,
- "gateway": "45.14.48.209",
- "bandwidth_mbps": 50
}, - {
- "id": 3025,
- "network_id": "l1n368",
- "network_type": "Isolated",
- "mac": "ca:05:1a:50:f6:07",
- "ip_address": "10.0.0.1",
- "mask": 24,
- "bandwidth_mbps": 1024
}
], - "image_id": "CentOS-7.7-X64",
- "is_power_on": true,
- "name": "public-api",
- "login": "root",
- "password": "EuvzlqK6pv",
- "ssh_key_ids": [
- 223,
- 224
], - "state": "Active",
- "created": "2020-11-12T09:09:54.6478655Z",
- "tags": [
- "production",
- "elastic"
], - "application_ids": [
- "nginx",
- "gitlab",
- "wordpress"
], - "affinity_group_id": "l1g11"
}
}
Изменяет количество ядер и объём оперативной памяти одного сервера, в результате возвращается ID задачи, по которой можно отследить процесс изменения сервера и его ID
server_id required | string ID сервера, который необходимо изменить |
cpu required | integer <int32> Новое количество ядер |
ram_mb required | integer <int32> Новый объём оперативной памяти в МБ |
{- "cpu": 4,
- "ram_mb": 4096
}
{- "task_id": "lt17499"
}
Изменяет количество ядер и/или объём оперативной памяти одного сервера, в результате возвращается ID задачи, по которой можно отследить процесс изменения сервера и его ID
server_id required | string ID сервера, который необходимо изменить |
cpu | integer <int32> Новое количество ядер |
ram_mb | integer <int32> Новый объём оперативной памяти в МБ |
{- "cpu": 4
}
{- "task_id": "lt17499"
}
Изменяет название сервера, в результате возвращается ID задачи, по которой можно отследить процесс изменения сервера и его ID
server_id required | string ID сервера, который необходимо изменить |
name required | string Новое название сервера |
{- "name": "Rename"
}
{- "task_id": "lt17499"
}
Возвращает стоимость указанной конфигурации сервера за 1 месяц. Ресурс принимает такую же модель, которая требуется при создании сервера
location_id required | string ID локации |
image_id required | string ID шаблона |
cpu required | integer <int32> Количество ядер |
ram_mb required | integer <int32> Объём оперативной памяти в МБ |
required | Array of objects |
Array of objects | |
name | string Имя сервера. Поле необязательное, используется для совместимости с запросом создания сервера |
ssh_key_ids | Array of integers <int32> [ items <int32 > ] ID SSH-ключей. Поле необязательное, используется для совместимости с запросом создания сервера |
{- "location_id": "am2",
- "image_id": "CentOS-8.3-X64",
- "cpu": 1,
- "ram_mb": 1024,
- "volumes": [
- {
- "name": "boot",
- "size_mb": 25600
}
], - "networks": [
- {
- "bandwidth_mbps": 50
}, - {
- "bandwidth_mbps": 100
}
]
}
{- "price": 3011.4
}
Возвращает список дисков для сервера. Дополнительные SSD диски позволяют увеличить доступный объём памяти для хранения информации
server_id required | string ID сервера, для которого необходимо получить список дисков |
{- "volumes": [
- {
- "id": 2799,
- "server_id": "l1s2272",
- "name": "boot",
- "size_mb": 51200,
- "created": "2020-10-28T12:10:47.213843"
}, - {
- "id": 2802,
- "server_id": "l1s2272",
- "name": "addition",
- "size_mb": 10240,
- "created": "2020-10-28T15:33:34.862965"
}
]
}
Добавляет новый SSD диск к серверу, в результате возвращается ID задачи. При добавлении диска происходит перезагрузка сервера. Подключение выполняется в автоматическом режиме и доступно для серверов с любой операционной системой
server_id required | string ID сервера, для которого необходимо создать диск |
name required | string Название диска |
size_mb required | integer <int32> Размер диска в МБ, минимальный и максимальный размер диска можно найти в детализации локаций, размер диска должен быть кратен 10 ГБ |
{- "name": "Volume 1",
- "size_mb": 10240
}
{- "task_id": "lt17499"
}
Возвращает детализацию одного диска. Дополнительные SSD диски позволяют увеличить доступный объём памяти для хранения информации
server_id required | string ID сервера, для которого необходимо получить детализацию диска |
volume_id required | integer <int32> ID диска, по которому необходимо получить детализацию |
{- "volume": {
- "id": 2799,
- "server_id": "l1s2272",
- "name": "boot",
- "size_mb": 51200,
- "created": "2020-10-28T12:10:47.213843"
}
}
Изменяет размер одного диска или его название, в результате возвращается ID задачи. При изменении диска происходит перезагрузка сервера. Для загрузочного диска "boot" игнорируется изменение имени
server_id required | string ID сервера, для которого необходимо изменить размер диска |
volume_id required | integer <int32> ID диска, который необходимо изменить |
Размер диска необходимо указать в МБ, минимальный и максимальный размер диска можно найти в детализации локаций, диск можно только увеличить
name | string Название диска |
size_mb | integer <int32> Размер диска в МБ, размер диска должен быть кратен 10 ГБ |
{- "size_mb": 20480
}
{- "task_id": "lt17499"
}
Возвращает список снимков сервера
server_id required | string ID сервера, для которого необходимо получить список снимков |
{- "snapshots": [
- {
- "id": 55,
- "server_id": "l1s2276",
- "name": "snapshot-1",
- "size_mb": 216,
- "created": "2020-10-28T17:05:55.625218Z"
}, - {
- "id": 56,
- "server_id": "l1s2276",
- "name": "snapshot-2",
- "size_mb": 103,
- "created": "2020-10-29T13:13:39.329388Z"
}
]
}
Создаёт моментальный снимок сервера, в результате возвращается ID задачи
server_id required | string ID сервера, снимок которого необходимо создать |
name | string Название снимка |
{- "name": "snapshot-example"
}
{- "task_id": "lt17499"
}
Возвращает детализацию одного снимка
server_id required | string ID сервера, для которого необходимо получить детализацию снимка |
snapshot_id required | integer <int32> ID снимка, по которому необходимо получить детализацию |
{- "snapshot": {
- "id": 55,
- "server_id": "l1s2276",
- "name": "snapshot-1",
- "size_mb": 216,
- "created": "2020-10-28T17:05:55.625218Z"
}
}
Возвращает состояние сервера к выбранному снимку, в результате возвращается ID задачи. При восстановлении с непоследнего снимка более новые автоматически удаляются!
server_id required | string ID сервера, который нужно возвратить к снимку |
snapshot_id required | integer <int32> ID снимка, к которому нужно возвратиться |
{- "task_id": "lt17499"
}
Получить информацию о группах Affinity и Anti-Affinity. Группы Affinity и Anti-Affinity позволяют разместить набор серверов на разных или на одном пуле локации в зависимости от требований
{- "affinity-groups": [
- {
- "id": "l1g11",
- "location_id": "am2",
- "name": "affinity-group",
- "affinity": true,
- "server_ids": [
- "l1s2401",
- "l1s2402"
]
}, - {
- "id": "l1g20",
- "location_id": "am2",
- "name": "anti-affinity-group",
- "affinity": false,
- "server_ids"": [
- "l1s2403",
- "l1s2404",
- "l1s2405"
]
}
]
}
Создаёт новую группу Affinity или Anti-Affinity
name required | string Имя группы |
location_id required | string ID локации |
affinity required | boolean Тип группы Affinity или Anti-Affinity |
{- "name": "affinity-group",
- "location_id": "am2",
- "affinity": true
}
{- "affinity_group": {
- "id": "l1g12",
- "location_id": "am2",
- "name": "anti-affinity",
- "affinity": false,
- "server_ids": [
- "l1s2406",
- "l1s2408"
]
}
}
Возвращает детализацию одной группы
affinity-group_id required | string ID группы, по которой необходимо получить детализацию |
{- "affinity-groups": [
- {
- "id": "l1g11",
- "location_id": "am2",
- "name": "affinity-group",
- "affinity": true,
- "server_ids": [
- "l1s2401",
- "l1s2402"
]
}
]
}
Возвращает список сетевых интерфейсов сервера
server_id required | string ID сервера, для которого необходимо получить список сетевых интерфейсов |
{- "nics": [
- {
- "id": 2863,
- "server_id": "l1s2275",
- "network_id": "l1n1",
- "mac": "ca:05:39:c7:5c:58",
- "ip_address": "45.14.48.220",
- "mask": 28,
- "gateway": "45.14.48.209",
- "bandwidth_mbps": 40
}, - {
- "id": 2864,
- "server_id": "l1s2275",
- "network_id": "l1n325",
- "mac": "ca:05:c3:90:83:07",
- "ip_address": "10.0.0.1",
- "mask": 24,
- "bandwidth_mbps": 1024
}
]
}
Подключает сервер к сети, в результате возвращается ID задачи. Для подключения к публичной сети необходимо указать только пропускную способность интерфейса в теле запроса, для подключения к изолированной сети только её идентификатор. Cеть позволяет объединять виртуальные серверы в облако внутри одного ЦОД. При подключении дополнительных публичных IP-адресов может взыматься единоразовое списание, равное стоимости одного IP-адреса за один месяц
server_id required | string ID сервера, который необходимо подключить к сети |
network_id | string ID изолированной сети, к которой необходимо подключить сервер |
ip_address | string IP адрес в изолированной сети, который будет назначен вашему серверу. Если IP адрес не указан, он будет назначен автоматически |
bandwidth_mbps | integer <int32> Ширина канала публичной сети. Пропускная способность интерфейса указывается в Мбит/с, значение пропускной способности должно быть кратно 10 Мбит/с |
{- "network_id": "l7n343",
- "ip_address": "192.168.0.23"
}
{- "task_id": "lt17499"
}
Возвращает детализацию одного сетевого интерфейса
server_id required | string ID сервера, для которого необходимо получить детализацию сетевого интерфейса |
nic_id required | integer <int32> ID сетевого интерфейса, по которому необходимо получить детализацию |
{- "nic": {
- "id": 2864,
- "server_id": "l1s2275",
- "network_id": "l1n325",
- "mac": "ca:05:c3:90:83:07",
- "ip_address": "10.0.0.1",
- "mask": 24,
- "gateway": "10.0.0.254",
- "bandwidth_mbps": 1024
}
}
Изменяет ширину канала интерфейса для общей публичной сети
server_id required | string ID сервера, для которого необходимо изменить ширину канала сетевого интерфейса |
nic_id required | integer <int32> ID сетевого интерфейса, ширину канала которого необходимо изменить |
Возможно изменить пропускную способность только интерфейса, подключенного к общей публичной сети
bandwidth_mbps | integer <int32> Ширина канала публичной сети. Пропускная способность интерфейса указывается в Мбит/с, значение пропускной способности должно быть кратно 10 Мбит/с |
{- "bandwidth_mbps": 150
}
{- "task_id": "lt17499"
}
Возвращает список изолированных сетей. Изолированная сеть позволяет объединять виртуальные серверы в приватное облако внутри одного ЦОД. Размещение ресурсов в приватном облаке происходит в отдельном изолированном сегменте сети без доступа в Интернет, за счет чего достигается высокий уровень его безопасности и конфиденциальности
{- "isolated_networks": [
- {
- "id": "l6n343",
- "location_id": "nj3",
- "name": "isolated-net-1",
- "description": "isolated-net-1 description",
- "network_prefix": "10.0.0.0",
- "mask": 24,
- "server_ids": [
- "l6s2275",
- "l6s2276"
], - "gateway_ids": [
- "l6e138",
- "l6e136"
], - "state": "Active",
- "created": "2020-10-29T09:46:29.454269Z",
- "tags": [
- "cluster",
- "balancing"
]
}, - {
- "id": "l6n344",
- "location_id": "nj3",
- "name": "isolated-net-2",
- "description": "isolated-net-2 description",
- "network_prefix": "192.168.1.0",
- "mask": 24,
- "server_ids": [
- "l6s2276"
], - "gateway_ids": [
- "l6e138"
], - "state": "Active",
- "created": "2020-10-29T09:51:55.148213Z",
- "tags": [
- "cluster",
- "example"
]
}
]
}
Создаёт новую изолированную сеть, в результате возвращается ID задачи. Изолированная сеть позволяет объединять виртуальные серверы в приватное облако внутри одного ЦОД. Размещение ресурсов в приватном облаке происходит в отдельном изолированном сегменте сети без доступа в Интернет, за счет чего достигается высокий уровень его безопасности и конфиденциальности
location_id required | string ID локации для создания сети |
name required | string Название сети |
description | string Описание сети |
network_prefix | string Адрес сети |
mask | integer <int32> Маска подсети определяет неизменную часть адреса и влияет на ёмкость сети (количество доступных адресов). Указывается в виде количества старших бит, не меняющихся от адреса к адресу. К примеру, 24 эквивалентно записи "255.255.255.0" и означает 256 доступных (254 рабочих) адреса. Доступный диапазон масок от 18 до 24 включительно. |
{- "location_id": "am2",
- "name": "example-network",
- "description": "description",
- "network_prefix": "192.168.0.0",
- "mask": 24
}
{- "task_id": "l1t11871"
}
Получить детализацию одной изолированной сети. Изолированная сеть позволяет объединять виртуальные серверы в приватное облако внутри одного ЦОД. Размещение ресурсов в приватном облаке происходит в отдельном изолированном сегменте сети без доступа в Интернет, за счет чего достигается высокий уровень его безопасности и конфиденциальности
network_id required | string ID изолированной сети, для которой необходимо получить детализацию |
{- "isolated_network": {
- "id": "l6n343",
- "location_id": "nj3",
- "name": "isolated-net-1",
- "description": "isolated-net-1 description",
- "network_prefix": "10.0.0.0",
- "mask": 24,
- "server_ids": [
- "l6s2275",
- "l6s2276"
], - "gateway_ids": [
- "l1e138",
- "l1e136"
], - "state": "Active",
- "created": "2020-10-29T09:46:29.454269Z",
- "tags": [
- "cluster",
- "balancing"
]
}
}
Изменяет название и описание изолированной сети. Изолированная сеть позволяет объединять виртуальные серверы в приватное облако внутри одного ЦОД. Размещение ресурсов в приватном облаке происходит в отдельном изолированном сегменте сети без доступа в Интернет, за счет чего достигается высокий уровень его безопасности и конфиденциальности
network_id required | string ID изолированной сети, которую необходимо изменить |
name | string Новое название изолированной сети |
description | string Новое описание изолированной сети |
{- "name": "Network 1",
- "description": "Description of Network 1"
}
{- "isolated_network": {
- "id": "l6n343",
- "location_id": "nj3",
- "name": "Network 1",
- "description": "Description of Network 1",
- "network_prefix": "10.0.0.0",
- "mask": 24,
- "server_ids": [
- "l6s2275",
- "l6s2276"
], - "gateway_ids": [
- "l1e138",
- "l1e136"
], - "state": "Active",
- "created": "2020-10-29T09:46:29.454269Z"
}
}
{- "gateways": [
- {
- "id": "l1e137",
- "location_id": "am2",
- "name": "router",
- "nics": [
- {
- "id": 12345,
- "network_id": "l1n1",
- "ip_address": "45.14.48.213",
- "bandwidth_mbps": 40
}, - {
- "id": 23456,
- "network_id": "l1n1497",
- "ip_address": "10.0.0.2",
- "bandwidth_mbps": 1024
}
], - "nat_rules": [ ],
- "firewall_rules": [ ],
- "state": "Active",
- "powered_on": false,
- "created": "2022-06-07T09:25:19.352137Z"
}, - {
- "id": "l1e136",
- "location_id": "am2",
- "name": "edge",
- "nics": [
- {
- "id": 54321,
- "network_id": "l1n1489",
- "ip_address": "192.168.0.1",
- "bandwidth_mbps": 1024
}, - {
- "id": 65432,
- "network_id": "l1n1",
- "ip_address": "45.14.48.210",
- "bandwidth_mbps": 60
}, - {
- "id": 76543,
- "network_id": "l1n1497",
- "ip_address": "10.0.0.1",
- "bandwidth_mbps": 1024
}
], - "nat_rules": [
- {
- "type": "SNAT",
- "protocol": "TCP",
- "source": "0.0.0.0/0",
- "destination": "45.14.48.220/32",
- "destination_port": 80,
- "translated": "45.14.48.210",
- "translated_port": 443
}, - {
- "type": "SNAT",
- "protocol": "UDP",
- "source": "10.0.0.0/24",
- "destination": "0.0.0.0/0",
- "destination_port": 25,
- "translated": "45.14.48.210",
- "translated_port": 225
}, - {
- "type": "BINAT",
- "protocol": "TCP",
- "source": "192.168.0.3/32",
- "destination": "0.0.0.0/0",
- "destination_port": 0,
- "translated": "45.14.48.210",
- "translated_port": 0
}, - {
- "type": "DNAT",
- "protocol": "TCP",
- "source": "0.0.0.0/0",
- "destination": "45.14.48.210/32",
- "destination_port": 80,
- "translated": "192.168.0.5",
- "translated_port": 8080
}
], - "firewall_rules": [
- {
- "action": "Deny",
- "direction": "In",
- "protocol": "TCP",
- "source": "0.0.0.0/0",
- "source_port": 80,
- "destination": "192.168.0.0/24",
- "destination_port": 80
}, - {
- "action": "Allow",
- "direction": "In",
- "protocol": "UDP",
- "source": "0.0.0.0/0",
- "source_port": 0,
- "destination": "10.0.0.0/24",
- "destination_port": 0
}, - {
- "action": "Deny",
- "direction": "Out",
- "protocol": "ICMP",
- "source": "10.0.0.0/24",
- "source_port": 0,
- "destination": "0.0.0.0/0",
- "destination_port": 0
}
], - "state": "Active",
- "powered_on": true,
- "created": "2022-06-06T12:59:11.913863Z",
- "tags": [
- "MyTag",
- "Prod"
]
}
]
}
Создаёт новый пограничный шлюз, в результате возвращается ID задачи, по которой можно отследить процесс создания шлюза и его ID. При создании шлюза должны быть указаны изолированные сети, которые будут подключены к шлюзу
location_id required | string ID локации |
name required | string Имя шлюза |
bandwidth_mbps required | integer <int32> Пропускная способность интерфейса в Мбит/с, значение пропускной способности должно быть кратно 10 Мбит/с |
network_ids required | Array of strings ID изолированных сетей. Максимальное количество изолированных сетей, которое можно подключить к шлюзу - 3 |
{- "location_id": "am2",
- "name": "api-example",
- "bandwidth_mbps": 60,
- "network_ids": [
- "l1n1497",
- "l1n1489"
]
}
{- "task_id": "lt17499"
}
Возвращает детализацию одного пограничного шлюза
gateway_id required | string ID пограничного шлюза, по которому необходимо получить детализацию |
{- "gateway": {
- "id": "l1e136",
- "location_id": "am2",
- "name": "edge",
- "nics": [
- {
- "id": 12345,
- "network_id": "l1n1489",
- "ip_address": "192.168.0.1",
- "bandwidth_mbps": 1024
}, - {
- "id": 23456,
- "network_id": "l1n1497",
- "ip_address": "10.0.0.1",
- "bandwidth_mbps": 1024
}, - {
- "id": 34567,
- "network_id": "l1n1",
- "ip_address": "45.14.48.210",
- "bandwidth_mbps": 60
}
], - "nat_rules": [
- {
- "type": "SNAT",
- "protocol": "TCP",
- "source": "0.0.0.0/0",
- "destination": "45.14.48.220/32",
- "destination_port": 80,
- "translated": "45.14.48.210",
- "translated_port": 443
}, - {
- "type": "SNAT",
- "protocol": "UDP",
- "source": "10.0.0.0/24",
- "destination": "0.0.0.0/0",
- "destination_port": 25,
- "translated": "45.14.48.210",
- "translated_port": 225
}, - {
- "type": "BINAT",
- "protocol": "TCP",
- "source": "192.168.0.3/32",
- "destination": "0.0.0.0/0",
- "destination_port": 0,
- "translated": "45.14.48.210",
- "translated_port": 0
}, - {
- "type": "DNAT",
- "protocol": "TCP",
- "source": "0.0.0.0/0",
- "destination": "45.14.48.210/32",
- "destination_port": 80,
- "translated": "192.168.0.5",
- "translated_port": 8080
}
], - "firewall_rules": [
- {
- "action": "Deny",
- "direction": "In",
- "protocol": "TCP",
- "source": "0.0.0.0/0",
- "source_port": 80,
- "destination": "192.168.0.0/24",
- "destination_port": 80
}, - {
- "action": "Allow",
- "direction": "In",
- "protocol": "UDP",
- "source": "0.0.0.0/0",
- "source_port": 0,
- "destination": "10.0.0.0/24",
- "destination_port": 0
}, - {
- "action": "Deny",
- "direction": "Out",
- "protocol": "ICMP",
- "source": "10.0.0.0/24",
- "source_port": 0,
- "destination": "0.0.0.0/0",
- "destination_port": 0
}
], - "state": "Active",
- "powered_on": false,
- "created": "2022-06-06T12:59:11.913863Z",
- "tags": [
- "MyTag",
- "Prod"
]
}
}
Изменяет название пограничного шлюза
gateway_id required | string ID пограничного шлюза, который необходимо изменить |
name required | string Новое название пограничного шлюза |
{- "name": "Rename"
}
{- "gateway": {
- "id": "l1e136",
- "location_id": "am2",
- "name": "Rename",
- "nics": [
- {
- "id": 12345,
- "network_id": "l1n1489",
- "ip_address": "192.168.0.1",
- "bandwidth_mbps": 1024
}, - {
- "id": 23456,
- "network_id": "l1n1497",
- "ip_address": "10.0.0.1",
- "bandwidth_mbps": 1024
}, - {
- "id": 34567,
- "network_id": "l1n1",
- "ip_address": "45.14.48.210",
- "bandwidth_mbps": 60
}
], - "nat_rules": [
- {
- "type": "SNAT",
- "protocol": "TCP",
- "source": "0.0.0.0/0",
- "destination": "45.14.48.220/32",
- "destination_port": 80,
- "translated": "45.14.48.210",
- "translated_port": 443
}, - {
- "type": "BINAT",
- "protocol": "TCP",
- "source": "192.168.0.3/32",
- "destination": "0.0.0.0/0",
- "destination_port": 0,
- "translated": "45.14.48.210",
- "translated_port": 0
}, - {
- "type": "DNAT",
- "protocol": "TCP",
- "source": "0.0.0.0/0",
- "destination": "45.14.48.210/32",
- "destination_port": 80,
- "translated": "192.168.0.5",
- "translated_port": 8080
}
], - "firewall_rules": [
- {
- "action": "Deny",
- "direction": "In",
- "protocol": "TCP",
- "source": "0.0.0.0/0",
- "source_port": 80,
- "destination": "192.168.0.0/24",
- "destination_port": 80
}, - {
- "action": "Allow",
- "direction": "In",
- "protocol": "UDP",
- "source": "0.0.0.0/0",
- "source_port": 0,
- "destination": "10.0.0.0/24",
- "destination_port": 0
}, - {
- "action": "Deny",
- "direction": "Out",
- "protocol": "ICMP",
- "source": "10.0.0.0/24",
- "source_port": 0,
- "destination": "0.0.0.0/0",
- "destination_port": 0
}
], - "state": "Active",
- "powered_on": true,
- "created": "2022-06-06T12:59:11.913863Z",
- "tags": [
- "MyTag",
- "Prod"
]
}
}
Изменяет ширину канала пограничного шлюза
gateway_id required | string ID пограничного шлюза, ширину канала которого необходимо изменить |
bandwidth_mbps | integer <int32> Новая пропускная способность интерфейса в Мбит/с, значение пропускной способности должно быть кратно 10 Мбит/с |
{- "bandwidth_mbps": 100
}
{- "task_id": "lt17499"
}
Возвращает список правил Firewall одного пограничного шлюза. Правила выполняются последовательно. Приоритетным считается последнее правило, под которое попадает трафик. Чем выше правило в списке, тем ниже его приоритет
gateway_id required | string ID пограничного шлюза, по которому необходимо получить список правил Firewall |
{- "firewall_rules": [
- {
- "action": "Allow",
- "direction": "Out",
- "protocol": "ICMP",
- "source": "10.0.0.0/24",
- "source_port": 0,
- "destination": "0.0.0.0/0",
- "destination_port": 0
}, - {
- "action": "Allow",
- "direction": "In",
- "protocol": "TCP",
- "source": "45.121.122.123/32",
- "source_port": 80,
- "destination": "192.168.0.2/32",
- "destination_port": 8080
}, - {
- "action": "Deny",
- "direction": "In",
- "protocol": "UDP",
- "source": "45.138.24.17/32",
- "source_port": 443,
- "destination": "10.0.0.0/24",
- "destination_port": 0
}
]
}
Изменяет набор правил Firewall пограничного шлюза. В теле запроса передаётся массив правил, который будет применён к данному шлюзу. Метод удаляет существующие правила и создаёт переданные. Возможно передать пустой список для удаления всех правил.
Правила выполняются последовательно. Приоритетным считается последнее правило, под которое попадает трафик. Чем выше правило в списке, тем ниже его приоритет
gateway_id required | string ID пограничного шлюза, для которого необходимо изменить набор правил Firewall |
Array of objects Список Firewall правил |
{- "firewall_rules": [
- {
- "action": "Deny",
- "direction": "In",
- "protocol": "ICMP",
- "source": "0.0.0.0/0",
- "source_port": 0,
- "destination": "111.112.113.114/32",
- "destination_port": 0
}, - {
- "action": "Deny",
- "direction": "Out",
- "protocol": "UDP",
- "source": "111.112.113.114/32",
- "source_port": 0,
- "destination": "0.0.0.0/0",
- "destination_port": 0
}, - {
- "action": "Deny",
- "direction": "Out",
- "protocol": "TCP",
- "source": "111.112.113.114/32",
- "source_port": 0,
- "destination": "0.0.0.0/0",
- "destination_port": 0
}, - {
- "action": "Allow",
- "direction": "Out",
- "protocol": "UDP",
- "source": "111.112.113.114/32",
- "source_port": 53,
- "destination": "0.0.0.0/0",
- "destination_port": 53
}
]
}
{- "task_id": "lt17499"
}
Возвращает список правил NAT одного пограничного шлюза
gateway_id required | string ID пограничного шлюза, по которому необходимо получить список правил NAT |
{- "nat_rules": [
- {
- "type": "SNAT",
- "protocol": "TCP",
- "source": "0.0.0.0/0",
- "destination": "45.14.48.220/32",
- "destination_port": 80,
- "translated": "45.14.48.210",
- "translated_port": 443
}, - {
- "type": "BINAT",
- "protocol": "TCP",
- "source": "192.168.0.3/32",
- "destination": "0.0.0.0/0",
- "destination_port": 0,
- "translated": "45.14.48.210",
- "translated_port": 0
}, - {
- "type": "DNAT",
- "protocol": "TCP",
- "source": "0.0.0.0/0",
- "destination": "45.14.48.210/32",
- "destination_port": 80,
- "translated": "192.168.0.5",
- "translated_port": 8080
}
]
}
Изменяет набор правил NAT пограничного шлюза. В теле запроса передаётся массив правил, который будет применён к данному шлюзу. Метод удаляет существующие правила и создаёт переданные. Возможно передать пустой список для удаления всех правил
gateway_id required | string ID пограничного шлюза, для которого необходимо изменить набор правил NAT |
Array of objects Список NAT правил |
{- "nat_rules": [
- {
- "type": "SNAT",
- "protocol": "TCP",
- "source": "0.0.0.0/0",
- "destination": "45.14.48.220/32",
- "destination_port": 80,
- "translated": "45.14.48.210",
- "translated_port": 443
}, - {
- "type": "BINAT",
- "protocol": "TCP",
- "source": "192.168.0.3/32",
- "destination": "0.0.0.0/0",
- "destination_port": 0,
- "translated": "45.14.48.210",
- "translated_port": 0
}, - {
- "type": "DNAT",
- "protocol": "TCP",
- "source": "0.0.0.0/0",
- "destination": "45.14.48.210/32",
- "destination_port": 80,
- "translated": "192.168.0.5",
- "translated_port": 8080
}
]
}
{- "task_id": "lt17499"
}
Добавляет изолированную сеть к шлюзу, в результате возвращается ID задачи
gateway_id required | string ID шлюза, к которому необходимо подключить изолированную сеть |
network_id required | string ID изолированной сети, которую необходимо подключить к шлюзу |
{- "network_id": "l1n218"
}
{- "task_id": "lt65000"
}
Управление доменами и DNS-записями. В URL запросах доменные имена можно использовать как с указанием нулевого (корневого) уровня, так и без
{- "domains": [
- {
- "name": "example.net.",
- "is_delegated": false,
- "records": [
- {
- "id": 7183,
- "name": "www.example.net.",
- "type": "A",
- "ip": "93.184.216.34",
- "ttl": "1h"
}, - {
- "id": 7179,
- "name": "example.net.",
- "type": "A",
- "ip": "93.184.216.34",
- "ttl": "1h"
}, - {
- "id": 7180,
- "name": "example.net.",
- "type": "AAAA",
- "ip": "2606:2800:220:1:248:1893:25c8:1946",
- "ttl": "1h"
}, - {
- "id": 7184,
- "name": "www.example.net.",
- "type": "AAAA",
- "ip": "2606:2800:220:1:248:1893:25c8:1946",
- "ttl": "1h"
}, - {
- "id": 7196,
- "name": "mx.example.net.",
- "type": "MX",
- "mail_host": "mail.example.net.",
- "priority": 80,
- "ttl": "30s"
}, - {
- "id": 7177,
- "name": "example.net.",
- "type": "NS",
- "name_server_host": "ns01.serverspace.by.",
- "ttl": "1h"
}, - {
- "id": 7178,
- "name": "example.net.",
- "type": "NS",
- "name_server_host": "ns02.serverspace.by.",
- "ttl": "1h"
}, - {
- "id": 7182,
- "name": "example.net.",
- "type": "TXT",
- "text": "5fpl1ghm7scnth0907z0pft8c79lvc8t",
- "ttl": "1h"
}, - {
- "id": 7185,
- "name": "www.example.net.",
- "type": "TXT",
- "text": "v=spf1 -all",
- "ttl": "1h"
}, - {
- "id": 7181,
- "name": "example.net.",
- "type": "TXT",
- "text": "v=spf1 -all",
- "ttl": "1h"
}
]
}, - {
- "name": "example.org.",
- "is_delegated": false,
- "records": [
- {
- "id": 7189,
- "name": "example.org.",
- "type": "A",
- "ip": "93.184.216.34",
- "ttl": "1h"
}, - {
- "id": 7193,
- "name": "www.example.org.",
- "type": "A",
- "ip": "93.184.216.34",
- "ttl": "1h"
}, - {
- "id": 7190,
- "name": "example.org.",
- "type": "AAAA",
- "ip": "2606:2800:220:1:248:1893:25c8:1946",
- "ttl": "1h"
}, - {
- "id": 7192,
- "name": "www.example.org.",
- "type": "AAAA",
- "ip": "2606:2800:220:1:248:1893:25c8:1946",
- "ttl": "1h"
}, - {
- "id": 7188,
- "name": "example.org.",
- "type": "NS",
- "name_server_host": "ns02.serverspace.by.",
- "ttl": "1h"
}, - {
- "id": 7187,
- "name": "example.org.",
- "type": "NS",
- "name_server_host": "ns01.serverspace.by.",
- "ttl": "1h"
}, - {
- "id": 7195,
- "name": "www.example.org.",
- "type": "TXT",
- "text": "29wj71wrbc45pyy8dtwvg4bqf10t5qsq",
- "ttl": "1h"
}, - {
- "id": 7191,
- "name": "example.org.",
- "type": "TXT",
- "text": "v=spf1 -all",
- "ttl": "1h"
}, - {
- "id": 7194,
- "name": "www.example.org.",
- "type": "TXT",
- "text": "v=spf1 -all",
- "ttl": "1h"
}
]
}
]
}
Создаёт новый домен, в результате возвращается ID задачи, по которой можно отследить процесс создания домена и его ID
name required | string Доменное имя |
migrate_records | boolean Произвести миграцию DNS записей |
{- "name": "example.com",
- "migrate_records": true
}
{- "task_id": "dns3895"
}
Возвращает детализацию одного домена
domain_name required | string Доменное имя, по которому необходимо получить детализацию |
{- "domain": {
- "name": "example.net.",
- "is_delegated": false,
- "records": [
- {
- "id": 7183,
- "name": "www.example.net.",
- "type": "A",
- "ip": "93.184.216.34",
- "ttl": "1h"
}, - {
- "id": 7179,
- "name": "example.net.",
- "type": "A",
- "ip": "93.184.216.34",
- "ttl": "1h"
}, - {
- "id": 7180,
- "name": "example.net.",
- "type": "AAAA",
- "ip": "2606:2800:220:1:248:1893:25c8:1946",
- "ttl": "1h"
}, - {
- "id": 7184,
- "name": "www.example.net.",
- "type": "AAAA",
- "ip": "2606:2800:220:1:248:1893:25c8:1946",
- "ttl": "1h"
}, - {
- "id": 7196,
- "name": "mx.example.net.",
- "type": "MX",
- "mail_host": "mail.example.net.",
- "priority": 80,
- "ttl": "30s"
}, - {
- "id": 7177,
- "name": "example.net.",
- "type": "NS",
- "name_server_host": "ns01.serverspace.by.",
- "ttl": "1h"
}, - {
- "id": 7178,
- "name": "example.net.",
- "type": "NS",
- "name_server_host": "ns02.serverspace.by.",
- "ttl": "1h"
}, - {
- "id": 7182,
- "name": "example.net.",
- "type": "TXT",
- "text": "5fpl1ghm7scnth0907z0pft8c79lvc8t",
- "ttl": "1h"
}, - {
- "id": 7185,
- "name": "www.example.net.",
- "type": "TXT",
- "text": "v=spf1 -all",
- "ttl": "1h"
}, - {
- "id": 7181,
- "name": "example.net.",
- "type": "TXT",
- "text": "v=spf1 -all",
- "ttl": "1h"
}
]
}
}
Возвращает список записей одного домена
domain_name required | string Доменное имя, по которому необходимо получить список записей |
{- "records": [
- {
- "id": 7183,
- "name": "www.example.net.",
- "type": "A",
- "ip": "93.184.216.34",
- "ttl": "1h"
}, - {
- "id": 7179,
- "name": "example.net.",
- "type": "A",
- "ip": "93.184.216.34",
- "ttl": "1h"
}, - {
- "id": 7180,
- "name": "example.net.",
- "type": "AAAA",
- "ip": "2606:2800:220:1:248:1893:25c8:1946",
- "ttl": "1h"
}, - {
- "id": 7184,
- "name": "www.example.net.",
- "type": "AAAA",
- "ip": "2606:2800:220:1:248:1893:25c8:1946",
- "ttl": "1h"
}, - {
- "id": 7196,
- "name": "mx.example.net.",
- "type": "MX",
- "mail_host": "mail.example.net.",
- "priority": 80,
- "ttl": "30s"
}, - {
- "id": 7177,
- "name": "example.net.",
- "type": "NS",
- "name_server_host": "ns01.serverspace.by.",
- "ttl": "1h"
}, - {
- "id": 7178,
- "name": "example.net.",
- "type": "NS",
- "name_server_host": "ns02.serverspace.by.",
- "ttl": "1h"
}, - {
- "id": 7182,
- "name": "example.net.",
- "type": "TXT",
- "text": "5fpl1ghm7scnth0907z0pft8c79lvc8t",
- "ttl": "1h"
}, - {
- "id": 7185,
- "name": "www.example.net.",
- "type": "TXT",
- "text": "v=spf1 -all",
- "ttl": "1h"
}, - {
- "id": 7181,
- "name": "example.net.",
- "type": "TXT",
- "text": "v=spf1 -all",
- "ttl": "1h"
}
]
}
Создаёт новую запись, в результате возвращается ID задачи, по которой можно отследить процесс создания записи и её ID
domain_name required | string Доменное имя, для которого необходимо создать запись |
name required | string Доменное имя |
type | string Enum: "A" "AAAA" "MX" "CNAME" "NS" "TXT" "SRV" Тип записи |
ip | string IP адрес, используется для A и AAAA записей |
mail_host | string Почтовый сервер, используется для MX записей |
priority | integer <int32> Приоритет записи, используется для MX и SRV записей. Приоритет должен быть числом от 0 до 65535 |
canonical_name | string Каноническое имя, используется для CNAME записи |
name_server_host | string Доменное имя, используется для NS записей |
text | string Текст, используется для TXT записей |
protocol | string Enum: "TCP" "UDP" "TLS" Протокол, используется для SRV записей |
service | string Имя сервиса, используется для SRV записей |
weight | integer <int32> Вес записи, используется для SRV записей |
port | integer <int32> Порт, используется для SRV записей |
target | string Каноническое имя машины, предоставляющей сервис, используется для SRV записей |
ttl | string Enum: "1s" "5s" "30s" "1m" "5m" "10m" "15m" "30m" "1h" "2h" "6h" "12h" "1d" TTL записи |
{- "name": "a.example.org.",
- "type": "A",
- "ip": "93.184.216.38",
- "ttl": "2h"
}
{- "task_id": "dns3895"
}
Возвращает одну запись домена
domain_name required | string Доменное имя, по которому необходимо получить запись |
record_id required | string ID записи, по которой необходимо получить детализацию |
{- "record": {
- "id": 7183,
- "name": "www.example.net.",
- "type": "A",
- "ip": "93.184.216.34",
- "ttl": "1h"
}
}
Обновляет существующую запись, в результате возвращается ID задачи, по которой можно отследить процесс обновления записи и её ID
domain_name required | string Доменное имя, для которого необходимо изменить запись |
record_id required | string ID записи, которую необходимо обновить |
name | string Доменное имя |
type | string Enum: "A" "AAAA" "MX" "CNAME" "NS" "TXT" "SRV" Тип записи |
ip | string IP адрес, используется для A и AAAA записей |
mail_host | string Почтовый сервер, используется для MX записей |
priority | integer <int32> Приоритет записи, используется для MX и SRV записей. Приоритет должен быть числом от 0 до 65535 |
canonical_name | string Каноническое имя, используется для CNAME записи |
name_server_host | string Доменное имя, используется для NS записей |
text | string Текст, используется для TXT записей |
protocol | string Enum: "TCP" "UDP" "TLS" Протокол, используется для SRV записей |
service | string Имя сервиса, используется для SRV записей |
weight | integer <int32> Вес записи, используется для SRV записей |
port | integer <int32> Порт, используется для SRV записей |
target | string Каноническое имя машины, предоставляющей сервис, используется для SRV записей |
ttl | string Enum: "1s" "5s" "30s" "1m" "5m" "10m" "15m" "30m" "1h" "2h" "6h" "12h" "1d" TTL записи |
{- "name": "a.example.org.",
- "type": "A",
- "ip": "93.184.216.38",
- "ttl": "2h"
}
{- "task_id": "dns3895"
}