salt-cloud - Salt Cloud Command
Provision virtual machines in the cloud with Salt
salt-cloud -m /etc/salt/cloud.map
salt-cloud -m /etc/salt/cloud.map NAME
salt-cloud -m /etc/salt/cloud.map NAME1 NAME2
salt-cloud -p PROFILE NAME
salt-cloud -p PROFILE NAME1 NAME2 NAME3 NAME4 NAME5 NAME6
Salt Cloud is the system used to provision virtual machines on
various public clouds via a cleanly controlled profile and mapping
system.
- --version
- Print the version of Salt that is running.
- -c CONFIG_DIR,
--config-dir=CONFIG_dir
- The location of the Salt configuration directory. This directory contains
the configuration files for Salt master and minions. The default location
on most systems is /etc/salt.
- -a ACTION,
--action=ACTION
- Perform an action that may be specific to this cloud provider. This
argument requires one or more instance names to be specified.
- -p PROFILE,
--profile=PROFILE
- Select a single profile to build the named cloud VMs from. The profile
must be defined in the specified profiles file.
- -m MAP, --map=MAP
- Specify a map file to use. If used without any other options, this option
will ensure that all of the mapped VMs are created. If the named VM
already exists then it will be skipped.
- -H, --hard
- When specifying a map file, the default behavior is to ensure that all of
the VMs specified in the map file are created. If the –hard option
is set, then any VMs that exist on configured cloud providers that are not
specified in the map file will be destroyed. Be advised that this can be a
destructive operation and should be used with care.
- -d, --destroy
- Pass in the name(s) of VMs to destroy, salt-cloud will search the
configured cloud providers for the specified names and destroy the VMs. Be
advised that this is a destructive operation and should be used with care.
Can be used in conjunction with the -m option to specify a map of VMs to
be deleted.
- -P, --parallel
- Normally when building many cloud VMs they are executed serially. The -P
option will run each cloud vm build in a separate process allowing for
large groups of VMs to be build at once.
Be advised that some cloud provider’s systems
don’t seem to be well suited for this influx of vm creation. When
creating large groups of VMs watch the cloud provider carefully.
- -k, --keep-tmp
- Do not remove files from /tmp/ after deploy.sh finishes.
- -Q, --query
- Execute a query and return some information about the nodes running on
configured cloud providers
- -F, --full-query
- Execute a query and print out all available information about all cloud
VMs. Can be used in conjunction with -m to display only information about
the specified map.
- -S, --select-query
- Execute a query and print out selected information about all cloud VMs.
Can be used in conjunction with -m to display only information about the
specified map.
- --list-profiles
- New in version 2014.7.0.
Display a list of configured profiles. Pass in a cloud
provider to view the provider’s associated profiles, such as
digitalocean, or pass in all to list all the configured
profiles.
- --list-locations=LIST_LOCATIONS
- Display a list of locations available in configured cloud providers. Pass
the cloud provider that available locations are desired on, aka
“linode”, or pass “all” to list locations for
all configured cloud providers
- --list-images=LIST_IMAGES
- Display a list of images available in configured cloud providers. Pass the
cloud provider that available images are desired on, aka
“linode”, or pass “all” to list images for all
configured cloud providers
- --list-sizes=LIST_SIZES
- Display a list of sizes available in configured cloud providers. Pass the
cloud provider that available sizes are desired on, aka
“AWS”, or pass “all” to list sizes for all
configured cloud providers
- --set-password=<USERNAME>
<PROVIDER>
- Configure password for a cloud provider and save it to the keyring.
PROVIDER can be specified with or without a driver, for example:
“–set-password bob rackspace” or more specific
“–set-password bob rackspace:openstack”
DEPRECATED!
- --out
- Pass in an alternative outputter to display the return of data. This
outputter can be any of the available outputters:
highstate, json, key,
overstatestage, pprint, raw, txt, yaml, and
many others.
Some outputters are formatted only for data returned from specific
functions. If an outputter is used that does not support the data passed
into it, then Salt will fall back on the pprint outputter and display
the return data using the Python pprint standard library module.
NOTE:
If using --out=json, you will probably want
--static as well. Without the static option, you will get a separate
JSON string per minion which makes JSON output invalid as a whole. This is due
to using an iterative outputter. So if you want to feed it to a JSON parser,
use --static as well.
- --out-indent OUTPUT_INDENT, --output-indent OUTPUT_INDENT
- Print the output indented by the provided value in spaces. Negative values
disable indentation. Only applicable in outputters that support
indentation.
- --out-file=OUTPUT_FILE, --output-file=OUTPUT_FILE
- Write the output to the specified file.
- --out-file-append, --output-file-append
- Append the output to the specified file.
- --force-color
- Force colored output
NOTE:
When using colored output the color codes are as follows:
green denotes success, red denotes failure,
blue denotes changes and success and yellow denotes a expected
future change in configuration.
To create 4 VMs named web1, web2, db1, and db2 from specified
profiles:
salt-cloud -p fedora_rackspace web1 web2 db1 db2
To read in a map file and create all VMs specified therein:
salt-cloud -m /path/to/cloud.map
To read in a map file and create all VMs specified therein in
parallel:
salt-cloud -m /path/to/cloud.map -P
To delete any VMs specified in the map file:
salt-cloud -m /path/to/cloud.map -d
To delete any VMs NOT specified in the map file:
salt-cloud -m /path/to/cloud.map -H
To display the status of all VMs specified in the map file:
salt-cloud -m /path/to/cloud.map -Q
Thomas S. Hatch <thatch45@gmail.com> and many others, please
see the Authors file