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
@@ -36,7 +36,7 @@ module Fog
36
36
  @credentials ||= begin
37
37
  if credentials_path && File.exists?(credentials_path)
38
38
  credentials = self.symbolize_credentials(YAML.load_file(credentials_path))
39
- (credentials && credentials[credential]) or raise LoadError.new(missing_credentials)
39
+ (credentials && credentials[credential]) || Fog::Errors.missing_credentials
40
40
  else
41
41
  {}
42
42
  end
@@ -53,55 +53,4 @@ module Fog
53
53
  end
54
54
  end
55
55
 
56
- private
57
-
58
- # @return [String] The error message that will be raised, if credentials cannot be found
59
- def self.missing_credentials
60
- <<-YML
61
- Missing Credentials
62
-
63
- To run as '#{credential}', add the following to your resource config file: #{credentials_path}
64
- An alternate file may be used by placing its path in the FOG_RC environment variable
65
-
66
- #######################################################
67
- # Fog Credentials File
68
- #
69
- # Key-value pairs should look like:
70
- # :aws_access_key_id: 022QF06E7MXBSAMPLE
71
- :#{credential}:
72
- :aws_access_key_id:
73
- :aws_secret_access_key:
74
- :bluebox_api_key:
75
- :bluebox_customer_id:
76
- :brightbox_client_id:
77
- :brightbox_secret:
78
- :go_grid_api_key:
79
- :go_grid_shared_secret:
80
- :google_storage_access_key_id:
81
- :google_storage_secret_access_key:
82
- :linode_api_key:
83
- :local_root:
84
- :new_servers_password:
85
- :new_servers_username:
86
- :public_key_path:
87
- :private_key_path:
88
- :rackspace_api_key:
89
- :rackspace_username:
90
- :rackspace_servicenet:
91
- :rackspace_cdn_ssl:
92
- :slicehost_password:
93
- :terremark_username:
94
- :terremark_password:
95
- :voxel_api_key:
96
- :voxel_api_secret:
97
- :zerigo_email:
98
- :zerigo_token:
99
- :dnsimple_email:
100
- :dnsimple_password:
101
- #
102
- # End of Fog Credentials File
103
- #######################################################
104
-
105
- YML
106
- end
107
56
  end
@@ -16,5 +16,58 @@ module Fog
16
16
 
17
17
  class NotFound < Fog::Errors::Error; end
18
18
 
19
+ # @return [String] The error message that will be raised, if credentials cannot be found
20
+ def self.missing_credentials
21
+ missing_credentials_message = <<-YML
22
+ Missing Credentials
23
+
24
+ To run as '#{Fog.credential}', add the following to your resource config file: #{Fog.credentials_path}
25
+ An alternate file may be used by placing its path in the FOG_RC environment variable
26
+
27
+ #######################################################
28
+ # Fog Credentials File
29
+ #
30
+ # Key-value pairs should look like:
31
+ # :aws_access_key_id: 022QF06E7MXBSAMPLE
32
+ :#{Fog.credential}:
33
+ :aws_access_key_id:
34
+ :aws_secret_access_key:
35
+ :bluebox_api_key:
36
+ :bluebox_customer_id:
37
+ :brightbox_client_id:
38
+ :brightbox_secret:
39
+ :go_grid_api_key:
40
+ :go_grid_shared_secret:
41
+ :google_storage_access_key_id:
42
+ :google_storage_secret_access_key:
43
+ :linode_api_key:
44
+ :local_root:
45
+ :new_servers_password:
46
+ :new_servers_username:
47
+ :public_key_path:
48
+ :private_key_path:
49
+ :rackspace_api_key:
50
+ :rackspace_username:
51
+ :rackspace_servicenet:
52
+ :rackspace_cdn_ssl:
53
+ :slicehost_password:
54
+ :stormondemand_username:
55
+ :stormondemand_password:
56
+ :terremark_username:
57
+ :terremark_password:
58
+ :voxel_api_key:
59
+ :voxel_api_secret:
60
+ :zerigo_email:
61
+ :zerigo_token:
62
+ :dnsimple_email:
63
+ :dnsimple_password:
64
+ #
65
+ # End of Fog Credentials File
66
+ #######################################################
67
+
68
+ YML
69
+ raise(LoadError.new(missing_credentials_message))
70
+ end
71
+
19
72
  end
20
73
  end
@@ -25,11 +25,16 @@ module Fog
25
25
 
26
26
  def reload
27
27
  requires :identity
28
- if data = collection.get(identity)
29
- new_attributes = data.attributes
30
- merge_attributes(new_attributes)
31
- self
28
+
29
+ return unless data = begin
30
+ collection.get(identity)
31
+ rescue Excon::Errors::SocketError
32
+ nil
32
33
  end
34
+
35
+ new_attributes = data.attributes
36
+ merge_attributes(new_attributes)
37
+ self
33
38
  end
34
39
 
35
40
  def to_json
@@ -39,8 +44,8 @@ module Fog
39
44
 
40
45
  def wait_for(timeout=600, interval=1, &block)
41
46
  reload
47
+ retries = 3
42
48
  Fog.wait_for(timeout, interval) do
43
- retries = 3
44
49
  if reload
45
50
  retries = 3
46
51
  elsif retries > 0
@@ -10,20 +10,25 @@ module Fog
10
10
  reset
11
11
  end
12
12
 
13
+ def attr_value(name, attrs)
14
+ (entry = attrs.detect {|a, v| a == name }) && entry.last
15
+ end
16
+
13
17
  def reset
14
18
  @response = {}
15
19
  end
16
20
 
17
21
  def characters(string)
18
- @value = string
22
+ @value ||= ''
23
+ @value << string
19
24
  end
20
25
 
21
26
  def start_element(name, attrs = [])
22
27
  @value = nil
23
28
  end
24
29
 
25
- def attr_value(name, attrs)
26
- (entry = attrs.detect {|a, v| a == name }) && entry.last
30
+ def value
31
+ @value && @value.dup
27
32
  end
28
33
 
29
34
  end
@@ -33,7 +33,7 @@ module Fog
33
33
  def get(record_id)
34
34
  data = connection.get_change(record_id).body
35
35
  new(data)
36
- rescue Excon::Errors::BadRequest
36
+ rescue Excon::Errors::Forbidden
37
37
  nil
38
38
  end
39
39
 
@@ -22,7 +22,7 @@ module Fog
22
22
  def get(zone_id)
23
23
  data = connection.get_hosted_zone(zone_id).body
24
24
  new(data)
25
- rescue Excon::Errors::BadRequest
25
+ rescue Excon::Errors::Forbidden
26
26
  nil
27
27
  end
28
28
 
@@ -12,9 +12,9 @@ module Fog
12
12
  def end_element(name)
13
13
  case name
14
14
  when 'Id'
15
- @response[name] = @value.sub('/change/', '')
15
+ @response[name] = value.sub('/change/', '')
16
16
  when 'Status', 'SubmittedAt'
17
- @response[name] = @value
17
+ @response[name] = value
18
18
  end
19
19
  end
20
20
 
@@ -17,9 +17,9 @@ module Fog
17
17
  if @section == :hosted_zone
18
18
  case name
19
19
  when 'Id'
20
- @hosted_zone[name] = @value.sub('/hostedzone/', '')
20
+ @hosted_zone[name] = value.sub('/hostedzone/', '')
21
21
  when 'Name', 'CallerReference', 'Comment'
22
- @hosted_zone[name]= @value
22
+ @hosted_zone[name]= value
23
23
  when 'HostedZone'
24
24
  @response['HostedZone'] = @hosted_zone
25
25
  @hosted_zone = {}
@@ -28,9 +28,9 @@ module Fog
28
28
  elsif @section == :change_info
29
29
  case name
30
30
  when 'Id'
31
- @change_info[name]= @value.sub('/change/', '')
31
+ @change_info[name]= value.sub('/change/', '')
32
32
  when 'Status', 'SubmittedAt'
33
- @change_info[name] = @value
33
+ @change_info[name] = value
34
34
  when 'ChangeInfo'
35
35
  @response['ChangeInfo'] = @change_info
36
36
  @change_info = {}
@@ -39,7 +39,7 @@ module Fog
39
39
  elsif @section == :name_servers
40
40
  case name
41
41
  when 'NameServer'
42
- @name_servers << @value
42
+ @name_servers << value
43
43
  when 'NameServers'
44
44
  @response['NameServers'] = @name_servers
45
45
  @name_servers = {}
@@ -13,7 +13,7 @@ module Fog
13
13
  def end_element(name)
14
14
  case name
15
15
  when 'Id', 'Status', 'SubmittedAt'
16
- @response['ChangeInfo'][name] = @value
16
+ @response['ChangeInfo'][name] = value
17
17
  end
18
18
  end
19
19
 
@@ -12,9 +12,9 @@ module Fog
12
12
  def end_element(name)
13
13
  case name
14
14
  when 'Id'
15
- @response[name] = @value.sub('/change/', '')
15
+ @response[name] = value.sub('/change/', '')
16
16
  when 'Status', 'SubmittedAt'
17
- @response[name] = @value
17
+ @response[name] = value
18
18
  end
19
19
  end
20
20
 
@@ -16,9 +16,9 @@ module Fog
16
16
  if @section == :hosted_zone
17
17
  case name
18
18
  when 'Id'
19
- @hosted_zone[name]= @value.sub('/hostedzone/', '')
19
+ @hosted_zone[name]= value.sub('/hostedzone/', '')
20
20
  when 'Name', 'CallerReference', 'Comment'
21
- @hosted_zone[name]= @value
21
+ @hosted_zone[name]= value
22
22
  when 'HostedZone'
23
23
  @response['HostedZone'] = @hosted_zone
24
24
  @hosted_zone = {}
@@ -27,7 +27,7 @@ module Fog
27
27
  elsif @section == :name_servers
28
28
  case name
29
29
  when 'NameServer'
30
- @name_servers << @value
30
+ @name_servers << value
31
31
  when 'NameServers'
32
32
  @response['NameServers'] = @name_servers
33
33
  @name_servers = {}
@@ -14,18 +14,18 @@ module Fog
14
14
  def end_element(name)
15
15
  case name
16
16
  when 'Id'
17
- @zone[name] = @value.sub('/hostedzone/', '')
17
+ @zone[name] = value.sub('/hostedzone/', '')
18
18
  when 'Name', 'CallerReference', 'Comment'
19
- @zone[name] = @value
19
+ @zone[name] = value
20
20
  when 'HostedZone'
21
21
  @hosted_zones << @zone
22
22
  @zone = {}
23
23
  when 'HostedZones'
24
24
  @response['HostedZones'] = @hosted_zones
25
25
  when 'MaxItems'
26
- @response[name] = @value.to_i
26
+ @response[name] = value.to_i
27
27
  when 'IsTruncated', 'Marker', 'NextMarker'
28
- @response[name] = @value
28
+ @response[name] = value
29
29
  end
30
30
  end
31
31
 
@@ -18,9 +18,9 @@ module Fog
18
18
  if @section == :resource_record_set
19
19
  case name
20
20
  when 'Name', 'Type', 'TTL'
21
- @resource_record_set[name] = @value
21
+ @resource_record_set[name] = value
22
22
  when 'Value'
23
- @resource_record_set['ResourceRecords'] << @value
23
+ @resource_record_set['ResourceRecords'] << value
24
24
  when 'ResourceRecordSet'
25
25
  @response['ResourceRecordSets'] << @resource_record_set
26
26
  @resource_record_set = {}
@@ -31,9 +31,9 @@ module Fog
31
31
  elsif @section == :main
32
32
  case name
33
33
  when 'MaxItems'
34
- @response[name]= @value.to_i
34
+ @response[name]= value.to_i
35
35
  when 'IsTruncated', 'NextRecordName', 'NextRecordType'
36
- @response[name]= @value
36
+ @response[name]= value
37
37
  end
38
38
  end
39
39
  end
@@ -12,9 +12,9 @@ module Fog
12
12
  def end_element(name)
13
13
  case name
14
14
  when 'serial', 'ttl', 'retry', 'refresh', 'minimum', 'record-count', 'expires'
15
- @response[name] = @value.to_i
15
+ @response[name] = value.to_i
16
16
  when 'name', 'id'
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 'serial', 'ttl', 'retry', 'refresh', 'minimum', 'record-count', 'expires'
15
- @response[name] = @value.to_i
15
+ @response[name] = value.to_i
16
16
  when 'name', 'id'
17
- @response[name] = @value
17
+ @response[name] = value
18
18
  end
19
19
  end
20
20
 
@@ -10,7 +10,7 @@ module Fog
10
10
  end
11
11
 
12
12
  def end_element(name)
13
- @response[name] = @value
13
+ @response[name] = value
14
14
  end
15
15
 
16
16
  end
@@ -16,7 +16,7 @@ module Fog
16
16
  @response['records'] << @record
17
17
  @record = {}
18
18
  else
19
- @record[name] = @value
19
+ @record[name] = value
20
20
  end
21
21
  end
22
22
  end
@@ -11,9 +11,9 @@ module Fog
11
11
  def end_element(name)
12
12
  case name
13
13
  when 'serial', 'ttl', 'retry', 'expires', 'record-count', 'refresh', 'minimum'
14
- @response[name] = @value.to_i
14
+ @response[name] = value.to_i
15
15
  when 'name', 'id'
16
- @response[name] = @value
16
+ @response[name] = value
17
17
  end
18
18
  end
19
19
  end
@@ -13,9 +13,9 @@ module Fog
13
13
  def end_element(name)
14
14
  case name
15
15
  when 'serial', 'ttl', 'retry', 'expires', 'record-count', 'refresh', 'minimum'
16
- @zone[name] = @value.to_i
16
+ @zone[name] = value.to_i
17
17
  when 'name', 'id'
18
- @zone[name] = @value
18
+ @zone[name] = value
19
19
  when 'record'
20
20
  @response['zones'] << @zone
21
21
  @zone = {}
@@ -12,9 +12,9 @@ module Fog
12
12
  def end_element(name)
13
13
  case name
14
14
  when 'zone-id', 'ttl', 'id'
15
- @response[name] = @value.to_i
15
+ @response[name] = value.to_i
16
16
  when 'record-type', 'name', 'data', 'active', 'aux'
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 '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
 
@@ -12,9 +12,9 @@ module Fog
12
12
  def end_element(name)
13
13
  case name
14
14
  when 'zone-id', 'ttl'
15
- @response[name] = @value.to_i
15
+ @response[name] = value.to_i
16
16
  when 'record-type', 'name', 'data', 'active', 'aux'
17
- @response[name] = @value
17
+ @response[name] = value
18
18
  end
19
19
  end
20
20