The Linode cloud module is used to control access to the Linode VPS system
Use of this module only requires the apikey parameter.
| depends: | linode-python >= 1.1.1 |
|---|
OR
| depends: | apache-libcloud >= 0.13.2 |
|---|
Note
The linode-python driver will work with earlier versions of linode-python, but it is highly recommended to use a minimum version of 1.1.1. Earlier versions leak sensitive information into the debug logs.
Set up the cloud configuration at /etc/salt/cloud.providers or
/etc/salt/cloud.providers.d/linode.conf:
my-linode-config:
# Linode account api key
apikey: JVkbSJDGHSDKUKSDJfhsdklfjgsjdkflhjlsdfffhgdgjkenrtuinv
provider: linode
When used with linode-python, this provider supports cloning existing Linodes.
To clone, add a profile with a clonefrom key, and a script_args: -C.
Clonefrom should be the name of the that is the source for the clone.
script_args: -C passes a -C to the bootstrap script, which only configures
the minion and doesn't try to install a new copy of salt-minion. This way the
minion gets new keys and the keys get pre-seeded on the master, and the
/etc/salt/minion file has the right 'id:' declaration.
Cloning requires a post 2015-02-01 salt-bootstrap.
salt.cloud.clouds.linode.avail_images(conn=None, call=None)¶Return a dict of all available VM images on the cloud provider with relevant data
salt.cloud.clouds.linode.avail_locations(conn=None, call=None)¶Return a dict of all available VM locations on the cloud provider with relevant data
salt.cloud.clouds.linode.avail_sizes(conn=None, call=None)¶Return a dict of all available VM images on the cloud provider with relevant data
salt.cloud.clouds.linode.boot(LinodeID=None, configid=None)¶Execute a boot sequence on a linode
salt.cloud.clouds.linode.create(vm_)¶Create a single VM from a data dict
salt.cloud.clouds.linode.create_config(vm_, LinodeID=None, root_disk_id=None, swap_disk_id=None)¶Create a Linode Config
salt.cloud.clouds.linode.create_disk_from_distro(vm_=None, LinodeID=None, swapsize=None)¶Create the disk for the linode
salt.cloud.clouds.linode.create_swap_disk(vm_=None, LinodeID=None, swapsize=None)¶Create the disk for the linode
salt.cloud.clouds.linode.destroy(name, conn=None, call=None)¶Delete a single VM
salt.cloud.clouds.linode.get_auth(vm_)¶Return either NodeAuthSSHKey or NodeAuthPassword, preferring NodeAuthSSHKey if both are provided.
salt.cloud.clouds.linode.get_configured_provider()¶Return the first configured instance.
salt.cloud.clouds.linode.get_conn()¶Return a conn object for the passed VM data
salt.cloud.clouds.linode.get_disk_size(vm_, size, swap)¶Return the size of of the root disk in MB
salt.cloud.clouds.linode.get_image(conn, vm_)¶Return the image object to use
salt.cloud.clouds.linode.get_kernels(conn=None)¶Get Linode's list of kernels available
salt.cloud.clouds.linode.get_location(conn, vm_)¶Return the node location to use
salt.cloud.clouds.linode.get_node(conn, name)¶Return a libcloud node for the named VM
salt.cloud.clouds.linode.get_one_kernel(conn=None, name=None)¶Return data on one kernel name=None returns latest kernel
salt.cloud.clouds.linode.get_password(vm_)¶Return the password to use
salt.cloud.clouds.linode.get_private_ip(vm_)¶Return True if a private ip address is requested
salt.cloud.clouds.linode.get_pubkey(vm_)¶Return the SSH pubkey to use
salt.cloud.clouds.linode.get_size(conn, vm_)¶Return the VM's size object
salt.cloud.clouds.linode.get_ssh_key_filename(vm_)¶Return path to filename if get_auth() returns a NodeAuthSSHKey.
salt.cloud.clouds.linode.get_swap(vm_)¶Return the amount of swap space to use in MB
salt.cloud.clouds.linode.list_nodes(conn=None, call=None)¶Return a list of the VMs that are on the provider
salt.cloud.clouds.linode.list_nodes_full(conn=None, call=None)¶Return a list of the VMs that are on the provider, with all fields
salt.cloud.clouds.linode.list_nodes_select(conn=None, call=None)¶Return a list of the VMs that are on the provider, with select fields
salt.cloud.clouds.linode.remove_complex_types(dictionary)¶Linode-python is now returning some complex types that are not serializable by msgpack. Kill those.
salt.cloud.clouds.linode.script(vm_)¶Return the script deployment object
salt.cloud.clouds.linode.show_instance(name, call=None)¶Show the details from the provider concerning an instance
salt.cloud.clouds.linode.waitfor_job(conn=None, LinodeID=None, JobID=None, timeout=300, quiet=True)¶salt.cloud.clouds.linode.waitfor_status(conn=None, LinodeID=None, status=None, timeout=300, quiet=True)¶Wait for a certain status