Feature Matrix

A number of features are available in most cloud providers, but not all are available everywhere. This may be because the feature isn’t supported by the cloud provider 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 providers, as far as Salt Cloud is concerned. This is not a comprehensive list of all features available in all cloud providers, and shoult not be used to make business decisions concerning choosing a cloud provider. 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 prerferred method for working with those providers.

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 provider, 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 provider.

  AWS (Legacy) CloudStack Digital Ocean EC2 GoGrid IBM SCE JoyEnt Linode OpenStack Parallels Rackspace (Legacy) Saltify Softlayer Softlayer Hardware
Query Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes   Yes Yes
Full Query Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes   Yes Yes
Selective Query Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes   Yes Yes
List Sizes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes   Yes Yes
List Images 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 Yes   Yes Yes
create Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
destroy Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes   Yes Yes

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 IBM SCE JoyEnt Linode OpenStack Parallels Rackspace (Legacy) Saltify Softlayer Softlayer Hardware
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
show_term_protect       Yes                    
start Yes     Yes     Yes     Yes        
stop 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 IBM SCE JoyEnt Linode OpenStack Parallels Rackspace (Legacy) Saltify Softlayer Softlayer Hardware
block_device_mappings Yes                          
create_keypair       Yes                    
create_volume       Yes                    
delete_key             Yes              
delete_keypair       Yes                    
delete_volume       Yes                    
get_image     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              
get_spot_config       Yes                    
get_subnetid       Yes                    
iam_profile Yes     Yes                    
import_key             Yes              
key_list             Yes              
keyname Yes     Yes                    
list_availability_zones       Yes                    
list_custom_images                         Yes  
list_keys             Yes              
list_vlans                         Yes Yes
rackconnect                 Yes          
reboot       Yes     Yes              
reformat_node             Yes              
securitygroup Yes     Yes                    
securitygroupid       Yes                    
show_image       Yes           Yes        
show_key             Yes              
show_keypair     Yes Yes                    
show_volume       Yes