Salt-specific interface for calling Salt Cloud directly, cloudmap=None, names=None, provider=None, instance=None, **kwargs)

Execute a single action on the given provider/instance

CLI Example:

salt minionname cloud.action start instance=myinstance
salt minionname cloud.action stop instance=myinstance
salt minionname cloud.action show_image provider=my-ec2-config image=ami-1624987f, names, opts=None, **kwargs)

Create an instance using Salt Cloud

CLI Example:

salt minionname cloud.create my-ec2-config myinstance image=ami-1624987f size='t1.micro' ssh_username=ec2-user securitygroup=default delvol_on_destroy=True

Destroy the named VM(s)

CLI Example:

salt minionname cloud.destroy myinstance'list_nodes_full')

List all available cloud provider data

CLI Example:

salt minionname cloud.full_query, provider=None)

Return details on an instance.

Similar to the cloud action show_instance but returns only the instance details.

CLI Example:

salt minionname cloud.get_instance myinstance

SLS Example:

{{ salt['cloud.get_instance']('myinstance')['mac_address'] }}, provider=None)

Return true if the instance is found on a provider

CLI Example:

salt minionname cloud.has_instance myinstance'all')

List cloud provider images for the given providers

CLI Example:

salt minionname cloud.list_images my-gce-config'all')

List cloud provider locations for the given providers

CLI Example:

salt minionname cloud.list_locations my-gce-config'all')

List cloud provider sizes for the given providers

CLI Example:

salt minionname cloud.list_sizes my-gce-config, **kwargs)

Execute a salt cloud map file

Cloud Map data can be retrieved from several sources:

  • a local file (provide the path to the file to the 'path' argument)

  • a JSON-formatted map directly (provide the appropriately formatted to using the 'map_data' argument)

  • the Salt Pillar (provide the map name of under 'pillar:cloud:maps' to the 'map_pillar' argument)


Only one of these sources can be read at a time. The options are listed in their order of precedence.

CLI Examples:

salt minionname cloud.map_run /path/to/
salt minionname cloud.map_run path=/path/to/
salt minionname cloud.map_run map_pillar='<map_pillar>'
  .. versionchanged:: 2018.3.1
salt minionname cloud.map_run map_data='<actual map data>', names, **kwargs)

Create private network

CLI Example:

salt minionname cloud.network_create my-nova names=['salt'] cidr=''

List private networks

CLI Example:

salt minionname cloud.network_list my-nova, names, vm_overrides=None, opts=None, **kwargs)

Spin up an instance using Salt Cloud

CLI Example:

salt minionname cloud.profile my-gce-config myinstance'list_nodes')

List cloud provider data for all providers

CLI Examples:

salt minionname cloud.query
salt minionname cloud.query list_nodes_full
salt minionname cloud.query list_nodes_select'list_nodes_select')

List selected nodes

CLI Example:

salt minionname cloud.select_query, names, **kwargs)

Attach private interfaces to a server

CLI Example:

salt minionname cloud.virtual_interface_create my-nova names=['salt-master'] net_name='salt', names, **kwargs)

List virtual interfaces on a server

CLI Example:

salt minionname cloud.virtual_interface_list my-nova names=['salt-master'], names, **kwargs)

Attach volume to a server

CLI Example:

salt minionname cloud.volume_attach my-nova myblock server_name=myserver device='/dev/xvdf', names, **kwargs)

Create volume

CLI Example:

salt minionname cloud.volume_create my-nova myblock size=100 voltype=SSD, names, **kwargs)

Delete volume

CLI Example:

salt minionname cloud.volume_delete my-nova myblock, names, **kwargs)

Detach volume from a server

CLI Example:

salt minionname cloud.volume_detach my-nova myblock server_name=myserver

List block storage volumes

CLI Example:

salt minionname cloud.volume_list my-nova