Полное описание входных и выходных данных методов команды onevm.

Команда onevm

Метод XML-RPC 

Необходимые разрешения

Пример
deployone.vm.deploy

VM:ADMIN

HOST:MANAGE

Развертывание ВМ 1550 с указанными сетевыми настройками на сервере 1 используя хранилище 102 без превышения пропускной способности сервера:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestmaster1"
auth_token = "7e111fb1738e24285b31aed3d5ad039958b84254a07d6d855b2e027ac53f6a8b"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

nic_requirements = """ NIC = [
                       NETWORK = "WAN",
                       NETWORK_MODE = "auto",
                       SECURITY_GROUPS = "0" ]
                   """

result = client.vm.deploy(1550, 1, True, 102, nic_requirements)
print(result)
CODE


terminate-hardone.vm.action

VM:MANAGE

Немедленное уничтожение ВМ с идентификатором 3:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestmaster1"
auth_token = "7e111fb1738e24285b31aed3d5ad039958b84254a07d6d855b2e027ac53f6a8b"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.action("terminate-hard", 3)
print(result)
CODE
terminateone.vm.action

VM:MANAGE

Уничтожение ВМ с идентификатором 3:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestmaster1"
auth_token = "7e111fb1738e24285b31aed3d5ad039958b84254a07d6d855b2e027ac53f6a8b"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.action("terminate", 3)
print(result)
CODE

undeploy-hard

one.vm.action

VM:MANAGE

Немедленно завершить работу ВМ с идентификатором 3:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestmaster1"
auth_token = "7e111fb1738e24285b31aed3d5ad039958b84254a07d6d855b2e027ac53f6a8b"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.action("undeploy-hard", 3)
print(result)
CODE


undeploy

one.vm.action

VM:MANAGE

Завершить работу ВМ с идентификатором 3:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestmaster1"
auth_token = "7e111fb1738e24285b31aed3d5ad039958b84254a07d6d855b2e027ac53f6a8b"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.action("undeploy", 3)
print(result)
CODE

poweroff-hard

one.vm.action

VM:MANAGE

Немедленно отключить ВМ с идентификатором 3:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestmaster1"
auth_token = "7e111fb1738e24285b31aed3d5ad039958b84254a07d6d855b2e027ac53f6a8b"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.action("poweroff-hard", 3)
print(result)
CODE

poweroff

one.vm.action

VM:MANAGE

Отключить ВМ с идентификатором 3:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestmaster1"
auth_token = "7e111fb1738e24285b31aed3d5ad039958b84254a07d6d855b2e027ac53f6a8b"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.action("poweroff", 3)
print(result)
CODE

reboot-hard

one.vm.action

VM:MANAGE

Немедленно перезагрузить ВМ с идентификатором 3:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestmaster1"
auth_token = "7e111fb1738e24285b31aed3d5ad039958b84254a07d6d855b2e027ac53f6a8b"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.action("reboot-hard", 3)
print(result)
CODE


reboot

one.vm.action

VM:MANAGE

Перезагрузить ВМ с идентификатором 3:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestmaster1"
auth_token = "7e111fb1738e24285b31aed3d5ad039958b84254a07d6d855b2e027ac53f6a8b"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.action("reboot", 3)
print(result)
CODE


 holdone.vm.action

VM:MANAGE

Перевести ВМ с идентификатором 3 в удержание:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestmaster1"
auth_token = "7e111fb1738e24285b31aed3d5ad039958b84254a07d6d855b2e027ac53f6a8b"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.action("hold", 3)
print(result)
CODE


 releaseone.vm.action

VM:MANAGE

Освободить ВМ с идентификатором 3 из удержания:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestmaster1"
auth_token = "7e111fb1738e24285b31aed3d5ad039958b84254a07d6d855b2e027ac53f6a8b"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.action("release", 3)
print(result)
CODE


stop

one.vm.action

VM:MANAGE

Остановка ВМ с идентификатором 3:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestmaster1"
auth_token = "7e111fb1738e24285b31aed3d5ad039958b84254a07d6d855b2e027ac53f6a8b"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.action("stop", 3)
print(result)
CODE


suspend

one.vm.action

VM:MANAGE

Остановка ВМ с идентификатором 3, при которой состояние ВМ (файл checkpoint) и образы дисков остаются на сервере, чтобы позже возобновить на нем ВМ:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestmaster1"
auth_token = "7e111fb1738e24285b31aed3d5ad039958b84254a07d6d855b2e027ac53f6a8b"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.action("suspend", 3)
print(result)
CODE


resume

one.vm.action

VM:MANAGE

Возобновление ВМ с идентификатором 3:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestmaster1"
auth_token = "7e111fb1738e24285b31aed3d5ad039958b84254a07d6d855b2e027ac53f6a8b"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.action("resume", 3)
print(result)
CODE


reschedone.vm.action

VM:ADMIN

Установка флага для планировщика на ВМ с идентификатором 3:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestmaster1"
auth_token = "7e111fb1738e24285b31aed3d5ad039958b84254a07d6d855b2e027ac53f6a8b"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.action("resched", 3)
print(result)
CODE
unreschedone.vm.action

VM:ADMIN

Удаление флага для планировщика на ВМ с идентификатором 3:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestmaster1"
auth_token = "7e111fb1738e24285b31aed3d5ad039958b84254a07d6d855b2e027ac53f6a8b"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.action("unresched", 3)
print(result)
CODE


migrate

one.vm.migrate

VM:ADMIN

HOST:MANAGE

Живая миграция ВМ с идентификатором 3 на хранилище 108 с проверкой емкости хранилища:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestmaster1"
auth_token = "7e111fb1738e24285b31aed3d5ad039958b84254a07d6d855b2e027ac53f6a8b"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.migrate(3, 18, True, True, 108, 0)
print(result)
CODE

Живая миграция ВМ с идентификатором 3 на системное хранилище 107 с проверкой емкости хранилища:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestmaster1"
auth_token = "7e111fb1738e24285b31aed3d5ad039958b84254a07d6d855b2e027ac53f6a8b"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.migrate(3, 18, True, True, 107, 0)
print(result)
CODE


disk-saveas

one.vm.disksaveas

VM:MANAGE

IMAGE:CREATE

Сохранение диска 0 ВМ с идентификатором 3 как нового образа:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestmaster1"
auth_token = "7e111fb1738e24285b31aed3d5ad039958b84254a07d6d855b2e027ac53f6a8b"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.disksaveas(3, 0, "disk_name", "DATABLOCK", -1)
print(result)
CODE


disk-snapshot-createone.vm.disksnapshotcreate

VM:MANAGE

IMAGE:MANAGE

 Создание снимка состояния диска nameofsnap диска с идентификатором 1 для ВМ с идентификатором 1548:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestmaster1"
auth_token = "7e111fb1738e24285b31aed3d5ad039958b84254a07d6d855b2e027ac53f6a8b"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.disksnapshotcreate(1548, 1, "nameofsnap")
print(result)
CODE


disk-snapshot-deleteone.vm.disksnapshotdelete

VM:MANAGE

IMAGE:MANAGE

Удаление снимка состояния диска с идентификатором 0 диска 1 у ВМ с идентификатором 1548:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestmaster1"
auth_token = "7e111fb1738e24285b31aed3d5ad039958b84254a07d6d855b2e027ac53f6a8b"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.disksnapshotdelete(1548, 1, 0)
print(result)
CODE


disk-snapshot-revert

one.vm.disksnapshotrevert

VM:MANAGE

 Возвращение к предыдущему состоянию диска 0 ВМ с идентификатором 104:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestman"
auth_token = "1c93e09e349066932e2c6604cbf65f13cb9e91e18ee271bf49d30baec9a827d1"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.disksnapshotrevert(104, 0, 0)
print(result)
CODE


disk-snapshot-rename

one.vm.disksnapshotrename

VM:MANAGE

 Изменение имени снимка состояния диска 0 у ВМ с идентификатором 104:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestman"
auth_token = "1c93e09e349066932e2c6604cbf65f13cb9e91e18ee271bf49d30baec9a827d1"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.disksnapshotrename(104, 0, 0, "new_name")
print(result)
CODE


disk-attach

one.vm.attach

VM:MANAGE

IMAGE:USE

 

Добавление диска к ВМ с идентификатором 104:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestman"
auth_token = "1c93e09e349066932e2c6604cbf65f13cb9e91e18ee271bf49d30baec9a827d1"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

disk_template = """
DISK = [
  IMAGE_ID = "9",
  SIZE = "4000",
  DEV_PREFIX = "vda"
 ]
                """

result = client.vm.attach(104, disk_template)
print(result)
CODE


disk-detach

one.vm.detach

VM:MANAGE

 Отключение диска от ВМ с идентификатором 104:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestman"
auth_token = "1c93e09e349066932e2c6604cbf65f13cb9e91e18ee271bf49d30baec9a827d1"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.detach(104, 2)
print(result)
CODE


disk-resize

one.vm.diskresize

VM:MANAGE

 Изменение размера диска 0 на 8000 МБ у ВМ с идентификатором 104:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestman"
auth_token = "1c93e09e349066932e2c6604cbf65f13cb9e91e18ee271bf49d30baec9a827d1"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.diskresize(104, 0, "8000")
print(result)
CODE


nic-attachone.vm.attachnic

VM:MANAGE

NET:USE

Добавление сетевого интерфейса vnet к ВМ с идентификатором 1548:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestmaster1"
auth_token = "7e111fb1738e24285b31aed3d5ad039958b84254a07d6d855b2e027ac53f6a8b"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

vnet        = """  NIC = [
                   NETWORK = "WAN"]
              """

result = client.vm.attachnic(1548, vnet)
print(result)
CODE


nic-detach

one.vm.detachnic

VM:MANAGE

 Отключение сетевого интерфейса 0 от ВМ с идентификатором 104:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestman"
auth_token = "1c93e09e349066932e2c6604cbf65f13cb9e91e18ee271bf49d30baec9a827d1"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.detachnic(104, 0)
print(result)
CODE


create

one.vm.allocate

VM:CREATE

IMAGE:USE

NET:USE

Создание ВМ в статусе удержание:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestman"
auth_token = "1c93e09e349066932e2c6604cbf65f13cb9e91e18ee271bf49d30baec9a827d1"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

vm_settings = """
                 CPU=1
                 VCPU=2
                 MEMORY=4096
                   """

result = client.vm.allocate(vm_settings, True)
print(result)
CODE


show
one.vm.info

VM:USE

Вывод информации о ВМ с идентификатором 77:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestmaster1"
auth_token = "7e111fb1738e24285b31aed3d5ad039958b84254a07d6d855b2e027ac53f6a8b"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.info(77)
print(result)
CODE

chown

chgrp

one.vm.chown

 VM:MANAGE

[USER:MANAGE]

[GROUP:USE]

Назначение ВМ с идентификатором 112 владельца 12 и группы 101:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestman"
auth_token = "1c93e09e349066932e2c6604cbf65f13cb9e91e18ee271bf49d30baec9a827d1"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.template.chown(112, 12, 101)
print(result)
CODE


chmod

one.vm.chmod

 VM:<MANAGE/ADMIN>

Удаление всех разрешений для прочих у ВМ с идентификатором 109

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestman"
auth_token = "1c93e09e349066932e2c6604cbf65f13cb9e91e18ee271bf49d30baec9a827d1"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.chmod(109, 1, 1, 1, 1, 1, 1, 0, 0, 0)
print(result)
CODE


rename

one.vm.rename

VM:MANAGE

 Изменение имени ВМ с идентификатором 109:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestman"
auth_token = "1c93e09e349066932e2c6604cbf65f13cb9e91e18ee271bf49d30baec9a827d1"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.chmod(109, "new_name")
print(result)
CODE


snapshot-create

one.vm.snapshotcreate

VM:MANAGE

 Создание снимка состояния snap_vm_1 ВМ с идентификатором 104:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestman"
auth_token = "1c93e09e349066932e2c6604cbf65f13cb9e91e18ee271bf49d30baec9a827d1"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.snapshotcreate(104, "snap_vm_1")
print(result)
CODE


snapshot-delete

one.vm.snapshotdelete

VM:MANAGE

 Удаление снимка состояния 0 ВМ с идентификатором 104:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestman"
auth_token = "1c93e09e349066932e2c6604cbf65f13cb9e91e18ee271bf49d30baec9a827d1"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.snapshotdelete(104, 0)
print(result)
CODE


snapshot-revert

one.vm.snapshotrevert

VM:MANAGE

 Возвращение ВМ с идентификатором 104 к состоянию из снимка 0:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestman"
auth_token = "1c93e09e349066932e2c6604cbf65f13cb9e91e18ee271bf49d30baec9a827d1"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.snapshotrevert(104, 0)
print(result)
CODE


resize

one.vm.resize

VM:MANAGE

Изменение размеров параметром ВМ с идентификатором 1550 с предварительной проверкой емкости:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestmaster1"
auth_token = "7e111fb1738e24285b31aed3d5ad039958b84254a07d6d855b2e027ac53f6a8b"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

content = """
          CPU=1
          vCPU=3
          MEMORY=4000
          """

result = client.vm.resize(1550, content, True)
print(result)
CODE


updateone.vm.update

VM:MANAGE

Обновление настроек ВМ с идентификатором 1548 с объединением нового и старого шаблона:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestmaster1"
auth_token = "7e111fb1738e24285b31aed3d5ad039958b84254a07d6d855b2e027ac53f6a8b"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

content = """
          NEWATTRIBUTE=NEWVALUE
          """

result = client.vm.update(1548, content, 1)
print(result)
CODE


recoverone.vm.recover

VM:ADMIN

Восстановление зависшей ВМ с идентификатором 1548 через удаление и пересоздание:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestmaster1"
auth_token = "7e111fb1738e24285b31aed3d5ad039958b84254a07d6d855b2e027ac53f6a8b"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.recover(1548, 4)
print(result)
CODE


updateconfone.vm.updateconf

VM:MANAGE

Обновление конфигурации ВМ с идентификатором 1548 с заменой шаблона:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestmaster1"
auth_token = "7e111fb1738e24285b31aed3d5ad039958b84254a07d6d855b2e027ac53f6a8b"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

newcontent =  """ FEATURES = [
                   ACPI=NO]
              """

result = client.vm.updateconf(1548, newcontent, 0)
print(result)
CODE


-one.vm.monitoring

VM:USE

Вывод информации мониторинга ВМ с идентификатором 1548:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestmaster1"
auth_token = "7e111fb1738e24285b31aed3d5ad039958b84254a07d6d855b2e027ac53f6a8b"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.monitoring(1548)
print(result)
CODE


lockone.vm.lock

VM:MANAGE

Блокирование действий типа admin с ВМ с идентификатором 1548 и предварительной проверкой была ли ВМ заблокирована ранее:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestmaster1"
auth_token = "7e111fb1738e24285b31aed3d5ad039958b84254a07d6d855b2e027ac53f6a8b"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.lock(1548, 3, True)
print(result)
CODE


unlockone.vm.unlock

VM:MANAGE

Разблокирование действий с ВМ с идентификатором 1548:

import pyone
auth_url = "http://127.0.0.1:2633/RPC2"
auth_user = "brestmaster1"
auth_token = "7e111fb1738e24285b31aed3d5ad039958b84254a07d6d855b2e027ac53f6a8b"
client = pyone.OneServer(auth_url, session=auth_user + ':' + auth_token)

result = client.vm.unlock(1548)
print(result)
CODE