Feature Matrix

A number of features are available in most cloud hosts, but not all are available everywhere. This may be because the feature isn't supported by the cloud host itself, or it may only be that the feature has not yet been added to Salt Cloud. In a handful of cases, it is because the feature does not make sense for a particular cloud provider (Saltify, for instance).

This matrix shows which features are available in which cloud hosts, as far as Salt Cloud is concerned. This is not a comprehensive list of all features available in all cloud hosts, and should not be used to make business decisions concerning choosing a cloud host. In most cases, adding support for a feature to Salt Cloud requires only a little effort.

Legacy Drivers

Both AWS and Rackspace are listed as "Legacy". This is because those drivers have been replaced by other drivers, which are generally the preferred method for working with those hosts.

The EC2 driver should be used instead of the AWS driver, when possible. The OpenStack driver should be used instead of the Rackspace driver, unless the user is dealing with instances in "the old cloud" in Rackspace.

Note for Developers

When adding new features to a particular cloud host, please make sure to add the feature to this table. Additionally, if you notice a feature that is not properly listed here, pull requests to fix them is appreciated.

Standard Features

These are features that are available for almost every cloud host.

  AWS (Legacy) CloudStack Digital Ocean EC2 GoGrid JoyEnt Linode OpenStack Parallels Rackspace (Legacy) Saltify Vagrant Softlayer Softlayer Hardware Aliyun Tencent Cloud
Query Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes [1] [1] Yes Yes Yes Yes
Full Query Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes [1] [1] Yes Yes Yes Yes
Selective Query Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes [1] [1] Yes Yes Yes Yes
List Sizes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes [2] [2] Yes Yes Yes Yes
List Images Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
List Locations Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes [2] [2] Yes Yes Yes Yes
create Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes [1] Yes Yes Yes Yes
destroy Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes [1] [1] Yes Yes Yes Yes

[1] Yes, if salt-api is enabled.

[2] Always returns {}.

Actions

These are features that are performed on a specific instance, and require an instance name to be passed in. For example:

# salt-cloud -a attach_volume ami.example.com
Actions AWS (Legacy) CloudStack Digital Ocean EC2 GoGrid JoyEnt Linode OpenStack Parallels Rackspace (Legacy)
Saltify&
Vagrant
Softlayer Softlayer Hardware Aliyun Tencent Cloud
attach_volume       Yes                      
create_attach_volumes Yes     Yes                      
del_tags Yes     Yes                      
delvol_on_destroy       Yes                      
detach_volume       Yes                      
disable_term_protect Yes     Yes                      
enable_term_protect Yes     Yes                      
get_tags Yes     Yes                      
keepvol_on_destroy       Yes                      
list_keypairs     Yes                        
rename Yes     Yes                      
set_tags Yes     Yes                      
show_delvol_on_destroy       Yes                      
show_instance     Yes Yes     Yes   Yes     Yes Yes Yes Yes
show_term_protect       Yes                      
start Yes     Yes   Yes Yes   Yes         Yes Yes
stop Yes     Yes   Yes Yes   Yes         Yes Yes
take_action           Yes                  

Functions

These are features that are performed against a specific cloud provider, and require the name of the provider to be passed in. For example:

# salt-cloud -f list_images my_digitalocean
Functions AWS (Legacy) CloudStack Digital Ocean EC2 GoGrid JoyEnt Linode OpenStack Parallels Rackspace (Legacy)
Saltify&
Vagrant
Softlayer Softlayer Hardware Aliyun Tencent Cloud
block_device_mappings Yes                            
create_keypair       Yes                      
create_volume       Yes                      
delete_key           Yes                  
delete_keypair       Yes                      
delete_volume       Yes                      
get_image     Yes     Yes     Yes         Yes  
get_ip   Yes                          
get_key   Yes                          
get_keyid     Yes                        
get_keypair   Yes                          
get_networkid   Yes                          
get_node           Yes                  
get_password   Yes                          
get_size     Yes     Yes               Yes  
get_spot_config       Yes                      
get_subnetid       Yes                      
iam_profile Yes     Yes                   Yes  
import_key           Yes                  
key_list           Yes                  
keyname Yes     Yes                      
list_availability_zones       Yes                   Yes Yes
list_custom_images                       Yes     Yes
list_keys           Yes                  
list_nodes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
list_nodes_full Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
list_nodes_select Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
list_vlans                       Yes Yes    
rackconnect               Yes              
reboot       Yes   Yes         [1]     Yes Yes
reformat_node           Yes                  
securitygroup Yes     Yes                      
securitygroupid       Yes                   Yes  
show_image       Yes         Yes         Yes Yes
show_key           Yes                  
show_keypair     Yes Yes                      
show_volume       Yes                      

[1] Yes, if salt-api is enabled.