New in version 2016.3.0.
The Vultr cloud module is used to control access to the Vultr VPS system.
Use of this module only requires the api_key
parameter.
Set up the cloud configuration at /etc/salt/cloud.providers
or
/etc/salt/cloud.providers.d/vultr.conf
:
my-vultr-config:
# Vultr account api key
api_key: <supersecretapi_key>
driver: vultr
Set up the cloud profile at /etc/salt/cloud.profiles
or
/etc/salt/cloud.profiles.d/vultr.conf
:
nyc-4gb-4cpu-ubuntu-14-04:
location: 1
provider: my-vultr-config
image: 160
size: 95
enable_private_network: True
This driver also supports Vultr's startup script feature. You can list startup scripts in your account with
salt-cloud -f list_scripts <name of vultr provider>
That list will include the IDs of the scripts in your account. Thus, if you have a script called 'setup-networking' with an ID of 493234 you can specify that startup script in a profile like so:
nyc-2gb-1cpu-ubuntu-17-04:
location: 1
provider: my-vultr-config
image: 223
size: 13
startup_script_id: 493234
Similarly you can also specify a fiewall group ID using the option firewall_group_id. You can list firewall groups with
salt-cloud -f list_firewall_groups <name of vultr provider>
To specify SSH keys to be preinstalled on the server, use the ssh_key_names setting
nyc-2gb-1cpu-ubuntu-17-04:
location: 1
provider: my-vultr-config
image: 223
size: 13
ssh_key_names: dev1,dev2,salt-master
You can list SSH keys available on your account using
salt-cloud -f list_keypairs <name of vultr provider>
salt.cloud.clouds.vultrpy.
avail_firewall_groups
(conn=None)¶return available firewall groups
salt.cloud.clouds.vultrpy.
avail_images
(conn=None)¶Return available images
salt.cloud.clouds.vultrpy.
avail_keys
(conn=None)¶return available SSH keys
salt.cloud.clouds.vultrpy.
avail_locations
(conn=None)¶return available datacenter locations
salt.cloud.clouds.vultrpy.
avail_scripts
(conn=None)¶return available startup scripts
salt.cloud.clouds.vultrpy.
avail_sizes
(conn=None)¶Return available sizes ("plans" in VultrSpeak)
salt.cloud.clouds.vultrpy.
create
(vm_)¶Create a single VM from a data dict
salt.cloud.clouds.vultrpy.
destroy
(name)¶Remove a node from Vultr
salt.cloud.clouds.vultrpy.
get_configured_provider
()¶Return the first configured instance
salt.cloud.clouds.vultrpy.
list_firewall_groups
(conn=None, call=None)¶return list of firewall groups
salt.cloud.clouds.vultrpy.
list_keypairs
(conn=None, call=None)¶return list of SSH keys
salt.cloud.clouds.vultrpy.
list_nodes
(**kwargs)¶Return basic data on nodes
salt.cloud.clouds.vultrpy.
list_nodes_full
(**kwargs)¶Return all data on nodes
salt.cloud.clouds.vultrpy.
list_nodes_select
(conn=None, call=None)¶Return a list of the VMs that are on the provider, with select fields
salt.cloud.clouds.vultrpy.
list_scripts
(conn=None, call=None)¶return list of Startup Scripts
salt.cloud.clouds.vultrpy.
show_instance
(name, call=None)¶Show the details from the provider concerning an instance
salt.cloud.clouds.vultrpy.
show_keypair
(kwargs=None, call=None)¶return list of SSH keys
salt.cloud.clouds.vultrpy.
start
(*args, **kwargs)¶Execute a "start" action on a VM
salt.cloud.clouds.vultrpy.
stop
(*args, **kwargs)¶Execute a "stop" action on a VM