salt.cloud.clouds.proxmox

Warning

This module will be removed from Salt in version 3009 in favor of the proxmox Salt Extension.

Proxmox Cloud Module

New in version 2014.7.0.

The Proxmox cloud module is used to control access to cloud providers using the Proxmox system (KVM / OpenVZ / LXC).

Set up the cloud configuration at /etc/salt/cloud.providers or

/etc/salt/cloud.providers.d/proxmox.conf:

my-proxmox-config:
  # Proxmox account information
  user: myuser@pam or myuser@pve
  password: mypassword
  url: hypervisor.domain.tld
  port: 8006
  driver: proxmox
  verify_ssl: True

Warning

This cloud provider will be removed from Salt in version 3009.0 in favor of the saltext.proxmox Salt Extension

maintainer:

Frank Klaassen <frank@cloudright.nl>

depends:

requests >= 2.2.1

depends:

IPy >= 0.81

salt.cloud.clouds.proxmox.avail_images(call=None, location='local')

Return a list of the images that are on the provider

CLI Example:

salt-cloud --list-images my-proxmox-config
salt.cloud.clouds.proxmox.avail_locations(call=None)

Return a list of the hypervisors (nodes) which this Proxmox PVE machine manages

CLI Example:

salt-cloud --list-locations my-proxmox-config
salt.cloud.clouds.proxmox.create(vm_)

Create a single VM from a data dict

CLI Example:

salt-cloud -p proxmox-ubuntu vmhostname
salt.cloud.clouds.proxmox.create_node(vm_, newid)

Build and submit the requestdata to create a new node

salt.cloud.clouds.proxmox.destroy(name, call=None)

Destroy a node.

CLI Example:

salt-cloud --destroy mymachine
salt.cloud.clouds.proxmox.get_configured_provider()

Return the first configured instance.

salt.cloud.clouds.proxmox.get_dependencies()

Warn if dependencies aren't met.

salt.cloud.clouds.proxmox.get_resources_nodes(call=None, resFilter=None)

Retrieve all hypervisors (nodes) available on this environment

CLI Example:

salt-cloud -f get_resources_nodes my-proxmox-config
salt.cloud.clouds.proxmox.get_resources_vms(call=None, resFilter=None, includeConfig=True)

Retrieve all VMs available on this environment

CLI Example:

salt-cloud -f get_resources_vms my-proxmox-config
salt.cloud.clouds.proxmox.get_vm_status(vmid=None, name=None)

Get the status for a VM, either via the ID or the hostname

salt.cloud.clouds.proxmox.get_vmconfig(vmid, node=None, node_type='openvz')

Get VM configuration

salt.cloud.clouds.proxmox.ignore_cidr(vm_, ip)

Return True if we are to ignore the specified IP.

salt.cloud.clouds.proxmox.list_nodes(call=None)

Return a list of the VMs that are managed by the provider

CLI Example:

salt-cloud -Q my-proxmox-config
salt.cloud.clouds.proxmox.list_nodes_full(call=None)

Return a list of the VMs that are on the provider

CLI Example:

salt-cloud -F my-proxmox-config
salt.cloud.clouds.proxmox.list_nodes_select(call=None)

Return a list of the VMs that are on the provider, with select fields

CLI Example:

salt-cloud -S my-proxmox-config
salt.cloud.clouds.proxmox.preferred_ip(vm_, ips)

Return either an 'ipv4' (default) or 'ipv6' address depending on 'protocol' option. The list of 'ipv4' IPs is filtered by ignore_cidr() to remove any unreachable private addresses.

salt.cloud.clouds.proxmox.query(conn_type, option, post_data=None)

Execute the HTTP request to the API

salt.cloud.clouds.proxmox.script(vm_)

Return the script deployment object

salt.cloud.clouds.proxmox.set_vm_status(status, name=None, vmid=None)

Convenience function for setting VM status

salt.cloud.clouds.proxmox.show_instance(name, call=None)

Show the details from Proxmox concerning an instance

salt.cloud.clouds.proxmox.shutdown(name=None, vmid=None, call=None)

Shutdown a node via ACPI.

CLI Example:

salt-cloud -a shutdown mymachine
salt.cloud.clouds.proxmox.start(name, vmid=None, call=None)

Start a node.

CLI Example:

salt-cloud -a start mymachine
salt.cloud.clouds.proxmox.stop(name, vmid=None, call=None)

Stop a node ("pulling the plug").

CLI Example:

salt-cloud -a stop mymachine
salt.cloud.clouds.proxmox.wait_for_created(upid, timeout=300)

Wait until a the vm has been created successfully

salt.cloud.clouds.proxmox.wait_for_state(vmid, state, timeout=300)

Wait until a specific state has been reached on a node