fog 0.7.2 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (320) hide show
  1. data/README.rdoc +3 -12
  2. data/Rakefile +3 -2
  3. data/benchs/parse_vs_push.rb +17 -8
  4. data/bin/fog +2 -2
  5. data/changelog.txt +123 -0
  6. data/docs/_layouts/default.html +21 -8
  7. data/docs/{_posts/2011-01-01-contributing.markdown → about/contributing.markdown} +0 -0
  8. data/docs/about/getting_started.markdown +83 -0
  9. data/docs/{_posts/2011-01-01-press.markdown → about/press.markdown} +6 -1
  10. data/docs/{_posts/2011-01-01-structure.markdown → about/structure.markdown} +0 -0
  11. data/docs/{_posts/2011-01-01-users.markdown → about/users.markdown} +0 -0
  12. data/docs/{_posts/2011-01-01-cdn.markdown → cdn/index.markdown} +12 -12
  13. data/docs/{_posts/2011-01-01-dns.markdown → dns/index.markdown} +18 -18
  14. data/docs/index.markdown +5 -4
  15. data/docs/{_posts/2011-01-01-storage.markdown → storage/index.markdown} +59 -21
  16. data/fog.gemspec +3 -9
  17. data/lib/fog.rb +1 -1
  18. data/lib/fog/aws/elb.rb +46 -12
  19. data/lib/fog/aws/iam.rb +1 -0
  20. data/lib/fog/aws/models/elb/listener.rb +51 -0
  21. data/lib/fog/aws/models/elb/listeners.rb +32 -0
  22. data/lib/fog/aws/models/elb/load_balancer.rb +129 -0
  23. data/lib/fog/aws/models/elb/load_balancers.rb +28 -0
  24. data/lib/fog/aws/models/elb/policies.rb +40 -0
  25. data/lib/fog/aws/models/elb/policy.rb +52 -0
  26. data/lib/fog/aws/{rds/models → models/rds}/parameter.rb +0 -0
  27. data/lib/fog/aws/{rds/models → models/rds}/parameter_group.rb +0 -0
  28. data/lib/fog/aws/{rds/models → models/rds}/parameter_groups.rb +1 -1
  29. data/lib/fog/aws/{rds/models → models/rds}/parameters.rb +1 -1
  30. data/lib/fog/aws/{rds/models → models/rds}/security_group.rb +0 -0
  31. data/lib/fog/aws/{rds/models → models/rds}/security_groups.rb +1 -1
  32. data/lib/fog/aws/{rds/models → models/rds}/server.rb +0 -0
  33. data/lib/fog/aws/{rds/models → models/rds}/servers.rb +1 -1
  34. data/lib/fog/aws/{rds/models → models/rds}/snapshot.rb +0 -0
  35. data/lib/fog/aws/{rds/models → models/rds}/snapshots.rb +1 -1
  36. data/lib/fog/aws/parsers/cloud_formation/create_stack.rb +1 -1
  37. data/lib/fog/aws/parsers/cloud_formation/describe_stack_events.rb +3 -3
  38. data/lib/fog/aws/parsers/cloud_formation/describe_stack_resources.rb +3 -3
  39. data/lib/fog/aws/parsers/cloud_formation/describe_stacks.rb +6 -6
  40. data/lib/fog/aws/parsers/cloud_formation/get_template.rb +1 -1
  41. data/lib/fog/aws/parsers/cloud_formation/validate_template.rb +5 -5
  42. data/lib/fog/aws/parsers/elb/configure_health_check.rb +37 -0
  43. data/lib/fog/aws/parsers/elb/create_load_balancer.rb +2 -2
  44. data/lib/fog/aws/parsers/elb/delete_load_balancer.rb +1 -1
  45. data/lib/fog/aws/parsers/elb/deregister_instances_from_load_balancer.rb +2 -2
  46. data/lib/fog/aws/parsers/elb/describe_instance_health.rb +2 -2
  47. data/lib/fog/aws/parsers/elb/describe_load_balancers.rb +36 -16
  48. data/lib/fog/aws/parsers/elb/disable_availability_zones_for_load_balancer.rb +2 -2
  49. data/lib/fog/aws/parsers/elb/empty.rb +28 -0
  50. data/lib/fog/aws/parsers/elb/enable_availability_zones_for_load_balancer.rb +2 -2
  51. data/lib/fog/aws/parsers/elb/register_instances_with_load_balancer.rb +2 -2
  52. data/lib/fog/aws/parsers/iam/basic.rb +1 -1
  53. data/lib/fog/aws/parsers/iam/create_access_key.rb +2 -2
  54. data/lib/fog/aws/parsers/iam/create_group.rb +2 -2
  55. data/lib/fog/aws/parsers/iam/create_user.rb +2 -2
  56. data/lib/fog/aws/parsers/iam/get_group.rb +6 -6
  57. data/lib/fog/aws/parsers/iam/get_user.rb +2 -2
  58. data/lib/fog/aws/parsers/iam/get_user_policy.rb +2 -2
  59. data/lib/fog/aws/parsers/iam/list_access_keys.rb +3 -3
  60. data/lib/fog/aws/parsers/iam/list_groups.rb +3 -3
  61. data/lib/fog/aws/parsers/iam/list_groups_for_user.rb +3 -3
  62. data/lib/fog/aws/parsers/iam/list_policies.rb +3 -3
  63. data/lib/fog/aws/parsers/iam/list_server_certificates.rb +38 -0
  64. data/lib/fog/aws/parsers/iam/list_signing_certificates.rb +3 -3
  65. data/lib/fog/aws/parsers/iam/list_users.rb +3 -3
  66. data/lib/fog/aws/parsers/iam/login_profile.rb +3 -3
  67. data/lib/fog/aws/parsers/iam/update_group.rb +2 -2
  68. data/lib/fog/aws/parsers/iam/update_user.rb +2 -2
  69. data/lib/fog/aws/parsers/iam/upload_server_certificate.rb +5 -3
  70. data/lib/fog/aws/parsers/iam/upload_signing_certificate.rb +2 -2
  71. data/lib/fog/aws/parsers/rds/authorize_db_security_group_ingress.rb +1 -1
  72. data/lib/fog/aws/parsers/rds/create_db_instance.rb +1 -1
  73. data/lib/fog/aws/parsers/rds/create_db_instance_read_replica.rb +1 -1
  74. data/lib/fog/aws/parsers/rds/create_db_parameter_group.rb +4 -4
  75. data/lib/fog/aws/parsers/rds/create_db_security_group.rb +1 -1
  76. data/lib/fog/aws/parsers/rds/create_db_snapshot.rb +1 -1
  77. data/lib/fog/aws/parsers/rds/db_parser.rb +16 -16
  78. data/lib/fog/aws/parsers/rds/delete_db_instance.rb +1 -1
  79. data/lib/fog/aws/parsers/rds/delete_db_parameter_group.rb +1 -1
  80. data/lib/fog/aws/parsers/rds/delete_db_security_group.rb +1 -1
  81. data/lib/fog/aws/parsers/rds/delete_db_snapshot.rb +1 -1
  82. data/lib/fog/aws/parsers/rds/describe_db_instances.rb +2 -2
  83. data/lib/fog/aws/parsers/rds/describe_db_parameter_groups.rb +5 -5
  84. data/lib/fog/aws/parsers/rds/describe_db_parameters.rb +10 -10
  85. data/lib/fog/aws/parsers/rds/describe_db_security_groups.rb +2 -2
  86. data/lib/fog/aws/parsers/rds/describe_db_snapshots.rb +2 -2
  87. data/lib/fog/aws/parsers/rds/modify_db_instance.rb +1 -1
  88. data/lib/fog/aws/parsers/rds/modify_db_parameter_group.rb +2 -2
  89. data/lib/fog/aws/parsers/rds/reboot_db_instance.rb +1 -1
  90. data/lib/fog/aws/parsers/rds/restore_db_instance_from_db_snapshot.rb +1 -1
  91. data/lib/fog/aws/parsers/rds/restore_db_instance_to_point_in_time.rb +1 -1
  92. data/lib/fog/aws/parsers/rds/revoke_db_security_group_ingress.rb +1 -1
  93. data/lib/fog/aws/parsers/rds/security_group_parser.rb +4 -4
  94. data/lib/fog/aws/parsers/rds/snapshot_parser.rb +11 -11
  95. data/lib/fog/aws/parsers/ses/delete_verified_email_address.rb +1 -1
  96. data/lib/fog/aws/parsers/ses/get_send_quota.rb +2 -2
  97. data/lib/fog/aws/parsers/ses/get_send_statistics.rb +2 -2
  98. data/lib/fog/aws/parsers/ses/list_verified_email_addresses.rb +2 -2
  99. data/lib/fog/aws/parsers/ses/send_email.rb +2 -2
  100. data/lib/fog/aws/parsers/ses/send_raw_email.rb +2 -2
  101. data/lib/fog/aws/parsers/ses/verify_email_address.rb +1 -1
  102. data/lib/fog/aws/parsers/simpledb/basic.rb +2 -2
  103. data/lib/fog/aws/parsers/simpledb/domain_metadata.rb +4 -4
  104. data/lib/fog/aws/parsers/simpledb/get_attributes.rb +4 -4
  105. data/lib/fog/aws/parsers/simpledb/list_domains.rb +3 -3
  106. data/lib/fog/aws/parsers/simpledb/select.rb +5 -5
  107. data/lib/fog/aws/rds.rb +2 -3
  108. data/lib/fog/aws/requests/elb/configure_health_check.rb +41 -0
  109. data/lib/fog/aws/requests/elb/create_app_cookie_stickiness_policy.rb +33 -0
  110. data/lib/fog/aws/requests/elb/create_lb_cookie_stickiness_policy.rb +35 -0
  111. data/lib/fog/aws/requests/elb/create_load_balancer_listeners.rb +51 -0
  112. data/lib/fog/aws/requests/elb/delete_load_balancer_listeners.rb +31 -0
  113. data/lib/fog/aws/requests/elb/delete_load_balancer_policy.rb +31 -0
  114. data/lib/fog/aws/requests/elb/set_load_balancer_policies_of_listener.rb +43 -0
  115. data/lib/fog/aws/requests/iam/list_server_certificates.rb +42 -0
  116. data/lib/fog/aws/requests/ses/send_raw_email.rb +4 -4
  117. data/lib/fog/aws/simpledb.rb +2 -2
  118. data/lib/fog/bin.rb +1 -0
  119. data/lib/fog/bin/stormondemand.rb +30 -0
  120. data/lib/fog/cdn/parsers/aws/distribution.rb +11 -11
  121. data/lib/fog/cdn/parsers/aws/get_distribution_list.rb +9 -9
  122. data/lib/fog/cdn/parsers/aws/post_invalidation.rb +3 -3
  123. data/lib/fog/compute.rb +3 -0
  124. data/lib/fog/compute/aws.rb +4 -2
  125. data/lib/fog/compute/models/aws/server.rb +16 -2
  126. data/lib/fog/compute/models/bluebox/server.rb +11 -2
  127. data/lib/fog/compute/models/brightbox/server.rb +6 -0
  128. data/lib/fog/compute/models/ecloud/servers.rb +3 -1
  129. data/lib/fog/compute/models/go_grid/server.rb +1 -0
  130. data/lib/fog/compute/models/rackspace/server.rb +2 -1
  131. data/lib/fog/compute/models/slicehost/server.rb +2 -1
  132. data/lib/fog/compute/models/storm_on_demand/balancer.rb +38 -0
  133. data/lib/fog/compute/models/storm_on_demand/balancers.rb +21 -0
  134. data/lib/fog/compute/models/storm_on_demand/config.rb +25 -0
  135. data/lib/fog/compute/models/storm_on_demand/configs.rb +22 -0
  136. data/lib/fog/compute/models/storm_on_demand/image.rb +20 -0
  137. data/lib/fog/compute/models/storm_on_demand/images.rb +21 -0
  138. data/lib/fog/compute/models/storm_on_demand/private_ip.rb +19 -0
  139. data/lib/fog/compute/models/storm_on_demand/private_ips.rb +31 -0
  140. data/lib/fog/compute/models/storm_on_demand/server.rb +74 -0
  141. data/lib/fog/compute/models/storm_on_demand/servers.rb +26 -0
  142. data/lib/fog/compute/models/storm_on_demand/stat.rb +23 -0
  143. data/lib/fog/compute/models/storm_on_demand/stats.rb +22 -0
  144. data/lib/fog/compute/models/storm_on_demand/template.rb +22 -0
  145. data/lib/fog/compute/models/storm_on_demand/templates.rb +21 -0
  146. data/lib/fog/compute/models/voxel/image.rb +4 -1
  147. data/lib/fog/compute/models/voxel/server.rb +1 -0
  148. data/lib/fog/compute/parsers/aws/allocate_address.rb +1 -1
  149. data/lib/fog/compute/parsers/aws/attach_volume.rb +2 -2
  150. data/lib/fog/compute/parsers/aws/basic.rb +2 -2
  151. data/lib/fog/compute/parsers/aws/create_image.rb +1 -1
  152. data/lib/fog/compute/parsers/aws/create_key_pair.rb +1 -1
  153. data/lib/fog/compute/parsers/aws/create_snapshot.rb +4 -4
  154. data/lib/fog/compute/parsers/aws/create_volume.rb +3 -3
  155. data/lib/fog/compute/parsers/aws/deregister_image.rb +1 -1
  156. data/lib/fog/compute/parsers/aws/describe_addresses.rb +2 -2
  157. data/lib/fog/compute/parsers/aws/describe_availability_zones.rb +3 -3
  158. data/lib/fog/compute/parsers/aws/describe_images.rb +7 -7
  159. data/lib/fog/compute/parsers/aws/describe_instances.rb +17 -17
  160. data/lib/fog/compute/parsers/aws/describe_key_pairs.rb +2 -2
  161. data/lib/fog/compute/parsers/aws/describe_regions.rb +2 -2
  162. data/lib/fog/compute/parsers/aws/describe_reserved_instances.rb +5 -5
  163. data/lib/fog/compute/parsers/aws/describe_reserved_instances_offerings.rb +4 -4
  164. data/lib/fog/compute/parsers/aws/describe_security_groups.rb +8 -8
  165. data/lib/fog/compute/parsers/aws/describe_snapshots.rb +5 -5
  166. data/lib/fog/compute/parsers/aws/describe_tags.rb +2 -2
  167. data/lib/fog/compute/parsers/aws/describe_volumes.rb +8 -8
  168. data/lib/fog/compute/parsers/aws/detach_volume.rb +2 -2
  169. data/lib/fog/compute/parsers/aws/get_console_output.rb +3 -7
  170. data/lib/fog/compute/parsers/aws/import_key_pair.rb +1 -1
  171. data/lib/fog/compute/parsers/aws/monitor_unmonitor_instances.rb +3 -3
  172. data/lib/fog/compute/parsers/aws/register_image.rb +1 -1
  173. data/lib/fog/compute/parsers/aws/run_instances.rb +14 -22
  174. data/lib/fog/compute/parsers/aws/start_stop_instances.rb +3 -3
  175. data/lib/fog/compute/parsers/aws/terminate_instances.rb +6 -6
  176. data/lib/fog/compute/parsers/slicehost/create_slice.rb +4 -4
  177. data/lib/fog/compute/parsers/slicehost/get_backups.rb +3 -3
  178. data/lib/fog/compute/parsers/slicehost/get_flavor.rb +2 -2
  179. data/lib/fog/compute/parsers/slicehost/get_flavors.rb +2 -2
  180. data/lib/fog/compute/parsers/slicehost/get_image.rb +2 -2
  181. data/lib/fog/compute/parsers/slicehost/get_images.rb +2 -2
  182. data/lib/fog/compute/parsers/slicehost/get_slice.rb +4 -4
  183. data/lib/fog/compute/parsers/slicehost/get_slices.rb +4 -4
  184. data/lib/fog/compute/parsers/voxel/devices_list.rb +12 -12
  185. data/lib/fog/compute/parsers/voxel/images_list.rb +5 -5
  186. data/lib/fog/compute/parsers/voxel/voxcloud_create.rb +2 -2
  187. data/lib/fog/compute/parsers/voxel/voxcloud_status.rb +2 -2
  188. data/lib/fog/compute/requests/aws/describe_availability_zones.rb +17 -1
  189. data/lib/fog/compute/requests/aws/describe_instances.rb +6 -1
  190. data/lib/fog/compute/requests/storm_on_demand/add_balancer_node.rb +16 -0
  191. data/lib/fog/compute/requests/storm_on_demand/clone_server.rb +16 -0
  192. data/lib/fog/compute/requests/storm_on_demand/create_server.rb +16 -0
  193. data/lib/fog/compute/requests/storm_on_demand/delete_server.rb +16 -0
  194. data/lib/fog/compute/requests/storm_on_demand/get_server.rb +16 -0
  195. data/lib/fog/compute/requests/storm_on_demand/get_stats.rb +16 -0
  196. data/lib/fog/compute/requests/storm_on_demand/list_balancers.rb +16 -0
  197. data/lib/fog/compute/requests/storm_on_demand/list_configs.rb +16 -0
  198. data/lib/fog/compute/requests/storm_on_demand/list_images.rb +16 -0
  199. data/lib/fog/compute/requests/storm_on_demand/list_private_ips.rb +16 -0
  200. data/lib/fog/compute/requests/storm_on_demand/list_servers.rb +16 -0
  201. data/lib/fog/compute/requests/storm_on_demand/list_templates.rb +16 -0
  202. data/lib/fog/compute/requests/storm_on_demand/reboot_server.rb +16 -0
  203. data/lib/fog/compute/requests/storm_on_demand/remove_balancer_node.rb +16 -0
  204. data/lib/fog/compute/requests/storm_on_demand/resize_server.rb +16 -0
  205. data/lib/fog/compute/requests/voxel/images_list.rb +3 -3
  206. data/lib/fog/compute/storm_on_demand.rb +122 -0
  207. data/lib/fog/core/attributes.rb +12 -0
  208. data/lib/fog/core/credentials.rb +1 -52
  209. data/lib/fog/core/errors.rb +53 -0
  210. data/lib/fog/core/model.rb +10 -5
  211. data/lib/fog/core/parser.rb +8 -3
  212. data/lib/fog/dns/models/aws/records.rb +1 -1
  213. data/lib/fog/dns/models/aws/zones.rb +1 -1
  214. data/lib/fog/dns/parsers/aws/change_resource_record_sets.rb +2 -2
  215. data/lib/fog/dns/parsers/aws/create_hosted_zone.rb +5 -5
  216. data/lib/fog/dns/parsers/aws/delete_hosted_zone.rb +1 -1
  217. data/lib/fog/dns/parsers/aws/get_change.rb +2 -2
  218. data/lib/fog/dns/parsers/aws/get_hosted_zone.rb +3 -3
  219. data/lib/fog/dns/parsers/aws/list_hosted_zones.rb +4 -4
  220. data/lib/fog/dns/parsers/aws/list_resource_record_sets.rb +4 -4
  221. data/lib/fog/dns/parsers/bluebox/create_record.rb +2 -2
  222. data/lib/fog/dns/parsers/bluebox/create_zone.rb +2 -2
  223. data/lib/fog/dns/parsers/bluebox/get_record.rb +1 -1
  224. data/lib/fog/dns/parsers/bluebox/get_records.rb +1 -1
  225. data/lib/fog/dns/parsers/bluebox/get_zone.rb +2 -2
  226. data/lib/fog/dns/parsers/bluebox/get_zones.rb +2 -2
  227. data/lib/fog/dns/parsers/slicehost/create_record.rb +2 -2
  228. data/lib/fog/dns/parsers/slicehost/create_zone.rb +2 -2
  229. data/lib/fog/dns/parsers/slicehost/get_record.rb +2 -2
  230. data/lib/fog/dns/parsers/slicehost/get_records.rb +2 -2
  231. data/lib/fog/dns/parsers/slicehost/get_zone.rb +2 -2
  232. data/lib/fog/dns/parsers/slicehost/get_zones.rb +2 -2
  233. data/lib/fog/dns/parsers/zerigo/count_hosts.rb +1 -1
  234. data/lib/fog/dns/parsers/zerigo/count_zones.rb +1 -1
  235. data/lib/fog/dns/parsers/zerigo/create_host.rb +2 -2
  236. data/lib/fog/dns/parsers/zerigo/create_zone.rb +2 -2
  237. data/lib/fog/dns/parsers/zerigo/find_hosts.rb +2 -2
  238. data/lib/fog/dns/parsers/zerigo/get_host.rb +2 -2
  239. data/lib/fog/dns/parsers/zerigo/get_zone.rb +4 -4
  240. data/lib/fog/dns/parsers/zerigo/get_zone_stats.rb +2 -2
  241. data/lib/fog/dns/parsers/zerigo/list_hosts.rb +2 -2
  242. data/lib/fog/dns/parsers/zerigo/list_zones.rb +2 -2
  243. data/lib/fog/providers.rb +1 -0
  244. data/lib/fog/providers/aws.rb +5 -1
  245. data/lib/fog/providers/storm_on_demand.rb +12 -0
  246. data/lib/fog/storage/models/aws/files.rb +17 -0
  247. data/lib/fog/storage/models/google/files.rb +17 -0
  248. data/lib/fog/storage/models/rackspace/files.rb +17 -0
  249. data/lib/fog/storage/parsers/aws/access_control_list.rb +4 -4
  250. data/lib/fog/storage/parsers/aws/complete_multipart_upload.rb +1 -1
  251. data/lib/fog/storage/parsers/aws/copy_object.rb +2 -2
  252. data/lib/fog/storage/parsers/aws/get_bucket.rb +10 -10
  253. data/lib/fog/storage/parsers/aws/get_bucket_location.rb +1 -1
  254. data/lib/fog/storage/parsers/aws/get_bucket_logging.rb +5 -5
  255. data/lib/fog/storage/parsers/aws/get_bucket_object_versions.rb +8 -8
  256. data/lib/fog/storage/parsers/aws/get_bucket_versioning.rb +1 -1
  257. data/lib/fog/storage/parsers/aws/get_bucket_website.rb +2 -2
  258. data/lib/fog/storage/parsers/aws/get_request_payment.rb +1 -1
  259. data/lib/fog/storage/parsers/aws/get_service.rb +3 -3
  260. data/lib/fog/storage/parsers/aws/initiate_multipart_upload.rb +1 -1
  261. data/lib/fog/storage/parsers/aws/list_multipart_uploads.rb +7 -7
  262. data/lib/fog/storage/parsers/aws/list_parts.rb +7 -7
  263. data/lib/fog/storage/parsers/google/access_control_list.rb +3 -3
  264. data/lib/fog/storage/parsers/google/copy_object.rb +2 -2
  265. data/lib/fog/storage/parsers/google/get_bucket.rb +10 -10
  266. data/lib/fog/storage/parsers/google/get_bucket_logging.rb +5 -5
  267. data/lib/fog/storage/parsers/google/get_bucket_object_versions.rb +9 -9
  268. data/lib/fog/storage/parsers/google/get_bucket_versioning.rb +1 -1
  269. data/lib/fog/storage/parsers/google/get_request_payment.rb +1 -1
  270. data/lib/fog/storage/parsers/google/get_service.rb +3 -3
  271. data/lib/fog/storage/requests/aws/get_object.rb +1 -1
  272. data/lib/fog/terremark/parsers/shared/get_catalog.rb +1 -1
  273. data/lib/fog/terremark/parsers/shared/get_catalog_item.rb +1 -1
  274. data/lib/fog/terremark/parsers/shared/get_internet_services.rb +7 -7
  275. data/lib/fog/terremark/parsers/shared/get_network_ips.rb +1 -1
  276. data/lib/fog/terremark/parsers/shared/get_node_services.rb +3 -3
  277. data/lib/fog/terremark/parsers/shared/get_organization.rb +1 -1
  278. data/lib/fog/terremark/parsers/shared/get_public_ips.rb +2 -2
  279. data/lib/fog/terremark/parsers/shared/get_vapp_template.rb +1 -1
  280. data/lib/fog/terremark/parsers/shared/get_vdc.rb +6 -6
  281. data/lib/fog/terremark/parsers/shared/internet_service.rb +7 -7
  282. data/lib/fog/terremark/parsers/shared/network.rb +1 -1
  283. data/lib/fog/terremark/parsers/shared/node_service.rb +3 -3
  284. data/lib/fog/terremark/parsers/shared/public_ip.rb +2 -2
  285. data/lib/fog/terremark/parsers/shared/vapp.rb +7 -7
  286. data/spec/ecloud/spec_helper.rb +1 -1
  287. data/tests/aws/requests/cloud_formation/stack_tests.rb +2 -0
  288. data/tests/aws/requests/elb/helper.rb +44 -0
  289. data/tests/aws/requests/elb/load_balancer_tests.rb +82 -0
  290. data/tests/aws/requests/elb/model_tests.rb +187 -0
  291. data/tests/aws/requests/iam/helper.rb +41 -0
  292. data/tests/aws/requests/iam/login_profile_tests.rb +1 -1
  293. data/tests/aws/requests/iam/server_certificate_tests.rb +36 -0
  294. data/tests/aws/requests/rds/instance_tests.rb +63 -66
  295. data/tests/aws/requests/simpledb/attributes_tests.rb +4 -4
  296. data/tests/aws/signed_params_tests.rb +3 -0
  297. data/tests/compute/helper.rb +2 -2
  298. data/tests/compute/models/aws/address_tests.rb +2 -2
  299. data/tests/compute/models/aws/security_group_tests.rb +12 -0
  300. data/tests/compute/models/aws/server_tests.rb +8 -1
  301. data/tests/compute/models/aws/snapshot_tests.rb +2 -2
  302. data/tests/compute/models/aws/volume_tests.rb +3 -3
  303. data/tests/compute/requests/aws/address_tests.rb +1 -1
  304. data/tests/compute/requests/aws/instance_tests.rb +1 -1
  305. data/tests/compute/requests/aws/key_pair_tests.rb +5 -1
  306. data/tests/compute/requests/aws/snapshot_tests.rb +1 -1
  307. data/tests/compute/requests/aws/tag_tests.rb +1 -1
  308. data/tests/compute/requests/aws/volume_tests.rb +3 -3
  309. data/tests/compute/requests/bluebox/block_tests.rb +14 -13
  310. data/tests/compute/requests/brightbox/helper.rb +1 -2
  311. data/tests/compute/requests/storm_on_demand/server_tests.rb +64 -0
  312. data/tests/compute/requests/voxel/image_tests.rb +30 -24
  313. data/tests/compute/requests/voxel/server_tests.rb +1 -1
  314. data/tests/dns/requests/aws/dns_tests.rb +1 -1
  315. data/tests/helper.rb +1 -1
  316. data/tests/storage/requests/aws/multipart_upload_tests.rb +1 -1
  317. data/tests/storage/requests/google/bucket_tests.rb +0 -1
  318. data/tests/storage/requests/rackspace/object_tests.rb +1 -0
  319. metadata +125 -66
  320. data/docs/_posts/2011-01-01-start.markdown +0 -21
@@ -8,9 +8,9 @@ module Fog
8
8
  def end_element(name)
9
9
  case name
10
10
  when 'attachTime'
11
- @response[name] = Time.parse(@value)
11
+ @response[name] = Time.parse(value)
12
12
  when 'device', 'instanceId', 'requestId', 'status', 'volumeId'
13
- @response[name] = @value
13
+ @response[name] = value
14
14
  end
15
15
  end
16
16
 
@@ -12,15 +12,11 @@ module Fog
12
12
  def end_element(name)
13
13
  case name
14
14
  when 'instanceId', 'requestId'
15
- @response[name] = @value
15
+ @response[name] = value
16
16
  when 'output'
17
- @response[name] = if @value
18
- Base64.decode64(@value)
19
- else
20
- nil
21
- end
17
+ @response[name] = value && Base64.decode64(value)
22
18
  when 'timestamp'
23
- @response[name] = Time.parse(@value)
19
+ @response[name] = Time.parse(value)
24
20
  end
25
21
  end
26
22
 
@@ -8,7 +8,7 @@ module Fog
8
8
  def end_element(name)
9
9
  case name
10
10
  when 'keyFingerprint', 'keyName', 'requestId'
11
- @response[name] = @value
11
+ @response[name] = value
12
12
  end
13
13
  end
14
14
 
@@ -14,14 +14,14 @@ module Fog
14
14
  def end_element(name)
15
15
  case name
16
16
  when 'requestId'
17
- @response['requestId'] = @value
17
+ @response['requestId'] = value
18
18
  when 'instanceId'
19
- @current_instance_set['instanceId'] = @value
19
+ @current_instance_set['instanceId'] = value
20
20
  when 'item'
21
21
  @instance_set << @current_instance_set
22
22
  @current_instance_set = {}
23
23
  when 'state'
24
- @current_instance_set['monitoring'] = @value
24
+ @current_instance_set['monitoring'] = value
25
25
  when 'instancesSet'
26
26
  @response['instancesSet'] = @instance_set
27
27
  end
@@ -8,7 +8,7 @@ module Fog
8
8
  def end_element(name)
9
9
  case name
10
10
  when 'requestId', 'imageId'
11
- @response[name] = @value
11
+ @response[name] = value
12
12
  end
13
13
  end
14
14
 
@@ -26,30 +26,26 @@ module Fog
26
26
  def end_element(name)
27
27
  case name
28
28
  when 'amiLaunchIndex'
29
- @instance[name] = @value.to_i
29
+ @instance[name] = value.to_i
30
30
  when 'architecture', 'clientToken', 'dnsName', 'imageId',
31
31
  'instanceId', 'instanceType', 'ipAddress', 'kernelId',
32
32
  'keyName', 'privateDnsName', 'privateIpAddress', 'ramdiskId',
33
33
  'reason', 'rootDeviceType'
34
- @instance[name] = @value
34
+ @instance[name] = value
35
35
  when 'availabilityZone'
36
- @instance['placement'][name] = @value
36
+ @instance['placement'][name] = value
37
37
  when 'attachTime'
38
- @block_device_mapping[name] = Time.parse(@value)
38
+ @block_device_mapping[name] = Time.parse(value)
39
39
  when 'blockDeviceMapping'
40
40
  @in_block_device_mapping = false
41
41
  when 'code'
42
- @instance['instanceState'][name] = @value.to_i
42
+ @instance['instanceState'][name] = value.to_i
43
43
  when 'deleteOnTermination'
44
- if @value == 'true'
45
- @block_device_mapping[name] = true
46
- else
47
- @block_device_mapping[name] = false
48
- end
44
+ @block_device_mapping[name] = (value == 'true')
49
45
  when 'deviceName', 'status', 'volumeId'
50
- @block_device_mapping[name] = @value
46
+ @block_device_mapping[name] = value
51
47
  when 'groupId'
52
- @response['groupSet'] << @value
48
+ @response['groupSet'] << value
53
49
  when 'groupSet'
54
50
  @in_group_set = false
55
51
  when 'item'
@@ -61,23 +57,19 @@ module Fog
61
57
  @instance = { 'blockDeviceMapping' => [], 'instanceState' => {}, 'monitoring' => {}, 'placement' => {}, 'productCodes' => [] }
62
58
  end
63
59
  when 'launchTime'
64
- @instance[name] = Time.parse(@value)
60
+ @instance[name] = Time.parse(value)
65
61
  when 'name'
66
- @instance['instanceState'][name] = @value
62
+ @instance['instanceState'][name] = value
67
63
  when 'ownerId', 'requestId', 'reservationId'
68
- @response[name] = @value
64
+ @response[name] = value
69
65
  when 'product_code'
70
- @instance['productCodes'] << @value
66
+ @instance['productCodes'] << value
71
67
  when 'productCodes'
72
68
  @in_product_codes = false
73
69
  when 'state'
74
- if @value == 'true'
75
- @instance['monitoring'][name] = true
76
- else
77
- @instance['monitoring'][name] = false
78
- end
70
+ @instance['monitoring'][name] = (value == 'true')
79
71
  when 'subnetId'
80
- @response[name] = @value
72
+ @response[name] = value
81
73
  end
82
74
  end
83
75
 
@@ -22,14 +22,14 @@ module Fog
22
22
  def end_element(name)
23
23
  case name
24
24
  when 'code'
25
- @instance[@state][name] = @value.to_s
25
+ @instance[@state][name] = value.to_s
26
26
  when 'instanceId'
27
- @instance[name] = @value
27
+ @instance[name] = value
28
28
  when 'item'
29
29
  @response['instancesSet'] << @instance
30
30
  @instance = { 'currentState' => {}, 'previousState' => {} }
31
31
  when 'name'
32
- @instance[@state][name] = @value
32
+ @instance[@state][name] = value
33
33
  end
34
34
  end
35
35
 
@@ -22,26 +22,26 @@ module Fog
22
22
  def end_element(name)
23
23
  case name
24
24
  when 'instanceId'
25
- @instance[name] = @value
25
+ @instance[name] = value
26
26
  when 'item'
27
27
  @response['instancesSet'] << @instance
28
28
  @instance = { 'previousState' => {}, 'currentState' => {} }
29
29
  when 'code'
30
30
  if @in_previous_state
31
- @instance['previousState'][name] = @value.to_i
31
+ @instance['previousState'][name] = value.to_i
32
32
  elsif @in_current_state
33
- @instance['currentState'][name] = @value.to_i
33
+ @instance['currentState'][name] = value.to_i
34
34
  end
35
35
  when 'name'
36
36
  if @in_previous_state
37
- @instance['previousState'][name] = @value
37
+ @instance['previousState'][name] = value
38
38
  elsif @in_current_state
39
- @instance['currentState'][name] = @value
39
+ @instance['currentState'][name] = value
40
40
  end
41
41
  when 'previousState'
42
42
  @in_previous_state = false
43
43
  when 'requestId'
44
- @response[name] = @value
44
+ @response[name] = value
45
45
  when 'currentState'
46
46
  @in_current_state = false
47
47
  end
@@ -13,13 +13,13 @@ module Fog
13
13
  case name
14
14
  when 'address'
15
15
  @response['addresses'] ||= []
16
- @response['addresses'] << @value
16
+ @response['addresses'] << value
17
17
  when 'backup-id', 'flavor-id', 'id', 'image-id', 'progress'
18
- @response[name] = @value.to_i
18
+ @response[name] = value.to_i
19
19
  when 'bw-in', 'bw-out'
20
- @response[name] = @value.to_f
20
+ @response[name] = value.to_f
21
21
  when 'name', 'root-password', 'status'
22
- @response[name] = @value
22
+ @response[name] = value
23
23
  end
24
24
  end
25
25
 
@@ -16,11 +16,11 @@ module Fog
16
16
  @response['backups'] << @backup
17
17
  @backup = {}
18
18
  when 'date'
19
- @backup[name] = Time.parse(@value)
19
+ @backup[name] = Time.parse(value)
20
20
  when 'id', 'slice-id'
21
- @backup[name] = @value.to_i
21
+ @backup[name] = value.to_i
22
22
  when 'name'
23
- @backup[name] = @value
23
+ @backup[name] = value
24
24
  end
25
25
  end
26
26
 
@@ -12,9 +12,9 @@ module Fog
12
12
  def end_element(name)
13
13
  case name
14
14
  when 'id', 'price', 'ram'
15
- @response[name] = @value.to_i
15
+ @response[name] = value.to_i
16
16
  when 'name'
17
- @response[name] = @value
17
+ @response[name] = value
18
18
  end
19
19
  end
20
20
 
@@ -16,9 +16,9 @@ module Fog
16
16
  @response['flavors'] << @flavor
17
17
  @flavor = {}
18
18
  when 'id', 'price', 'ram'
19
- @flavor[name] = @value.to_i
19
+ @flavor[name] = value.to_i
20
20
  when 'name'
21
- @flavor[name] = @value
21
+ @flavor[name] = value
22
22
  end
23
23
  end
24
24
 
@@ -12,9 +12,9 @@ module Fog
12
12
  def end_element(name)
13
13
  case name
14
14
  when 'id'
15
- @response[name] = @value.to_i
15
+ @response[name] = value.to_i
16
16
  when 'name'
17
- @response[name] = @value
17
+ @response[name] = value
18
18
  end
19
19
  end
20
20
 
@@ -13,12 +13,12 @@ module Fog
13
13
  def end_element(name)
14
14
  case name
15
15
  when 'id'
16
- @image[name] = @value.to_i
16
+ @image[name] = value.to_i
17
17
  when 'image'
18
18
  @response['images'] << @image
19
19
  @image = {}
20
20
  when 'name'
21
- @image[name] = @value
21
+ @image[name] = value
22
22
  end
23
23
  end
24
24
 
@@ -13,13 +13,13 @@ module Fog
13
13
  case name
14
14
  when 'address'
15
15
  @response['addresses'] ||= []
16
- @response['addresses'] << @value
16
+ @response['addresses'] << value
17
17
  when 'backup-id', 'flavor-id', 'id', 'image-id', 'progress'
18
- @response[name] = @value.to_i
18
+ @response[name] = value.to_i
19
19
  when 'bw-in', 'bw-out'
20
- @response[name] = @value.to_f
20
+ @response[name] = value.to_f
21
21
  when 'name', 'status'
22
- @response[name] = @value
22
+ @response[name] = value
23
23
  end
24
24
  end
25
25
 
@@ -14,13 +14,13 @@ module Fog
14
14
  case name
15
15
  when 'address'
16
16
  @slice['addresses'] ||= []
17
- @slice['addresses'] << @value
17
+ @slice['addresses'] << value
18
18
  when 'backup-id', 'flavor-id', 'id', 'image-id', 'progress'
19
- @slice[name] = @value.to_i
19
+ @slice[name] = value.to_i
20
20
  when 'bw-in', 'bw-out'
21
- @slice[name] = @value.to_f
21
+ @slice[name] = value.to_f
22
22
  when 'name', 'status'
23
- @slice[name] = @value
23
+ @slice[name] = value
24
24
  when 'slice'
25
25
  @response['slices'] << @slice
26
26
  @slice = {}
@@ -71,13 +71,13 @@ module Fog
71
71
  when 'access_method'
72
72
  @device['access_methods'] << @access_method
73
73
  when 'architecture'
74
- @device['operating_system'][name] = @value.to_i
74
+ @device['operating_system'][name] = value.to_i
75
75
  when 'cage', 'facility', 'rack', 'row', 'zone'
76
- @device['location'][name]['value'] = @value
76
+ @device['location'][name]['value'] = value
77
77
  when 'cores'
78
- @device['processor'][name] = @value.to_i
78
+ @device['processor'][name] = value.to_i
79
79
  when 'description'
80
- @device[name] = @value
80
+ @device[name] = value
81
81
  when 'device'
82
82
  @response['devices'] << @device
83
83
  @device = {}
@@ -85,21 +85,21 @@ module Fog
85
85
  @device['drives'] << @drive
86
86
  @drive = {}
87
87
  when 'cores'
88
- @device['processing_cores'] = @value.to_i
88
+ @device['processing_cores'] = value.to_i
89
89
  when 'ipassignment'
90
- @device['ipassignments'].last['value'] = @value
90
+ @device['ipassignments'].last['value'] = value
91
91
  when 'model', 'type'
92
- @device[name]['value'] = @value
92
+ @device[name]['value'] = value
93
93
  when 'name'
94
- @device['operating_system'][name] = @value
94
+ @device['operating_system'][name] = value
95
95
  when 'position'
96
- @device['location'][name] = @value
96
+ @device['location'][name] = value
97
97
  when 'power_consumption'
98
- @device[name] = [@value, @device[name]].join(' ')
98
+ @device[name] = [value, @device[name]].join(' ')
99
99
  when 'size'
100
- @drive[name] = @value.to_i
100
+ @drive[name] = value.to_i
101
101
  when 'host', 'password', 'protocol', 'username'
102
- @access_method[name] = @value
102
+ @access_method[name] = value
103
103
  end
104
104
  end
105
105
 
@@ -36,18 +36,18 @@ module Fog
36
36
  def end_element(name)
37
37
  case name
38
38
  when 'architecture'
39
- @image['operating_system'][name] = @value.to_i
39
+ @image['operating_system'][name] = value.to_i
40
40
  when 'admin_username', 'family', 'product_family', 'product_version', 'version'
41
- @image['operating_system'][name] = @value
41
+ @image['operating_system'][name] = value
42
42
  when 'description'
43
- @image[name] = @value
43
+ @image[name] = value
44
44
  when 'image'
45
45
  @response['images'] << @image
46
46
  @image = {}
47
47
  when 'size'
48
- @image['filesystem'][name] = @value.to_i
48
+ @image['filesystem'][name] = value.to_i
49
49
  when 'type'
50
- @image['filesystem'][name] = @value
50
+ @image['filesystem'][name] = value
51
51
  end
52
52
  end
53
53
 
@@ -26,9 +26,9 @@ module Fog
26
26
  def end_element(name)
27
27
  case name
28
28
  when 'id'
29
- @response['device'][name] = @value
29
+ @response['device'][name] = value
30
30
  when 'last_update'
31
- @response['device'][name] = Time.at(@value.to_i)
31
+ @response['device'][name] = Time.at(value.to_i)
32
32
  end
33
33
  end
34
34
 
@@ -30,9 +30,9 @@ module Fog
30
30
  @response['devices'] << @device
31
31
  @device = {}
32
32
  when 'id', 'status'
33
- @device[name] = @value
33
+ @device[name] = value
34
34
  when 'last_update'
35
- @device[name] = Time.at(@value.to_i)
35
+ @device[name] = Time.at(value.to_i)
36
36
  end
37
37
  end
38
38
  end
@@ -43,13 +43,29 @@ module Fog
43
43
 
44
44
  response = Excon::Response.new
45
45
 
46
- availability_zone_info = [
46
+ all_zones = [
47
47
  {"messageSet" => [], "regionName" => "us-east-1", "zoneName" => "us-east-1a", "zoneState" => "available"},
48
48
  {"messageSet" => [], "regionName" => "us-east-1", "zoneName" => "us-east-1b", "zoneState" => "available"},
49
49
  {"messageSet" => [], "regionName" => "us-east-1", "zoneName" => "us-east-1c", "zoneState" => "available"},
50
50
  {"messageSet" => [], "regionName" => "us-east-1", "zoneName" => "us-east-1d", "zoneState" => "available"},
51
+
52
+ {"messageSet" => [], "regionName" => "us-west-1", "zoneName" => "us-west-1a", "zoneState" => "available"},
53
+ {"messageSet" => [], "regionName" => "us-west-1", "zoneName" => "us-west-1b", "zoneState" => "available"},
54
+ {"messageSet" => [], "regionName" => "us-west-1", "zoneName" => "us-west-1c", "zoneState" => "available"},
55
+
56
+ {"messageSet" => [], "regionName" => "eu-west-1", "zoneName" => "eu-west-1a", "zoneState" => "available"},
57
+ {"messageSet" => [], "regionName" => "eu-west-1", "zoneName" => "eu-west-1b", "zoneState" => "available"},
58
+ {"messageSet" => [], "regionName" => "eu-west-1", "zoneName" => "eu-west-1c", "zoneState" => "available"},
59
+
60
+ {"messageSet" => [], "regionName" => "ap-northeast-1", "zoneName" => "ap-northeast-1a", "zoneState" => "available"},
61
+ {"messageSet" => [], "regionName" => "ap-northeast-1", "zoneName" => "ap-northeast-1b", "zoneState" => "available"},
62
+
63
+ {"messageSet" => [], "regionName" => "ap-southeast-1", "zoneName" => "ap-southeast-1a", "zoneState" => "available"},
64
+ {"messageSet" => [], "regionName" => "ap-southeast-1", "zoneName" => "ap-southeast-1b", "zoneState" => "available"},
51
65
  ]
52
66
 
67
+ availability_zone_info = all_zones.select { |zoneinfo| zoneinfo["regionName"] == @region }
68
+
53
69
  aliases = {'region-name' => 'regionName', 'zone-name' => 'zoneName', 'state' => 'zoneState'}
54
70
  for filter_key, filter_value in filters
55
71
  aliased_key = aliases[filter_key]