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,47 @@
1
+ module Fog
2
+ module Compute
3
+ class AWS
4
+ class Real
5
+
6
+ require 'fog/compute/parsers/aws/spot_instance_requests'
7
+
8
+ # Describe all or specified spot instance requests
9
+ #
10
+ # ==== Parameters
11
+ # * filters<~Hash> - List of filters to limit results with
12
+ #
13
+ # ==== Returns
14
+ # * response<~Excon::Response>:
15
+ # * body<~Hash>:
16
+ # * 'requestId'<~String> - Id of request
17
+ # * 'spotInstanceRequestSet'<~Array>:
18
+ # * 'createTime'<~Time> - time of instance request creation
19
+ # * 'instanceId'<~String> - instance id if one has been launched to fulfill request
20
+ # * 'launchedAvailabilityZone'<~String> - availability zone of instance if one has been launched to fulfill request
21
+ # * 'launchSpecification'<~Hash>:
22
+ # * 'blockDeviceMapping'<~Hash> - list of block device mappings for instance
23
+ # * 'groupSet'<~String> - security group(s) for instance
24
+ # * 'keyName'<~String> - keypair name for instance
25
+ # * 'imageId'<~String> - AMI for instance
26
+ # * 'instanceType'<~String> - type for instance
27
+ # * 'monitoring'<~Boolean> - monitoring status for instance
28
+ # * 'productDescription'<~String> - general description of AMI
29
+ # * 'spotInstanceRequestId'<~String> - id of spot instance request
30
+ # * 'spotPrice'<~Float> - maximum price for instances to be launched
31
+ # * 'state'<~String> - spot instance request state
32
+ # * 'type'<~String> - spot instance request type
33
+ #
34
+ # {Amazon API Reference}[http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSpotInstanceRequests.html]
35
+ def describe_spot_instance_requests(filters = {})
36
+ params = Fog::AWS.indexed_filters(filters)
37
+ request({
38
+ 'Action' => 'DescribeSpotInstanceRequests',
39
+ :idempotent => true,
40
+ :parser => Fog::Parsers::Compute::AWS::SpotInstanceRequests.new
41
+ }.merge!(params))
42
+ end
43
+
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,37 @@
1
+ module Fog
2
+ module Compute
3
+ class AWS
4
+ class Real
5
+
6
+ require 'fog/compute/parsers/aws/describe_spot_price_history'
7
+
8
+ # Describe all or specified spot price history
9
+ #
10
+ # ==== Parameters
11
+ # * filters<~Hash> - List of filters to limit results with
12
+ #
13
+ # ==== Returns
14
+ # * response<~Excon::Response>:
15
+ # * body<~Hash>:
16
+ # * 'requestId'<~String> - Id of request
17
+ # * 'spotPriceHistorySet'<~Array>:
18
+ # * 'availabilityZone'<~String> - availability zone for instance
19
+ # * 'instanceType'<~String> - the type of instance
20
+ # * 'productDescription'<~String> - general description of AMI
21
+ # * 'spotPrice'<~Float> - maximum price to launch one or more instances
22
+ # * 'timestamp'<~Time> - date and time of request creation
23
+ #
24
+ # {Amazon API Reference}[http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSpotPriceHistory.html]
25
+ def describe_spot_price_history(filters = {})
26
+ params = Fog::AWS.indexed_filters(filters)
27
+ request({
28
+ 'Action' => 'DescribeSpotPriceHistory',
29
+ :idempotent => true,
30
+ :parser => Fog::Parsers::Compute::AWS::DescribeSpotPriceHistory.new
31
+ }.merge!(params))
32
+ end
33
+
34
+ end
35
+ end
36
+ end
37
+ end
@@ -74,7 +74,7 @@ module Fog
74
74
  }
75
75
  for filter_key, filter_value in filters
76
76
  if attachment_key = filter_key.split('attachment.')[1]
77
- aliased_key = permission_aliases[filter_key]
77
+ aliased_key = attachment_aliases[filter_key]
78
78
  volume_set = volume_set.reject{|volume| !volume['attachmentSet'].detect {|attachment| [*filter_value].include?(attachment[aliased_key])}}
79
79
  else
80
80
  aliased_key = aliases[filter_key]
@@ -0,0 +1,63 @@
1
+ module Fog
2
+ module Compute
3
+ class AWS
4
+ class Real
5
+
6
+ require 'fog/compute/parsers/aws/purchase_reserved_instances_offering'
7
+
8
+ # Purchases a Reserved Instance for use with your account.
9
+ #
10
+ # ==== Parameters
11
+ # * reserved_instances_offering_id<~String> - ID of the Reserved Instance offering you want to purchase.
12
+ # * instance_count<~Integer> - The number of Reserved Instances to purchase.
13
+ #
14
+ # ==== Returns
15
+ # * response<~Excon::Response>:
16
+ # * body<~Hash>:
17
+ # * 'requestId'<~String> - Id of request
18
+ # * 'reservedInstancesId'<~String> - Id of the purchased reserved instances.
19
+ #
20
+ # {Amazon API Reference}[http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-PurchaseReservedInstancesOffering.html]
21
+ def purchase_reserved_instances_offering(reserved_instances_offering_id, instance_count = 1)
22
+ request({
23
+ 'Action' => 'PurchaseReservedInstancesOffering',
24
+ 'ReservedInstancesOfferingId' => reserved_instances_offering_id,
25
+ 'InstanceCount' => instance_count,
26
+ :idempotent => true,
27
+ :parser => Fog::Parsers::Compute::AWS::PurchaseReservedInstancesOffering.new
28
+ })
29
+ end
30
+
31
+ end
32
+
33
+ class Mock
34
+ def purchase_reserved_instances_offering(reserved_instances_offering_id, instance_count = 1)
35
+ response = Excon::Response.new
36
+ response.status = 200
37
+
38
+ # Need to implement filters in the mock to find this there instead of here
39
+ # Also there's no information about what to do when the specified reserved_instances_offering_id doesn't exist
40
+ raise unless reserved_instance_offering = Compute[:aws].describe_reserved_instances_offerings.body["reservedInstancesOfferingsSet"].find { |offering| offering["reservedInstancesOfferingId"] == reserved_instances_offering_id }
41
+
42
+ reserved_instances_id = Fog::AWS::Mock.reserved_instances_id
43
+ reserved_instance_offering.delete('reservedInstancesOfferingId')
44
+
45
+ self.data[:reserved_instances][reserved_instances_id] = reserved_instance_offering.merge({
46
+ 'reservedInstancesId' => reserved_instances_id,
47
+ 'start' => Time.now,
48
+ 'instanceCount' => instance_count,
49
+ 'state' => 'payment-pending',
50
+ 'tagSet' => []
51
+ })
52
+
53
+ response.body = {
54
+ 'reservedInstancesId' => reserved_instances_id,
55
+ 'requestId' => Fog::AWS::Mock.request_id
56
+ }
57
+
58
+ response
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,83 @@
1
+ module Fog
2
+ module Compute
3
+ class AWS
4
+ class Real
5
+
6
+ require 'fog/compute/parsers/aws/spot_instance_requests'
7
+
8
+ # Launch specified instances
9
+ #
10
+ # ==== Parameters
11
+ # * 'image_id'<~String> - Id of machine image to load on instances
12
+ # * 'instance_type'<~String> - Type of instance
13
+ # * 'spot_price'<~Float> - maximum hourly price for instances launched
14
+ # * options<~Hash>:
15
+ # * 'AvailabilityZoneGroup'<~String> - specify whether or not to launch all instances in the same availability group
16
+ # * 'InstanceCount'<~Integer> - maximum number of instances to launch
17
+ # * 'LaunchGroup'<~String> - whether or not to launch/shutdown instances as a group
18
+ # * 'LaunchSpecification.BlockDeviceMapping'<~Array>: array of hashes
19
+ # * 'DeviceName'<~String> - where the volume will be exposed to instance
20
+ # * 'VirtualName'<~String> - volume virtual device name
21
+ # * 'Ebs.SnapshotId'<~String> - id of snapshot to boot volume from
22
+ # * 'Ebs.NoDevice'<~String> - specifies that no device should be mapped
23
+ # * 'Ebs.VolumeSize'<~String> - size of volume in GiBs required unless snapshot is specified
24
+ # * 'Ebs.DeleteOnTermination'<~String> - specifies whether or not to delete the volume on instance termination
25
+ # * 'LaunchSpecification.KeyName'<~String> - Name of a keypair to add to booting instances
26
+ # * 'LaunchSpecification.Monitoring.Enabled'<~Boolean> - Enables monitoring, defaults to disabled
27
+ # * 'LaunchSpecification.Placement.AvailabilityZone'<~String> - Placement constraint for instances
28
+ # * 'LaunchSpecification.SecurityGroup'<~Array> or <~String> - Name of security group(s) for instances
29
+ # * 'LaunchSpecification.UserData'<~String> - Additional data to provide to booting instances
30
+ # * 'Type'<~String> - spot instance request type in ['one-time', 'persistent']
31
+ # * 'ValidFrom'<~Time> - start date for request
32
+ # * 'ValidUntil'<~Time> - end date for request
33
+ #
34
+ # ==== Returns
35
+ # * response<~Excon::Response>:
36
+ # * body<~Hash>:
37
+ # * 'requestId'<~String> - Id of request
38
+ # * 'spotInstanceRequestSet'<~Array>:
39
+ # * 'createTime'<~Time> - time of instance request creation
40
+ # * 'instanceId'<~String> - instance id if one has been launched to fulfill request
41
+ # * 'launchedAvailabilityZone'<~String> - availability zone of instance if one has been launched to fulfill request
42
+ # * 'launchSpecification'<~Hash>:
43
+ # * 'blockDeviceMapping'<~Hash> - list of block device mappings for instance
44
+ # * 'groupSet'<~String> - security group(s) for instance
45
+ # * 'keyName'<~String> - keypair name for instance
46
+ # * 'imageId'<~String> - AMI for instance
47
+ # * 'instanceType'<~String> - type for instance
48
+ # * 'monitoring'<~Boolean> - monitoring status for instance
49
+ # * 'productDescription'<~String> - general description of AMI
50
+ # * 'spotInstanceRequestId'<~String> - id of spot instance request
51
+ # * 'spotPrice'<~Float> - maximum price for instances to be launched
52
+ # * 'state'<~String> - spot instance request state
53
+ # * 'type'<~String> - spot instance request type
54
+ #
55
+ # {Amazon API Reference}[http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-RequestSpotInstances.html]
56
+ def request_spot_instances(image_id, instance_type, spot_price, options = {})
57
+ if block_device_mapping = options.delete('LaunchSpecification.BlockDeviceMapping')
58
+ block_device_mapping.each_with_index do |mapping, index|
59
+ for key, value in mapping
60
+ options.merge!({ format("LaunchSpecification.BlockDeviceMapping.%d.#{key}", index) => value })
61
+ end
62
+ end
63
+ end
64
+ if security_groups = options.delete('LaunchSpecification.SecurityGroup')
65
+ options.merge!(Fog::AWS.indexed_param('LaunchSpecification.SecurityGroup', [*security_groups]))
66
+ end
67
+ if options['LaunchSpecification.UserData']
68
+ options['LaunchSpecification.UserData'] = Base64.encode64(options['LaunchSpecification.UserData'])
69
+ end
70
+
71
+ request({
72
+ 'Action' => 'RequestSpotInstances',
73
+ 'LaunchSpecification.ImageId' => image_id,
74
+ 'LaunchSpecification.InstanceType' => instance_type,
75
+ 'SpotPrice' => spot_price,
76
+ :parser => Fog::Parsers::Compute::AWS::SpotInstanceRequests.new
77
+ }.merge!(options))
78
+ end
79
+
80
+ end
81
+ end
82
+ end
83
+ end
@@ -30,7 +30,7 @@ module Fog
30
30
  # * 'SecurityGroup'<~Array> or <~String> - Name of security group(s) for instances (you must omit this parameter if using Virtual Private Clouds)
31
31
  # * 'InstanceInitiatedShutdownBehaviour'<~String> - specifies whether volumes are stopped or terminated when instance is shutdown, in [stop, terminate]
32
32
  # * 'InstanceType'<~String> - Type of instance to boot. Valid options
33
- # in ['m1.small', 'm1.large', 'm1.xlarge', 'c1.medium', 'c1.xlarge', 'm2.2xlarge', 'm2.4xlarge']
33
+ # in ['t1.micro', 'm1.small', 'm1.large', 'm1.xlarge', 'c1.medium', 'c1.xlarge', 'm2.xlarge', m2.2xlarge', 'm2.4xlarge', 'cc1.4xlarge', 'cg1.4xlarge']
34
34
  # default is 'm1.small'
35
35
  # * 'KernelId'<~String> - Id of kernel with which to launch
36
36
  # * 'KeyName'<~String> - Name of a keypair to add to booting instances
@@ -139,10 +139,9 @@ module Fog
139
139
  'keyName' => options['KeyName'],
140
140
  'launchTime' => Time.now,
141
141
  'monitoring' => { 'state' => options['Monitoring.Enabled'] || false },
142
- 'placement' => { 'availabilityZone' => options['Placement.AvailabilityZone'] || Fog::AWS::Mock.availability_zone(@region) },
142
+ 'placement' => { 'availabilityZone' => options['Placement.AvailabilityZone'] || Fog::AWS::Mock.availability_zone(@region), 'groupName' => nil, 'tenancy' => 'default' },
143
143
  'privateDnsName' => nil,
144
144
  'productCodes' => [],
145
- 'ramdiskId' => options['RamdiskId'] || Fog::AWS::Mock.ramdisk_id,
146
145
  'reason' => nil,
147
146
  'rootDeviceType' => 'instance-store'
148
147
  }
@@ -10,7 +10,7 @@ module Fog
10
10
  :method => 'POST',
11
11
  :path => "/1.0/servers/#{identifier}/activate_console",
12
12
  :headers => {"Content-Type" => "application/json"},
13
- :body => options.to_json
13
+ :body => MultiJson.encode(options)
14
14
  )
15
15
  end
16
16
 
@@ -10,7 +10,7 @@ module Fog
10
10
  :method => 'POST',
11
11
  :path => "/1.0/load_balancers/#{identifier}/add_listeners",
12
12
  :headers => {"Content-Type" => "application/json"},
13
- :body => options.to_json
13
+ :body => MultiJson.encode(options)
14
14
  )
15
15
  end
16
16
 
@@ -10,7 +10,7 @@ module Fog
10
10
  :method => 'POST',
11
11
  :path => "/1.0/load_balancers/#{identifier}/add_nodes",
12
12
  :headers => {"Content-Type" => "application/json"},
13
- :body => options.to_json
13
+ :body => MultiJson.encode(options)
14
14
  )
15
15
  end
16
16
 
@@ -9,7 +9,7 @@ module Fog
9
9
  :method => 'POST',
10
10
  :path => "/1.0/api_clients",
11
11
  :headers => {"Content-Type" => "application/json"},
12
- :body => options.to_json
12
+ :body => MultiJson.encode(options)
13
13
  )
14
14
  end
15
15
 
@@ -9,7 +9,7 @@ module Fog
9
9
  :method => 'POST',
10
10
  :path => "/1.0/cloud_ips",
11
11
  :headers => {"Content-Type" => "application/json"},
12
- :body => options.to_json
12
+ :body => MultiJson.encode(options)
13
13
  )
14
14
  end
15
15
 
@@ -9,7 +9,7 @@ module Fog
9
9
  :method => 'POST',
10
10
  :path => "/1.0/images",
11
11
  :headers => {"Content-Type" => "application/json"},
12
- :body => options.to_json
12
+ :body => MultiJson.encode(options)
13
13
  )
14
14
  end
15
15
 
@@ -9,7 +9,7 @@ module Fog
9
9
  :method => 'POST',
10
10
  :path => "/1.0/load_balancers",
11
11
  :headers => {"Content-Type" => "application/json"},
12
- :body => options.to_json
12
+ :body => MultiJson.encode(options)
13
13
  )
14
14
  end
15
15
 
@@ -9,7 +9,7 @@ module Fog
9
9
  :method => 'POST',
10
10
  :path => "/1.0/servers",
11
11
  :headers => {"Content-Type" => "application/json"},
12
- :body => options.to_json
12
+ :body => MultiJson.encode(options)
13
13
  )
14
14
  end
15
15
 
@@ -10,7 +10,7 @@ module Fog
10
10
  :method => 'DELETE',
11
11
  :path => "/1.0/api_clients/#{identifier}",
12
12
  :headers => {"Content-Type" => "application/json"},
13
- :body => options.to_json
13
+ :body => MultiJson.encode(options)
14
14
  )
15
15
  end
16
16
 
@@ -10,7 +10,7 @@ module Fog
10
10
  :method => 'DELETE',
11
11
  :path => "/1.0/cloud_ips/#{identifier}",
12
12
  :headers => {"Content-Type" => "application/json"},
13
- :body => options.to_json
13
+ :body => MultiJson.encode(options)
14
14
  )
15
15
  end
16
16
 
@@ -10,7 +10,7 @@ module Fog
10
10
  :method => 'DELETE',
11
11
  :path => "/1.0/images/#{identifier}",
12
12
  :headers => {"Content-Type" => "application/json"},
13
- :body => options.to_json
13
+ :body => MultiJson.encode(options)
14
14
  )
15
15
  end
16
16
 
@@ -10,7 +10,7 @@ module Fog
10
10
  :method => 'DELETE',
11
11
  :path => "/1.0/load_balancers/#{identifier}",
12
12
  :headers => {"Content-Type" => "application/json"},
13
- :body => options.to_json
13
+ :body => MultiJson.encode(options)
14
14
  )
15
15
  end
16
16
 
@@ -10,7 +10,7 @@ module Fog
10
10
  :method => 'DELETE',
11
11
  :path => "/1.0/servers/#{identifier}",
12
12
  :headers => {"Content-Type" => "application/json"},
13
- :body => options.to_json
13
+ :body => MultiJson.encode(options)
14
14
  )
15
15
  end
16
16
 
@@ -9,7 +9,7 @@ module Fog
9
9
  :method => 'GET',
10
10
  :path => "/1.0/account",
11
11
  :headers => {"Content-Type" => "application/json"},
12
- :body => options.to_json
12
+ :body => MultiJson.encode(options)
13
13
  )
14
14
  end
15
15
 
@@ -10,7 +10,7 @@ module Fog
10
10
  :method => 'GET',
11
11
  :path => "/1.0/api_clients/#{identifier}",
12
12
  :headers => {"Content-Type" => "application/json"},
13
- :body => options.to_json
13
+ :body => MultiJson.encode(options)
14
14
  )
15
15
  end
16
16
 
@@ -10,7 +10,7 @@ module Fog
10
10
  :method => 'GET',
11
11
  :path => "/1.0/cloud_ips/#{identifier}",
12
12
  :headers => {"Content-Type" => "application/json"},
13
- :body => options.to_json
13
+ :body => MultiJson.encode(options)
14
14
  )
15
15
  end
16
16
 
@@ -10,7 +10,7 @@ module Fog
10
10
  :method => 'GET',
11
11
  :path => "/1.0/images/#{identifier}",
12
12
  :headers => {"Content-Type" => "application/json"},
13
- :body => options.to_json
13
+ :body => MultiJson.encode(options)
14
14
  )
15
15
  end
16
16
 
@@ -10,7 +10,7 @@ module Fog
10
10
  :method => 'GET',
11
11
  :path => "/1.0/interfaces/#{identifier}",
12
12
  :headers => {"Content-Type" => "application/json"},
13
- :body => options.to_json
13
+ :body => MultiJson.encode(options)
14
14
  )
15
15
  end
16
16
 
@@ -10,7 +10,7 @@ module Fog
10
10
  :method => 'GET',
11
11
  :path => "/1.0/load_balancers/#{identifier}",
12
12
  :headers => {"Content-Type" => "application/json"},
13
- :body => options.to_json
13
+ :body => MultiJson.encode(options)
14
14
  )
15
15
  end
16
16