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
@@ -13,9 +13,9 @@ module Fog
13
13
  def end_element(name)
14
14
  case name
15
15
  when 'zone-id', 'ttl'
16
- @record[name] = @value.to_i
16
+ @record[name] = value.to_i
17
17
  when 'record-type', 'name', 'data', 'active', 'aux'
18
- @record[name] = @value
18
+ @record[name] = value
19
19
  when 'record'
20
20
  @response['records'] << @record
21
21
  @record = {}
@@ -12,9 +12,9 @@ module Fog
12
12
  def end_element(name)
13
13
  case name
14
14
  when 'ttl', 'id'
15
- @response[name] = @value.to_i
15
+ @response[name] = value.to_i
16
16
  when 'origin', 'active'
17
- @response[name] = @value
17
+ @response[name] = value
18
18
  end
19
19
  end
20
20
 
@@ -13,9 +13,9 @@ module Fog
13
13
  def end_element(name)
14
14
  case name
15
15
  when 'ttl', 'id'
16
- @zone[name] = @value.to_i
16
+ @zone[name] = value.to_i
17
17
  when 'active', 'origin'
18
- @zone[name] = @value
18
+ @zone[name] = value
19
19
  when 'zone'
20
20
  @response['zones'] << @zone
21
21
  @zone = {}
@@ -12,7 +12,7 @@ module Fog
12
12
  def end_element(name)
13
13
  case name
14
14
  when 'count'
15
- @response[name] = @value.to_i
15
+ @response[name] = value.to_i
16
16
  end
17
17
  end
18
18
 
@@ -12,7 +12,7 @@ module Fog
12
12
  def end_element(name)
13
13
  case name
14
14
  when 'count'
15
- @response[name] = @value.to_i
15
+ @response[name] = value.to_i
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 'id', 'priority', 'ttl', 'zone-id'
15
- @response[name] = @value.to_i
15
+ @response[name] = value.to_i
16
16
  when 'data', 'fqdn', 'host-type', 'hostname', 'notes', 'zone-id', 'created-at', 'updated-at'
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 'default-ttl', 'id', 'nx-ttl', 'hosts-count'
15
- @response[name] = @value.to_i
15
+ @response[name] = value.to_i
16
16
  when 'created-at', 'custom-nameservers', 'custom-ns', 'domain', 'hostmaster', 'notes', 'ns1', 'ns-type', 'slave-nameservers', 'tag-list', 'updated-at', 'hosts', 'axfr-ips', 'restrict-axfr'
17
- @response[name] = @value
17
+ @response[name] = value
18
18
  end
19
19
  end
20
20
 
@@ -13,9 +13,9 @@ module Fog
13
13
  def end_element(name)
14
14
  case name
15
15
  when 'id', 'priority', 'ttl', 'zone-id'
16
- @host[name] = @value.to_i
16
+ @host[name] = value.to_i
17
17
  when 'data', 'fqdn', 'host-type', 'hostname', 'notes', 'zone-id', 'created-at', 'updated-at'
18
- @host[name] = @value
18
+ @host[name] = value
19
19
  when 'host'
20
20
  @response['hosts'] << @host
21
21
  @host = {}
@@ -12,9 +12,9 @@ module Fog
12
12
  def end_element(name)
13
13
  case name
14
14
  when 'id', 'priority', 'ttl', 'zone-id'
15
- @response[name] = @value.to_i
15
+ @response[name] = value.to_i
16
16
  when 'data', 'fqdn', 'host-type', 'hostname', 'notes', 'zone-id', 'created-at', 'updated-at'
17
- @response[name] = @value
17
+ @response[name] = value
18
18
  end
19
19
  end
20
20
 
@@ -26,9 +26,9 @@ module Fog
26
26
  #in hosts part of response
27
27
  case name
28
28
  when 'id', 'priority', 'ttl', 'zone-id'
29
- @host[name] = @value.to_i
29
+ @host[name] = value.to_i
30
30
  when 'data', 'fqdn', 'host-type', 'hostname', 'notes', 'zone-id', 'created-at', 'updated-at'
31
- @host[name] = @value
31
+ @host[name] = value
32
32
  when 'host'
33
33
  @hosts << @host
34
34
  @host = {}
@@ -40,9 +40,9 @@ module Fog
40
40
  #in zone part of data
41
41
  case name
42
42
  when 'default-ttl', 'id', 'nx-ttl', 'hosts-count'
43
- @response[name] = @value.to_i
43
+ @response[name] = value.to_i
44
44
  when 'created-at', 'custom-nameservers', 'custom-ns', 'domain', 'hostmaster', 'notes', 'ns1', 'ns-type', 'slave-nameservers', 'tag-list', 'updated-at', 'hosts', 'axfr-ips', 'restrict-axfr'
45
- @response[name] = @value
45
+ @response[name] = value
46
46
  end
47
47
  end
48
48
 
@@ -12,9 +12,9 @@ module Fog
12
12
  def end_element(name)
13
13
  case name
14
14
  when 'id', 'queries'
15
- @response[name] = @value.to_i
15
+ @response[name] = value.to_i
16
16
  when 'domain', 'period-begin', 'period-end'
17
- @response[name] = @value
17
+ @response[name] = value
18
18
  end
19
19
  end
20
20
 
@@ -13,9 +13,9 @@ module Fog
13
13
  def end_element(name)
14
14
  case name
15
15
  when 'id', 'priority', 'ttl', 'zone-id'
16
- @host[name] = @value.to_i
16
+ @host[name] = value.to_i
17
17
  when 'data', 'fqdn', 'host-type', 'hostname', 'notes', 'zone-id', 'created-at', 'updated-at'
18
- @host[name] = @value
18
+ @host[name] = value
19
19
  when 'host'
20
20
  @response['hosts'] << @host
21
21
  @host = {}
@@ -13,9 +13,9 @@ module Fog
13
13
  def end_element(name)
14
14
  case name
15
15
  when 'default-ttl', 'id', 'nx-ttl', 'hosts-count'
16
- @zone[name] = @value.to_i
16
+ @zone[name] = value.to_i
17
17
  when 'created-at', 'custom-nameservers', 'custom-ns', 'domain', 'hostmaster', 'notes', 'ns1', 'ns-type', 'slave-nameservers', 'tag-list', 'updated-at', 'hosts', 'axfr-ips', 'restrict-axfr'
18
- @zone[name] = @value
18
+ @zone[name] = value
19
19
  when 'zone'
20
20
  @response['zones'] << @zone
21
21
  @zone = {}
data/lib/fog/providers.rb CHANGED
@@ -18,6 +18,7 @@ require 'fog/providers/local'
18
18
  require 'fog/providers/new_servers'
19
19
  require 'fog/providers/rackspace'
20
20
  require 'fog/providers/slicehost'
21
+ require 'fog/providers/storm_on_demand'
21
22
  require 'fog/providers/virtual_box'
22
23
  require 'fog/providers/voxel'
23
24
  require 'fog/providers/zerigo'
@@ -41,6 +41,10 @@ module Fog
41
41
  params
42
42
  end
43
43
 
44
+ def self.escape(string)
45
+ string.gsub( /([^-a-zA-Z0-9_.~]+)/n ) { |match| '%' + match.unpack( 'H2' * match.size ).join( '%' ).upcase }
46
+ end
47
+
44
48
  def self.signed_params(params, options = {})
45
49
  params.merge!({
46
50
  'AWSAccessKeyId' => options[:aws_access_key_id],
@@ -53,7 +57,7 @@ module Fog
53
57
  body = ''
54
58
  for key in params.keys.sort
55
59
  unless (value = params[key]).nil?
56
- body << "#{key}=#{CGI.escape(value.to_s).gsub(/\+/, '%20')}&"
60
+ body << "#{key}=#{escape(value.to_s)}&"
57
61
  end
58
62
  end
59
63
  string_to_sign = "POST\n#{options[:host]}:#{options[:port]}\n#{options[:path]}\n" << body.chop
@@ -0,0 +1,12 @@
1
+ require 'fog/core'
2
+
3
+ module Fog
4
+ module StormOnDemand
5
+
6
+ extend Fog::Provider
7
+
8
+ service(:compute, 'compute/storm_on_demand')
9
+
10
+ end
11
+ end
12
+
@@ -39,6 +39,23 @@ module Fog
39
39
  end
40
40
  end
41
41
 
42
+ alias :each_file_this_page :each
43
+ def each
44
+ if !block_given?
45
+ self
46
+ else
47
+ subset = dup.all
48
+
49
+ subset.each_file_this_page {|f| yield f}
50
+ while subset.is_truncated
51
+ subset = subset.all(:marker => subset.last.key)
52
+ subset.each_file_this_page {|f| yield f}
53
+ end
54
+
55
+ self
56
+ end
57
+ end
58
+
42
59
  def get(key, options = {}, &block)
43
60
  requires :directory
44
61
  data = connection.get_object(directory.key, key, options, &block)
@@ -39,6 +39,23 @@ module Fog
39
39
  end
40
40
  end
41
41
 
42
+ alias :each_file_this_page :each
43
+ def each
44
+ if !block_given?
45
+ self
46
+ else
47
+ subset = dup.all
48
+
49
+ subset.each_file_this_page {|f| yield f}
50
+ while subset.is_truncated
51
+ subset = subset.all(:marker => subset.last.key)
52
+ subset.each_file_this_page {|f| yield f}
53
+ end
54
+
55
+ self
56
+ end
57
+ end
58
+
42
59
  def get(key, options = {}, &block)
43
60
  requires :directory
44
61
  data = connection.get_object(directory.key, key, options, &block)
@@ -35,6 +35,23 @@ module Fog
35
35
  end
36
36
  end
37
37
 
38
+ alias :each_file_this_page :each
39
+ def each
40
+ if !block_given?
41
+ self
42
+ else
43
+ subset = dup.all
44
+
45
+ subset.each_file_this_page {|f| yield f}
46
+ until subset.empty? || subset.length == (subset.limit || 10000)
47
+ subset = subset.all(:marker => subset.last.key)
48
+ subset.each_file_this_page {|f| yield f}
49
+ end
50
+
51
+ self
52
+ end
53
+ end
54
+
38
55
  def get(key, &block)
39
56
  requires :directory
40
57
  data = connection.get_object(directory.key, key, &block)
@@ -27,14 +27,14 @@ module Fog
27
27
  @grant = { 'Grantee' => {} }
28
28
  when 'DisplayName', 'ID'
29
29
  if @in_access_control_list
30
- @grant['Grantee'][name] = @value
30
+ @grant['Grantee'][name] = value
31
31
  else
32
- @response['Owner'][name] = @value
32
+ @response['Owner'][name] = value
33
33
  end
34
34
  when 'Permission'
35
- @grant[name] = @value
35
+ @grant[name] = value
36
36
  when 'URI'
37
- @grant['Grantee'][name] = @value
37
+ @grant['Grantee'][name] = value
38
38
  end
39
39
  end
40
40
 
@@ -12,7 +12,7 @@ module Fog
12
12
  def end_element(name)
13
13
  case name
14
14
  when 'Bucket', 'ETag', 'Key', 'Location'
15
- @response[name] = @value
15
+ @response[name] = value
16
16
  end
17
17
  end
18
18
 
@@ -8,9 +8,9 @@ module Fog
8
8
  def end_element(name)
9
9
  case name
10
10
  when 'ETag'
11
- @response[name] = @value.gsub('"', '')
11
+ @response[name] = value.gsub('"', '')
12
12
  when 'LastModified'
13
- @response[name] = Time.parse(@value)
13
+ @response[name] = Time.parse(value)
14
14
  end
15
15
  end
16
16
 
@@ -26,31 +26,31 @@ module Fog
26
26
  @response['Contents'] << @object
27
27
  @object = { 'Owner' => {} }
28
28
  when 'DisplayName', 'ID'
29
- @object['Owner'][name] = @value
29
+ @object['Owner'][name] = value
30
30
  when 'ETag'
31
- @object[name] = @value.gsub('"', '')
31
+ @object[name] = value.gsub('"', '')
32
32
  when 'IsTruncated'
33
- if @value == 'true'
33
+ if value == 'true'
34
34
  @response['IsTruncated'] = true
35
35
  else
36
36
  @response['IsTruncated'] = false
37
37
  end
38
38
  when 'LastModified'
39
- @object['LastModified'] = Time.parse(@value)
39
+ @object['LastModified'] = Time.parse(value)
40
40
  when 'Marker', 'Name'
41
- @response[name] = @value
41
+ @response[name] = value
42
42
  when 'MaxKeys'
43
- @response['MaxKeys'] = @value.to_i
43
+ @response['MaxKeys'] = value.to_i
44
44
  when 'Prefix'
45
45
  if @in_common_prefixes
46
- @response['CommonPrefixes'] << @value
46
+ @response['CommonPrefixes'] << value
47
47
  else
48
- @response[name] = @value
48
+ @response[name] = value
49
49
  end
50
50
  when 'Size'
51
- @object['Size'] = @value.to_i
51
+ @object['Size'] = value.to_i
52
52
  when 'Delimiter', 'Key', 'StorageClass'
53
- @object[name] = @value
53
+ @object[name] = value
54
54
  end
55
55
  end
56
56
 
@@ -8,7 +8,7 @@ module Fog
8
8
  def end_element(name)
9
9
  case name
10
10
  when 'LocationConstraint'
11
- @response[name] = @value
11
+ @response[name] = value
12
12
  end
13
13
  end
14
14
 
@@ -14,9 +14,9 @@ module Fog
14
14
  case name
15
15
  when 'DisplayName', 'ID'
16
16
  if @in_access_control_list
17
- @grant['Grantee'][name] = @value
17
+ @grant['Grantee'][name] = value
18
18
  else
19
- @response['Owner'][name] = @value
19
+ @response['Owner'][name] = value
20
20
  end
21
21
  when 'Grant'
22
22
  @response['BucketLoggingStatus']['LoggingEnabled']['TargetGrants'] << @grant
@@ -24,11 +24,11 @@ module Fog
24
24
  when 'LoggingEnabled'
25
25
  @response['BucketLoggingStatus']['LoggingEnabled'] = { 'TargetGrants' => [] }
26
26
  when 'Permission'
27
- @grant[name] = @value
27
+ @grant[name] = value
28
28
  when 'TargetBucket', 'TargetPrefix'
29
- @response['BucketLoggingStatus'][name] = @value
29
+ @response['BucketLoggingStatus'][name] = value
30
30
  when 'URI'
31
- @grant['Grantee'][name] = @value
31
+ @grant['Grantee'][name] = value
32
32
  end
33
33
  end
34
34
 
@@ -40,21 +40,21 @@ module Fog
40
40
  @delete_marker
41
41
  elsif @in_version
42
42
  @version
43
- end['Owner'][name] = @value
43
+ end['Owner'][name] = value
44
44
  when 'ETag'
45
- @version[name] = @value.gsub('"', '')
45
+ @version[name] = value.gsub('"', '')
46
46
  when 'IsLatest'
47
47
  if @in_delete_marker
48
48
  @delete_marker
49
49
  elsif @in_version
50
50
  @version
51
- end['IsLatest'] = if @value == 'true'
51
+ end['IsLatest'] = if value == 'true'
52
52
  true
53
53
  else
54
54
  false
55
55
  end
56
56
  when 'IsTruncated'
57
- if @value == 'true'
57
+ if value == 'true'
58
58
  @response['IsTruncated'] = true
59
59
  else
60
60
  @response['IsTruncated'] = false
@@ -64,11 +64,11 @@ module Fog
64
64
  @delete_marker
65
65
  elsif @in_version
66
66
  @version
67
- end['LastModified'] = Time.parse(@value)
67
+ end['LastModified'] = Time.parse(value)
68
68
  when 'MaxKeys'
69
- @response['MaxKeys'] = @value.to_i
69
+ @response['MaxKeys'] = value.to_i
70
70
  when 'Size'
71
- @version['Size'] = @value.to_i
71
+ @version['Size'] = value.to_i
72
72
  when 'Key', 'KeyMarker', 'Name', 'Prefix', 'StorageClass', 'VersionId', 'VersionIdMarker'
73
73
  if @in_delete_marker
74
74
  @delete_marker
@@ -76,7 +76,7 @@ module Fog
76
76
  @version
77
77
  else
78
78
  @response
79
- end[name] = @value
79
+ end[name] = value
80
80
  end
81
81
  end
82
82