# salt.cloud.clouds.cloudstack

## CloudStack Cloud Module

The CloudStack cloud module is used to control access to a CloudStack based Public Cloud.

depends:

  libcloud >= 0.15

Use of this module requires the `apikey`, `secretkey`, `host` and `path` parameters.

    my-cloudstack-cloud-config:
      apikey: <your api key >
      secretkey: <your secret key >
      host: localhost
      path: /client/api
      driver: cloudstack

salt.cloud.clouds.cloudstack.avail_images(conn=None, call=None)

  Return a dict of all available VM images on the cloud provider with relevant data

salt.cloud.clouds.cloudstack.avail_locations(conn=None, call=None)

  Return a dict of all available VM locations on the cloud provider with relevant data

salt.cloud.clouds.cloudstack.avail_sizes(conn=None, call=None)

  Return a dict of all available VM images on the cloud provider with relevant data

salt.cloud.clouds.cloudstack.block_device_mappings(vm_)

  Return the block device mapping:

      [{'DeviceName': '/dev/sdb', 'VirtualName': 'ephemeral0'},
        {'DeviceName': '/dev/sdc', 'VirtualName': 'ephemeral1'}]

salt.cloud.clouds.cloudstack.cloudstack_displayname(vm_)

  Return display name of VM:

  ::

    "minion1"

salt.cloud.clouds.cloudstack.create(vm_)

  Create a single VM from a data dict

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

  Delete a single VM, and all of its volumes

salt.cloud.clouds.cloudstack.get_configured_provider()

  Return the first configured instance.

salt.cloud.clouds.cloudstack.get_conn()

  Return a conn object for the passed VM data

salt.cloud.clouds.cloudstack.get_dependencies()

  Warn if dependencies aren't met.

salt.cloud.clouds.cloudstack.get_image(conn, vm_)

  Return the image object to use

salt.cloud.clouds.cloudstack.get_ip(data)

  Return the IP address of the VM If the VM has public IP as defined by libcloud module then use it Otherwise try to extract the private IP and use that one.

salt.cloud.clouds.cloudstack.get_key()

  Returns the ssh private key for VM access

salt.cloud.clouds.cloudstack.get_keypair(vm_)

  Return the keypair to use

salt.cloud.clouds.cloudstack.get_location(conn, vm_)

  Return the node location to use

salt.cloud.clouds.cloudstack.get_networkid(vm_)

  Return the networkid to use, only valid for Advanced Zone

salt.cloud.clouds.cloudstack.get_node(conn, name)

  Return a libcloud node for the named VM

salt.cloud.clouds.cloudstack.get_password(vm_)

  Return the password to use

salt.cloud.clouds.cloudstack.get_project(conn, vm_)

  Return the project to use.

salt.cloud.clouds.cloudstack.get_security_groups(conn, vm_)

  Return a list of security groups to use, defaulting to ['default']

salt.cloud.clouds.cloudstack.get_size(conn, vm_)

  Return the VM's size object

salt.cloud.clouds.cloudstack.list_nodes(conn=None, call=None)

  Return a list of the VMs that are on the provider

salt.cloud.clouds.cloudstack.list_nodes_full(conn=None, call=None)

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

salt.cloud.clouds.cloudstack.list_nodes_select(conn=None, call=None)

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

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

  Return the script deployment object

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

  Show the details from the provider concerning an instance