fog 0.9.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (428) hide show
  1. data/Rakefile +7 -4
  2. data/bin/fog +4 -1
  3. data/changelog.txt +464 -0
  4. data/docs/index.markdown +2 -2
  5. data/fog.gemspec +11 -11
  6. data/lib/fog.rb +1 -1
  7. data/lib/fog/aws/auto_scaling.rb +221 -0
  8. data/lib/fog/aws/cloud_formation.rb +1 -1
  9. data/lib/fog/aws/cloud_watch.rb +110 -0
  10. data/lib/fog/aws/elb.rb +58 -26
  11. data/lib/fog/aws/iam.rb +65 -13
  12. data/lib/fog/aws/models/auto_scaling/activities.rb +30 -0
  13. data/lib/fog/aws/models/auto_scaling/activity.rb +29 -0
  14. data/lib/fog/aws/models/auto_scaling/configuration.rb +63 -0
  15. data/lib/fog/aws/models/auto_scaling/configurations.rb +35 -0
  16. data/lib/fog/aws/models/auto_scaling/group.rb +140 -0
  17. data/lib/fog/aws/models/auto_scaling/groups.rb +35 -0
  18. data/lib/fog/aws/models/auto_scaling/instance.rb +60 -0
  19. data/lib/fog/aws/models/auto_scaling/instances.rb +30 -0
  20. data/lib/fog/aws/models/cloud_watch/metric.rb +14 -0
  21. data/lib/fog/aws/models/cloud_watch/metric_statistic.rb +46 -0
  22. data/lib/fog/aws/models/cloud_watch/metric_statistics.rb +23 -0
  23. data/lib/fog/aws/models/cloud_watch/metrics.rb +32 -0
  24. data/lib/fog/aws/models/elb/listener.rb +6 -0
  25. data/lib/fog/aws/models/elb/listeners.rb +2 -2
  26. data/lib/fog/aws/models/elb/load_balancer.rb +8 -5
  27. data/lib/fog/aws/models/rds/server.rb +3 -1
  28. data/lib/fog/aws/parsers/auto_scaling/basic.rb +28 -0
  29. data/lib/fog/aws/parsers/auto_scaling/describe_adjustment_types.rb +39 -0
  30. data/lib/fog/aws/parsers/auto_scaling/describe_auto_scaling_groups.rb +126 -0
  31. data/lib/fog/aws/parsers/auto_scaling/describe_auto_scaling_instances.rb +43 -0
  32. data/lib/fog/aws/parsers/auto_scaling/describe_launch_configurations.rb +94 -0
  33. data/lib/fog/aws/parsers/auto_scaling/describe_metric_collection_types.rb +66 -0
  34. data/lib/fog/aws/parsers/auto_scaling/describe_policies.rb +66 -0
  35. data/lib/fog/aws/parsers/auto_scaling/describe_scaling_activities.rb +47 -0
  36. data/lib/fog/aws/parsers/auto_scaling/describe_scaling_process_types.rb +39 -0
  37. data/lib/fog/aws/parsers/auto_scaling/describe_scheduled_actions.rb +46 -0
  38. data/lib/fog/aws/parsers/auto_scaling/put_scaling_policy.rb +30 -0
  39. data/lib/fog/aws/parsers/auto_scaling/terminate_instance_in_auto_scaling_group.rb +35 -0
  40. data/lib/fog/aws/parsers/cloud_watch/get_metric_statistics.rb +42 -0
  41. data/lib/fog/aws/parsers/cloud_watch/list_metrics.rb +58 -0
  42. data/lib/fog/aws/parsers/cloud_watch/put_metric_data.rb +26 -0
  43. data/lib/fog/aws/parsers/elb/describe_load_balancers.rb +1 -1
  44. data/lib/fog/aws/parsers/iam/get_group_policy.rb +27 -0
  45. data/lib/fog/aws/parsers/iam/list_account_aliases.rb +28 -0
  46. data/lib/fog/aws/parsers/rds/db_engine_version_parser.rb +35 -0
  47. data/lib/fog/aws/parsers/rds/db_parser.rb +1 -1
  48. data/lib/fog/aws/parsers/rds/describe_db_engine_versions.rb +39 -0
  49. data/lib/fog/aws/parsers/rds/describe_db_reserved_instances.rb +43 -0
  50. data/lib/fog/aws/parsers/sns/add_permission.rb +24 -0
  51. data/lib/fog/aws/parsers/sns/confirm_subscription.rb +24 -0
  52. data/lib/fog/aws/parsers/sns/create_topic.rb +24 -0
  53. data/lib/fog/aws/parsers/sns/delete_topic.rb +24 -0
  54. data/lib/fog/aws/parsers/sns/get_topic_attributes.rb +32 -0
  55. data/lib/fog/aws/parsers/sns/list_subscriptions.rb +29 -0
  56. data/lib/fog/aws/parsers/sns/list_topics.rb +26 -0
  57. data/lib/fog/aws/parsers/sns/publish.rb +24 -0
  58. data/lib/fog/aws/parsers/sns/remove_permission.rb +24 -0
  59. data/lib/fog/aws/parsers/sns/set_topic_attributes.rb +24 -0
  60. data/lib/fog/aws/parsers/sns/subscribe.rb +24 -0
  61. data/lib/fog/aws/parsers/sns/unsubscribe.rb +24 -0
  62. data/lib/fog/aws/parsers/sqs/basic.rb +23 -0
  63. data/lib/fog/aws/parsers/sqs/create_queue.rb +26 -0
  64. data/lib/fog/aws/parsers/sqs/get_queue_attributes.rb +35 -0
  65. data/lib/fog/aws/parsers/sqs/list_queues.rb +25 -0
  66. data/lib/fog/aws/parsers/sqs/receive_message.rb +41 -0
  67. data/lib/fog/aws/parsers/sqs/send_message.rb +28 -0
  68. data/lib/fog/aws/rds.rb +3 -1
  69. data/lib/fog/aws/requests/auto_scaling/create_auto_scaling_group.rb +108 -0
  70. data/lib/fog/aws/requests/auto_scaling/create_launch_configuration.rb +105 -0
  71. data/lib/fog/aws/requests/auto_scaling/delete_auto_scaling_group.rb +45 -0
  72. data/lib/fog/aws/requests/auto_scaling/delete_launch_configuration.rb +48 -0
  73. data/lib/fog/aws/requests/auto_scaling/delete_policy.rb +47 -0
  74. data/lib/fog/aws/requests/auto_scaling/delete_scheduled_action.rb +48 -0
  75. data/lib/fog/aws/requests/auto_scaling/describe_adjustment_types.rb +52 -0
  76. data/lib/fog/aws/requests/auto_scaling/describe_auto_scaling_groups.rb +128 -0
  77. data/lib/fog/aws/requests/auto_scaling/describe_auto_scaling_instances.rb +96 -0
  78. data/lib/fog/aws/requests/auto_scaling/describe_launch_configurations.rb +108 -0
  79. data/lib/fog/aws/requests/auto_scaling/describe_metric_collection_types.rb +60 -0
  80. data/lib/fog/aws/requests/auto_scaling/describe_policies.rb +85 -0
  81. data/lib/fog/aws/requests/auto_scaling/describe_scaling_activities.rb +88 -0
  82. data/lib/fog/aws/requests/auto_scaling/describe_scaling_process_types.rb +54 -0
  83. data/lib/fog/aws/requests/auto_scaling/describe_scheduled_actions.rb +83 -0
  84. data/lib/fog/aws/requests/auto_scaling/disable_metrics_collection.rb +56 -0
  85. data/lib/fog/aws/requests/auto_scaling/enable_metrics_collection.rb +66 -0
  86. data/lib/fog/aws/requests/auto_scaling/execute_policy.rb +50 -0
  87. data/lib/fog/aws/requests/auto_scaling/put_scaling_policy.rb +66 -0
  88. data/lib/fog/aws/requests/auto_scaling/put_scheduled_update_group_action.rb +57 -0
  89. data/lib/fog/aws/requests/auto_scaling/resume_processes.rb +50 -0
  90. data/lib/fog/aws/requests/auto_scaling/set_desired_capacity.rb +87 -0
  91. data/lib/fog/aws/requests/auto_scaling/set_instance_health.rb +55 -0
  92. data/lib/fog/aws/requests/auto_scaling/suspend_processes.rb +57 -0
  93. data/lib/fog/aws/requests/auto_scaling/terminate_instance_in_auto_scaling_group.rb +65 -0
  94. data/lib/fog/aws/requests/auto_scaling/update_auto_scaling_group.rb +79 -0
  95. data/lib/fog/aws/requests/cloud_watch/get_metric_statistics.rb +48 -0
  96. data/lib/fog/aws/requests/cloud_watch/list_metrics.rb +38 -0
  97. data/lib/fog/aws/requests/cloud_watch/put_metric_data.rb +73 -0
  98. data/lib/fog/aws/requests/elb/configure_health_check.rb +24 -0
  99. data/lib/fog/aws/requests/elb/create_app_cookie_stickiness_policy.rb +21 -0
  100. data/lib/fog/aws/requests/elb/create_lb_cookie_stickiness_policy.rb +21 -0
  101. data/lib/fog/aws/requests/elb/create_load_balancer.rb +55 -0
  102. data/lib/fog/aws/requests/elb/create_load_balancer_listeners.rb +28 -0
  103. data/lib/fog/aws/requests/elb/delete_load_balancer.rb +18 -0
  104. data/lib/fog/aws/requests/elb/delete_load_balancer_listeners.rb +20 -1
  105. data/lib/fog/aws/requests/elb/delete_load_balancer_policy.rb +23 -0
  106. data/lib/fog/aws/requests/elb/deregister_instances_from_load_balancer.rb +21 -5
  107. data/lib/fog/aws/requests/elb/describe_instance_health.rb +35 -0
  108. data/lib/fog/aws/requests/elb/describe_load_balancers.rb +29 -0
  109. data/lib/fog/aws/requests/elb/disable_availability_zones_for_load_balancer.rb +18 -5
  110. data/lib/fog/aws/requests/elb/enable_availability_zones_for_load_balancer.rb +18 -3
  111. data/lib/fog/aws/requests/elb/register_instances_with_load_balancer.rb +22 -5
  112. data/lib/fog/aws/requests/elb/set_load_balancer_listener_ssl_certificate.rb +40 -0
  113. data/lib/fog/aws/requests/elb/set_load_balancer_policies_of_listener.rb +37 -0
  114. data/lib/fog/aws/requests/iam/create_account_alias.rb +19 -0
  115. data/lib/fog/aws/requests/iam/delete_account_alias.rb +19 -0
  116. data/lib/fog/aws/requests/iam/delete_server_certificate.rb +14 -0
  117. data/lib/fog/aws/requests/iam/get_group_policy.rb +36 -0
  118. data/lib/fog/aws/requests/iam/get_server_certificate.rb +50 -0
  119. data/lib/fog/aws/requests/iam/list_account_aliases.rb +18 -0
  120. data/lib/fog/aws/requests/iam/list_server_certificates.rb +12 -0
  121. data/lib/fog/aws/requests/iam/put_group_policy.rb +1 -1
  122. data/lib/fog/aws/requests/iam/put_user_policy.rb +1 -1
  123. data/lib/fog/aws/requests/iam/upload_server_certificate.rb +53 -5
  124. data/lib/fog/aws/requests/rds/describe_db_engine_versions.rb +34 -0
  125. data/lib/fog/aws/requests/rds/describe_db_reserved_instances.rb +42 -0
  126. data/lib/fog/aws/requests/simpledb/get_attributes.rb +29 -17
  127. data/lib/fog/aws/requests/simpledb/select.rb +11 -3
  128. data/lib/fog/aws/requests/sns/add_permission.rb +26 -0
  129. data/lib/fog/aws/requests/sns/confirm_subscription.rb +33 -0
  130. data/lib/fog/aws/requests/sns/create_topic.rb +29 -0
  131. data/lib/fog/aws/requests/sns/delete_topic.rb +29 -0
  132. data/lib/fog/aws/requests/sns/get_topic_attributes.rb +29 -0
  133. data/lib/fog/aws/requests/sns/list_subscriptions.rb +29 -0
  134. data/lib/fog/aws/requests/sns/list_subscriptions_by_topic.rb +31 -0
  135. data/lib/fog/aws/requests/sns/list_topics.rb +29 -0
  136. data/lib/fog/aws/requests/sns/publish.rb +34 -0
  137. data/lib/fog/aws/requests/sns/remove_permission.rb +26 -0
  138. data/lib/fog/aws/requests/sns/set_topic_attributes.rb +33 -0
  139. data/lib/fog/aws/requests/sns/subscribe.rb +33 -0
  140. data/lib/fog/aws/requests/sns/unsubscribe.rb +29 -0
  141. data/lib/fog/aws/requests/sqs/change_message_visibility.rb +33 -0
  142. data/lib/fog/aws/requests/sqs/create_queue.rb +31 -0
  143. data/lib/fog/aws/requests/sqs/delete_message.rb +31 -0
  144. data/lib/fog/aws/requests/sqs/delete_queue.rb +29 -0
  145. data/lib/fog/aws/requests/sqs/get_queue_attributes.rb +31 -0
  146. data/lib/fog/aws/requests/sqs/list_queues.rb +28 -0
  147. data/lib/fog/aws/requests/sqs/receive_message.rb +34 -0
  148. data/lib/fog/aws/requests/sqs/send_message.rb +31 -0
  149. data/lib/fog/aws/requests/sqs/set_queue_attributes.rb +33 -0
  150. data/lib/fog/aws/sns.rb +112 -0
  151. data/lib/fog/aws/sqs.rb +115 -0
  152. data/lib/fog/bin.rb +1 -0
  153. data/lib/fog/bin/aws.rb +16 -0
  154. data/lib/fog/bin/brightbox.rb +1 -1
  155. data/lib/fog/bin/ninefold.rb +5 -0
  156. data/lib/fog/bin/vcloud.rb +30 -0
  157. data/lib/fog/bin/virtual_box.rb +5 -1
  158. data/lib/fog/cdn/rackspace.rb +16 -8
  159. data/lib/fog/compute.rb +4 -1
  160. data/lib/fog/compute/aws.rb +16 -4
  161. data/lib/fog/compute/bluebox.rb +2 -2
  162. data/lib/fog/compute/brightbox.rb +4 -4
  163. data/lib/fog/compute/go_grid.rb +2 -2
  164. data/lib/fog/compute/linode.rb +2 -2
  165. data/lib/fog/compute/models/aws/server.rb +17 -3
  166. data/lib/fog/compute/models/aws/spot_request.rb +93 -0
  167. data/lib/fog/compute/models/aws/spot_requests.rb +48 -0
  168. data/lib/fog/compute/models/aws/volume.rb +13 -13
  169. data/lib/fog/compute/models/bluebox/server.rb +4 -4
  170. data/lib/fog/compute/models/go_grid/server.rb +2 -2
  171. data/lib/fog/compute/models/ninefold/server.rb +18 -14
  172. data/lib/fog/compute/models/rackspace/flavor.rb +3 -2
  173. data/lib/fog/compute/models/rackspace/server.rb +2 -2
  174. data/lib/fog/compute/models/slicehost/server.rb +1 -1
  175. data/lib/fog/compute/models/vcloud/catalog.rb +22 -0
  176. data/lib/fog/compute/models/vcloud/catalog_item.rb +29 -0
  177. data/lib/fog/compute/models/vcloud/catalog_items.rb +32 -0
  178. data/lib/fog/compute/models/vcloud/catalogs.rb +39 -0
  179. data/lib/fog/compute/models/vcloud/ip.rb +42 -0
  180. data/lib/fog/compute/models/vcloud/ips.rb +33 -0
  181. data/lib/fog/compute/models/vcloud/network.rb +65 -0
  182. data/lib/fog/compute/models/vcloud/networks.rb +34 -0
  183. data/lib/fog/compute/models/vcloud/server.rb +291 -0
  184. data/lib/fog/compute/models/vcloud/servers.rb +58 -0
  185. data/lib/fog/compute/models/vcloud/task.rb +21 -0
  186. data/lib/fog/compute/models/vcloud/tasks.rb +32 -0
  187. data/lib/fog/compute/models/vcloud/vdc.rb +56 -0
  188. data/lib/fog/compute/models/vcloud/vdcs.rb +40 -0
  189. data/lib/fog/compute/models/virtual_box/server.rb +2 -2
  190. data/lib/fog/compute/ninefold.rb +3 -3
  191. data/lib/fog/compute/parsers/aws/cancel_spot_instance_requests.rb +30 -0
  192. data/lib/fog/compute/parsers/aws/describe_instances.rb +9 -4
  193. data/lib/fog/compute/parsers/aws/describe_placement_groups.rb +30 -0
  194. data/lib/fog/compute/parsers/aws/describe_reserved_instances.rb +1 -1
  195. data/lib/fog/compute/parsers/aws/describe_reserved_instances_offerings.rb +2 -2
  196. data/lib/fog/compute/parsers/aws/describe_spot_price_history.rb +34 -0
  197. data/lib/fog/compute/parsers/aws/purchase_reserved_instances_offering.rb +24 -0
  198. data/lib/fog/compute/parsers/aws/run_instances.rb +17 -16
  199. data/lib/fog/compute/parsers/aws/spot_datafeed_subscription.rb +29 -0
  200. data/lib/fog/compute/parsers/aws/spot_instance_requests.rb +67 -0
  201. data/lib/fog/compute/rackspace.rb +6 -5
  202. data/lib/fog/compute/requests/aws/cancel_spot_instance_requests.rb +34 -0
  203. data/lib/fog/compute/requests/aws/create_placement_group.rb +34 -0
  204. data/lib/fog/compute/requests/aws/create_spot_datafeed_subscription.rb +41 -0
  205. data/lib/fog/compute/requests/aws/delete_placement_group.rb +32 -0
  206. data/lib/fog/compute/requests/aws/delete_spot_datafeed_subscription.rb +28 -0
  207. data/lib/fog/compute/requests/aws/describe_placement_groups.rb +35 -0
  208. data/lib/fog/compute/requests/aws/describe_reserved_instances.rb +14 -0
  209. data/lib/fog/compute/requests/aws/describe_reserved_instances_offerings.rb +25 -0
  210. data/lib/fog/compute/requests/aws/describe_spot_datafeed_subscription.rb +35 -0
  211. data/lib/fog/compute/requests/aws/describe_spot_instance_requests.rb +47 -0
  212. data/lib/fog/compute/requests/aws/describe_spot_price_history.rb +37 -0
  213. data/lib/fog/compute/requests/aws/describe_volumes.rb +1 -1
  214. data/lib/fog/compute/requests/aws/purchase_reserved_instances_offering.rb +63 -0
  215. data/lib/fog/compute/requests/aws/request_spot_instances.rb +83 -0
  216. data/lib/fog/compute/requests/aws/run_instances.rb +2 -3
  217. data/lib/fog/compute/requests/brightbox/activate_console_server.rb +1 -1
  218. data/lib/fog/compute/requests/brightbox/add_listeners_load_balancer.rb +1 -1
  219. data/lib/fog/compute/requests/brightbox/add_nodes_load_balancer.rb +1 -1
  220. data/lib/fog/compute/requests/brightbox/create_api_client.rb +1 -1
  221. data/lib/fog/compute/requests/brightbox/create_cloud_ip.rb +1 -1
  222. data/lib/fog/compute/requests/brightbox/create_image.rb +1 -1
  223. data/lib/fog/compute/requests/brightbox/create_load_balancer.rb +1 -1
  224. data/lib/fog/compute/requests/brightbox/create_server.rb +1 -1
  225. data/lib/fog/compute/requests/brightbox/destroy_api_client.rb +1 -1
  226. data/lib/fog/compute/requests/brightbox/destroy_cloud_ip.rb +1 -1
  227. data/lib/fog/compute/requests/brightbox/destroy_image.rb +1 -1
  228. data/lib/fog/compute/requests/brightbox/destroy_load_balancer.rb +1 -1
  229. data/lib/fog/compute/requests/brightbox/destroy_server.rb +1 -1
  230. data/lib/fog/compute/requests/brightbox/get_account.rb +1 -1
  231. data/lib/fog/compute/requests/brightbox/get_api_client.rb +1 -1
  232. data/lib/fog/compute/requests/brightbox/get_cloud_ip.rb +1 -1
  233. data/lib/fog/compute/requests/brightbox/get_image.rb +1 -1
  234. data/lib/fog/compute/requests/brightbox/get_interface.rb +1 -1
  235. data/lib/fog/compute/requests/brightbox/get_load_balancer.rb +1 -1
  236. data/lib/fog/compute/requests/brightbox/get_server.rb +1 -1
  237. data/lib/fog/compute/requests/brightbox/get_server_type.rb +1 -1
  238. data/lib/fog/compute/requests/brightbox/get_user.rb +1 -1
  239. data/lib/fog/compute/requests/brightbox/get_zone.rb +1 -1
  240. data/lib/fog/compute/requests/brightbox/list_api_clients.rb +1 -1
  241. data/lib/fog/compute/requests/brightbox/list_cloud_ips.rb +1 -1
  242. data/lib/fog/compute/requests/brightbox/list_images.rb +1 -1
  243. data/lib/fog/compute/requests/brightbox/list_load_balancers.rb +1 -1
  244. data/lib/fog/compute/requests/brightbox/list_server_types.rb +1 -1
  245. data/lib/fog/compute/requests/brightbox/list_servers.rb +1 -1
  246. data/lib/fog/compute/requests/brightbox/list_users.rb +1 -1
  247. data/lib/fog/compute/requests/brightbox/list_zones.rb +1 -1
  248. data/lib/fog/compute/requests/brightbox/map_cloud_ip.rb +1 -1
  249. data/lib/fog/compute/requests/brightbox/remove_listeners_load_balancer.rb +1 -1
  250. data/lib/fog/compute/requests/brightbox/remove_nodes_load_balancer.rb +1 -1
  251. data/lib/fog/compute/requests/brightbox/reset_ftp_password_account.rb +1 -1
  252. data/lib/fog/compute/requests/brightbox/resize_server.rb +1 -1
  253. data/lib/fog/compute/requests/brightbox/shutdown_server.rb +1 -1
  254. data/lib/fog/compute/requests/brightbox/snapshot_server.rb +1 -1
  255. data/lib/fog/compute/requests/brightbox/start_server.rb +1 -1
  256. data/lib/fog/compute/requests/brightbox/stop_server.rb +1 -1
  257. data/lib/fog/compute/requests/brightbox/unmap_cloud_ip.rb +1 -1
  258. data/lib/fog/compute/requests/brightbox/update_account.rb +1 -1
  259. data/lib/fog/compute/requests/brightbox/update_api_client.rb +1 -1
  260. data/lib/fog/compute/requests/brightbox/update_image.rb +1 -1
  261. data/lib/fog/compute/requests/brightbox/update_load_balancer.rb +1 -1
  262. data/lib/fog/compute/requests/brightbox/update_server.rb +1 -1
  263. data/lib/fog/compute/requests/brightbox/update_user.rb +1 -1
  264. data/lib/fog/compute/requests/linode/linode_disk_createfromstackscript.rb +1 -1
  265. data/lib/fog/compute/requests/rackspace/create_image.rb +1 -1
  266. data/lib/fog/compute/requests/rackspace/create_server.rb +1 -1
  267. data/lib/fog/compute/requests/rackspace/server_action.rb +2 -2
  268. data/lib/fog/compute/requests/rackspace/update_server.rb +1 -1
  269. data/lib/fog/compute/requests/storm_on_demand/add_balancer_node.rb +1 -1
  270. data/lib/fog/compute/requests/storm_on_demand/clone_server.rb +1 -1
  271. data/lib/fog/compute/requests/storm_on_demand/create_server.rb +1 -1
  272. data/lib/fog/compute/requests/storm_on_demand/delete_server.rb +1 -1
  273. data/lib/fog/compute/requests/storm_on_demand/get_server.rb +1 -1
  274. data/lib/fog/compute/requests/storm_on_demand/get_stats.rb +1 -1
  275. data/lib/fog/compute/requests/storm_on_demand/list_balancers.rb +1 -1
  276. data/lib/fog/compute/requests/storm_on_demand/list_configs.rb +1 -1
  277. data/lib/fog/compute/requests/storm_on_demand/list_images.rb +1 -1
  278. data/lib/fog/compute/requests/storm_on_demand/list_private_ips.rb +1 -1
  279. data/lib/fog/compute/requests/storm_on_demand/list_servers.rb +1 -1
  280. data/lib/fog/compute/requests/storm_on_demand/list_templates.rb +1 -1
  281. data/lib/fog/compute/requests/storm_on_demand/reboot_server.rb +1 -1
  282. data/lib/fog/compute/requests/storm_on_demand/remove_balancer_node.rb +1 -1
  283. data/lib/fog/compute/requests/storm_on_demand/resize_server.rb +1 -1
  284. data/lib/fog/compute/requests/vcloud/clone_vapp.rb +40 -0
  285. data/lib/fog/compute/requests/vcloud/configure_network.rb +43 -0
  286. data/lib/fog/compute/requests/vcloud/configure_network_ip.rb +46 -0
  287. data/lib/fog/compute/requests/vcloud/configure_node.rb +38 -0
  288. data/lib/fog/compute/requests/vcloud/configure_vapp.rb +112 -0
  289. data/lib/fog/compute/requests/vcloud/configure_vm.rb +247 -0
  290. data/lib/fog/compute/requests/vcloud/configure_vm_disks.rb +100 -0
  291. data/lib/fog/compute/requests/vcloud/configure_vm_memory.rb +40 -0
  292. data/lib/fog/compute/requests/vcloud/configure_vm_name_description.rb +30 -0
  293. data/lib/fog/compute/requests/vcloud/delete_node.rb +10 -0
  294. data/lib/fog/compute/requests/vcloud/delete_vapp.rb +10 -0
  295. data/lib/fog/compute/requests/vcloud/get_catalog.rb +10 -0
  296. data/lib/fog/compute/requests/vcloud/get_catalog_item.rb +10 -0
  297. data/lib/fog/compute/requests/vcloud/get_customization_options.rb +10 -0
  298. data/lib/fog/compute/requests/vcloud/get_network.rb +10 -0
  299. data/lib/fog/compute/requests/vcloud/get_network_extensions.rb +11 -0
  300. data/lib/fog/compute/requests/vcloud/get_network_ip.rb +15 -0
  301. data/lib/fog/compute/requests/vcloud/get_network_ips.rb +15 -0
  302. data/lib/fog/compute/requests/vcloud/get_organization.rb +11 -0
  303. data/lib/fog/compute/requests/vcloud/get_task.rb +11 -0
  304. data/lib/fog/compute/requests/vcloud/get_task_list.rb +11 -0
  305. data/lib/fog/compute/requests/vcloud/get_vapp.rb +10 -0
  306. data/lib/fog/compute/requests/vcloud/get_vapp_template.rb +11 -0
  307. data/lib/fog/compute/requests/vcloud/get_vdc.rb +10 -0
  308. data/lib/fog/compute/requests/vcloud/get_vm_disks.rb +16 -0
  309. data/lib/fog/compute/requests/vcloud/get_vm_memory.rb +16 -0
  310. data/lib/fog/compute/requests/vcloud/instantiate_vapp_template.rb +83 -0
  311. data/lib/fog/compute/requests/vcloud/login.rb +23 -0
  312. data/lib/fog/compute/requests/vcloud/power_off.rb +10 -0
  313. data/lib/fog/compute/requests/vcloud/power_on.rb +11 -0
  314. data/lib/fog/compute/requests/vcloud/power_reset.rb +11 -0
  315. data/lib/fog/compute/requests/vcloud/power_shutdown.rb +11 -0
  316. data/lib/fog/compute/requests/vcloud/undeploy.rb +23 -0
  317. data/lib/fog/compute/storm_on_demand.rb +2 -2
  318. data/lib/fog/compute/vcloud.rb +310 -0
  319. data/lib/fog/core.rb +2 -1
  320. data/lib/fog/core/attributes.rb +23 -11
  321. data/lib/fog/core/collection.rb +7 -7
  322. data/lib/fog/core/credentials.rb +4 -2
  323. data/lib/fog/core/model.rb +4 -4
  324. data/lib/fog/core/time.rb +1 -2
  325. data/lib/fog/core/timeout.rb +11 -0
  326. data/lib/fog/core/wait_for.rb +2 -2
  327. data/lib/fog/dns/dnsimple.rb +2 -2
  328. data/lib/fog/dns/dnsmadeeasy.rb +2 -2
  329. data/lib/fog/dns/linode.rb +2 -2
  330. data/lib/fog/dns/requests/dnsimple/create_domain.rb +1 -1
  331. data/lib/fog/dns/requests/dnsimple/create_record.rb +1 -1
  332. data/lib/fog/dns/requests/dnsimple/update_record.rb +1 -1
  333. data/lib/fog/dns/requests/dnsmadeeasy/create_record.rb +1 -1
  334. data/lib/fog/dns/requests/dnsmadeeasy/create_secondary.rb +1 -1
  335. data/lib/fog/dns/requests/dnsmadeeasy/update_record.rb +1 -1
  336. data/lib/fog/dns/requests/dnsmadeeasy/update_secondary.rb +1 -1
  337. data/lib/fog/providers.rb +1 -0
  338. data/lib/fog/providers/aws.rb +15 -2
  339. data/lib/fog/providers/ninefold.rb +1 -0
  340. data/lib/fog/providers/rackspace.rb +4 -3
  341. data/lib/fog/providers/vcloud.rb +11 -0
  342. data/lib/fog/storage.rb +9 -6
  343. data/lib/fog/storage/aws.rb +18 -1
  344. data/lib/fog/storage/google.rb +19 -1
  345. data/lib/fog/storage/models/aws/file.rb +3 -3
  346. data/lib/fog/storage/models/aws/files.rb +9 -2
  347. data/lib/fog/storage/models/google/files.rb +9 -2
  348. data/lib/fog/storage/models/ninefold/directories.rb +48 -0
  349. data/lib/fog/storage/models/ninefold/directory.rb +53 -0
  350. data/lib/fog/storage/models/ninefold/file.rb +99 -0
  351. data/lib/fog/storage/models/ninefold/files.rb +72 -0
  352. data/lib/fog/storage/models/rackspace/directory.rb +7 -2
  353. data/lib/fog/storage/ninefold.rb +149 -0
  354. data/lib/fog/storage/rackspace.rb +8 -2
  355. data/lib/fog/storage/requests/aws/get_bucket_policy.rb +1 -1
  356. data/lib/fog/storage/requests/aws/get_object.rb +6 -2
  357. data/lib/fog/storage/requests/aws/get_object_http_url.rb +51 -0
  358. data/lib/fog/storage/requests/aws/get_object_https_url.rb +51 -0
  359. data/lib/fog/storage/requests/aws/get_object_url.rb +4 -24
  360. data/lib/fog/storage/requests/aws/post_object_hidden_fields.rb +1 -1
  361. data/lib/fog/storage/requests/aws/put_bucket_policy.rb +1 -1
  362. data/lib/fog/storage/requests/google/get_object_http_url.rb +51 -0
  363. data/lib/fog/storage/requests/google/get_object_https_url.rb +51 -0
  364. data/lib/fog/storage/requests/google/get_object_url.rb +8 -25
  365. data/lib/fog/storage/requests/ninefold/delete_namespace.rb +19 -0
  366. data/lib/fog/storage/requests/ninefold/get_namespace.rb +20 -0
  367. data/lib/fog/storage/requests/ninefold/post_namespace.rb +20 -0
  368. data/lib/fog/storage/requests/ninefold/put_namespace.rb +20 -0
  369. data/lib/fog/storage/requests/rackspace/put_object.rb +3 -0
  370. data/lib/fog/storage/requests/rackspace/put_object_manifest.rb +25 -0
  371. data/tests/aws/models/auto_scaling/activities_tests.rb +6 -0
  372. data/tests/aws/models/auto_scaling/configuration_test.rb +13 -0
  373. data/tests/aws/models/auto_scaling/configurations_tests.rb +11 -0
  374. data/tests/aws/models/auto_scaling/helper.rb +0 -0
  375. data/tests/aws/models/auto_scaling/instances_tests.rb +6 -0
  376. data/tests/aws/models/cloud_watch/metric_statistics_tests.rb +51 -0
  377. data/tests/aws/models/cloud_watch/metrics_tests.rb +17 -0
  378. data/tests/aws/{requests → models}/elb/model_tests.rb +82 -18
  379. data/tests/aws/models/rds/security_group_tests.rb +1 -1
  380. data/tests/aws/requests/auto_scaling/auto_scaling_tests.rb +80 -0
  381. data/tests/aws/requests/auto_scaling/helper.rb +185 -0
  382. data/tests/aws/requests/auto_scaling/model_tests.rb +235 -0
  383. data/tests/aws/requests/cloud_formation/stack_tests.rb +1 -1
  384. data/tests/aws/requests/cloud_watch/get_metric_statistics_tests.rb +28 -0
  385. data/tests/aws/requests/cloud_watch/list_metrics_test.rb +64 -0
  386. data/tests/aws/requests/cloud_watch/put_metric_data_tests.rb +36 -0
  387. data/tests/aws/requests/elb/listener_tests.rb +50 -0
  388. data/tests/aws/requests/elb/load_balancer_tests.rb +23 -44
  389. data/tests/aws/requests/elb/policy_tests.rb +41 -0
  390. data/tests/aws/requests/iam/helper.rb +29 -0
  391. data/tests/aws/requests/iam/login_profile_tests.rb +2 -2
  392. data/tests/aws/requests/iam/server_certificate_tests.rb +39 -6
  393. data/tests/aws/requests/rds/helper.rb +1 -0
  394. data/tests/aws/requests/simpledb/attributes_tests.rb +10 -15
  395. data/tests/aws/requests/sns/helper.rb +9 -0
  396. data/tests/aws/requests/sns/subscription_tests.rb +86 -0
  397. data/tests/aws/requests/sns/topic_tests.rb +50 -0
  398. data/tests/aws/requests/sqs/helper.rb +15 -0
  399. data/tests/aws/requests/sqs/message_tests.rb +57 -0
  400. data/tests/aws/requests/sqs/queue_tests.rb +55 -0
  401. data/tests/aws/signed_params_tests.rb +3 -1
  402. data/tests/compute/models/aws/volume_tests.rb +13 -0
  403. data/tests/compute/models/vcloud/helper.rb +25 -0
  404. data/tests/compute/models/vcloud/servers_tests.rb +95 -0
  405. data/tests/compute/requests/aws/address_tests.rb +1 -1
  406. data/tests/compute/requests/aws/instance_tests.rb +65 -4
  407. data/tests/compute/requests/aws/placement_group_tests.rb +48 -0
  408. data/tests/compute/requests/aws/spot_datafeed_subscription_tests.rb +47 -0
  409. data/tests/compute/requests/aws/spot_instance_tests.rb +53 -0
  410. data/tests/compute/requests/aws/spot_price_history_tests.rb +24 -0
  411. data/tests/compute/requests/aws/volume_tests.rb +4 -0
  412. data/tests/compute/requests/brightbox/helper.rb +2 -1
  413. data/tests/compute/requests/brightbox/interface_tests.rb +4 -4
  414. data/tests/compute/requests/ninefold/helper.rb +1 -1
  415. data/tests/compute/requests/vcloud/disk_configure_tests.rb +114 -0
  416. data/tests/compute/requests/voxel/server_tests.rb +2 -2
  417. data/tests/core/attribute_tests.rb +10 -1
  418. data/tests/core/credential_tests.rb +6 -0
  419. data/tests/core/timeout_tests.rb +10 -0
  420. data/tests/helpers/collection_helper.rb +4 -1
  421. data/tests/helpers/formats_helper.rb +1 -1
  422. data/tests/helpers/mock_helper.rb +5 -0
  423. data/tests/storage/helper.rb +4 -1
  424. data/tests/storage/models/ninefold/file_update_tests.rb +19 -0
  425. data/tests/storage/models/ninefold/nested_directories_tests.rb +23 -0
  426. data/tests/storage/requests/aws/multipart_upload_tests.rb +2 -5
  427. data/tests/storage/requests/rackspace/large_object_tests.rb +47 -0
  428. metadata +366 -105
@@ -0,0 +1,96 @@
1
+ module Fog
2
+ module AWS
3
+ class AutoScaling
4
+
5
+ class Real
6
+
7
+ require 'fog/aws/parsers/auto_scaling/describe_auto_scaling_instances'
8
+
9
+ # Returns a description of each Auto Scaling instance in the
10
+ # instance_ids list. If a list is not provided, the service returns the
11
+ # full details of all instances.
12
+ #
13
+ # This action supports pagination by returning a token if there are
14
+ # more pages to retrieve. To get the next page, call this action again
15
+ # with the returned token as the NextToken parameter.
16
+ #
17
+ # ==== Parameters
18
+ # * options<~Hash>:
19
+ # * 'InstanceIds'<~Array> - The list of Auto Scaling instances to
20
+ # describe. If this list is omitted, all auto scaling instances are
21
+ # described. The list of requested instances cannot contain more
22
+ # than 50 items. If unknown instances are requested, they are
23
+ # ignored with no error.
24
+ # * 'MaxRecords'<~Integer> - The aximum number of Auto Scaling
25
+ # instances to be described with each call.
26
+ # * 'NextToken'<~String> - The token returned by a previous call to
27
+ # indicate that there is more data available.
28
+ #
29
+ # ==== Returns
30
+ # * response<~Excon::Response>:
31
+ # * body<~Hash>:
32
+ # * 'ResponseMetadata'<~Hash>:
33
+ # * 'RequestId'<~String> - Id of request
34
+ # * 'DescribeAutoScalingInstancesResponse'<~Hash>:
35
+ # * 'AutoScalingInstances'<~Array>:
36
+ # * autoscalinginstancedetails<~Hash>:
37
+ # * 'AutoScalingGroupName'<~String> - The name of the Auto
38
+ # Scaling Group associated with this instance.
39
+ # * 'AvailabilityZone'<~String> - The availability zone in
40
+ # which this instance resides.
41
+ # * 'HealthStatus'<~String> - The health status of this
42
+ # instance. "Healthy" means that the instance is healthy
43
+ # and should remain in service. "Unhealthy" means that the
44
+ # instance is unhealthy. Auto Scaling should terminate and
45
+ # replace it.
46
+ # * 'InstanceId'<~String> - The instance's EC2 instance ID.
47
+ # * 'LaunchConfigurationName'<~String> - The launch
48
+ # configuration associated with this instance.
49
+ # * 'LifecycleState'<~String> - The life cycle state of this
50
+ # instance.
51
+ # * 'NextToken'<~String> - Acts as a paging mechanism for large
52
+ # result sets. Set to a non-empty string if there are
53
+ # additional results waiting to be returned. Pass this in to
54
+ # subsequent calls to return additional results.
55
+ #
56
+ # ==== See Also
57
+ # http://docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_DescribeAutoScalingInstances.html
58
+ #
59
+ def describe_auto_scaling_instances(options = {})
60
+ if instance_ids = options.delete('InstanceIds')
61
+ options.merge!(AWS.indexed_param('InstanceIds.member.%d', [*instance_ids]))
62
+ end
63
+ request({
64
+ 'Action' => 'DescribeAutoScalingInstances',
65
+ :parser => Fog::Parsers::AWS::AutoScaling::DescribeAutoScalingInstances.new
66
+ }.merge!(options))
67
+ end
68
+
69
+ end
70
+
71
+ class Mock
72
+
73
+ def describe_auto_scaling_instances(options = {})
74
+ results = { 'AutoScalingInstances' => [] }
75
+ data[:auto_scaling_groups].each do |asg_name, asg_data|
76
+ lc_name = data[asg_data][lc_name]
77
+ asg_data['Instances'].each do |instance|
78
+ results['AutoScalingInstances'] << {
79
+ 'AutoScalingGroupName' => asg_name
80
+ }.merge!(instance)
81
+ end
82
+ end
83
+ response = Excon::Response.new
84
+ response.status = 200
85
+ response.body = {
86
+ 'DescribeAutoScalingInstancesResult' => results,
87
+ 'ResponseMetadata' => { 'RequestId' => Fog::AWS::Mock.request_id }
88
+ }
89
+ response
90
+ end
91
+
92
+ end
93
+
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,108 @@
1
+ module Fog
2
+ module AWS
3
+ class AutoScaling
4
+
5
+ class Real
6
+
7
+ require 'fog/aws/parsers/auto_scaling/describe_launch_configurations'
8
+
9
+ # Returns a full description of the launch configurations given the
10
+ # specified names.
11
+ #
12
+ # If no names are specified, then the full details of all launch
13
+ # configurations are returned.
14
+ #
15
+ # ==== Parameters
16
+ # * options<~Hash>:
17
+ # * 'LaunchConfigurationNames'<~Array> - A list of launch
18
+ # configuration names.
19
+ # * 'MaxRecords'<~Integer> - The maximum number of launch
20
+ # configurations.
21
+ # * 'NextToken'<~String> - The token returned by a previous call to
22
+ # indicate that there is more data available.
23
+ #
24
+ # ==== Returns
25
+ # * response<~Excon::Response>:
26
+ # * body<~Hash>:
27
+ # * 'ResponseMetadata'<~Hash>:
28
+ # * 'RequestId'<~String> - Id of request
29
+ # * 'DescribeLaunchConfigurationsResponse'<~Hash>:
30
+ # * 'LaunchConfigurations'<~Array>:
31
+ # * launchconfiguration'<~Hash>:
32
+ # * 'BlockDeviceMappings'<~Array>:
33
+ # * blockdevicemapping<~Hash>:
34
+ # * 'DeviceName'<~String> - The name of the device within
35
+ # EC2.
36
+ # * 'Ebs'<~Hash>:
37
+ # * 'SnapshotId'<~String> - The snapshot ID
38
+ # * 'VolumeSize'<~Integer> - The volume size, in
39
+ # GigaBytes.
40
+ # * 'VirtualName'<~String> - The virtual name associated
41
+ # with the device.
42
+ # * 'CreatedTime'<~Time> - Provides the creation date and
43
+ # time for this launch configuration.
44
+ # * 'ImageId'<~String> - Provides the unique ID of the Amazon
45
+ # Machine Image (AMI) that was assigned during
46
+ # registration.
47
+ # * 'InstanceMonitoring'<~Hash>:
48
+ # * 'Enabled'<~Boolean> - If true, instance monitoring is
49
+ # enabled.
50
+ # * 'InstanceType'<~String> - Specifies the instance type of
51
+ # the EC2 instance.
52
+ # * 'KernelId'<~String> - Provides the ID of the kernel
53
+ # associated with the EC2 AMI.
54
+ # * 'KeyName'<~String> - Provides the name of the EC2 key
55
+ # pair.
56
+ # * 'LaunchConfigurationARN'<~String> - The launch
57
+ # configuration's Amazon Resource Name (ARN).
58
+ # * 'LaunchConfigurationName'<~String> - Specifies the name
59
+ # of the launch configuration.
60
+ # * 'RamdiskId'<~String> - Provides ID of the RAM disk
61
+ # associated with the EC2 AMI.
62
+ # * 'SecurityGroups'<~Array> - A description of the security
63
+ # groups to associate with the EC2 instances.
64
+ # * 'UserData'<~String> - The user data available to the
65
+ # launched EC2 instances.
66
+ # * 'NextToken'<~String> - Acts as a paging mechanism for large
67
+ # result sets. Set to a non-empty string if there are
68
+ # additional results waiting to be returned. Pass this in to
69
+ # subsequent calls to return additional results.
70
+ #
71
+ # ==== See Also
72
+ # http://docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_DescribeLaunchConfigurations.html
73
+ #
74
+ def describe_launch_configurations(options = {})
75
+ if launch_configuration_names = options.delete('LaunchConfigurationNames')
76
+ options.merge!(AWS.indexed_param('LaunchConfigurationNames.member.%d', [*launch_configuration_names]))
77
+ end
78
+ request({
79
+ 'Action' => 'DescribeLaunchConfigurations',
80
+ :parser => Fog::Parsers::AWS::AutoScaling::DescribeLaunchConfigurations.new
81
+ }.merge!(options))
82
+ end
83
+
84
+ end
85
+
86
+ class Mock
87
+
88
+ def describe_launch_configurations(options = {})
89
+ results = { 'LaunchConfigurations' => [] }
90
+ data[:launch_configurations].each do |lc_name, lc_data|
91
+ results['LaunchConfigurations'] << {
92
+ 'LaunchConfigurationName' => lc_name
93
+ }.merge!(lc_data)
94
+ end
95
+ response = Excon::Response.new
96
+ response.status = 200
97
+ response.body = {
98
+ 'DescribeLaunchConfigurationsResult' => results,
99
+ 'ResponseMetadata' => { 'RequestId' => Fog::AWS::Mock.request_id }
100
+ }
101
+ response
102
+ end
103
+
104
+ end
105
+
106
+ end
107
+ end
108
+ end
@@ -0,0 +1,60 @@
1
+ module Fog
2
+ module AWS
3
+ class AutoScaling
4
+
5
+ class Real
6
+
7
+ require 'fog/aws/parsers/auto_scaling/describe_metric_collection_types'
8
+
9
+ # Returns a list of metrics and a corresponding list of granularities
10
+ # for each metric.
11
+ #
12
+ # ==== Returns
13
+ # * response<~Excon::Response>:
14
+ # * body<~Hash>:
15
+ # * 'ResponseMetadata'<~Hash>:
16
+ # * 'RequestId'<~String> - Id of request
17
+ # * 'DescribeMetricCollectionTypesResult'<~Hash>:
18
+ # * 'Granularities'<~Array>:
19
+ # * 'Granularity'<~String> - The granularity of a Metric.
20
+ # * 'Metrics'<~Array>:
21
+ # * 'Metric'<~String> - The name of a Metric.
22
+ #
23
+ # ==== See Also
24
+ # http://docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_DescribeAutoScalingInstances.html
25
+ #
26
+ def describe_metric_collection_types()
27
+ request({
28
+ 'Action' => 'DescribeMetricCollectionTypes',
29
+ :parser => Fog::Parsers::AWS::AutoScaling::DescribeMetricCollectionTypes.new
30
+ })
31
+ end
32
+
33
+ end
34
+
35
+ class Mock
36
+
37
+ def describe_metric_collection_types()
38
+ results = {
39
+ 'Granularities' => [],
40
+ 'Metrics' => []
41
+ }
42
+ data[:metric_collection_types][:granularities].each do |granularity|
43
+ results['Granularities'] << { 'Granularity' => granularity }
44
+ end
45
+ data[:metric_collection_types][:metrics].each do |metric|
46
+ results['Metrics'] << { 'Metric' => metric }
47
+ end
48
+ response = Excon::Response.new
49
+ response.status = 200
50
+ response.body = {
51
+ 'DescribeMetricCollectionTypesResult' => results,
52
+ 'ResponseMetadata' => { 'RequestId' => Fog::AWS::Mock.request_id }
53
+ }
54
+ response
55
+ end
56
+
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,85 @@
1
+ module Fog
2
+ module AWS
3
+ class AutoScaling
4
+
5
+ class Real
6
+
7
+ require 'fog/aws/parsers/auto_scaling/describe_policies'
8
+
9
+ # Returns descriptions of what each policy does. This action supports
10
+ # pagination. If the response includes a token, there are more records
11
+ # available. To get the additional records, repeat the request with the
12
+ # response token as the NextToken parameter.
13
+ #
14
+ # ==== Parameters
15
+ # * options<~Hash>:
16
+ # * 'AutoScalingGroupName'<~String> - The name of the Auto Scaling
17
+ # group.
18
+ # * 'MaxRecords'<~Integer> - The maximum number of policies that will
19
+ # be described with each call.
20
+ # * 'NextToken'<~String> - The token returned by a previous call to
21
+ # indicate that there is more data available.
22
+ # * PolicyNames<~Array> - A list of policy names or policy ARNs to be
23
+ # described. If this list is omitted, all policy names are
24
+ # described. If an auto scaling group name is provided, the results
25
+ # are limited to that group.The list of requested policy names
26
+ # cannot contain more than 50 items. If unknown policy names are
27
+ # requested, they are ignored with no error.
28
+ #
29
+ # ==== Returns
30
+ # * response<~Excon::Response>:
31
+ # * body<~Hash>:
32
+ # * 'ResponseMetadata'<~Hash>:
33
+ # * 'RequestId'<~String> - Id of request
34
+ # * 'DescribePoliciesResult'<~Hash>:
35
+ # * 'ScalingPolicies'<~Array>:
36
+ # * 'AdjustmentType'<~String> - Specifies whether the
37
+ # adjustment is an absolute number or a percentage of the
38
+ # current capacity.
39
+ # * 'Alarms'<~Array>:
40
+ # * 'AlarmARN'<~String> - The Amazon Resource Name (ARN) of
41
+ # the alarm.
42
+ # * 'AlarmName'<~String> - The name of the alarm.
43
+ # * 'AutoScalingGroupName'<~String> - The name of the Auto
44
+ # Scaling group associated with this scaling policy.
45
+ # * 'Cooldown'<~Integer> - The amount of time, in seconds,
46
+ # after a scaling activity completes before any further
47
+ # trigger-related scaling activities can start.
48
+ # * 'PolicyARN'<~String> - The Amazon Resource Name (ARN) of
49
+ # the policy.
50
+ # * 'PolicyName'<~String> - The name of the scaling policy.
51
+ # * 'ScalingAdjustment'<~Integer> - The number associated with
52
+ # the specified AdjustmentType. A positive value adds to the
53
+ # current capacity and a negative value removes from the
54
+ # current capacity.
55
+ # * 'NextToken'<~String> - Acts as a paging mechanism for large
56
+ # result sets. Set to a non-empty string if there are
57
+ # additional results waiting to be returned. Pass this in to
58
+ # subsequent calls to return additional results.
59
+ #
60
+ # ==== See Also
61
+ # http://docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_DescribePolicies.html
62
+ #
63
+ def describe_policies(options = {})
64
+ if policy_names = options.delete('PolicyNames')
65
+ options.merge!(AWS.indexed_param('PolicyNames.member.%d', [*policy_names]))
66
+ end
67
+ request({
68
+ 'Action' => 'DescribePolicies',
69
+ :parser => Fog::Parsers::AWS::AutoScaling::DescribePolicies.new
70
+ }.merge!(options))
71
+ end
72
+
73
+ end
74
+
75
+ class Mock
76
+
77
+ def describe_policies(options = {})
78
+ Fog::Mock.not_implemented
79
+ end
80
+
81
+ end
82
+
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,88 @@
1
+ module Fog
2
+ module AWS
3
+ class AutoScaling
4
+
5
+ class Real
6
+
7
+ require 'fog/aws/parsers/auto_scaling/describe_scaling_activities'
8
+
9
+ # Returns the scaling activities for the specified Auto Scaling group.
10
+ #
11
+ # If the specified activity_ids list is empty, all the activities from
12
+ # the past six weeks are returned. Activities are sorted by completion
13
+ # time. Activities still in progress appear first on the list.
14
+ #
15
+ # This action supports pagination. If the response includes a token,
16
+ # there are more records available. To get the additional records,
17
+ # repeat the request with the response token as the NextToken
18
+ # parameter.
19
+ #
20
+ # ==== Parameters
21
+ # * options<~Hash>:
22
+ # * 'ActivityIds'<~Array> - A list containing the activity IDs of the
23
+ # desired scaling activities. If this list is omitted, all
24
+ # activities are described. If an AutoScalingGroupName is provided,
25
+ # the results are limited to that group. The list of requested
26
+ # activities cannot contain more than 50 items. If unknown
27
+ # activities are requested, they are ignored with no error.
28
+ # * 'AutoScalingGroupName'<~String> - The name of the Auto Scaling
29
+ # group.
30
+ # * 'MaxRecords'<~Integer> - The maximum number of scaling activities
31
+ # to return.
32
+ # * 'NextToken'<~String> - The token returned by a previous call to
33
+ # indicate that there is more data available.
34
+ #
35
+ # ==== Returns
36
+ # * response<~Excon::Response>:
37
+ # * body<~Hash>:
38
+ # * 'ResponseMetadata'<~Hash>:
39
+ # * 'RequestId'<~String> - Id of request
40
+ # * 'DescribeScalingActivitiesResponse'<~Hash>:
41
+ # * 'Activities'<~Array>:
42
+ # * 'ActivityId'<~String> - Specifies the ID of the activity.
43
+ # * 'AutoScalingGroupName'<~String> - The name of the Auto
44
+ # Scaling group.
45
+ # * 'Cause'<~String> - Contins the reason the activity was
46
+ # begun.
47
+ # * 'Description'<~String> - Contains a friendly, more verbose
48
+ # description of the scaling activity.
49
+ # * 'EndTime'<~Time> - Provides the end time of this activity.
50
+ # * 'Progress'<~Integer> - Specifies a value between 0 and 100
51
+ # that indicates the progress of the activity.
52
+ # * 'StartTime'<~Time> - Provides the start time of this
53
+ # activity.
54
+ # * 'StatusCode'<~String> - Contains the current status of the
55
+ # activity.
56
+ # * 'StatusMessage'<~String> - Contains a friendly, more
57
+ # verbose description of the activity status.
58
+ # * 'NextToken'<~String> - Acts as a paging mechanism for large
59
+ # result sets. Set to a non-empty string if there are
60
+ # additional results waiting to be returned. Pass this in to
61
+ # subsequent calls to return additional results.
62
+ #
63
+ # ==== See Also
64
+ # http://docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_DescribeScalingActivities.html
65
+ #
66
+ def describe_scaling_activities(options = {})
67
+ if activity_ids = options.delete('ActivityIds')
68
+ options.merge!(AWS.indexed_param('ActivityIds.member.%d', [*activity_ids]))
69
+ end
70
+ request({
71
+ 'Action' => 'DescribeScalingActivities',
72
+ :parser => Fog::Parsers::AWS::AutoScaling::DescribeScalingActivities.new
73
+ }.merge!(options))
74
+ end
75
+
76
+ end
77
+
78
+ class Mock
79
+
80
+ def describe_scaling_activities(options = {})
81
+ Fog::Mock.not_implemented
82
+ end
83
+
84
+ end
85
+
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,54 @@
1
+ module Fog
2
+ module AWS
3
+ class AutoScaling
4
+
5
+ class Real
6
+
7
+ require 'fog/aws/parsers/auto_scaling/describe_scaling_process_types'
8
+
9
+ # Returns scaling process types for use in the resume_processes and
10
+ # suspend_processes actions.
11
+ #
12
+ # ==== Returns
13
+ # * response<~Excon::Response>:
14
+ # * body<~Hash>:
15
+ # * 'ResponseMetadata'<~Hash>:
16
+ # * 'RequestId'<~String> - Id of request
17
+ # * 'DescribeScalingProcessTypesResult'<~Hash>:
18
+ # * 'Processes'<~Array>:
19
+ # * processtype<~Hash>:
20
+ # * 'ProcessName'<~String> - The name of a process.
21
+ #
22
+ # ==== See Also
23
+ # http://docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_DescribeScalingProcessTypes.html
24
+ #
25
+ def describe_scaling_process_types()
26
+ request({
27
+ 'Action' => 'DescribeScalingProcessTypes',
28
+ :parser => Fog::Parsers::AWS::AutoScaling::DescribeScalingProcessTypes.new
29
+ })
30
+ end
31
+
32
+ end
33
+
34
+ class Mock
35
+
36
+ def describe_scaling_process_types()
37
+ results = { 'Processes' => [] }
38
+ data[:process_types].each do |process_type|
39
+ results['Processes'] << { 'ProcessName' => process_type }
40
+ end
41
+ response = Excon::Response.new
42
+ response.status = 200
43
+ response.body = {
44
+ 'DescribeScalingProcessTypesResult' => results,
45
+ 'ResponseMetadata' => { 'RequestId' => Fog::AWS::Mock.request_id }
46
+ }
47
+ response
48
+ end
49
+
50
+ end
51
+
52
+ end
53
+ end
54
+ end