fog 0.7.2 → 0.8.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 (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]