features.rst 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. .. _salt-cloud-feature-matrix:
  2. ==============
  3. Feature Matrix
  4. ==============
  5. A number of features are available in most cloud hosts, but not all are
  6. available everywhere. This may be because the feature isn't supported by the
  7. cloud host itself, or it may only be that the feature has not yet been
  8. added to Salt Cloud. In a handful of cases, it is because the feature does not
  9. make sense for a particular cloud provider (Saltify, for instance).
  10. This matrix shows which features are available in which cloud hosts, as far
  11. as Salt Cloud is concerned. This is not a comprehensive list of all features
  12. available in all cloud hosts, and should not be used to make business
  13. decisions concerning choosing a cloud host. In most cases, adding support
  14. for a feature to Salt Cloud requires only a little effort.
  15. Legacy Drivers
  16. ==============
  17. Both AWS and Rackspace are listed as "Legacy". This is because those drivers
  18. have been replaced by other drivers, which are generally the preferred method
  19. for working with those hosts.
  20. The EC2 driver should be used instead of the AWS driver, when possible. The
  21. OpenStack driver should be used instead of the Rackspace driver, unless the user
  22. is dealing with instances in "the old cloud" in Rackspace.
  23. Note for Developers
  24. ===================
  25. When adding new features to a particular cloud host, please make sure to
  26. add the feature to this table. Additionally, if you notice a feature that is not
  27. properly listed here, pull requests to fix them is appreciated.
  28. Standard Features
  29. =================
  30. These are features that are available for almost every cloud host.
  31. .. container:: scrollable
  32. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+-------+-------+---------+---------+------+
  33. | |AWS |CloudStack|Digital|EC2|GoGrid|JoyEnt|Linode|OpenStack|Parallels|Rackspace|Saltify|Vagrant|Softlayer|Softlayer|Aliyun|
  34. | |(Legacy)| |Ocean | | | | | | |(Legacy) | | | |Hardware | |
  35. +=======================+========+==========+=======+===+======+======+======+=========+=========+=========+=======+=======+=========+=========+======+
  36. |Query |Yes |Yes |Yes |Yes|Yes |Yes |Yes |Yes |Yes |Yes |[1] |[1] |Yes |Yes |Yes |
  37. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+-------+-------+---------+---------+------+
  38. |Full Query |Yes |Yes |Yes |Yes|Yes |Yes |Yes |Yes |Yes |Yes |[1] |[1] |Yes |Yes |Yes |
  39. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+-------+-------+---------+---------+------+
  40. |Selective Query |Yes |Yes |Yes |Yes|Yes |Yes |Yes |Yes |Yes |Yes |[1] |[1] |Yes |Yes |Yes |
  41. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+-------+-------+---------+---------+------+
  42. |List Sizes |Yes |Yes |Yes |Yes|Yes |Yes |Yes |Yes |Yes |Yes |[2] |[2] |Yes |Yes |Yes |
  43. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+-------+-------+---------+---------+------+
  44. |List Images |Yes |Yes |Yes |Yes|Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |
  45. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+-------+-------+---------+---------+------+
  46. |List Locations |Yes |Yes |Yes |Yes|Yes |Yes |Yes |Yes |Yes |Yes |[2] |[2] |Yes |Yes |Yes |
  47. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+-------+-------+---------+---------+------+
  48. |create |Yes |Yes |Yes |Yes|Yes |Yes |Yes |Yes |Yes |Yes |Yes |[1] |Yes |Yes |Yes |
  49. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+-------+-------+---------+---------+------+
  50. |destroy |Yes |Yes |Yes |Yes|Yes |Yes |Yes |Yes |Yes |Yes |[1] |[1] |Yes |Yes |Yes |
  51. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+-------+-------+---------+---------+------+
  52. [1] Yes, if salt-api is enabled.
  53. [2] Always returns `{}`.
  54. Actions
  55. =======
  56. These are features that are performed on a specific instance, and require an
  57. instance name to be passed in. For example:
  58. .. code-block:: bash
  59. # salt-cloud -a attach_volume ami.example.com
  60. .. container:: scrollable
  61. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  62. |Actions |AWS |CloudStack|Digital|EC2|GoGrid|JoyEnt|Linode|OpenStack|Parallels|Rackspace|Saltify&|Softlayer|Softlayer|Aliyun|
  63. | |(Legacy)| |Ocean | | | | | | |(Legacy) | Vagrant| |Hardware | |
  64. +=======================+========+==========+=======+===+======+======+======+=========+=========+=========+========+=========+=========+======+
  65. |attach_volume | | | |Yes| | | | | | | | | | |
  66. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  67. |create_attach_volumes |Yes | | |Yes| | | | | | | | | | |
  68. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  69. |del_tags |Yes | | |Yes| | | | | | | | | | |
  70. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  71. |delvol_on_destroy | | | |Yes| | | | | | | | | | |
  72. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  73. |detach_volume | | | |Yes| | | | | | | | | | |
  74. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  75. |disable_term_protect |Yes | | |Yes| | | | | | | | | | |
  76. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  77. |enable_term_protect |Yes | | |Yes| | | | | | | | | | |
  78. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  79. |get_tags |Yes | | |Yes| | | | | | | | | | |
  80. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  81. |keepvol_on_destroy | | | |Yes| | | | | | | | | | |
  82. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  83. |list_keypairs | | |Yes | | | | | | | | | | | |
  84. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  85. |rename |Yes | | |Yes| | | | | | | | | | |
  86. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  87. |set_tags |Yes | | |Yes| | | | | | | | | | |
  88. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  89. |show_delvol_on_destroy | | | |Yes| | | | | | | | | | |
  90. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  91. |show_instance | | |Yes |Yes| | |Yes | |Yes | | |Yes |Yes |Yes |
  92. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  93. |show_term_protect | | | |Yes| | | | | | | | | | |
  94. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  95. |start |Yes | | |Yes| |Yes |Yes | |Yes | | | | |Yes |
  96. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  97. |stop |Yes | | |Yes| |Yes |Yes | |Yes | | | | |Yes |
  98. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  99. |take_action | | | | | |Yes | | | | | | | | |
  100. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  101. Functions
  102. =========
  103. These are features that are performed against a specific cloud provider, and
  104. require the name of the provider to be passed in. For example:
  105. .. code-block:: bash
  106. # salt-cloud -f list_images my_digitalocean
  107. .. container:: scrollable
  108. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  109. |Functions |AWS |CloudStack|Digital|EC2|GoGrid|JoyEnt|Linode|OpenStack|Parallels|Rackspace|Saltify&|Softlayer|Softlayer|Aliyun|
  110. | |(Legacy)| |Ocean | | | | | | |(Legacy) | Vagrant| |Hardware | |
  111. +=======================+========+==========+=======+===+======+======+======+=========+=========+=========+========+=========+=========+======+
  112. |block_device_mappings |Yes | | | | | | | | | | | | | |
  113. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  114. |create_keypair | | | |Yes| | | | | | | | | | |
  115. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  116. |create_volume | | | |Yes| | | | | | | | | | |
  117. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  118. |delete_key | | | | | |Yes | | | | | | | | |
  119. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  120. |delete_keypair | | | |Yes| | | | | | | | | | |
  121. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  122. |delete_volume | | | |Yes| | | | | | | | | | |
  123. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  124. |get_image | | |Yes | | |Yes | | |Yes | | | | |Yes |
  125. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  126. |get_ip | |Yes | | | | | | | | | | | | |
  127. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  128. |get_key | |Yes | | | | | | | | | | | | |
  129. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  130. |get_keyid | | |Yes | | | | | | | | | | | |
  131. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  132. |get_keypair | |Yes | | | | | | | | | | | | |
  133. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  134. |get_networkid | |Yes | | | | | | | | | | | | |
  135. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  136. |get_node | | | | | |Yes | | | | | | | | |
  137. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  138. |get_password | |Yes | | | | | | | | | | | | |
  139. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  140. |get_size | | |Yes | | |Yes | | | | | | | |Yes |
  141. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  142. |get_spot_config | | | |Yes| | | | | | | | | | |
  143. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  144. |get_subnetid | | | |Yes| | | | | | | | | | |
  145. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  146. |iam_profile |Yes | | |Yes| | | | | | | | | |Yes |
  147. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  148. |import_key | | | | | |Yes | | | | | | | | |
  149. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  150. |key_list | | | | | |Yes | | | | | | | | |
  151. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  152. |keyname |Yes | | |Yes| | | | | | | | | | |
  153. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  154. |list_availability_zones| | | |Yes| | | | | | | | | |Yes |
  155. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  156. |list_custom_images | | | | | | | | | | | |Yes | | |
  157. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  158. |list_keys | | | | | |Yes | | | | | | | | |
  159. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  160. |list_nodes |Yes |Yes |Yes |Yes|Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |
  161. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  162. |list_nodes_full |Yes |Yes |Yes |Yes|Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |
  163. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  164. |list_nodes_select |Yes |Yes |Yes |Yes|Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |
  165. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  166. |list_vlans | | | | | | | | | | | |Yes |Yes | |
  167. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  168. |rackconnect | | | | | | | |Yes | | | | | | |
  169. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  170. |reboot | | | |Yes| |Yes | | | | |[1] | | |Yes |
  171. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  172. |reformat_node | | | | | |Yes | | | | | | | | |
  173. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  174. |securitygroup |Yes | | |Yes| | | | | | | | | | |
  175. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  176. |securitygroupid | | | |Yes| | | | | | | | | |Yes |
  177. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  178. |show_image | | | |Yes| | | | |Yes | | | | |Yes |
  179. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  180. |show_key | | | | | |Yes | | | | | | | | |
  181. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  182. |show_keypair | | |Yes |Yes| | | | | | | | | | |
  183. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  184. |show_volume | | | |Yes| | | | | | | | | |Yes |
  185. +-----------------------+--------+----------+-------+---+------+------+------+---------+---------+---------+--------+---------+---------+------+
  186. [1] Yes, if salt-api is enabled.