fog 0.7.2 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (320) hide show
  1. data/README.rdoc +3 -12
  2. data/Rakefile +3 -2
  3. data/benchs/parse_vs_push.rb +17 -8
  4. data/bin/fog +2 -2
  5. data/changelog.txt +123 -0
  6. data/docs/_layouts/default.html +21 -8
  7. data/docs/{_posts/2011-01-01-contributing.markdown → about/contributing.markdown} +0 -0
  8. data/docs/about/getting_started.markdown +83 -0
  9. data/docs/{_posts/2011-01-01-press.markdown → about/press.markdown} +6 -1
  10. data/docs/{_posts/2011-01-01-structure.markdown → about/structure.markdown} +0 -0
  11. data/docs/{_posts/2011-01-01-users.markdown → about/users.markdown} +0 -0
  12. data/docs/{_posts/2011-01-01-cdn.markdown → cdn/index.markdown} +12 -12
  13. data/docs/{_posts/2011-01-01-dns.markdown → dns/index.markdown} +18 -18
  14. data/docs/index.markdown +5 -4
  15. data/docs/{_posts/2011-01-01-storage.markdown → storage/index.markdown} +59 -21
  16. data/fog.gemspec +3 -9
  17. data/lib/fog.rb +1 -1
  18. data/lib/fog/aws/elb.rb +46 -12
  19. data/lib/fog/aws/iam.rb +1 -0
  20. data/lib/fog/aws/models/elb/listener.rb +51 -0
  21. data/lib/fog/aws/models/elb/listeners.rb +32 -0
  22. data/lib/fog/aws/models/elb/load_balancer.rb +129 -0
  23. data/lib/fog/aws/models/elb/load_balancers.rb +28 -0
  24. data/lib/fog/aws/models/elb/policies.rb +40 -0
  25. data/lib/fog/aws/models/elb/policy.rb +52 -0
  26. data/lib/fog/aws/{rds/models → models/rds}/parameter.rb +0 -0
  27. data/lib/fog/aws/{rds/models → models/rds}/parameter_group.rb +0 -0
  28. data/lib/fog/aws/{rds/models → models/rds}/parameter_groups.rb +1 -1
  29. data/lib/fog/aws/{rds/models → models/rds}/parameters.rb +1 -1
  30. data/lib/fog/aws/{rds/models → models/rds}/security_group.rb +0 -0
  31. data/lib/fog/aws/{rds/models → models/rds}/security_groups.rb +1 -1
  32. data/lib/fog/aws/{rds/models → models/rds}/server.rb +0 -0
  33. data/lib/fog/aws/{rds/models → models/rds}/servers.rb +1 -1
  34. data/lib/fog/aws/{rds/models → models/rds}/snapshot.rb +0 -0
  35. data/lib/fog/aws/{rds/models → models/rds}/snapshots.rb +1 -1
  36. data/lib/fog/aws/parsers/cloud_formation/create_stack.rb +1 -1
  37. data/lib/fog/aws/parsers/cloud_formation/describe_stack_events.rb +3 -3
  38. data/lib/fog/aws/parsers/cloud_formation/describe_stack_resources.rb +3 -3
  39. data/lib/fog/aws/parsers/cloud_formation/describe_stacks.rb +6 -6
  40. data/lib/fog/aws/parsers/cloud_formation/get_template.rb +1 -1
  41. data/lib/fog/aws/parsers/cloud_formation/validate_template.rb +5 -5
  42. data/lib/fog/aws/parsers/elb/configure_health_check.rb +37 -0
  43. data/lib/fog/aws/parsers/elb/create_load_balancer.rb +2 -2
  44. data/lib/fog/aws/parsers/elb/delete_load_balancer.rb +1 -1
  45. data/lib/fog/aws/parsers/elb/deregister_instances_from_load_balancer.rb +2 -2
  46. data/lib/fog/aws/parsers/elb/describe_instance_health.rb +2 -2
  47. data/lib/fog/aws/parsers/elb/describe_load_balancers.rb +36 -16
  48. data/lib/fog/aws/parsers/elb/disable_availability_zones_for_load_balancer.rb +2 -2
  49. data/lib/fog/aws/parsers/elb/empty.rb +28 -0
  50. data/lib/fog/aws/parsers/elb/enable_availability_zones_for_load_balancer.rb +2 -2
  51. data/lib/fog/aws/parsers/elb/register_instances_with_load_balancer.rb +2 -2
  52. data/lib/fog/aws/parsers/iam/basic.rb +1 -1
  53. data/lib/fog/aws/parsers/iam/create_access_key.rb +2 -2
  54. data/lib/fog/aws/parsers/iam/create_group.rb +2 -2
  55. data/lib/fog/aws/parsers/iam/create_user.rb +2 -2
  56. data/lib/fog/aws/parsers/iam/get_group.rb +6 -6
  57. data/lib/fog/aws/parsers/iam/get_user.rb +2 -2
  58. data/lib/fog/aws/parsers/iam/get_user_policy.rb +2 -2
  59. data/lib/fog/aws/parsers/iam/list_access_keys.rb +3 -3
  60. data/lib/fog/aws/parsers/iam/list_groups.rb +3 -3
  61. data/lib/fog/aws/parsers/iam/list_groups_for_user.rb +3 -3
  62. data/lib/fog/aws/parsers/iam/list_policies.rb +3 -3
  63. data/lib/fog/aws/parsers/iam/list_server_certificates.rb +38 -0
  64. data/lib/fog/aws/parsers/iam/list_signing_certificates.rb +3 -3
  65. data/lib/fog/aws/parsers/iam/list_users.rb +3 -3
  66. data/lib/fog/aws/parsers/iam/login_profile.rb +3 -3
  67. data/lib/fog/aws/parsers/iam/update_group.rb +2 -2
  68. data/lib/fog/aws/parsers/iam/update_user.rb +2 -2
  69. data/lib/fog/aws/parsers/iam/upload_server_certificate.rb +5 -3
  70. data/lib/fog/aws/parsers/iam/upload_signing_certificate.rb +2 -2
  71. data/lib/fog/aws/parsers/rds/authorize_db_security_group_ingress.rb +1 -1
  72. data/lib/fog/aws/parsers/rds/create_db_instance.rb +1 -1
  73. data/lib/fog/aws/parsers/rds/create_db_instance_read_replica.rb +1 -1
  74. data/lib/fog/aws/parsers/rds/create_db_parameter_group.rb +4 -4
  75. data/lib/fog/aws/parsers/rds/create_db_security_group.rb +1 -1
  76. data/lib/fog/aws/parsers/rds/create_db_snapshot.rb +1 -1
  77. data/lib/fog/aws/parsers/rds/db_parser.rb +16 -16
  78. data/lib/fog/aws/parsers/rds/delete_db_instance.rb +1 -1
  79. data/lib/fog/aws/parsers/rds/delete_db_parameter_group.rb +1 -1
  80. data/lib/fog/aws/parsers/rds/delete_db_security_group.rb +1 -1
  81. data/lib/fog/aws/parsers/rds/delete_db_snapshot.rb +1 -1
  82. data/lib/fog/aws/parsers/rds/describe_db_instances.rb +2 -2
  83. data/lib/fog/aws/parsers/rds/describe_db_parameter_groups.rb +5 -5
  84. data/lib/fog/aws/parsers/rds/describe_db_parameters.rb +10 -10
  85. data/lib/fog/aws/parsers/rds/describe_db_security_groups.rb +2 -2
  86. data/lib/fog/aws/parsers/rds/describe_db_snapshots.rb +2 -2
  87. data/lib/fog/aws/parsers/rds/modify_db_instance.rb +1 -1
  88. data/lib/fog/aws/parsers/rds/modify_db_parameter_group.rb +2 -2
  89. data/lib/fog/aws/parsers/rds/reboot_db_instance.rb +1 -1
  90. data/lib/fog/aws/parsers/rds/restore_db_instance_from_db_snapshot.rb +1 -1
  91. data/lib/fog/aws/parsers/rds/restore_db_instance_to_point_in_time.rb +1 -1
  92. data/lib/fog/aws/parsers/rds/revoke_db_security_group_ingress.rb +1 -1
  93. data/lib/fog/aws/parsers/rds/security_group_parser.rb +4 -4
  94. data/lib/fog/aws/parsers/rds/snapshot_parser.rb +11 -11
  95. data/lib/fog/aws/parsers/ses/delete_verified_email_address.rb +1 -1
  96. data/lib/fog/aws/parsers/ses/get_send_quota.rb +2 -2
  97. data/lib/fog/aws/parsers/ses/get_send_statistics.rb +2 -2
  98. data/lib/fog/aws/parsers/ses/list_verified_email_addresses.rb +2 -2
  99. data/lib/fog/aws/parsers/ses/send_email.rb +2 -2
  100. data/lib/fog/aws/parsers/ses/send_raw_email.rb +2 -2
  101. data/lib/fog/aws/parsers/ses/verify_email_address.rb +1 -1
  102. data/lib/fog/aws/parsers/simpledb/basic.rb +2 -2
  103. data/lib/fog/aws/parsers/simpledb/domain_metadata.rb +4 -4
  104. data/lib/fog/aws/parsers/simpledb/get_attributes.rb +4 -4
  105. data/lib/fog/aws/parsers/simpledb/list_domains.rb +3 -3
  106. data/lib/fog/aws/parsers/simpledb/select.rb +5 -5
  107. data/lib/fog/aws/rds.rb +2 -3
  108. data/lib/fog/aws/requests/elb/configure_health_check.rb +41 -0
  109. data/lib/fog/aws/requests/elb/create_app_cookie_stickiness_policy.rb +33 -0
  110. data/lib/fog/aws/requests/elb/create_lb_cookie_stickiness_policy.rb +35 -0
  111. data/lib/fog/aws/requests/elb/create_load_balancer_listeners.rb +51 -0
  112. data/lib/fog/aws/requests/elb/delete_load_balancer_listeners.rb +31 -0
  113. data/lib/fog/aws/requests/elb/delete_load_balancer_policy.rb +31 -0
  114. data/lib/fog/aws/requests/elb/set_load_balancer_policies_of_listener.rb +43 -0
  115. data/lib/fog/aws/requests/iam/list_server_certificates.rb +42 -0
  116. data/lib/fog/aws/requests/ses/send_raw_email.rb +4 -4
  117. data/lib/fog/aws/simpledb.rb +2 -2
  118. data/lib/fog/bin.rb +1 -0
  119. data/lib/fog/bin/stormondemand.rb +30 -0
  120. data/lib/fog/cdn/parsers/aws/distribution.rb +11 -11
  121. data/lib/fog/cdn/parsers/aws/get_distribution_list.rb +9 -9
  122. data/lib/fog/cdn/parsers/aws/post_invalidation.rb +3 -3
  123. data/lib/fog/compute.rb +3 -0
  124. data/lib/fog/compute/aws.rb +4 -2
  125. data/lib/fog/compute/models/aws/server.rb +16 -2
  126. data/lib/fog/compute/models/bluebox/server.rb +11 -2
  127. data/lib/fog/compute/models/brightbox/server.rb +6 -0
  128. data/lib/fog/compute/models/ecloud/servers.rb +3 -1
  129. data/lib/fog/compute/models/go_grid/server.rb +1 -0
  130. data/lib/fog/compute/models/rackspace/server.rb +2 -1
  131. data/lib/fog/compute/models/slicehost/server.rb +2 -1
  132. data/lib/fog/compute/models/storm_on_demand/balancer.rb +38 -0
  133. data/lib/fog/compute/models/storm_on_demand/balancers.rb +21 -0
  134. data/lib/fog/compute/models/storm_on_demand/config.rb +25 -0
  135. data/lib/fog/compute/models/storm_on_demand/configs.rb +22 -0
  136. data/lib/fog/compute/models/storm_on_demand/image.rb +20 -0
  137. data/lib/fog/compute/models/storm_on_demand/images.rb +21 -0
  138. data/lib/fog/compute/models/storm_on_demand/private_ip.rb +19 -0
  139. data/lib/fog/compute/models/storm_on_demand/private_ips.rb +31 -0
  140. data/lib/fog/compute/models/storm_on_demand/server.rb +74 -0
  141. data/lib/fog/compute/models/storm_on_demand/servers.rb +26 -0
  142. data/lib/fog/compute/models/storm_on_demand/stat.rb +23 -0
  143. data/lib/fog/compute/models/storm_on_demand/stats.rb +22 -0
  144. data/lib/fog/compute/models/storm_on_demand/template.rb +22 -0
  145. data/lib/fog/compute/models/storm_on_demand/templates.rb +21 -0
  146. data/lib/fog/compute/models/voxel/image.rb +4 -1
  147. data/lib/fog/compute/models/voxel/server.rb +1 -0
  148. data/lib/fog/compute/parsers/aws/allocate_address.rb +1 -1
  149. data/lib/fog/compute/parsers/aws/attach_volume.rb +2 -2
  150. data/lib/fog/compute/parsers/aws/basic.rb +2 -2
  151. data/lib/fog/compute/parsers/aws/create_image.rb +1 -1
  152. data/lib/fog/compute/parsers/aws/create_key_pair.rb +1 -1
  153. data/lib/fog/compute/parsers/aws/create_snapshot.rb +4 -4
  154. data/lib/fog/compute/parsers/aws/create_volume.rb +3 -3
  155. data/lib/fog/compute/parsers/aws/deregister_image.rb +1 -1
  156. data/lib/fog/compute/parsers/aws/describe_addresses.rb +2 -2
  157. data/lib/fog/compute/parsers/aws/describe_availability_zones.rb +3 -3
  158. data/lib/fog/compute/parsers/aws/describe_images.rb +7 -7
  159. data/lib/fog/compute/parsers/aws/describe_instances.rb +17 -17
  160. data/lib/fog/compute/parsers/aws/describe_key_pairs.rb +2 -2
  161. data/lib/fog/compute/parsers/aws/describe_regions.rb +2 -2
  162. data/lib/fog/compute/parsers/aws/describe_reserved_instances.rb +5 -5
  163. data/lib/fog/compute/parsers/aws/describe_reserved_instances_offerings.rb +4 -4
  164. data/lib/fog/compute/parsers/aws/describe_security_groups.rb +8 -8
  165. data/lib/fog/compute/parsers/aws/describe_snapshots.rb +5 -5
  166. data/lib/fog/compute/parsers/aws/describe_tags.rb +2 -2
  167. data/lib/fog/compute/parsers/aws/describe_volumes.rb +8 -8
  168. data/lib/fog/compute/parsers/aws/detach_volume.rb +2 -2
  169. data/lib/fog/compute/parsers/aws/get_console_output.rb +3 -7
  170. data/lib/fog/compute/parsers/aws/import_key_pair.rb +1 -1
  171. data/lib/fog/compute/parsers/aws/monitor_unmonitor_instances.rb +3 -3
  172. data/lib/fog/compute/parsers/aws/register_image.rb +1 -1
  173. data/lib/fog/compute/parsers/aws/run_instances.rb +14 -22
  174. data/lib/fog/compute/parsers/aws/start_stop_instances.rb +3 -3
  175. data/lib/fog/compute/parsers/aws/terminate_instances.rb +6 -6
  176. data/lib/fog/compute/parsers/slicehost/create_slice.rb +4 -4
  177. data/lib/fog/compute/parsers/slicehost/get_backups.rb +3 -3
  178. data/lib/fog/compute/parsers/slicehost/get_flavor.rb +2 -2
  179. data/lib/fog/compute/parsers/slicehost/get_flavors.rb +2 -2
  180. data/lib/fog/compute/parsers/slicehost/get_image.rb +2 -2
  181. data/lib/fog/compute/parsers/slicehost/get_images.rb +2 -2
  182. data/lib/fog/compute/parsers/slicehost/get_slice.rb +4 -4
  183. data/lib/fog/compute/parsers/slicehost/get_slices.rb +4 -4
  184. data/lib/fog/compute/parsers/voxel/devices_list.rb +12 -12
  185. data/lib/fog/compute/parsers/voxel/images_list.rb +5 -5
  186. data/lib/fog/compute/parsers/voxel/voxcloud_create.rb +2 -2
  187. data/lib/fog/compute/parsers/voxel/voxcloud_status.rb +2 -2
  188. data/lib/fog/compute/requests/aws/describe_availability_zones.rb +17 -1
  189. data/lib/fog/compute/requests/aws/describe_instances.rb +6 -1
  190. data/lib/fog/compute/requests/storm_on_demand/add_balancer_node.rb +16 -0
  191. data/lib/fog/compute/requests/storm_on_demand/clone_server.rb +16 -0
  192. data/lib/fog/compute/requests/storm_on_demand/create_server.rb +16 -0
  193. data/lib/fog/compute/requests/storm_on_demand/delete_server.rb +16 -0
  194. data/lib/fog/compute/requests/storm_on_demand/get_server.rb +16 -0
  195. data/lib/fog/compute/requests/storm_on_demand/get_stats.rb +16 -0
  196. data/lib/fog/compute/requests/storm_on_demand/list_balancers.rb +16 -0
  197. data/lib/fog/compute/requests/storm_on_demand/list_configs.rb +16 -0
  198. data/lib/fog/compute/requests/storm_on_demand/list_images.rb +16 -0
  199. data/lib/fog/compute/requests/storm_on_demand/list_private_ips.rb +16 -0
  200. data/lib/fog/compute/requests/storm_on_demand/list_servers.rb +16 -0
  201. data/lib/fog/compute/requests/storm_on_demand/list_templates.rb +16 -0
  202. data/lib/fog/compute/requests/storm_on_demand/reboot_server.rb +16 -0
  203. data/lib/fog/compute/requests/storm_on_demand/remove_balancer_node.rb +16 -0
  204. data/lib/fog/compute/requests/storm_on_demand/resize_server.rb +16 -0
  205. data/lib/fog/compute/requests/voxel/images_list.rb +3 -3
  206. data/lib/fog/compute/storm_on_demand.rb +122 -0
  207. data/lib/fog/core/attributes.rb +12 -0
  208. data/lib/fog/core/credentials.rb +1 -52
  209. data/lib/fog/core/errors.rb +53 -0
  210. data/lib/fog/core/model.rb +10 -5
  211. data/lib/fog/core/parser.rb +8 -3
  212. data/lib/fog/dns/models/aws/records.rb +1 -1
  213. data/lib/fog/dns/models/aws/zones.rb +1 -1
  214. data/lib/fog/dns/parsers/aws/change_resource_record_sets.rb +2 -2
  215. data/lib/fog/dns/parsers/aws/create_hosted_zone.rb +5 -5
  216. data/lib/fog/dns/parsers/aws/delete_hosted_zone.rb +1 -1
  217. data/lib/fog/dns/parsers/aws/get_change.rb +2 -2
  218. data/lib/fog/dns/parsers/aws/get_hosted_zone.rb +3 -3
  219. data/lib/fog/dns/parsers/aws/list_hosted_zones.rb +4 -4
  220. data/lib/fog/dns/parsers/aws/list_resource_record_sets.rb +4 -4
  221. data/lib/fog/dns/parsers/bluebox/create_record.rb +2 -2
  222. data/lib/fog/dns/parsers/bluebox/create_zone.rb +2 -2
  223. data/lib/fog/dns/parsers/bluebox/get_record.rb +1 -1
  224. data/lib/fog/dns/parsers/bluebox/get_records.rb +1 -1
  225. data/lib/fog/dns/parsers/bluebox/get_zone.rb +2 -2
  226. data/lib/fog/dns/parsers/bluebox/get_zones.rb +2 -2
  227. data/lib/fog/dns/parsers/slicehost/create_record.rb +2 -2
  228. data/lib/fog/dns/parsers/slicehost/create_zone.rb +2 -2
  229. data/lib/fog/dns/parsers/slicehost/get_record.rb +2 -2
  230. data/lib/fog/dns/parsers/slicehost/get_records.rb +2 -2
  231. data/lib/fog/dns/parsers/slicehost/get_zone.rb +2 -2
  232. data/lib/fog/dns/parsers/slicehost/get_zones.rb +2 -2
  233. data/lib/fog/dns/parsers/zerigo/count_hosts.rb +1 -1
  234. data/lib/fog/dns/parsers/zerigo/count_zones.rb +1 -1
  235. data/lib/fog/dns/parsers/zerigo/create_host.rb +2 -2
  236. data/lib/fog/dns/parsers/zerigo/create_zone.rb +2 -2
  237. data/lib/fog/dns/parsers/zerigo/find_hosts.rb +2 -2
  238. data/lib/fog/dns/parsers/zerigo/get_host.rb +2 -2
  239. data/lib/fog/dns/parsers/zerigo/get_zone.rb +4 -4
  240. data/lib/fog/dns/parsers/zerigo/get_zone_stats.rb +2 -2
  241. data/lib/fog/dns/parsers/zerigo/list_hosts.rb +2 -2
  242. data/lib/fog/dns/parsers/zerigo/list_zones.rb +2 -2
  243. data/lib/fog/providers.rb +1 -0
  244. data/lib/fog/providers/aws.rb +5 -1
  245. data/lib/fog/providers/storm_on_demand.rb +12 -0
  246. data/lib/fog/storage/models/aws/files.rb +17 -0
  247. data/lib/fog/storage/models/google/files.rb +17 -0
  248. data/lib/fog/storage/models/rackspace/files.rb +17 -0
  249. data/lib/fog/storage/parsers/aws/access_control_list.rb +4 -4
  250. data/lib/fog/storage/parsers/aws/complete_multipart_upload.rb +1 -1
  251. data/lib/fog/storage/parsers/aws/copy_object.rb +2 -2
  252. data/lib/fog/storage/parsers/aws/get_bucket.rb +10 -10
  253. data/lib/fog/storage/parsers/aws/get_bucket_location.rb +1 -1
  254. data/lib/fog/storage/parsers/aws/get_bucket_logging.rb +5 -5
  255. data/lib/fog/storage/parsers/aws/get_bucket_object_versions.rb +8 -8
  256. data/lib/fog/storage/parsers/aws/get_bucket_versioning.rb +1 -1
  257. data/lib/fog/storage/parsers/aws/get_bucket_website.rb +2 -2
  258. data/lib/fog/storage/parsers/aws/get_request_payment.rb +1 -1
  259. data/lib/fog/storage/parsers/aws/get_service.rb +3 -3
  260. data/lib/fog/storage/parsers/aws/initiate_multipart_upload.rb +1 -1
  261. data/lib/fog/storage/parsers/aws/list_multipart_uploads.rb +7 -7
  262. data/lib/fog/storage/parsers/aws/list_parts.rb +7 -7
  263. data/lib/fog/storage/parsers/google/access_control_list.rb +3 -3
  264. data/lib/fog/storage/parsers/google/copy_object.rb +2 -2
  265. data/lib/fog/storage/parsers/google/get_bucket.rb +10 -10
  266. data/lib/fog/storage/parsers/google/get_bucket_logging.rb +5 -5
  267. data/lib/fog/storage/parsers/google/get_bucket_object_versions.rb +9 -9
  268. data/lib/fog/storage/parsers/google/get_bucket_versioning.rb +1 -1
  269. data/lib/fog/storage/parsers/google/get_request_payment.rb +1 -1
  270. data/lib/fog/storage/parsers/google/get_service.rb +3 -3
  271. data/lib/fog/storage/requests/aws/get_object.rb +1 -1
  272. data/lib/fog/terremark/parsers/shared/get_catalog.rb +1 -1
  273. data/lib/fog/terremark/parsers/shared/get_catalog_item.rb +1 -1
  274. data/lib/fog/terremark/parsers/shared/get_internet_services.rb +7 -7
  275. data/lib/fog/terremark/parsers/shared/get_network_ips.rb +1 -1
  276. data/lib/fog/terremark/parsers/shared/get_node_services.rb +3 -3
  277. data/lib/fog/terremark/parsers/shared/get_organization.rb +1 -1
  278. data/lib/fog/terremark/parsers/shared/get_public_ips.rb +2 -2
  279. data/lib/fog/terremark/parsers/shared/get_vapp_template.rb +1 -1
  280. data/lib/fog/terremark/parsers/shared/get_vdc.rb +6 -6
  281. data/lib/fog/terremark/parsers/shared/internet_service.rb +7 -7
  282. data/lib/fog/terremark/parsers/shared/network.rb +1 -1
  283. data/lib/fog/terremark/parsers/shared/node_service.rb +3 -3
  284. data/lib/fog/terremark/parsers/shared/public_ip.rb +2 -2
  285. data/lib/fog/terremark/parsers/shared/vapp.rb +7 -7
  286. data/spec/ecloud/spec_helper.rb +1 -1
  287. data/tests/aws/requests/cloud_formation/stack_tests.rb +2 -0
  288. data/tests/aws/requests/elb/helper.rb +44 -0
  289. data/tests/aws/requests/elb/load_balancer_tests.rb +82 -0
  290. data/tests/aws/requests/elb/model_tests.rb +187 -0
  291. data/tests/aws/requests/iam/helper.rb +41 -0
  292. data/tests/aws/requests/iam/login_profile_tests.rb +1 -1
  293. data/tests/aws/requests/iam/server_certificate_tests.rb +36 -0
  294. data/tests/aws/requests/rds/instance_tests.rb +63 -66
  295. data/tests/aws/requests/simpledb/attributes_tests.rb +4 -4
  296. data/tests/aws/signed_params_tests.rb +3 -0
  297. data/tests/compute/helper.rb +2 -2
  298. data/tests/compute/models/aws/address_tests.rb +2 -2
  299. data/tests/compute/models/aws/security_group_tests.rb +12 -0
  300. data/tests/compute/models/aws/server_tests.rb +8 -1
  301. data/tests/compute/models/aws/snapshot_tests.rb +2 -2
  302. data/tests/compute/models/aws/volume_tests.rb +3 -3
  303. data/tests/compute/requests/aws/address_tests.rb +1 -1
  304. data/tests/compute/requests/aws/instance_tests.rb +1 -1
  305. data/tests/compute/requests/aws/key_pair_tests.rb +5 -1
  306. data/tests/compute/requests/aws/snapshot_tests.rb +1 -1
  307. data/tests/compute/requests/aws/tag_tests.rb +1 -1
  308. data/tests/compute/requests/aws/volume_tests.rb +3 -3
  309. data/tests/compute/requests/bluebox/block_tests.rb +14 -13
  310. data/tests/compute/requests/brightbox/helper.rb +1 -2
  311. data/tests/compute/requests/storm_on_demand/server_tests.rb +64 -0
  312. data/tests/compute/requests/voxel/image_tests.rb +30 -24
  313. data/tests/compute/requests/voxel/server_tests.rb +1 -1
  314. data/tests/dns/requests/aws/dns_tests.rb +1 -1
  315. data/tests/helper.rb +1 -1
  316. data/tests/storage/requests/aws/multipart_upload_tests.rb +1 -1
  317. data/tests/storage/requests/google/bucket_tests.rb +0 -1
  318. data/tests/storage/requests/rackspace/object_tests.rb +1 -0
  319. metadata +125 -66
  320. data/docs/_posts/2011-01-01-start.markdown +0 -21
@@ -1,6 +1,47 @@
1
1
  class AWS
2
2
 
3
3
  module IAM
4
+ # A self-signed test keypair. Generated using the command:
5
+ # openssl req -new -newkey rsa:1024 -days 3650 -nodes -x509 -keyout server-private.key -out server-public.crt
6
+ # NB: Amazon returns an error on extraneous linebreaks
7
+ SERVER_CERT_PUBLIC_KEY = %{-----BEGIN CERTIFICATE-----
8
+ MIIDQzCCAqygAwIBAgIJAJaZ8wH+19AtMA0GCSqGSIb3DQEBBQUAMHUxCzAJBgNV
9
+ BAYTAlVTMREwDwYDVQQIEwhOZXcgWW9yazERMA8GA1UEBxMITmV3IFlvcmsxHzAd
10
+ BgNVBAoTFkZvZyBUZXN0IFNuYWtlb2lsIENlcnQxHzAdBgNVBAsTFkZvZyBUZXN0
11
+ IFNuYWtlb2lsIENlcnQwHhcNMTEwNTA3MTc0MDU5WhcNMjEwNTA0MTc0MDU5WjB1
12
+ MQswCQYDVQQGEwJVUzERMA8GA1UECBMITmV3IFlvcmsxETAPBgNVBAcTCE5ldyBZ
13
+ b3JrMR8wHQYDVQQKExZGb2cgVGVzdCBTbmFrZW9pbCBDZXJ0MR8wHQYDVQQLExZG
14
+ b2cgVGVzdCBTbmFrZW9pbCBDZXJ0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB
15
+ gQC0CR76sovjdmpWRmEaf8XaG+nGe7czhpdLKkau2b16VtSjkPctxPL5U4vaMxQU
16
+ boLPr+9oL+9fSYN31VzDD4hyaeGoeI5fhnGeqk71kq5uHONBOQUMbZbBQ8PVd9Sd
17
+ k+y9JJ6E5fC+GhLL5I+y2DK7syBzyymq1Wi6rPp1XXF7AQIDAQABo4HaMIHXMB0G
18
+ A1UdDgQWBBRfqBkpU/jEV324748fq6GJM80iVTCBpwYDVR0jBIGfMIGcgBRfqBkp
19
+ U/jEV324748fq6GJM80iVaF5pHcwdTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCE5l
20
+ dyBZb3JrMREwDwYDVQQHEwhOZXcgWW9yazEfMB0GA1UEChMWRm9nIFRlc3QgU25h
21
+ a2VvaWwgQ2VydDEfMB0GA1UECxMWRm9nIFRlc3QgU25ha2VvaWwgQ2VydIIJAJaZ
22
+ 8wH+19AtMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAUV6NDdLHKNhl
23
+ ACtzLycIhlMTmDr0xBeIBx3lpgw2K0+4oefMS8Z17eeZPeNodxnz56juJm81BZwt
24
+ DF3qnnPyArLFx0HLB7wQdm9xYVIqQuLO+V6GRuOd+uSX//aDLDZhwbERf35hoyto
25
+ Jfk4gX/qwuRFNy0vjQeTzdvhB1igG/w=
26
+ -----END CERTIFICATE-----
27
+ }
28
+
29
+ SERVER_CERT_PRIVATE_KEY = %{-----BEGIN RSA PRIVATE KEY-----
30
+ MIICXAIBAAKBgQC0CR76sovjdmpWRmEaf8XaG+nGe7czhpdLKkau2b16VtSjkPct
31
+ xPL5U4vaMxQUboLPr+9oL+9fSYN31VzDD4hyaeGoeI5fhnGeqk71kq5uHONBOQUM
32
+ bZbBQ8PVd9Sdk+y9JJ6E5fC+GhLL5I+y2DK7syBzyymq1Wi6rPp1XXF7AQIDAQAB
33
+ AoGANjjRBbwkeXs+h4Fm2W5GDmx9ufOkt3X/tvmilCKr+F6SaDjO2RAKBaFt62ea
34
+ 0pR9/UMFnaFiPJaNa9fsuirBcwId+RizruEp+7FGziM9mC5kcE7WKZrXgGGnLtqg
35
+ 4x5twVLArgp0ji7TA18q/74uTrI4az8H5iTY4n29ORlLmmkCQQDsGMuLEgGHgN5Y
36
+ 1c9ax1DT/rUXKxnqsIrijRkgbiTncHAArFJ88c3yykWqGvYnSFwMS8DSWiPyPaAI
37
+ nNNlb/fPAkEAwzZ4CfvJ+OlE++rTPH9jemC89dnxC7EFGuWJmwdadnev8EYguvve
38
+ cdGdGttD7QsZKpcz5mDngOUghbVm8vBELwJAMHfOoVgq9DRicP5DuTEdyMeLSZxR
39
+ j7p6aJPqypuR++k7NQgrTvcc/nDD6G3shpf2PZf3l7dllb9M8TewtixMRQJBAIdX
40
+ c0AQtoYBTJePxiYyd8i32ypkkK83ar+sFoxKO9jYwD1IkZax2xZ0aoTdMindQPR7
41
+ Yjs+QiLmOHcbPqX+GHcCQERsSn0RjzKmKirDntseMB59BB/cEN32+gMDVsZuCfb+
42
+ fOy2ZavFl13afnhbh2/AjKeDhnb19x/uXjF7JCUtwpA=
43
+ -----END RSA PRIVATE KEY-----
44
+ }
4
45
 
5
46
  module Formats
6
47
 
@@ -27,7 +27,7 @@ Shindo.tests('AWS::IAM | user requests', ['aws']) do
27
27
  result
28
28
  end
29
29
 
30
- tests("#modify_login_profile('fog_user')").formats(AWS::IAM::Formats::BASIC) do
30
+ tests("#update_login_profile('fog_user')").formats(AWS::IAM::Formats::BASIC) do
31
31
  pending if Fog.mocking?
32
32
  begin
33
33
  AWS[:iam].update_login_profile('fog_user', 'otherpassword').body
@@ -0,0 +1,36 @@
1
+ Shindo.tests('AWS::IAM | server certificate requests', ['aws']) do
2
+
3
+ pending if Fog.mocking?
4
+
5
+ @key_name = 'fog-test'
6
+
7
+ @certificate_format = {
8
+ 'Arn' => String,
9
+ 'Path' => String,
10
+ 'ServerCertificateId' => String,
11
+ 'ServerCertificateName' => String,
12
+ 'UploadDate' => Time
13
+ }
14
+ @upload_format = {
15
+ 'Certificate' => @certificate_format,
16
+ 'RequestId' => String
17
+ }
18
+ tests('#upload_server_certificate').formats(@upload_format) do
19
+ public_key = AWS::IAM::SERVER_CERT_PUBLIC_KEY
20
+ private_key = AWS::IAM::SERVER_CERT_PRIVATE_KEY
21
+ AWS[:iam].upload_server_certificate(public_key, private_key, @key_name).body
22
+ end
23
+
24
+ @list_format = { 'Certificates' => [@certificate_format] }
25
+ tests('#list_server_certificates').formats(@list_format) do
26
+ result = AWS[:iam].list_server_certificates.body
27
+ tests('includes key name') do
28
+ returns(true) { result['Certificates'].any?{|c| c['ServerCertificateName'] == @key_name} }
29
+ end
30
+ result
31
+ end
32
+
33
+ tests('#delete_server_certificate').formats(AWS::IAM::Formats::BASIC) do
34
+ AWS[:iam].delete_server_certificate(@key_name).body
35
+ end
36
+ end
@@ -1,131 +1,128 @@
1
1
  Shindo.tests('AWS::RDS | instance requests', ['aws', 'rds']) do
2
- @db_instance_id='fog-test'
3
- @db_replica_id='fog-replica'
4
-
2
+ # random_differentiator
3
+ # Useful when rapidly re-running tests, so we don't have to wait
4
+ # serveral minutes for deleted servers to disappear
5
+ suffix = rand(65536).to_s(16)
6
+
7
+ @db_instance_id = "fog-test-#{suffix}"
8
+ @db_replica_id = "fog-replica-#{suffix}"
9
+ @db_snapshot_id = "fog-snapshot"
10
+ @db_final_snapshot_id = "fog-final-snapshot"
11
+
5
12
  tests('success') do
6
13
  pending if Fog.mocking?
7
-
14
+
8
15
  tests("#create_db_instance").formats(AWS::RDS::Formats::CREATE_DB_INSTANCE) do
9
16
  result = AWS[:rds].create_db_instance(@db_instance_id, 'AllocatedStorage' => 5,
10
- 'DBInstanceClass' => 'db.m1.small',
11
- 'Engine' => 'mysql',
12
- 'EngineVersion' => '5.1.50',
13
- 'MasterUsername' => 'foguser',
14
- 'BackupRetentionPeriod' => 1,
15
- 'MasterUserPassword' => 'fogpassword').body
16
-
17
+ 'DBInstanceClass' => 'db.m1.small',
18
+ 'Engine' => 'mysql',
19
+ 'EngineVersion' => '5.1.50',
20
+ 'MasterUsername' => 'foguser',
21
+ 'BackupRetentionPeriod' => 1,
22
+ 'MasterUserPassword' => 'fogpassword').body
23
+
17
24
  instance = result['CreateDBInstanceResult']['DBInstance']
18
25
  returns('creating'){ instance['DBInstanceStatus']}
19
26
  result
20
27
  end
21
-
28
+
22
29
  tests("#describe_db_instances").formats(AWS::RDS::Formats::DESCRIBE_DB_INSTANCES) do
23
30
  AWS[:rds].describe_db_instances.body
24
31
  end
25
-
32
+
26
33
  server = AWS[:rds].servers.get(@db_instance_id)
27
34
  server.wait_for {ready?}
28
-
29
-
35
+
36
+ new_storage = 6
30
37
  tests("#modify_db_instance with immediate apply").formats(AWS::RDS::Formats::MODIFY_DB_INSTANCE) do
31
- body = AWS[:rds].modify_db_instance( @db_instance_id, true, 'AllocatedStorage'=> 10).body
38
+ body = AWS[:rds].modify_db_instance(@db_instance_id, true, 'AllocatedStorage'=> new_storage).body
32
39
  tests 'pending storage' do
33
40
  instance = body['ModifyDBInstanceResult']['DBInstance']
34
- returns(10){instance['PendingModifiedValues']['AllocatedStorage']}
41
+ returns(new_storage){instance['PendingModifiedValues']['AllocatedStorage']}
35
42
  end
36
- body
43
+ body
37
44
  end
38
- server.wait_for { state == 'modifying'}
39
- server.wait_for { state == 'available'}
40
-
41
- server.reload
45
+
46
+ server.reload.wait_for { state == 'modifying' }
47
+ server.reload.wait_for { state == 'available' }
48
+
42
49
  tests 'new storage' do
43
- returns(10){ server.allocated_storage}
50
+ returns(new_storage){ server.allocated_storage}
44
51
  end
45
- server.wait_for { state == 'available'}
46
52
 
47
53
  tests("reboot db instance") do
48
54
  tests("#reboot").formats(AWS::RDS::Formats::REBOOT_DB_INSTANCE) do
49
- AWS[:rds].reboot_db_instance( @db_instance_id).body
55
+ AWS[:rds].reboot_db_instance(@db_instance_id).body
50
56
  end
51
-
52
- server.wait_for { state == 'rebooting'}
53
- server.wait_for { state == 'available'}
54
- server.reload
55
57
  end
56
-
57
-
58
+
59
+ server.reload.wait_for { state == 'rebooting' }
60
+ server.reload.wait_for { state == 'available'}
61
+
58
62
  tests("#create_db_snapshot").formats(AWS::RDS::Formats::CREATE_DB_SNAPSHOT) do
59
- body = AWS[:rds].create_db_snapshot(@db_instance_id, 'fog-snapshot').body
63
+ body = AWS[:rds].create_db_snapshot(@db_instance_id, @db_snapshot_id).body
60
64
  returns('creating'){ body['CreateDBSnapshotResult']['DBSnapshot']['Status']}
61
65
  body
62
66
  end
63
-
67
+
64
68
  tests("#describe_db_snapshots").formats(AWS::RDS::Formats::DESCRIBE_DB_SNAPSHOTS) do
65
- body = AWS[:rds].describe_db_snapshots().body
69
+ body = AWS[:rds].describe_db_snapshots.body
66
70
  end
67
-
68
- Fog.wait_for do
69
- data = AWS[:rds].describe_db_snapshots(:snapshot_id => 'fog-snapshot')
70
- status = data.body['DescribeDBSnapshotsResult']['DBSnapshots'].first['Status']
71
- status =='available'
72
- end
73
-
71
+
72
+ server.reload.wait_for { state == 'available' }
73
+
74
74
  tests( "#create read replica").formats(AWS::RDS::Formats::CREATE_READ_REPLICA) do
75
75
  AWS[:rds].create_db_instance_read_replica(@db_replica_id, @db_instance_id).body
76
76
  end
77
-
77
+
78
78
  replica = AWS[:rds].servers.get(@db_replica_id)
79
79
  replica.wait_for {ready?}
80
-
80
+
81
81
  tests("replica source") do
82
82
  returns(@db_instance_id){replica.read_replica_source}
83
83
  end
84
84
  server.reload
85
-
85
+
86
86
  tests("replica identifiers") do
87
87
  returns([@db_replica_id]){server.read_replica_identifiers}
88
88
  end
89
89
 
90
90
  tests("#delete_db_instance").formats(AWS::RDS::Formats::DELETE_DB_INSTANCE) do
91
- server.wait_for { state == 'available'}
91
+ #server.wait_for { state == 'available'}
92
92
  AWS[:rds].delete_db_instance(@db_replica_id, nil, true)
93
- body = AWS[:rds].delete_db_instance(@db_instance_id, 'fog-final-snapshot').body
94
- Fog.wait_for do
95
- AWS[:rds].servers.length == 0
96
- end
97
-
93
+ body = AWS[:rds].delete_db_instance(@db_instance_id, @db_final_snapshot_id).body
94
+
98
95
  tests "final snapshot" do
99
- returns('available'){AWS[:rds].describe_db_snapshots(:snapshot_id => 'fog-final-snapshot').body['DescribeDBSnapshotsResult']['DBSnapshots'].first['Status']}
96
+ returns('creating'){AWS[:rds].describe_db_snapshots(:snapshot_id => @db_final_snapshot_id).body['DescribeDBSnapshotsResult']['DBSnapshots'].first['Status']}
100
97
  end
101
98
  body
102
99
  end
103
-
104
-
105
-
100
+
106
101
  tests("#delete_db_snapshot").formats(AWS::RDS::Formats::DELETE_DB_SNAPSHOT) do
107
- AWS[:rds].delete_db_snapshot('fog-snapshot').body
102
+ AWS[:rds].snapshots.get(@db_snapshot_id).wait_for { ready? }
103
+ AWS[:rds].delete_db_snapshot(@db_snapshot_id).body
104
+ end
105
+
106
+ tests("snapshot.destroy") do
107
+ snapshot = AWS[:rds].snapshots.get(@db_final_snapshot_id)
108
+ snapshot.wait_for { ready? }
109
+ snapshot.destroy
110
+ returns(nil) { AWS[:rds].snapshots.get(@db_final_snapshot_id) }
108
111
  end
109
-
110
- AWS[:rds].delete_db_snapshot('fog-final-snapshot')
111
-
112
- returns([]){ AWS[:rds].describe_db_snapshots.body['DescribeDBSnapshotsResult']['DBSnapshots']}
113
-
112
+
114
113
  end
115
-
114
+
116
115
  tests('failure') do
117
116
  pending if Fog.mocking?
118
-
117
+
119
118
  tests "deleting nonexisting instance" do
120
- raises(Fog::AWS::RDS::NotFound) {AWS[:rds].delete_db_instance('doesnexist', 'irrelevant')}
119
+ raises(Fog::AWS::RDS::NotFound) {AWS[:rds].delete_db_instance('doesnexist', 'irrelevant')}
121
120
  end
122
121
  tests "deleting non existing snapshot" do
123
- raises(Fog::AWS::RDS::NotFound) {AWS[:rds].delete_db_snapshot('doesntexist')}
122
+ raises(Fog::AWS::RDS::NotFound) {AWS[:rds].delete_db_snapshot('doesntexist')}
124
123
  end
125
124
  tests "modifying non existing instance" do
126
125
  raises(Fog::AWS::RDS::NotFound) { AWS[:rds].modify_db_instance 'doesntexit', true, 'AllocatedStorage'=> 10}
127
126
  end
128
127
  end
129
128
  end
130
-
131
-
@@ -6,11 +6,11 @@ Shindo.tests('AWS::SimpleDB | attributes requests', ['aws']) do
6
6
 
7
7
  tests('success') do
8
8
 
9
- tests("#batch_put_attributes('#{@domain_name}', { 'a' => { 'b' => 'c' }, 'x' => { 'y' => 'z' } }).body").formats(AWS::SimpleDB::Formats::BASIC) do
10
- AWS[:sdb].batch_put_attributes(@domain_name, { 'a' => { 'b' => 'c' }, 'x' => { 'y' => 'z' } }).body
9
+ tests("#batch_put_attributes('#{@domain_name}', { 'a' => { 'b' => 'c', 'd' => 'e' }, 'x' => { 'y' => 'z' } }).body").formats(AWS::SimpleDB::Formats::BASIC) do
10
+ AWS[:sdb].batch_put_attributes(@domain_name, { 'a' => { 'b' => 'c', 'd' => 'e' }, 'x' => { 'y' => 'z' } }).body
11
11
  end
12
12
 
13
- tests("#get_attributes('#{@domain_name}', 'a').body['Attributes']").returns({'b' => ['c']}) do
13
+ tests("#get_attributes('#{@domain_name}', 'a').body['Attributes']").returns({'b' => ['c'], 'd' => ['e']}) do
14
14
  attributes = {}
15
15
  Fog.wait_for {
16
16
  attributes = AWS[:sdb].get_attributes(@domain_name, 'a').body['Attributes']
@@ -23,7 +23,7 @@ Shindo.tests('AWS::SimpleDB | attributes requests', ['aws']) do
23
23
  AWS[:sdb].get_attributes(@domain_name, 'notanattribute')
24
24
  end
25
25
 
26
- tests("#select('select * from #{@domain_name}').body['Items']").returns({ 'a' => { 'b' => ['c'] }, 'x' => { 'y' => ['z'] } }) do
26
+ tests("#select('select * from #{@domain_name}').body['Items']").returns({'a' => { 'b' => ['c'], 'd' => ['e']}, 'x' => { 'y' => ['z'] } }) do
27
27
  pending if Fog.mocking?
28
28
  AWS[:sdb].select("select * from #{@domain_name}").body['Items']
29
29
  end
@@ -0,0 +1,3 @@
1
+ Shindo.tests('AWS | signed_params', ['aws']) do
2
+ returns( Fog::AWS.escape( "'Stop!' said Fred_-~." ) ) { "%27Stop%21%27%20said%20Fred_-~." }
3
+ end
@@ -8,14 +8,14 @@ def compute_providers
8
8
  },
9
9
  Bluebox => {
10
10
  :server_attributes => {
11
- :image_id => 'a00baa8f-b5d0-4815-8238-b471c4c4bf72', # Ubuntu 9.10 64bit
11
+ :image_id => '03807e08-a13d-44e4-b011-ebec7ef2c928', # Ubuntu 10.04 64bit
12
12
  :password => 'chunkybacon'
13
13
  },
14
14
  :mocked => false
15
15
  },
16
16
  Brightbox => {
17
17
  :server_attributes => {
18
- :image_id => 'img-9vxqi' # image img-9vxqi = Ubuntu Maverick 10.10 server
18
+ :image_id => 'img-2ab98' # Ubuntu Lucid 10.04 server (i686)
19
19
  },
20
20
  :mocked => false
21
21
  },
@@ -1,8 +1,8 @@
1
1
  Shindo.tests("AWS::Compute | address", ['aws']) do
2
2
 
3
3
  model_tests(AWS[:compute].addresses, {}, true) do
4
-
5
- @server = AWS[:compute].servers.create(:image_id => GENTOO_AMI)
4
+
5
+ @server = AWS[:compute].servers.create
6
6
  @server.wait_for { ready? }
7
7
 
8
8
  tests('#server=').succeeds do
@@ -2,4 +2,16 @@ Shindo.tests("AWS::Compute | security_group", ['aws']) do
2
2
 
3
3
  model_tests(AWS[:compute].security_groups, {:description => 'foggroupdescription', :name => 'foggroupname'}, true)
4
4
 
5
+ tests("a group with trailing whitespace") do
6
+ @group = AWS[:compute].security_groups.create(:name => "foggroup with spaces ", :description => " fog group desc ")
7
+ test("name is correct") do
8
+ @group.name == "foggroup with spaces "
9
+ end
10
+
11
+ test("description is correct") do
12
+ @group.description == " fog group desc "
13
+ end
14
+
15
+ @group.destroy
16
+ end
5
17
  end
@@ -4,7 +4,7 @@ Shindo.tests("AWS::Compute | monitor", ['aws']) do
4
4
  responds_to(association)
5
5
  end
6
6
 
7
- @instance = AWS[:compute].servers.new(:image_id => 'ami-1a837773')
7
+ @instance = AWS[:compute].servers.new
8
8
 
9
9
  tests('new instance') do
10
10
 
@@ -24,6 +24,12 @@ Shindo.tests("AWS::Compute | monitor", ['aws']) do
24
24
 
25
25
  @instance.save
26
26
 
27
+ [:id, :availability_zone, :flavor_id, :kernel_id, :image_id, :state].each do |attr|
28
+ test("instance##{attr} should not contain whitespace") do
29
+ nil == @instance.send(attr).match(/\s/)
30
+ end
31
+ end
32
+
27
33
  test('#monitor = true') do
28
34
  @instance.monitor = true
29
35
  @instance.monitoring == true
@@ -36,4 +42,5 @@ Shindo.tests("AWS::Compute | monitor", ['aws']) do
36
42
 
37
43
  end
38
44
 
45
+ @instance.destroy
39
46
  end
@@ -4,7 +4,7 @@ Shindo.tests("AWS::Compute | snapshot", ['aws']) do
4
4
  @volume.wait_for { ready? }
5
5
 
6
6
  model_tests(AWS[:compute].snapshots, {:volume_id => @volume.identity}, true)
7
-
7
+
8
8
  @volume.destroy
9
9
 
10
- end
10
+ end
@@ -1,12 +1,12 @@
1
1
  Shindo.tests("AWS::Compute | volume", ['aws']) do
2
2
 
3
- @server = AWS[:compute].servers.create(:image_id => GENTOO_AMI)
3
+ @server = AWS[:compute].servers.create
4
4
  @server.wait_for { ready? }
5
5
 
6
6
  model_tests(AWS[:compute].volumes, {:availability_zone => @server.availability_zone, :size => 1, :device => '/dev/sdz1'}, true) do
7
7
 
8
8
  @instance.wait_for { ready? }
9
-
9
+
10
10
  tests('#server = @server').succeeds do
11
11
  @instance.server = @server
12
12
  end
@@ -23,4 +23,4 @@ Shindo.tests("AWS::Compute | volume", ['aws']) do
23
23
 
24
24
  @server.destroy
25
25
 
26
- end
26
+ end
@@ -8,7 +8,7 @@ Shindo.tests('AWS::Compute | address requests', ['aws']) do
8
8
  'requestId' => String
9
9
  }
10
10
 
11
- @server = AWS[:compute].servers.create(:image_id => GENTOO_AMI)
11
+ @server = AWS[:compute].servers.create
12
12
  @server.wait_for { ready? }
13
13
  @ip_address = @server.ip_address
14
14
 
@@ -53,7 +53,7 @@ Shindo.tests('AWS::Compute | instance requests', ['aws']) do
53
53
 
54
54
  @get_console_output_format = {
55
55
  'instanceId' => String,
56
- 'output' => NilClass,
56
+ 'output' => Fog::Nullable::String,
57
57
  'requestId' => String,
58
58
  'timestamp' => Time
59
59
  }