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
@@ -12,9 +12,9 @@ module Fog
12
12
  def end_element(name)
13
13
  case name
14
14
  when 'DNSName'
15
- @response['CreateLoadBalancerResult'][name] = @value
15
+ @response['CreateLoadBalancerResult'][name] = value
16
16
  when 'RequestId'
17
- @response['ResponseMetadata'][name] = @value
17
+ @response['ResponseMetadata'][name] = value
18
18
  end
19
19
  end
20
20
 
@@ -12,7 +12,7 @@ module Fog
12
12
  def end_element(name)
13
13
  case name
14
14
  when 'RequestId'
15
- @response['ResponseMetadata'][name] = @value
15
+ @response['ResponseMetadata'][name] = value
16
16
  end
17
17
  end
18
18
 
@@ -12,9 +12,9 @@ module Fog
12
12
  def end_element(name)
13
13
  case name
14
14
  when 'InstanceId'
15
- @response['DeregisterInstancesFromLoadBalancerResult']['Instances'] << {name => @value}
15
+ @response['DeregisterInstancesFromLoadBalancerResult']['Instances'] << {name => value}
16
16
  when 'RequestId'
17
- @response['ResponseMetadata'][name] = @value
17
+ @response['ResponseMetadata'][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 'Description', 'State', 'InstanceId', 'ReasonCode'
16
- @instance_state[name] = @value
16
+ @instance_state[name] = value
17
17
  when 'member'
18
18
  @response['DescribeInstanceHealthResult']['InstanceStates'] << @instance_state
19
19
  @instance_state = {}
20
20
  when 'RequestId'
21
- @response['ResponseMetadata'][name] = @value
21
+ @response['ResponseMetadata'][name] = value
22
22
  end
23
23
  end
24
24
 
@@ -6,12 +6,25 @@ module Fog
6
6
  class DescribeLoadBalancers < Fog::Parsers::Base
7
7
 
8
8
  def reset
9
- @load_balancer = { 'ListenerDescriptions' => [], 'Instances' => [], 'AvailabilityZones' => [], 'Policies' => {'AppCookieStickinessPolicies' => [], 'LBCookieStickinessPolicies' => [] }, 'HealthCheck' => {} }
10
- @listener_description = { 'PolicyNames' => [], 'Listener' => {} }
9
+ reset_load_balancer
10
+ reset_listener_description
11
+ reset_policy
11
12
  @results = { 'LoadBalancerDescriptions' => [] }
12
13
  @response = { 'DescribeLoadBalancersResult' => {}, 'ResponseMetadata' => {} }
13
14
  end
14
15
 
16
+ def reset_load_balancer
17
+ @load_balancer = { 'ListenerDescriptions' => [], 'Instances' => [], 'AvailabilityZones' => [], 'Policies' => {'AppCookieStickinessPolicies' => [], 'LBCookieStickinessPolicies' => [] }, 'HealthCheck' => {} }
18
+ end
19
+
20
+ def reset_listener_description
21
+ @listener_description = { 'PolicyNames' => [], 'Listener' => {} }
22
+ end
23
+
24
+ def reset_policy
25
+ @policy = {}
26
+ end
27
+
15
28
  def start_element(name, attrs = [])
16
29
  super
17
30
  case name
@@ -36,39 +49,41 @@ module Fog
36
49
  case name
37
50
  when 'member'
38
51
  if @in_policy_names
39
- @listener_description['PolicyNames'] << @value
52
+ @listener_description['PolicyNames'] << value
40
53
  elsif @in_availability_zones
41
- @load_balancer['AvailabilityZones'] << @value
54
+ @load_balancer['AvailabilityZones'] << value
42
55
  elsif @in_listeners
43
56
  @load_balancer['ListenerDescriptions'] << @listener_description
44
- @listener_description = { 'PolicyNames' => [], 'Listener' => {} }
57
+ reset_listener_description
45
58
  elsif @in_app_cookies
46
- @load_balancer['Policies']['AppCookieStickinessPolicies'] << @value
59
+ @load_balancer['Policies']['AppCookieStickinessPolicies'] << @policy
60
+ reset_policy
47
61
  elsif @in_lb_cookies
48
- @load_balancer['Policies']['LBCookieStickinessPolicies'] << @value
62
+ @load_balancer['Policies']['LBCookieStickinessPolicies'] << @policy
63
+ reset_policy
49
64
  elsif !@in_instances && !@in_policies
50
65
  @results['LoadBalancerDescriptions'] << @load_balancer
51
- @load_balancer = { 'ListenerDescriptions' => [], 'Instances' => [], 'AvailabilityZones' => [], 'Policies' => {'AppCookieStickinessPolicies' => [], 'LBCookieStickinessPolicies' => [] }, 'HealthCheck' => {} }
66
+ reset_load_balancer
52
67
  end
53
68
 
54
69
  when 'LoadBalancerName', 'DNSName'
55
- @load_balancer[name] = @value
70
+ @load_balancer[name] = value
56
71
  when 'CreatedTime'
57
- @load_balancer[name] = Time.parse(@value)
72
+ @load_balancer[name] = Time.parse(value)
58
73
 
59
74
  when 'ListenerDescriptions'
60
75
  @in_listeners = false
61
76
  when 'PolicyNames'
62
77
  @in_policy_names = false
63
78
  when 'Protocol'
64
- @listener_description['Listener'][name] = @value
79
+ @listener_description['Listener'][name] = value
65
80
  when 'LoadBalancerPort', 'InstancePort'
66
- @listener_description['Listener'][name] = @value.to_i
81
+ @listener_description['Listener'][name] = value.to_i
67
82
 
68
83
  when 'Instances'
69
84
  @in_instances = false
70
85
  when 'InstanceId'
71
- @load_balancer['Instances'] << @value
86
+ @load_balancer['Instances'] << value
72
87
 
73
88
  when 'AvailabilityZones'
74
89
  @in_availability_zones = false
@@ -81,12 +96,17 @@ module Fog
81
96
  @in_lb_cookies = false
82
97
 
83
98
  when 'Interval', 'HealthyThreshold', 'Timeout', 'UnhealthyThreshold'
84
- @load_balancer['HealthCheck'][name] = @value.to_i
99
+ @load_balancer['HealthCheck'][name] = value.to_i
85
100
  when 'Target'
86
- @load_balancer['HealthCheck'][name] = @value
101
+ @load_balancer['HealthCheck'][name] = value
102
+
103
+ when 'PolicyName', 'CookieName'
104
+ @policy[name] = value
105
+ when 'CookieExpirationPeriod'
106
+ @policy[name] = value.to_i
87
107
 
88
108
  when 'RequestId'
89
- @response['ResponseMetadata'][name] = @value
109
+ @response['ResponseMetadata'][name] = value
90
110
 
91
111
  when 'DescribeLoadBalancersResponse'
92
112
  @response['DescribeLoadBalancersResult'] = @results
@@ -12,9 +12,9 @@ module Fog
12
12
  def end_element(name)
13
13
  case name
14
14
  when 'member'
15
- @response['DisableAvailabilityZonesForLoadBalancerResult']['AvailabilityZones'] << @value
15
+ @response['DisableAvailabilityZonesForLoadBalancerResult']['AvailabilityZones'] << value
16
16
  when 'RequestId'
17
- @response['ResponseMetadata'][name] = @value
17
+ @response['ResponseMetadata'][name] = value
18
18
  end
19
19
  end
20
20
 
@@ -0,0 +1,28 @@
1
+ module Fog
2
+ module Parsers
3
+ module AWS
4
+ module ELB
5
+
6
+ class Empty < Fog::Parsers::Base
7
+
8
+ def reset
9
+ @response = { 'ResponseMetadata' => {} }
10
+ end
11
+
12
+ def start_element(name, attrs = [])
13
+ super
14
+ end
15
+
16
+ def end_element(name)
17
+ case name
18
+ when 'RequestId'
19
+ @response['ResponseMetadata'][name] = value
20
+ end
21
+ end
22
+
23
+ end
24
+
25
+ end
26
+ end
27
+ end
28
+ end
@@ -12,9 +12,9 @@ module Fog
12
12
  def end_element(name)
13
13
  case name
14
14
  when 'member'
15
- @response['EnableAvailabilityZonesForLoadBalancerResult']['AvailabilityZones'] << @value
15
+ @response['EnableAvailabilityZonesForLoadBalancerResult']['AvailabilityZones'] << value
16
16
  when 'RequestId'
17
- @response['ResponseMetadata'][name] = @value
17
+ @response['ResponseMetadata'][name] = value
18
18
  end
19
19
  end
20
20
 
@@ -12,9 +12,9 @@ module Fog
12
12
  def end_element(name)
13
13
  case name
14
14
  when 'InstanceId'
15
- @response['RegisterInstancesWithLoadBalancerResult']['Instances'] << {name => @value}
15
+ @response['RegisterInstancesWithLoadBalancerResult']['Instances'] << {name => value}
16
16
  when 'RequestId'
17
- @response['ResponseMetadata'][name] = @value
17
+ @response['ResponseMetadata'][name] = value
18
18
  end
19
19
  end
20
20
 
@@ -8,7 +8,7 @@ module Fog
8
8
  def end_element(name)
9
9
  case name
10
10
  when 'RequestId'
11
- @response[name] = @value
11
+ @response[name] = value
12
12
  end
13
13
  end
14
14
 
@@ -12,9 +12,9 @@ module Fog
12
12
  def end_element(name)
13
13
  case name
14
14
  when 'AccessKeyId', 'UserName', 'SecretAccessKey', 'Status'
15
- @response['AccessKey'][name] = @value
15
+ @response['AccessKey'][name] = value
16
16
  when 'RequestId'
17
- @response[name] = @value
17
+ @response[name] = value
18
18
  end
19
19
  end
20
20
 
@@ -12,9 +12,9 @@ module Fog
12
12
  def end_element(name)
13
13
  case name
14
14
  when 'Arn', 'GroupId', 'GroupName', 'Path'
15
- @response['Group'][name] = @value
15
+ @response['Group'][name] = value
16
16
  when 'RequestId'
17
- @response[name] = @value
17
+ @response[name] = value
18
18
  end
19
19
  end
20
20
 
@@ -12,9 +12,9 @@ module Fog
12
12
  def end_element(name)
13
13
  case name
14
14
  when 'Arn', 'UserId', 'UserName', 'Path'
15
- @response['User'][name] = @value
15
+ @response['User'][name] = value
16
16
  when 'RequestId'
17
- @response[name] = @value
17
+ @response[name] = value
18
18
  end
19
19
  end
20
20
 
@@ -25,25 +25,25 @@ module Fog
25
25
  case name
26
26
  when 'Arn'
27
27
  if @in_group
28
- @response['Group'][name] = @value
28
+ @response['Group'][name] = value
29
29
  elsif @in_users
30
- @user[name] = @value
30
+ @user[name] = value
31
31
  end
32
32
  when 'Group'
33
33
  @in_group = false
34
34
  when 'GroupName', 'GroupId'
35
- @response['Group'][name] = @value
35
+ @response['Group'][name] = value
36
36
  when 'Users'
37
37
  @in_users = false
38
38
  when 'UserId', 'UserName', 'Path'
39
- @user[name] = @value
39
+ @user[name] = value
40
40
  when 'member'
41
41
  @response['Users'] << @user
42
42
  @user = {}
43
43
  when 'IsTruncated'
44
- response[name] = (@value == 'true')
44
+ response[name] = (value == 'true')
45
45
  when 'Marker', 'RequestId'
46
- @response[name] = @value
46
+ @response[name] = value
47
47
  end
48
48
  end
49
49
 
@@ -13,9 +13,9 @@ module Fog
13
13
  def end_element(name)
14
14
  case name
15
15
  when 'Arn', 'UserId', 'UserName', 'Path'
16
- @response['User'][name] = @value
16
+ @response['User'][name] = value
17
17
  when 'RequestId'
18
- @response[name] = @value
18
+ @response[name] = value
19
19
  end
20
20
  end
21
21
 
@@ -13,9 +13,9 @@ module Fog
13
13
  def end_element(name)
14
14
  case name
15
15
  when 'UserName', 'PolicyName', 'PolicyDocument'
16
- @response[name] = @value
16
+ @response[name] = value
17
17
  when 'RequestId'
18
- @response[name] = @value
18
+ @response[name] = value
19
19
  end
20
20
  end
21
21
 
@@ -13,14 +13,14 @@ module Fog
13
13
  def end_element(name)
14
14
  case name
15
15
  when 'AccessKeyId', 'Status', 'Username'
16
- @access_key[name] = @value
16
+ @access_key[name] = value
17
17
  when 'member'
18
18
  @response['AccessKeys'] << @access_key
19
19
  @access_key = {}
20
20
  when 'IsTruncated'
21
- response[name] = (@value == 'true')
21
+ response[name] = (value == 'true')
22
22
  when 'Marker', 'RequestId'
23
- response[name] = @value
23
+ response[name] = value
24
24
  end
25
25
  end
26
26
 
@@ -13,14 +13,14 @@ module Fog
13
13
  def end_element(name)
14
14
  case name
15
15
  when 'Arn', 'GroupId', 'GroupName', 'Path'
16
- @group[name] = @value
16
+ @group[name] = value
17
17
  when 'member'
18
18
  @response['Groups'] << @group
19
19
  @group = {}
20
20
  when 'IsTruncated'
21
- response[name] = (@value == 'true')
21
+ response[name] = (value == 'true')
22
22
  when 'Marker', 'RequestId'
23
- response[name] = @value
23
+ response[name] = value
24
24
  end
25
25
  end
26
26
 
@@ -13,14 +13,14 @@ module Fog
13
13
  def end_element(name)
14
14
  case name
15
15
  when 'Path', 'GroupName', 'GroupId', 'Arn'
16
- @group_for_user[name] = @value
16
+ @group_for_user[name] = value
17
17
  when 'member'
18
18
  @response['GroupsForUser'] << @group_for_user
19
19
  @group_for_user = {}
20
20
  when 'IsTruncated'
21
- response[name] = (@value == 'true')
21
+ response[name] = (value == 'true')
22
22
  when 'Marker', 'RequestId'
23
- response[name] = @value
23
+ response[name] = value
24
24
  end
25
25
  end
26
26
 
@@ -12,11 +12,11 @@ module Fog
12
12
  def end_element(name)
13
13
  case name
14
14
  when 'member'
15
- @response['PolicyNames'] << @value
15
+ @response['PolicyNames'] << value
16
16
  when 'IsTruncated'
17
- response[name] = (@value == 'true')
17
+ response[name] = (value == 'true')
18
18
  when 'Marker', 'RequestId'
19
- response[name] = @value
19
+ response[name] = value
20
20
  end
21
21
  end
22
22
 
@@ -0,0 +1,38 @@
1
+ module Fog
2
+ module Parsers
3
+ module AWS
4
+ module IAM
5
+
6
+ class ListServerCertificates < Fog::Parsers::Base
7
+
8
+ def reset
9
+ @response = { 'Certificates' => [] }
10
+ reset_certificate
11
+ end
12
+
13
+ def reset_certificate
14
+ @certificate = {}
15
+ end
16
+
17
+ def end_element(name)
18
+ case name
19
+ when 'Arn', 'Path', 'ServerCertificateId', 'ServerCertificateName'
20
+ @certificate[name] = value
21
+ when 'UploadDate'
22
+ @certificate[name] = Time.parse(value)
23
+ when 'member'
24
+ @response['Certificates'] << @certificate
25
+ reset_certificate
26
+ when 'IsTrunctated'
27
+ @response[name] = !!value
28
+ when 'Marker'
29
+ @response[name] = value
30
+ end
31
+ end
32
+
33
+ end
34
+
35
+ end
36
+ end
37
+ end
38
+ end
@@ -13,14 +13,14 @@ module Fog
13
13
  def end_element(name)
14
14
  case name
15
15
  when 'UserName', 'CertificateId', 'CertificateBody', 'Status'
16
- @signing_certificate[name] = @value
16
+ @signing_certificate[name] = value
17
17
  when 'member'
18
18
  @response['SigningCertificates'] << @signing_certificate
19
19
  @signing_certificate = {}
20
20
  when 'IsTruncated'
21
- response[name] = (@value == 'true')
21
+ response[name] = (value == 'true')
22
22
  when 'Marker', 'RequestId'
23
- response[name] = @value
23
+ response[name] = value
24
24
  end
25
25
  end
26
26