Создание сервера
Создание нового сервера возможно только при достаточном балансе договоров Вашего аккаунта. Создание и изменение серверов отличается по форме вызова от других функций API так как данные в запросе передаются в JSON формате.
Поля Запроса
cmd: add_server
sess Авторизационная сессия
json(string) Массив параметров для создания сервера в формате JSON.
Поля ответа массива json
cpu(int) Количество ядер процессора (обязательное поле)
cputype(int) - Тип (частота) процессора. В настоящий момент доступно 2 типа: 2 - Не менее 2х ггц, 3- Не менее 3х ггц.
ram (int) Объем оперативной памяти в Гб. (обязательное поле)
hdd_list (string) Массив с описанием жестких дисков создаваемого сервера. (см. описание ниже.)
preset (int) - ID конфигурации сервера. Переопределяет конфигурацию и стоимость создаваемого сервера. Перечень конфигураций доступен по команде get_presets. Если не задан, то для создания сервера используются параметры полей cpu, cputype, ram, hdd_list.
contract (int) ID договора к которому будет привязан сервер. Если не указан берется договор указанный по умолчанию. Список всех договоров можно получить с помощью команды get_contracts
server_name (string) Название сервера (должно быть уникальным в пределах аккаунта) (обязательное поле)
shablon(int) ID шаблона для установки из готовых образов. Список всех образов можно получить с помощью команды list_templates
os (int) ID образа ISO который должен быть смонтирован в CDROM. Может быть получен с помощью функции list_iso.
dns (string) PTR запись (обратная зона) для DNS. В случае, если поле не задано, система самостоятельно проставит это значение.
root (string) Пароль root или user для создания сервера из шаблона (обязательность поля определяется выбранным шаблоном). Должен быть передан закодированным в формате base64.
server_comment(string) - произвольный комментарий для сервера.
Поля ответа массива hdd_list
func (string) Функция действий над диском. При создании сервера всегда имеет значение add
size (int) Объем диска в Гб. кратный пяти (5,10,15, и т.д.)
type (int) Индекс типа хранилища (SSD, SATA и т.д.). В настоящий момент существует 2 типа хранилищ (SATA = 1 и SSD = 2).
order (int) Порядковый номер диска. Диск с наименьшей цифрой становится загрузочным.
Примеры
https://my.imserver.ru/api?cmd=add_server&sess=f58d878cf6a907122323534b4058ed&json={
"cpu":1,
"ram":1,
"server_name":"mytestname",
"shablon":"1",
"os":''135",
"root":"MTIxMjEy",
"hdd_list":[
{"func":"add","size":15,"type":"1","order":"1"},
{"func":"add","size":20,"type":"2","order":"2"}
]}
Данный вызов создаст виртуальный сервер из шаблона Сentos 6.5 с 1-м процессором, 1-м гигабайтом оперативной памяти, с загрузочным диском SATA на 15 гбайт, вторым диском SSD на 20 гбайт, паролем root: 121212. Имя сервера будет установлено в "mytestname" и в CDROM будет смонтирован образ операционной системы Centos 6.5 x64.Ответ сервера:
success (true, false) | Статус выполнения команды |
data (string) | В случае успеха, поле будет содержать id нового сервера, в противном случае индекс ошибки при создании сервера. |
login (string) | Логин пользователя. |