Команда onevm | Метод XML-RPC | Необходимые разрешения | Пример |
---|
deploy | one.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-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("terminate-hard", 3)
print(result)
CODE
|
terminate | 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("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
|
hold | 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("hold", 3)
print(result)
CODE
|
release | 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("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
|
resched | one.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
|
unresched | one.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-create | one.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-delete | one.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-attach | one.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
|
update | one.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
|
recover | one.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
|
updateconf | one.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
|
lock | one.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
|
unlock | one.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
|