Returns the 'Cluster node index'
Note: Accessible by all authententicated users.
Gets a single nodes details
$ok = $obj->get_nodes('node')
node is a string in pve-node format
Gets a single nodes list of appliances
$ok = $obj->get_nodes_aplinfo('node')
Create (upload) appliance templates.
$ok = $obj->download_nodes_aplinfo('node',\%args)
%args may items contain from the following list
String. The storage to be used in pve-storage-id format. Required.
Data. The actual template. Required.
Note: required permissions are ["perm","/storage/{storage}",["Datastore.AllocateTemplate"]]
Get DNS settings.
$ok = $obj->get_nodes_dns('node')
Note: required permissions are ["perm","/nodes/{node}",["Sys.Audit"]]
Updates (writes) DNS settings.
$ok = $obj->update_nodes_dns('node', \%args)
String. Search domain for host-name lookup. Required.
Get nodes RRD statistics (returns PNG).
$ok = $obj->get_nodes_rrd('node', \%args)
String. The list of datasources you wish to see, in pve-configid-list format. Required.
Enum. Is either hour, day, week, month or year. Required.
Enum. Is either AVERAGE or MAX. Controls the RRD consolidation function. Optional.
Get nodes RRD statistics.
$ok = $obj->get_nodes_rrddata('node', \%args)
Gets node status
$ok = $obj->get_nodes_status('node')
Reboot or shutdown a node
$ok = $obj->updates_nodes_status('node', \%args)
Enum. Either reboot or shutdown. Specifies the command. Required.
Note: required permissions are ["perm","/nodes/{node}",["Sys.PowerMgmt"]]
Read nodes subscription info
$ok = $obj->get_nodes_subscription('node')
Note: Root only.
Create/update nodes subscription info
$ok = $obj->create_nodes_subscription('node', \%args)
Boolean. Always connect to the server, even if we have up to date info inside local cache. Optional.
Updates/sets subscription key
$ok = $obj->update_nodes_subscription_key('node', \%args)
Boolean. Proxmox VE subscription key. Required.
Reads system log
$ok = $obj->get_nodes_syslog('node', \%args)
Note: required permissions are ["perm","/nodes/{node}",["Sys.Syslog"]]
Read server time and time zone settings
$ok = $obj->get_nodes_time('node')
Updates time zone
$ok = $obj->update_nodes_time('node', \%args)
String. Time zone to be used, see '/usr/share/zoneinfo/zone.tab'. Required.
Note: required permissions are ["perm","/nodes/{node}",["Sys.Modify"]]
Get user_beancounters failcnt for all active containers.
$ok = $obj->get_nodes_ubcfailcnt('node')
$ok = $obj->get_nodes_version('node')
Creates a VNC Shell proxy.
$ok = $obj->create_nodes_vncshell('node')
Note: Restricted to users on realm 'pam'. Required permissions are ["perm","/nodes/{node}",["Sys.Console"]]
Create backup.
$ok = $obj->create_nodes_vzdump('node', \%args)
Boolean. Backup all known VMs on this host. Optional.
Integer. Limit I/O bandwidth (KBytes per second). Optional.
Enum. Either 0, 1, gzip or lzo. Comress dump file. Optional
String. Store resulting files to specified directory. Optional.
String. Exclude specified VMs (assumes --all) in pve-vmid-list. Optional.
String. Exclude certain files/directories (regex) in string-alist. Optional.
Integer. Set CFQ ionice priority. Optional.
Integer. Maximal time to wait for the global lock (minutes). Optional.
String. List of email addresses in string-list format. Optional.
Integer. Maximal number of backup files per vm. Optional.
Enum. A value from snapshot, suspend or stop. Backup mode. Optional.
Boolean. Be quiet. Optional.
Boolean. Remove old backup files if there are more than 'maxfiles' backup files. Optional.
String. Use specified hook script. Optional.
Integer. LVM snapshot size in MB. Optional.
Boolean. Exclude temporary files and logs. Optional.
Boolean. Write tar to stdout rather than to a file. Optional.
Integer. Maximal time to wait until a VM is stopped (minutes). Optional.
String. Store resulting file to this storage, in pve-storage-id format. Optional.
String. Store temporary files to specified directory. Optional.
String. The ID of the VM you want to backup in pve-vm-list format. Optional.
Note: The user needs 'VM.Backup' permissions on any VM, and 'Datastore.AllocateSpace' on the backup storage.
List available networks on the node
$ok = $obj->nodes_network('node', \%args)
Enum. One of bond, bridge, alias or eth. Only list specific interface types. Optional.
Create network device configuration
$ok = $obj->create_nodes_network('node', \%args)
String. The network interface name in pve-iface format. Required.
String. The ipv4 network address. Optional.
Boolean. Automatically start interface on boot. Optional.
Enum. Either of balance-rr, active-backup, balance-xor, broadcast, 802.3ad, balance-tlb or balance-alb. Specifies the bonding mode. Optional.
String. Specify the interfaces you want to add to your bridge in pve-iface-list format. Optional.
String. Default ipv4 gateway address. Optional.
String. Network mask for ipv4. Optional.
String. Specify the interfaces used by the bonding device in pve-iface-list format. Optional.
Revert network configuration changes.
$ok = $obj->revert_nodes_network('node')
Read network device configuration
$ok = $obj->get_nodes_network_iface('node', 'iface')
node is a string in pve-node format, iface is a string in pve-iface format
$ok = $obj->update_nodes_network_iface('node', 'iface', \%args)
String. Settings you want to delete in pve-configid-list format. Optional.
Delete network device configuration
$ok = $obj->delete_nodes_network_iface('node', 'iface')
L<Net::Proxmox::VE>
VERSION 0.3
Dean Hamstead L<<dean@fragfest.com.au>>
To install Net::Proxmox::VE, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Net::Proxmox::VE
CPAN shell
perl -MCPAN -e shell install Net::Proxmox::VE
For more information on module installation, please visit the detailed CPAN module installation guide.