# 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

Added 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