Difference between revisions of "Proxmox VE API"
Jump to navigation
Jump to search
(Created page with "# Using API https://pve.proxmox.com/pve-docs/api-viewer/ # Use pyproxmox https://github.com/Daemonthread/pyproxmox/blob/master/src/pyproxmox.py If using `pip install pypr...") |
|||
Line 11: | Line 11: | ||
https://raw.githubusercontent.com/Daemonthread/pyproxmox/master/src/pyproxmox.py | https://raw.githubusercontent.com/Daemonthread/pyproxmox/master/src/pyproxmox.py | ||
+ | |||
+ | <syntaxhighlight> | ||
+ | #!/usr/bin/env python3 | ||
+ | # Simple example of some code for testing, please use valid certs or import certs | ||
+ | # export PYTHONWARNINGS="ignore:Unverified HTTPS request" | ||
+ | |||
+ | from pyproxmox import * | ||
+ | from requests.packages.urllib3.exceptions import InsecureRequestWarning | ||
+ | requests.packages.urllib3.disable_warnings(InsecureRequestWarning) | ||
+ | |||
+ | |||
+ | auth = prox_auth('pve1','myuser@pve','mypassword') | ||
+ | |||
+ | px = pyproxmox(auth) | ||
+ | |||
+ | # status = px.getClusterStatus() | ||
+ | # print(status) | ||
+ | |||
+ | all_nodes = [ 'pve1', 'pve2'] | ||
+ | src_nodes = [ 'pve1', 'pve2'] | ||
+ | dst_node = 'pve3' | ||
+ | move_vmname = 'vnname' | ||
+ | |||
+ | for src_node in src_nodes: | ||
+ | vms = px.getNodeVirtualIndex(src_node)['data'] | ||
+ | print(src_node) | ||
+ | for vm in vms: | ||
+ | vmname = vm['name'] | ||
+ | vmid = vm['vmid'] | ||
+ | if vmname == move_vmname: | ||
+ | print(vmname) | ||
+ | print(vmid) | ||
+ | print(dst_node) | ||
+ | r = px.migrateVirtualMachine(src_node,vmid,dst_node) | ||
+ | print(r) | ||
+ | </syntaxhighlight> |
Revision as of 20:59, 20 July 2019
Using API
https://pve.proxmox.com/pve-docs/api-viewer/
Use pyproxmox
https://github.com/Daemonthread/pyproxmox/blob/master/src/pyproxmox.py
If using pip install pyproxmox
you will want to replace pyproxmox.py file with latest from github. pip package has not been updated recently and has api issues with some functions.
https://raw.githubusercontent.com/Daemonthread/pyproxmox/master/src/pyproxmox.py
!/usr/bin/env python3
Simple example of some code for testing, please use valid certs or import certs
export PYTHONWARNINGS="ignore:Unverified HTTPS request"
from pyproxmox import * from requests.packages.urllib3.exceptions import InsecureRequestWarning requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
auth = prox_auth('pve1','myuser@pve','mypassword')
px = pyproxmox(auth)
status = px.getClusterStatus()
print(status)
all_nodes = [ 'pve1', 'pve2'] src_nodes = [ 'pve1', 'pve2'] dst_node = 'pve3' move_vmname = 'vnname'
for src_node in src_nodes:
vms = px.getNodeVirtualIndex(src_node)['data'] print(src_node) for vm in vms: vmname = vm['name'] vmid = vm['vmid'] if vmname == move_vmname: print(vmname) print(vmid) print(dst_node) r = px.migrateVirtualMachine(src_node,vmid,dst_node) print(r)