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
@@ -23,13 +23,13 @@ module Fog
23
23
 
24
24
  def end_element(name)
25
25
  case name
26
- when 'DBSecurityGroupDescription' then @security_group['DBSecurityGroupDescription'] = @value
27
- when 'DBSecurityGroupName' then @security_group['DBSecurityGroupName'] = @value
28
- when 'OwnerId' then @security_group['OwnerId'] = @value
26
+ when 'DBSecurityGroupDescription' then @security_group['DBSecurityGroupDescription'] = value
27
+ when 'DBSecurityGroupName' then @security_group['DBSecurityGroupName'] = value
28
+ when 'OwnerId' then @security_group['OwnerId'] = value
29
29
  when 'EC2SecurityGroup', 'IPRange'
30
30
  @security_group["#{name}s"] << @ingress unless @ingress.empty?
31
31
  when 'EC2SecurityGroupName', 'EC2SecurityGroupOwnerId', 'CIDRIP', 'Status'
32
- @ingress[name] = @value
32
+ @ingress[name] = value
33
33
  end
34
34
  end
35
35
  end
@@ -20,17 +20,17 @@ module Fog
20
20
 
21
21
  def end_element(name)
22
22
  case name
23
- when 'AllocatedStorage' then @db_snapshot['AllocatedStorage'] = @value.to_i
24
- when 'AvailabilityZone' then @db_snapshot['AvailabilityZone'] = @value
25
- when 'DBInstanceIdentifier' then @db_snapshot['DBInstanceIdentifier'] = @value
26
- when 'DBSnapshotIdentifier' then @db_snapshot['DBSnapshotIdentifier'] = @value
27
- when 'Engine' then @db_snapshot['Engine'] = @value
28
- when 'EngineVersion' then @db_snapshot['EngineVersion'] = @value
29
- when 'InstanceCreateTime' then @db_snapshot['InstanceCreateTime'] = Time.parse @value
30
- when 'MasterUsername' then @db_snapshot['MasterUsername'] = @value
31
- when 'Port' then @db_snapshot['Port'] = @value.to_i
32
- when 'SnapshotCreateTime' then @db_snapshot['SnapshotCreateTime'] = Time.parse @value
33
- when 'Status' then @db_snapshot['Status'] = @value
23
+ when 'AllocatedStorage' then @db_snapshot['AllocatedStorage'] = value.to_i
24
+ when 'AvailabilityZone' then @db_snapshot['AvailabilityZone'] = value
25
+ when 'DBInstanceIdentifier' then @db_snapshot['DBInstanceIdentifier'] = value
26
+ when 'DBSnapshotIdentifier' then @db_snapshot['DBSnapshotIdentifier'] = value
27
+ when 'Engine' then @db_snapshot['Engine'] = value
28
+ when 'EngineVersion' then @db_snapshot['EngineVersion'] = value
29
+ when 'InstanceCreateTime' then @db_snapshot['InstanceCreateTime'] = Time.parse value
30
+ when 'MasterUsername' then @db_snapshot['MasterUsername'] = value
31
+ when 'Port' then @db_snapshot['Port'] = value.to_i
32
+ when 'SnapshotCreateTime' then @db_snapshot['SnapshotCreateTime'] = Time.parse value
33
+ when 'Status' then @db_snapshot['Status'] = value
34
34
  end
35
35
  end
36
36
  end
@@ -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 "Max24HourSend", "MaxSendRate", "SentLast24Hours"
15
- @response[name] = @value
15
+ @response[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 "Bounces", "Complaints", "DeliveryAttempts", "Rejects", "Timestamp"
16
- @send_data_point[name] = @value
16
+ @send_data_point[name] = value
17
17
  when 'member'
18
18
  @response['SendDataPoints'] << @send_data_point
19
19
  @send_data_point = {}
20
20
  when 'RequestId'
21
- @response['ResponseMetadata'][name] = @value
21
+ @response['ResponseMetadata'][name] = value
22
22
  end
23
23
  end
24
24
  end
@@ -12,9 +12,9 @@ module Fog
12
12
  def end_element(name)
13
13
  case name
14
14
  when 'member'
15
- @response['VerifiedEmailAddresses'] << @value
15
+ @response['VerifiedEmailAddresses'] << value
16
16
  when 'RequestId'
17
- @response['ResponseMetadata'][name] = @value
17
+ @response['ResponseMetadata'][name] = value
18
18
  end
19
19
  end
20
20
  end
@@ -12,9 +12,9 @@ module Fog
12
12
  def end_element(name)
13
13
  case name
14
14
  when 'MessageId'
15
- @response[name] = @value
15
+ @response[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,9 +12,9 @@ module Fog
12
12
  def end_element(name)
13
13
  case name
14
14
  when 'MessageId'
15
- @response[name] = @value
15
+ @response[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
 
@@ -13,9 +13,9 @@ module Fog
13
13
  def end_element(name)
14
14
  case(name)
15
15
  when 'BoxUsage'
16
- response[name] = @value.to_f
16
+ response[name] = value.to_f
17
17
  when 'RequestId'
18
- response[name] = @value
18
+ response[name] = value
19
19
  end
20
20
  end
21
21
 
@@ -14,13 +14,13 @@ module Fog
14
14
  def end_element(name)
15
15
  case name
16
16
  when 'AttributeNameCount', 'AttributeNamesSizeBytes', 'AttributeValueCount', 'AttributeValuesSizeBytes', 'ItemCount', 'ItemNamesSizeBytes'
17
- response[name] = @value.to_i
17
+ response[name] = value.to_i
18
18
  when 'BoxUsage'
19
- response[name] = @value.to_f
19
+ response[name] = value.to_f
20
20
  when 'RequestId'
21
- response[name] = @value
21
+ response[name] = value
22
22
  when 'Timestamp'
23
- response[name] = Time.at(@value.to_i)
23
+ response[name] = Time.at(value.to_i)
24
24
  end
25
25
  end
26
26
 
@@ -17,14 +17,14 @@ module Fog
17
17
  when 'Attribute'
18
18
  @attribute = nil
19
19
  when 'BoxUsage'
20
- response[name] = @value.to_f
20
+ response[name] = value.to_f
21
21
  when 'Name'
22
- @attribute = @value
22
+ @attribute = value
23
23
  response['Attributes'][@attribute] ||= []
24
24
  when 'RequestId'
25
- response[name] = @value
25
+ response[name] = value
26
26
  when 'Value'
27
- response['Attributes'][@attribute] << sdb_decode(@value)
27
+ response['Attributes'][@attribute] << sdb_decode(value)
28
28
  end
29
29
  end
30
30
 
@@ -14,11 +14,11 @@ module Fog
14
14
  def end_element(name)
15
15
  case(name)
16
16
  when 'BoxUsage'
17
- response[name] = @value.to_f
17
+ response[name] = value.to_f
18
18
  when 'DomainName'
19
- response['Domains'] << @value
19
+ response['Domains'] << value
20
20
  when 'NextToken', 'RequestId'
21
- response[name] = @value
21
+ response[name] = value
22
22
  end
23
23
  end
24
24
 
@@ -15,21 +15,21 @@ module Fog
15
15
  def end_element(name)
16
16
  case name
17
17
  when 'BoxUsage'
18
- response[name] = @value.to_f
18
+ response[name] = value.to_f
19
19
  when 'Item'
20
20
  @item_name = @attribute_name = nil
21
21
  when 'Name'
22
22
  if @item_name.nil?
23
- @item_name = @value
23
+ @item_name = value
24
24
  response['Items'][@item_name] = {}
25
25
  else
26
- @attribute_name = @value
26
+ @attribute_name = value
27
27
  response['Items'][@item_name][@attribute_name] ||= []
28
28
  end
29
29
  when 'NextToken', 'RequestId'
30
- response[name] = @value
30
+ response[name] = value
31
31
  when 'Value'
32
- response['Items'][@item_name][@attribute_name] << sdb_decode(@value)
32
+ response['Items'][@item_name][@attribute_name] << sdb_decode(value)
33
33
  end
34
34
  end
35
35
 
data/lib/fog/aws/rds.rb CHANGED
@@ -2,7 +2,6 @@ module Fog
2
2
  module AWS
3
3
  class RDS < Fog::Service
4
4
 
5
- class NotFound < Fog::Errors::Error; end
6
5
  class IdentifierTaken < Fog::Errors::Error; end
7
6
 
8
7
  requires :aws_access_key_id, :aws_secret_access_key
@@ -38,7 +37,7 @@ module Fog
38
37
  request :restore_db_instance_from_db_snapshot
39
38
  request :restore_db_instance_to_point_in_time
40
39
 
41
- model_path 'fog/aws/rds/models'
40
+ model_path 'fog/aws/models/rds'
42
41
  model :server
43
42
  collection :servers
44
43
  model :snapshot
@@ -140,7 +139,7 @@ module Fog
140
139
  rescue Excon::Errors::HTTPStatusError => error
141
140
  if match = error.message.match(/<Code>(.*)<\/Code>[\s\\\w]+<Message>(.*)<\/Message>/m)
142
141
  case match[1].split('.').last
143
- when 'DBInstanceNotFound', 'DBParameterGroupNotFound', 'DBSnapshotNotFound'
142
+ when 'DBInstanceNotFound', 'DBParameterGroupNotFound', 'DBSnapshotNotFound', 'DBSecurityGroupNotFound'
144
143
  raise Fog::AWS::RDS::NotFound.slurp(error, match[2])
145
144
  when 'DBParameterGroupAlreadyExists'
146
145
  raise Fog::AWS::RDS::IdentifierTaken.slurp(error, match[2])
@@ -0,0 +1,41 @@
1
+ module Fog
2
+ module AWS
3
+ class ELB
4
+ class Real
5
+
6
+ require 'fog/aws/parsers/elb/configure_health_check'
7
+
8
+ # Enables the client to define an application healthcheck for the instances.
9
+ # See http://docs.amazonwebservices.com/ElasticLoadBalancing/latest/APIReference/index.html?API_ConfigureHealthCheck.html
10
+ #
11
+ # ==== Parameters
12
+ # * lb_name<~String> - Name of the ELB
13
+ # * health_check<~Hash> - A hash of parameters describing the health check
14
+ # * 'HealthyThreshold'<~Integer> - Specifies the number of consecutive
15
+ # health probe successes required before moving the instance to the Healthy state.
16
+ # * 'Interval'<~Integer> - Specifies the approximate interval, in seconds,
17
+ # between health checks of an individual instance.
18
+ # * 'Target'<~String> - Specifies the instance being checked.
19
+ # The protocol is either TCP or HTTP. The range of valid ports is one (1) through 65535.
20
+ # * 'Timeout'<~Integer> - Specifies the amount of time, in seconds,
21
+ # during which no response means a failed health probe.
22
+ # * 'UnhealthyThreshold'<~Integer> - Specifies the number of consecutive
23
+ # health probe failures required before moving the instance to the Unhealthy state.
24
+ #
25
+ # ==== Returns
26
+ # * response<~Excon::Response>:
27
+ # * body<~Hash>:
28
+ def configure_health_check(lb_name, health_check)
29
+ params = {'LoadBalancerName' => lb_name}
30
+ health_check.each {|key, value| params["HealthCheck.#{key}"] = value }
31
+
32
+ request({
33
+ 'Action' => 'ConfigureHealthCheck',
34
+ :parser => Fog::Parsers::AWS::ELB::ConfigureHealthCheck.new
35
+ }.merge!(params))
36
+ end
37
+
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,33 @@
1
+ module Fog
2
+ module AWS
3
+ class ELB
4
+ class Real
5
+
6
+ require 'fog/aws/parsers/elb/empty'
7
+
8
+ # Create an app cookie stickiness policy
9
+ #
10
+ # ==== Parameters
11
+ # * lb_name<~String> - Name of the ELB
12
+ # * policy_name<~String> - The name of the policy being created.
13
+ # The name must be unique within the set of policies for this Load Balancer.
14
+ # * cookie_name<~String> - Name of the application cookie used for stickiness.
15
+ # ==== Returns
16
+ # * response<~Excon::Response>:
17
+ # * body<~Hash>:
18
+ # * 'ResponseMetadata'<~Hash>:
19
+ # * 'RequestId'<~String> - Id of request
20
+ def create_app_cookie_stickiness_policy(lb_name, policy_name, cookie_name)
21
+ params = {'CookieName' => cookie_name, 'PolicyName' => policy_name}
22
+
23
+ request({
24
+ 'Action' => 'CreateAppCookieStickinessPolicy',
25
+ 'LoadBalancerName' => lb_name,
26
+ :parser => Fog::Parsers::AWS::ELB::Empty.new
27
+ }.merge!(params))
28
+ end
29
+
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,35 @@
1
+ module Fog
2
+ module AWS
3
+ class ELB
4
+ class Real
5
+
6
+ require 'fog/aws/parsers/elb/empty'
7
+
8
+ # Create a Load Balancer Cookie Stickiness Policy
9
+ #
10
+ # ==== Parameters
11
+ # * lb_name<~String> - Name of the ELB
12
+ # * policy_name<~String> - The name of the policy being created. The name
13
+ # must be unique within the set of policies for this Load Balancer.
14
+ # * cookie_expiration_period<~Integer> - The time period in seconds after
15
+ # which the cookie should be considered stale. Not specifying this
16
+ # parameter indicates that the sticky session will last for the duration of the browser session.
17
+ # ==== Returns
18
+ # * response<~Excon::Response>:
19
+ # * body<~Hash>:
20
+ # * 'ResponseMetadata'<~Hash>:
21
+ # * 'RequestId'<~String> - Id of request
22
+ def create_lb_cookie_stickiness_policy(lb_name, policy_name, cookie_expiration_period=nil)
23
+ params = {'PolicyName' => policy_name, 'CookieExpirationPeriod' => cookie_expiration_period}
24
+
25
+ request({
26
+ 'Action' => 'CreateLBCookieStickinessPolicy',
27
+ 'LoadBalancerName' => lb_name,
28
+ :parser => Fog::Parsers::AWS::ELB::Empty.new
29
+ }.merge!(params))
30
+ end
31
+
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,51 @@
1
+ module Fog
2
+ module AWS
3
+ class ELB
4
+ class Real
5
+
6
+ require 'fog/aws/parsers/elb/empty'
7
+
8
+ # Create Elastic Load Balancer Listeners
9
+ #
10
+ # ==== Parameters
11
+ # * lb_name<~String> - Name for the new ELB -- must be unique
12
+ # * listeners<~Array> - Array of Hashes describing ELB listeners to add to the ELB
13
+ # * 'Protocol'<~String> - Protocol to use. Either HTTP or TCP.
14
+ # * 'LoadBalancerPort'<~Integer> - The port that the ELB will listen to for outside traffic
15
+ # * 'InstancePort'<~Integer> - The port on the instance that the ELB will forward traffic to
16
+ # * 'SSLCertificateId'<~String> - ARN of the server certificate
17
+ # ==== Returns
18
+ # * response<~Excon::Response>:
19
+ # * body<~Hash>:
20
+ # * 'ResponseMetadata'<~Hash>:
21
+ # * 'RequestId'<~String> - Id of request
22
+ def create_load_balancer_listeners(lb_name, listeners)
23
+ params = {}
24
+
25
+ listener_protocol = []
26
+ listener_lb_port = []
27
+ listener_instance_port = []
28
+ listener_ssl_certificate_id = []
29
+ listeners.each do |listener|
30
+ listener_protocol.push(listener['Protocol'])
31
+ listener_lb_port.push(listener['LoadBalancerPort'])
32
+ listener_instance_port.push(listener['InstancePort'])
33
+ listener_ssl_certificate_id.push(listener['SSLCertificateId'])
34
+ end
35
+
36
+ params.merge!(AWS.indexed_param('Listeners.member.%d.Protocol', listener_protocol))
37
+ params.merge!(AWS.indexed_param('Listeners.member.%d.LoadBalancerPort', listener_lb_port))
38
+ params.merge!(AWS.indexed_param('Listeners.member.%d.InstancePort', listener_instance_port))
39
+ params.merge!(AWS.indexed_param('Listeners.member.%d.SSLCertificateId', listener_ssl_certificate_id))
40
+
41
+ request({
42
+ 'Action' => 'CreateLoadBalancerListeners',
43
+ 'LoadBalancerName' => lb_name,
44
+ :parser => Fog::Parsers::AWS::ELB::Empty.new
45
+ }.merge!(params))
46
+ end
47
+
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,31 @@
1
+ module Fog
2
+ module AWS
3
+ class ELB
4
+ class Real
5
+
6
+ require 'fog/aws/parsers/elb/empty'
7
+
8
+ # Delet Elastic Load Balancer Listeners
9
+ #
10
+ # ==== Parameters
11
+ # * lb_name<~String> - Name for the new ELB -- must be unique
12
+ # * load_balancer_ports<~Array> - Array of client port numbers of the LoadBalancerListeners to remove
13
+ # ==== Returns
14
+ # * response<~Excon::Response>:
15
+ # * body<~Hash>:
16
+ # * 'ResponseMetadata'<~Hash>:
17
+ # * 'RequestId'<~String> - Id of request
18
+ def delete_load_balancer_listeners(lb_name, load_balancer_ports)
19
+ params = AWS.indexed_param('LoadBalancerPorts.memeber.%d', load_balancer_ports)
20
+
21
+ request({
22
+ 'Action' => 'DeleteLoadBalancerListeners',
23
+ 'LoadBalancerName' => lb_name,
24
+ :parser => Fog::Parsers::AWS::ELB::Empty.new
25
+ }.merge!(params))
26
+ end
27
+
28
+ end
29
+ end
30
+ end
31
+ end