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