fog 1.10.0 → 1.10.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (379) hide show
  1. data/benchs/load_times.rb +31 -0
  2. data/changelog.txt +320 -0
  3. data/fog.gemspec +3 -3
  4. data/lib/fog.rb +42 -15
  5. data/lib/fog/aws/auto_scaling.rb +1 -1
  6. data/lib/fog/aws/beanstalk.rb +1 -1
  7. data/lib/fog/aws/cloud_formation.rb +1 -1
  8. data/lib/fog/aws/compute.rb +1 -1
  9. data/lib/fog/aws/elasticache.rb +1 -1
  10. data/lib/fog/aws/elb.rb +1 -1
  11. data/lib/fog/aws/iam.rb +1 -1
  12. data/lib/fog/aws/models/beanstalk/environment.rb +6 -2
  13. data/lib/fog/aws/models/cdn/distributions.rb +2 -1
  14. data/lib/fog/aws/models/cdn/distributions_helper.rb +2 -1
  15. data/lib/fog/aws/models/cdn/streaming_distributions.rb +2 -1
  16. data/lib/fog/aws/models/compute/server.rb +1 -1
  17. data/lib/fog/aws/models/storage/directory.rb +1 -1
  18. data/lib/fog/aws/models/storage/file.rb +1 -1
  19. data/lib/fog/aws/parsers/beanstalk/describe_environment_resources.rb +11 -0
  20. data/lib/fog/aws/rds.rb +1 -1
  21. data/lib/fog/aws/requests/cdn/delete_distribution.rb +5 -7
  22. data/lib/fog/aws/requests/cdn/delete_streaming_distribution.rb +5 -7
  23. data/lib/fog/aws/requests/cdn/get_distribution.rb +28 -31
  24. data/lib/fog/aws/requests/cdn/get_distribution_list.rb +29 -33
  25. data/lib/fog/aws/requests/cdn/get_invalidation.rb +15 -13
  26. data/lib/fog/aws/requests/cdn/get_invalidation_list.rb +15 -17
  27. data/lib/fog/aws/requests/cdn/get_streaming_distribution.rb +23 -26
  28. data/lib/fog/aws/requests/cdn/get_streaming_distribution_list.rb +29 -33
  29. data/lib/fog/aws/requests/cdn/post_distribution.rb +40 -42
  30. data/lib/fog/aws/requests/cdn/post_invalidation.rb +14 -18
  31. data/lib/fog/aws/requests/cdn/post_streaming_distribution.rb +28 -30
  32. data/lib/fog/aws/requests/cdn/put_distribution_config.rb +41 -43
  33. data/lib/fog/aws/requests/cdn/put_streaming_distribution_config.rb +31 -33
  34. data/lib/fog/aws/requests/cloud_formation/create_stack.rb +16 -20
  35. data/lib/fog/aws/requests/cloud_formation/delete_stack.rb +5 -8
  36. data/lib/fog/aws/requests/cloud_formation/describe_stack_events.rb +19 -22
  37. data/lib/fog/aws/requests/cloud_formation/describe_stack_resources.rb +18 -21
  38. data/lib/fog/aws/requests/cloud_formation/describe_stacks.rb +18 -21
  39. data/lib/fog/aws/requests/cloud_formation/get_template.rb +7 -10
  40. data/lib/fog/aws/requests/cloud_formation/update_stack.rb +12 -16
  41. data/lib/fog/aws/requests/cloud_formation/validate_template.rb +9 -12
  42. data/lib/fog/aws/requests/compute/associate_address.rb +13 -7
  43. data/lib/fog/aws/requests/compute/describe_reserved_instances_offerings.rb +16 -2
  44. data/lib/fog/aws/requests/compute/describe_security_groups.rb +2 -2
  45. data/lib/fog/aws/requests/elb/create_load_balancer.rb +10 -0
  46. data/lib/fog/aws/requests/iam/update_server_certificate.rb +27 -0
  47. data/lib/fog/aws/requests/storage/get_object.rb +6 -2
  48. data/lib/fog/aws/storage.rb +6 -4
  49. data/lib/fog/aws/sts.rb +1 -1
  50. data/lib/fog/bin.rb +2 -0
  51. data/lib/fog/bin/digitalocean.rb +31 -0
  52. data/lib/fog/bin/riakcs.rb +27 -0
  53. data/lib/fog/cloudstack/compute.rb +3 -0
  54. data/lib/fog/cloudstack/models/compute/snapshot.rb +46 -0
  55. data/lib/fog/cloudstack/models/compute/snapshots.rb +25 -0
  56. data/lib/fog/cloudstack/requests/compute/create_snapshot.rb +24 -0
  57. data/lib/fog/compute.rb +3 -0
  58. data/lib/fog/compute/models/server.rb +6 -7
  59. data/lib/fog/core.rb +10 -5
  60. data/lib/fog/core/errors.rb +2 -0
  61. data/lib/fog/core/scp.rb +3 -3
  62. data/lib/fog/core/ssh.rb +1 -1
  63. data/lib/fog/digitalocean.rb +9 -0
  64. data/lib/fog/digitalocean/CHANGELOG.md +6 -0
  65. data/lib/fog/digitalocean/compute.rb +107 -0
  66. data/lib/fog/digitalocean/examples/getting_started.md +106 -0
  67. data/lib/fog/digitalocean/models/compute/flavor.rb +14 -0
  68. data/lib/fog/digitalocean/models/compute/flavors.rb +25 -0
  69. data/lib/fog/digitalocean/models/compute/image.rb +15 -0
  70. data/lib/fog/digitalocean/models/compute/images.rb +25 -0
  71. data/lib/fog/digitalocean/models/compute/region.rb +14 -0
  72. data/lib/fog/digitalocean/models/compute/regions.rb +25 -0
  73. data/lib/fog/digitalocean/models/compute/server.rb +150 -0
  74. data/lib/fog/digitalocean/models/compute/servers.rb +27 -0
  75. data/lib/fog/digitalocean/models/compute/ssh_key.rb +28 -0
  76. data/lib/fog/digitalocean/models/compute/ssh_keys.rb +27 -0
  77. data/lib/fog/digitalocean/requests/compute/create_server.rb +68 -0
  78. data/lib/fog/digitalocean/requests/compute/create_ssh_key.rb +38 -0
  79. data/lib/fog/digitalocean/requests/compute/destroy_server.rb +34 -0
  80. data/lib/fog/digitalocean/requests/compute/destroy_ssh_key.rb +37 -0
  81. data/lib/fog/digitalocean/requests/compute/get_server_details.rb +35 -0
  82. data/lib/fog/digitalocean/requests/compute/get_ssh_key.rb +39 -0
  83. data/lib/fog/digitalocean/requests/compute/list_flavors.rb +38 -0
  84. data/lib/fog/digitalocean/requests/compute/list_images.rb +49 -0
  85. data/lib/fog/digitalocean/requests/compute/list_regions.rb +34 -0
  86. data/lib/fog/digitalocean/requests/compute/list_servers.rb +31 -0
  87. data/lib/fog/digitalocean/requests/compute/list_ssh_keys.rb +31 -0
  88. data/lib/fog/digitalocean/requests/compute/power_cycle_server.rb +33 -0
  89. data/lib/fog/digitalocean/requests/compute/power_off_server.rb +33 -0
  90. data/lib/fog/digitalocean/requests/compute/power_on_server.rb +33 -0
  91. data/lib/fog/digitalocean/requests/compute/reboot_server.rb +33 -0
  92. data/lib/fog/digitalocean/requests/compute/shutdown_server.rb +36 -0
  93. data/lib/fog/dreamhost/CHANGELOG.md +8 -0
  94. data/lib/fog/glesys/models/compute/server.rb +3 -3
  95. data/lib/fog/google/storage.rb +1 -1
  96. data/lib/fog/hp.rb +1 -1
  97. data/lib/fog/hp/CHANGELOG.hp +12 -2
  98. data/lib/fog/hp/block_storage.rb +1 -0
  99. data/lib/fog/hp/cdn.rb +1 -0
  100. data/lib/fog/hp/compute.rb +1 -0
  101. data/lib/fog/hp/models/compute/server.rb +14 -8
  102. data/lib/fog/hp/models/storage/directories.rb +1 -1
  103. data/lib/fog/hp/models/storage/directory.rb +28 -3
  104. data/lib/fog/hp/models/storage/files.rb +1 -1
  105. data/lib/fog/hp/requests/compute/create_server.rb +4 -14
  106. data/lib/fog/hp/storage.rb +2 -0
  107. data/lib/fog/internet_archive.rb +3 -1
  108. data/lib/fog/internet_archive/models/storage/directory.rb +25 -42
  109. data/lib/fog/internet_archive/models/storage/file.rb +45 -64
  110. data/lib/fog/internet_archive/models/storage/ia_attributes.rb +39 -0
  111. data/lib/fog/internet_archive/requests/storage/delete_multiple_objects.rb +4 -78
  112. data/lib/fog/internet_archive/requests/storage/delete_object.rb +2 -70
  113. data/lib/fog/internet_archive/requests/storage/get_object.rb +1 -22
  114. data/lib/fog/internet_archive/requests/storage/get_object_acl.rb +0 -4
  115. data/lib/fog/internet_archive/requests/storage/get_service.rb +1 -2
  116. data/lib/fog/internet_archive/requests/storage/head_object.rb +0 -4
  117. data/lib/fog/internet_archive/requests/storage/post_object_hidden_fields.rb +1 -1
  118. data/lib/fog/internet_archive/requests/storage/put_object.rb +2 -17
  119. data/lib/fog/internet_archive/requests/storage/put_object_acl.rb +0 -5
  120. data/lib/fog/internet_archive/storage.rb +6 -18
  121. data/lib/fog/joyent.rb +2 -0
  122. data/lib/fog/libvirt/requests/compute/get_node_info.rb +1 -1
  123. data/lib/fog/openstack/CHANGELOG.md +47 -0
  124. data/lib/fog/openstack/examples/identity/basics.rb +69 -0
  125. data/lib/fog/openstack/examples/image/upload-test-image.rb +77 -0
  126. data/lib/fog/openstack/examples/network/network_subnets_routers.rb +63 -0
  127. data/lib/fog/openstack/examples/storage/set-account-quota.rb +66 -0
  128. data/lib/fog/openstack/image.rb +4 -0
  129. data/lib/fog/openstack/models/compute/server.rb +4 -2
  130. data/lib/fog/openstack/models/network/floating_ip.rb +2 -2
  131. data/lib/fog/openstack/models/network/floating_ips.rb +1 -1
  132. data/lib/fog/openstack/models/network/router.rb +56 -0
  133. data/lib/fog/openstack/models/network/routers.rb +34 -0
  134. data/lib/fog/openstack/network.rb +15 -2
  135. data/lib/fog/openstack/requests/compute/create_server.rb +11 -0
  136. data/lib/fog/openstack/requests/compute/rebuild_server.rb +9 -1
  137. data/lib/fog/openstack/requests/network/add_router_interface.rb +48 -0
  138. data/lib/fog/openstack/requests/network/create_network.rb +57 -2
  139. data/lib/fog/openstack/requests/network/create_router.rb +57 -0
  140. data/lib/fog/openstack/requests/network/delete_router.rb +30 -0
  141. data/lib/fog/openstack/requests/network/get_router.rb +32 -0
  142. data/lib/fog/openstack/requests/network/list_routers.rb +27 -0
  143. data/lib/fog/openstack/requests/network/remove_router_interface.rb +36 -0
  144. data/lib/fog/openstack/requests/network/update_router.rb +85 -0
  145. data/lib/fog/openstack/storage.rb +57 -0
  146. data/lib/fog/ovirt/compute.rb +4 -0
  147. data/lib/fog/ovirt/models/compute/quota.rb +21 -0
  148. data/lib/fog/ovirt/models/compute/quotas.rb +24 -0
  149. data/lib/fog/ovirt/models/compute/server.rb +2 -1
  150. data/lib/fog/ovirt/models/compute/volume.rb +1 -0
  151. data/lib/fog/ovirt/requests/compute/get_quota.rb +19 -0
  152. data/lib/fog/ovirt/requests/compute/list_quotas.rb +21 -0
  153. data/lib/fog/ovirt/requests/compute/mock_files/quotas.xml +7 -0
  154. data/lib/fog/rackspace.rb +11 -0
  155. data/lib/fog/rackspace/block_storage.rb +73 -20
  156. data/lib/fog/rackspace/cdn.rb +57 -19
  157. data/lib/fog/rackspace/compute.rb +53 -28
  158. data/lib/fog/rackspace/compute_v2.rb +99 -22
  159. data/lib/fog/rackspace/databases.rb +74 -18
  160. data/lib/fog/rackspace/dns.rb +55 -22
  161. data/lib/fog/rackspace/docs/block_storage.md +417 -0
  162. data/lib/fog/rackspace/docs/compute_v2.md +114 -55
  163. data/lib/fog/rackspace/docs/getting_started.md +20 -10
  164. data/lib/fog/rackspace/docs/storage.md +496 -0
  165. data/lib/fog/rackspace/examples/README.md +1 -1
  166. data/lib/fog/rackspace/examples/block_storage/create_snapshot.rb +118 -0
  167. data/lib/fog/rackspace/examples/block_storage/create_volume.rb +58 -0
  168. data/lib/fog/rackspace/examples/block_storage/delete_volume.rb +53 -0
  169. data/lib/fog/rackspace/examples/compute_v2/create_image.rb +2 -2
  170. data/lib/fog/rackspace/examples/compute_v2/create_server.rb +1 -1
  171. data/lib/fog/rackspace/examples/compute_v2/delete_image.rb +2 -2
  172. data/lib/fog/rackspace/examples/compute_v2/delete_server.rb +2 -2
  173. data/lib/fog/rackspace/examples/compute_v2/detach_volume.rb +4 -4
  174. data/lib/fog/rackspace/examples/compute_v2/resize_server.rb +2 -2
  175. data/lib/fog/rackspace/examples/compute_v2/server_attachments.rb +3 -3
  176. data/lib/fog/rackspace/examples/compute_v2/server_metadata.rb +2 -2
  177. data/lib/fog/rackspace/examples/storage/create_cdn_directory.rb +44 -0
  178. data/lib/fog/rackspace/examples/storage/create_private_directory.rb +46 -0
  179. data/lib/fog/rackspace/examples/storage/delete_directory.rb +62 -0
  180. data/lib/fog/rackspace/examples/storage/delete_file.rb +70 -0
  181. data/lib/fog/rackspace/examples/storage/download_file.rb +75 -0
  182. data/lib/fog/rackspace/examples/storage/lorem.txt +1 -0
  183. data/lib/fog/rackspace/examples/storage/storage_metadata.rb +82 -0
  184. data/lib/fog/rackspace/examples/storage/upload_file.rb +45 -0
  185. data/lib/fog/rackspace/identity.rb +10 -3
  186. data/lib/fog/rackspace/load_balancers.rb +76 -18
  187. data/lib/fog/rackspace/models/block_storage/snapshot.rb +42 -0
  188. data/lib/fog/rackspace/models/block_storage/snapshots.rb +15 -0
  189. data/lib/fog/rackspace/models/block_storage/volume.rb +65 -0
  190. data/lib/fog/rackspace/models/block_storage/volume_type.rb +6 -0
  191. data/lib/fog/rackspace/models/block_storage/volume_types.rb +15 -0
  192. data/lib/fog/rackspace/models/block_storage/volumes.rb +15 -0
  193. data/lib/fog/rackspace/models/compute_v2/attachment.rb +8 -0
  194. data/lib/fog/rackspace/models/compute_v2/attachments.rb +9 -1
  195. data/lib/fog/rackspace/models/compute_v2/flavors.rb +9 -1
  196. data/lib/fog/rackspace/models/compute_v2/image.rb +10 -2
  197. data/lib/fog/rackspace/models/compute_v2/images.rb +9 -1
  198. data/lib/fog/rackspace/models/compute_v2/meta_parent.rb +1 -1
  199. data/lib/fog/rackspace/models/compute_v2/metadata.rb +17 -5
  200. data/lib/fog/rackspace/models/compute_v2/metadatum.rb +8 -0
  201. data/lib/fog/rackspace/models/compute_v2/server.rb +72 -13
  202. data/lib/fog/rackspace/models/compute_v2/servers.rb +16 -2
  203. data/lib/fog/rackspace/models/dns/zones.rb +5 -9
  204. data/lib/fog/rackspace/models/identity/service_catalog.rb +83 -0
  205. data/lib/fog/rackspace/models/storage/account.rb +26 -0
  206. data/lib/fog/rackspace/models/storage/directories.rb +23 -3
  207. data/lib/fog/rackspace/models/storage/directory.rb +89 -5
  208. data/lib/fog/rackspace/models/storage/file.rb +112 -2
  209. data/lib/fog/rackspace/models/storage/files.rb +78 -0
  210. data/lib/fog/rackspace/models/storage/metadata.rb +28 -5
  211. data/lib/fog/rackspace/requests/block_storage/create_snapshot.rb +24 -0
  212. data/lib/fog/rackspace/requests/block_storage/create_volume.rb +29 -0
  213. data/lib/fog/rackspace/requests/block_storage/delete_snapshot.rb +10 -0
  214. data/lib/fog/rackspace/requests/block_storage/delete_volume.rb +11 -0
  215. data/lib/fog/rackspace/requests/block_storage/get_snapshot.rb +20 -0
  216. data/lib/fog/rackspace/requests/block_storage/get_volume.rb +24 -0
  217. data/lib/fog/rackspace/requests/block_storage/get_volume_type.rb +14 -0
  218. data/lib/fog/rackspace/requests/block_storage/list_snapshots.rb +17 -0
  219. data/lib/fog/rackspace/requests/block_storage/list_volume_types.rb +13 -0
  220. data/lib/fog/rackspace/requests/block_storage/list_volumes.rb +21 -0
  221. data/lib/fog/rackspace/requests/cdn/delete_object.rb +5 -1
  222. data/lib/fog/rackspace/requests/cdn/get_containers.rb +5 -0
  223. data/lib/fog/rackspace/requests/cdn/head_container.rb +5 -0
  224. data/lib/fog/rackspace/requests/cdn/post_container.rb +6 -1
  225. data/lib/fog/rackspace/requests/cdn/put_container.rb +6 -1
  226. data/lib/fog/rackspace/requests/compute_v2/attach_volume.rb +4 -0
  227. data/lib/fog/rackspace/requests/compute_v2/change_server_password.rb +4 -0
  228. data/lib/fog/rackspace/requests/compute_v2/confirm_resize_server.rb +5 -0
  229. data/lib/fog/rackspace/requests/compute_v2/create_image.rb +9 -4
  230. data/lib/fog/rackspace/requests/compute_v2/create_server.rb +9 -5
  231. data/lib/fog/rackspace/requests/compute_v2/delete_attachment.rb +5 -0
  232. data/lib/fog/rackspace/requests/compute_v2/delete_image.rb +5 -0
  233. data/lib/fog/rackspace/requests/compute_v2/delete_metadata_item.rb +5 -0
  234. data/lib/fog/rackspace/requests/compute_v2/delete_server.rb +5 -0
  235. data/lib/fog/rackspace/requests/compute_v2/get_attachment.rb +4 -0
  236. data/lib/fog/rackspace/requests/compute_v2/get_flavor.rb +4 -0
  237. data/lib/fog/rackspace/requests/compute_v2/get_image.rb +5 -1
  238. data/lib/fog/rackspace/requests/compute_v2/get_metadata_item.rb +4 -0
  239. data/lib/fog/rackspace/requests/compute_v2/get_server.rb +4 -0
  240. data/lib/fog/rackspace/requests/compute_v2/list_addresses.rb +4 -0
  241. data/lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb +4 -0
  242. data/lib/fog/rackspace/requests/compute_v2/list_attachments.rb +4 -0
  243. data/lib/fog/rackspace/requests/compute_v2/list_flavors.rb +4 -0
  244. data/lib/fog/rackspace/requests/compute_v2/list_images.rb +4 -0
  245. data/lib/fog/rackspace/requests/compute_v2/list_metadata.rb +4 -0
  246. data/lib/fog/rackspace/requests/compute_v2/list_servers.rb +4 -0
  247. data/lib/fog/rackspace/requests/compute_v2/reboot_server.rb +4 -0
  248. data/lib/fog/rackspace/requests/compute_v2/rebuild_server.rb +8 -4
  249. data/lib/fog/rackspace/requests/compute_v2/resize_server.rb +6 -1
  250. data/lib/fog/rackspace/requests/compute_v2/revert_resize_server.rb +8 -3
  251. data/lib/fog/rackspace/requests/compute_v2/set_metadata.rb +4 -0
  252. data/lib/fog/rackspace/requests/compute_v2/set_metadata_item.rb +4 -0
  253. data/lib/fog/rackspace/requests/compute_v2/update_metadata.rb +4 -0
  254. data/lib/fog/rackspace/requests/compute_v2/update_server.rb +4 -0
  255. data/lib/fog/rackspace/requests/storage/copy_object.rb +4 -0
  256. data/lib/fog/rackspace/requests/storage/delete_container.rb +4 -1
  257. data/lib/fog/rackspace/requests/storage/delete_object.rb +4 -1
  258. data/lib/fog/rackspace/requests/storage/get_container.rb +4 -0
  259. data/lib/fog/rackspace/requests/storage/get_containers.rb +4 -0
  260. data/lib/fog/rackspace/requests/storage/get_object.rb +4 -1
  261. data/lib/fog/rackspace/requests/storage/get_object_https_url.rb +7 -4
  262. data/lib/fog/rackspace/requests/storage/head_container.rb +4 -0
  263. data/lib/fog/rackspace/requests/storage/head_containers.rb +4 -0
  264. data/lib/fog/rackspace/requests/storage/head_object.rb +4 -1
  265. data/lib/fog/rackspace/requests/storage/post_set_meta_temp_url_key.rb +4 -1
  266. data/lib/fog/rackspace/requests/storage/put_container.rb +4 -1
  267. data/lib/fog/rackspace/requests/storage/put_object.rb +4 -1
  268. data/lib/fog/rackspace/requests/storage/put_object_manifest.rb +4 -1
  269. data/lib/fog/rackspace/service.rb +78 -0
  270. data/lib/fog/rackspace/storage.rb +62 -22
  271. data/lib/fog/riakcs.rb +122 -0
  272. data/lib/fog/riakcs/provisioning.rb +100 -0
  273. data/lib/fog/riakcs/requests/provisioning/create_user.rb +77 -0
  274. data/lib/fog/riakcs/requests/provisioning/disable_user.rb +23 -0
  275. data/lib/fog/riakcs/requests/provisioning/enable_user.rb +23 -0
  276. data/lib/fog/riakcs/requests/provisioning/get_user.rb +41 -0
  277. data/lib/fog/riakcs/requests/provisioning/list_users.rb +43 -0
  278. data/lib/fog/riakcs/requests/provisioning/regrant_secret.rb +23 -0
  279. data/lib/fog/riakcs/requests/provisioning/update_user.rb +23 -0
  280. data/lib/fog/riakcs/requests/usage/get_usage.rb +68 -0
  281. data/lib/fog/riakcs/usage.rb +66 -0
  282. data/lib/fog/vcloud/compute.rb +1 -1
  283. data/lib/fog/vcloud/models/compute/catalog_item.rb +8 -0
  284. data/lib/fog/vcloud/models/compute/server.rb +1 -0
  285. data/lib/fog/vcloud/requests/compute/configure_vm_network.rb +1 -2
  286. data/lib/fog/version.rb +1 -1
  287. data/lib/fog/vsphere/compute.rb +1 -1
  288. data/lib/fog/vsphere/models/compute/servers.rb +9 -9
  289. data/lib/fog/xenserver.rb +2 -0
  290. data/lib/fog/xenserver/CHANGELOG.md +7 -1
  291. data/lib/fog/xenserver/compute.rb +6 -0
  292. data/lib/fog/xenserver/examples/networks-and-vlans.rb +45 -0
  293. data/lib/fog/xenserver/models/compute/network.rb +33 -0
  294. data/lib/fog/xenserver/models/compute/vlan.rb +80 -0
  295. data/lib/fog/xenserver/models/compute/vlans.rb +39 -0
  296. data/lib/fog/xenserver/requests/compute/create_network.rb +42 -0
  297. data/lib/fog/xenserver/requests/compute/create_vlan.rb +35 -0
  298. data/lib/fog/xenserver/requests/compute/destroy_network.rb +33 -0
  299. data/lib/fog/xenserver/requests/compute/destroy_vlan.rb +32 -0
  300. data/lib/fog/zerigo/models/dns/records.rb +15 -12
  301. data/lib/tasks/changelog_task.rb +1 -0
  302. data/tests/aws/requests/compute/address_tests.rb +4 -0
  303. data/tests/aws/requests/iam/server_certificate_tests.rb +32 -0
  304. data/tests/cloudstack/compute/models/snapshot_tests.rb +34 -0
  305. data/tests/digitalocean/helper.rb +44 -0
  306. data/tests/digitalocean/models/compute/flavor_tests.rb +30 -0
  307. data/tests/digitalocean/models/compute/image_tests.rb +31 -0
  308. data/tests/digitalocean/models/compute/region_tests.rb +30 -0
  309. data/tests/digitalocean/models/compute/server_tests.rb +84 -0
  310. data/tests/digitalocean/models/compute/servers_tests.rb +35 -0
  311. data/tests/digitalocean/models/compute/ssh_key_tests.rb +40 -0
  312. data/tests/digitalocean/models/compute/ssh_keys_tests.rb +28 -0
  313. data/tests/digitalocean/requests/compute/create_server_tests.rb +28 -0
  314. data/tests/digitalocean/requests/compute/create_ssh_key_tests.rb +22 -0
  315. data/tests/digitalocean/requests/compute/destroy_server_tests.rb +15 -0
  316. data/tests/digitalocean/requests/compute/destroy_ssh_key_tests.rb +23 -0
  317. data/tests/digitalocean/requests/compute/get_server_details_tests.rb +13 -0
  318. data/tests/digitalocean/requests/compute/get_ssh_key_tests.rb +22 -0
  319. data/tests/digitalocean/requests/compute/list_flavors_tests.rb +23 -0
  320. data/tests/digitalocean/requests/compute/list_images_tests.rb +24 -0
  321. data/tests/digitalocean/requests/compute/list_regions_tests.rb +23 -0
  322. data/tests/digitalocean/requests/compute/list_servers_tests.rb +26 -0
  323. data/tests/digitalocean/requests/compute/list_ssh_keys_tests.rb +21 -0
  324. data/tests/digitalocean/requests/compute/power_cycle_server_tests.rb +20 -0
  325. data/tests/digitalocean/requests/compute/power_state_tests.rb +25 -0
  326. data/tests/digitalocean/requests/compute/reboot_server_tests.rb +14 -0
  327. data/tests/helpers/collection_helper.rb +36 -1
  328. data/tests/helpers/mock_helper.rb +2 -0
  329. data/tests/internet_archive/models/storage/directory_tests.rb +24 -32
  330. data/tests/internet_archive/models/storage/file_tests.rb +16 -35
  331. data/tests/internet_archive/models/storage/files_tests.rb +33 -31
  332. data/tests/internet_archive/models/storage/url_tests.rb +1 -1
  333. data/tests/internet_archive/requests/storage/bucket_tests.rb +34 -38
  334. data/tests/internet_archive/requests/storage/multipart_upload_tests.rb +1 -1
  335. data/tests/openstack/models/network/network_tests.rb +17 -0
  336. data/tests/openstack/models/network/router_tests.rb +38 -0
  337. data/tests/openstack/models/network/routers_tests.rb +21 -0
  338. data/tests/openstack/requests/network/network_tests.rb +61 -10
  339. data/tests/openstack/requests/network/router_tests.rb +75 -0
  340. data/tests/openstack/storage_tests.rb +19 -0
  341. data/tests/ovirt/requests/compute/list_quotas_tests.rb +12 -0
  342. data/tests/rackspace/block_storage_tests.rb +101 -0
  343. data/tests/rackspace/cdn_tests.rb +144 -52
  344. data/tests/rackspace/compute_tests.rb +88 -0
  345. data/tests/rackspace/compute_v2_tests.rb +101 -0
  346. data/tests/rackspace/databases_tests.rb +98 -0
  347. data/tests/rackspace/dns_tests.rb +82 -0
  348. data/tests/rackspace/load_balancer_tests.rb +99 -0
  349. data/tests/rackspace/models/compute_v2/image_tests.rb +51 -0
  350. data/tests/rackspace/models/compute_v2/server_tests.rb +51 -0
  351. data/tests/rackspace/models/identity/service_catalog_tests.rb +81 -0
  352. data/tests/rackspace/models/storage/file_tests.rb +10 -1
  353. data/tests/rackspace/rackspace_tests.rb +21 -0
  354. data/tests/rackspace/requests/compute_v2/metadata_tests.rb +2 -2
  355. data/tests/rackspace/requests/storage/object_tests.rb +2 -2
  356. data/tests/rackspace/storage_tests.rb +99 -3
  357. data/tests/riakcs/requests/provisioning/provisioning_tests.rb +174 -0
  358. data/tests/riakcs/requests/usage/usage_tests.rb +29 -0
  359. data/tests/xenserver/models/compute/network_tests.rb +18 -6
  360. data/tests/xenserver/models/compute/vlan_tests.rb +76 -0
  361. data/tests/xenserver/models/compute/vlans_tests.rb +36 -0
  362. data/tests/xenserver/requests/compute/create_network_tests.rb +20 -0
  363. data/tests/xenserver/requests/compute/create_vlan_tests.rb +36 -0
  364. data/tests/xenserver/requests/compute/destroy_network_tests.rb +13 -0
  365. data/tests/xenserver/requests/compute/destroy_vlan_tests.rb +36 -0
  366. metadata +178 -21
  367. data/lib/fog/internet_archive/models/storage/version.rb +0 -36
  368. data/lib/fog/internet_archive/models/storage/versions.rb +0 -38
  369. data/lib/fog/internet_archive/parsers/storage/get_bucket_object_versions.rb +0 -88
  370. data/lib/fog/internet_archive/parsers/storage/get_bucket_versioning.rb +0 -24
  371. data/lib/fog/internet_archive/requests/storage/get_bucket_object_versions.rb +0 -162
  372. data/lib/fog/internet_archive/requests/storage/get_bucket_versioning.rb +0 -69
  373. data/lib/fog/internet_archive/requests/storage/put_bucket_versioning.rb +0 -75
  374. data/lib/fog/openstack/README.identity.md +0 -69
  375. data/lib/fog/providers.rb +0 -34
  376. data/lib/fog/rackspace/examples/compute_v2/README.md +0 -47
  377. data/tests/internet_archive/models/storage/version_tests.rb +0 -52
  378. data/tests/internet_archive/models/storage/versions_tests.rb +0 -56
  379. data/tests/internet_archive/requests/storage/versioning_tests.rb +0 -258
@@ -20,20 +20,36 @@ module Fog
20
20
  CONTAINER_KEY_REGEX = /^#{CONTAINER_META_PREFIX}(.*)/
21
21
  OBJECT_KEY_REGEX = /^#{OBJECT_META_PREFIX}(.*)/
22
22
 
23
+
24
+ # @!attribute [rw] data
25
+ # @return [Hash] underlying data store for metadata class
26
+ attr_reader :data
27
+
28
+ # @!attribute [rw] parent
29
+ # @return [Fog::Storage::Rackspace::Directory,Fog::Storage::Rackspace::File] the parent object of the metadata
30
+ attr_reader :parent
23
31
 
24
- attr_reader :data, :parent
25
-
32
+ # Initialize
33
+ # @param [Fog::Storage::Rackspace::Directory,Fog::Storage::Rackspace::File] parent object of the metadata
34
+ # @param [Hash] hash containing initial metadata values
26
35
  def initialize(parent, hash={})
27
36
  @data = hash || {}
28
37
  @deleted_hash = {}
29
38
  @parent = parent
30
39
  end
31
-
40
+
41
+
42
+ # Delete key value pair from metadata
43
+ # @param [String] key to be deleted
44
+ # @return [Object] returns value for key
45
+ # @note Metadata must be deleted using this method in order to properly remove it from Cloud Files
32
46
  def delete(key)
33
47
  data.delete(key)
34
48
  @deleted_hash[key] = nil
35
49
  end
36
-
50
+
51
+ # Returns metadata in a format expected by Cloud Files
52
+ # @return [Hash] Metadata in a format expected by Cloud Files
37
53
  def to_headers
38
54
  headers = {}
39
55
  h = data.merge(@deleted_hash)
@@ -45,6 +61,9 @@ module Fog
45
61
  headers
46
62
  end
47
63
 
64
+ # Creates metadata object from Cloud File Headers
65
+ # @param [Fog::Storage::Rackspace::Directory,Fog::Storage::Rackspace::File] parent object of the metadata
66
+ # @param [Hash] headers Cloud File headers
48
67
  def self.from_headers(parent, headers)
49
68
  metadata = Metadata.new(parent)
50
69
  headers.each_pair do |k, v|
@@ -55,10 +74,14 @@ module Fog
55
74
  metadata
56
75
  end
57
76
 
77
+ # Returns true if method is implemented by Metadata class
78
+ # @param [Symbol] method_sym
79
+ # @param [Boolean] include_private
58
80
  def respond_to?(method_sym, include_private = false)
59
81
  super(method_sym, include_private) || data.respond_to?(method_sym, include_private)
60
82
  end
61
-
83
+
84
+ # Invoked by Ruby when obj is sent a message it cannot handle.
62
85
  def method_missing(method, *args, &block)
63
86
  data.send(method, *args, &block)
64
87
  end
@@ -2,6 +2,30 @@ module Fog
2
2
  module Rackspace
3
3
  class BlockStorage
4
4
  class Real
5
+
6
+ # Create a snapshot from a volume
7
+ #
8
+ # @param [String] volume_id Id of server to create image from
9
+ # @param [Hash] options
10
+ # @option options [String] :display_name display name for snapshot
11
+ # @option options [String] :display_description display description for snapshot
12
+ # @option options [Boolean] :force Set to true to force service to create snapshot
13
+ # @return [Excon::Response] response:
14
+ # * body [Hash]:
15
+ # * 'snapshot' [Hash]:
16
+ # * 'volume_id' [String]: - the volume_id of the snapshot
17
+ # * 'display_description' [String]: - display description of snapshot
18
+ # * 'status' [String]: - status of snapshot
19
+ # * 'id' [String]: - id of snapshot
20
+ # * 'size' [Fixnum]: - size of the snapshot in GB
21
+ # * 'display_name' [String]: - display name of snapshot
22
+ # * 'created_at' [String]: - creation time of snapshot
23
+ # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404
24
+ # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400
25
+ # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500
26
+ # @raise [Fog::Rackspace::Errors::ServiceError]
27
+ # @note All writes to the volume should be flushed before creating the snapshot, either by un-mounting any file systems on the volume or by detaching the volume.
28
+ # @see http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/POST_createSnapshot__v1__tenant_id__snapshots.html
5
29
  def create_snapshot(volume_id, options = {})
6
30
  data = {
7
31
  'snapshot' => {
@@ -2,6 +2,34 @@ module Fog
2
2
  module Rackspace
3
3
  class BlockStorage
4
4
  class Real
5
+
6
+ # Create volume
7
+ #
8
+ # @param [Integer] size size of volume in GB. Minimum size is 100
9
+ # @param [Hash] options
10
+ # @option options [String] :display_name display name for volume
11
+ # @option options [String] :display_description display description for volume
12
+ # @option options [String] :volume_type type of volume
13
+ # @option options [String] :snapshot_id The optional snapshot from which to create a volume.
14
+ # @return [Excon::Response] response:
15
+ # * body [Hash]:
16
+ # * 'volume' [Hash]:
17
+ # * 'volume_type' [String]: - type of volume
18
+ # * 'display_description' [String]: - volume description
19
+ # * 'metadata' [Hash]: - volume metadata
20
+ # * 'availability_zone'[String]: - region of the volume
21
+ # * 'status' [String]: - status of volume
22
+ # * 'id' [String]: - id of volume
23
+ # * 'attachments' [Array<Hash]: - array of hashes containing attachment information
24
+ # * 'size' [Fixnum]: - size of volume in GB (100 GB minimum)
25
+ # * 'snapshot_id' [String]: - The optional snapshot from which to create a volume.
26
+ # * 'display_name' [String]: - display name of volume
27
+ # * 'created_at' [String]: - the volume creation time
28
+ # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404
29
+ # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400
30
+ # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500
31
+ # @raise [Fog::Rackspace::Errors::ServiceError]
32
+ # @see http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/POST_createVolume__v1__tenant_id__volumes.html
5
33
  def create_volume(size, options = {})
6
34
  data = {
7
35
  'volume' => {
@@ -13,6 +41,7 @@ module Fog
13
41
  data['volume']['display_description'] = options[:display_description] unless options[:display_description].nil?
14
42
  data['volume']['volume_type'] = options[:volume_type] unless options[:volume_type].nil?
15
43
  data['volume']['availability_zone'] = options[:availability_zone] unless options[:availability_zone].nil?
44
+ data['volume']['snapshot_id'] = options[:snapshot_id] unless options[:snapshot_id].nil?
16
45
 
17
46
  request(
18
47
  :body => Fog::JSON.encode(data),
@@ -2,6 +2,16 @@ module Fog
2
2
  module Rackspace
3
3
  class BlockStorage
4
4
  class Real
5
+
6
+ # Delete snapshot
7
+ #
8
+ # @param [String] snapshot_id Id of snapshot to delete
9
+ # @return [Excon::Response] response
10
+ # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404
11
+ # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400
12
+ # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500
13
+ # @raise [Fog::Rackspace::Errors::ServiceError]
14
+ # @see http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/POST_createSnapshot__v1__tenant_id__snapshots.html
5
15
  def delete_snapshot(snapshot_id)
6
16
  request(
7
17
  :expects => [202],
@@ -2,6 +2,17 @@ module Fog
2
2
  module Rackspace
3
3
  class BlockStorage
4
4
  class Real
5
+
6
+ # Delete volume
7
+ #
8
+ # @param [String] volume_id Id of volume to delete
9
+ # @return [Excon::Response] response
10
+ # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404
11
+ # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400
12
+ # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500
13
+ # @raise [Fog::Rackspace::Errors::ServiceError]
14
+ # @note You cannot delete a volume until all of its dependent snaphosts have been deleted.
15
+ # @see http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/DELETE_deleteVolume__v1__tenant_id__volumes.html
5
16
  def delete_volume(volume_id)
6
17
  request(
7
18
  :expects => [202],
@@ -2,6 +2,26 @@ module Fog
2
2
  module Rackspace
3
3
  class BlockStorage
4
4
  class Real
5
+
6
+ # Retrieves snapshot detail
7
+ # @param [String] snapshot_id
8
+ # @return [Excon::Response] response:
9
+ # * body [Hash]:
10
+ # * 'snapshot' [Hash]:
11
+ # * 'volume_id' [String]: - volume_id of the snapshot
12
+ # * 'display_description' [String]: - snapshot display description
13
+ # * 'status' [String]: - snapshot status
14
+ # * 'os-extended-snapshot-attributes:project_id' [String]: -
15
+ # * 'id' [String]: - snapshot id
16
+ # * 'size' [Fixnum]: - size of the snapshot in GB
17
+ # * 'os-extended-snapshot-attributes:progress' [String]: -
18
+ # * 'display_name' [String]: - display name of snapshot
19
+ # * 'created_at' [String]: - creation time of snapshot
20
+ # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404
21
+ # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400
22
+ # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500
23
+ # @raise [Fog::Rackspace::Errors::ServiceError]
24
+ # @see http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/GET_getSnapshot__v1__tenant_id__snapshots.html
5
25
  def get_snapshot(snapshot_id)
6
26
  request(
7
27
  :expects => [200],
@@ -2,6 +2,30 @@ module Fog
2
2
  module Rackspace
3
3
  class BlockStorage
4
4
  class Real
5
+
6
+ # Retrieves volume detail
7
+ # @param [String] volume_id
8
+ # @return [Excon::Response] response:
9
+ # * body [Hash]:
10
+ # * 'volume' [Hash]:
11
+ # * 'volume_type' [String]: - volume type
12
+ # * 'display_description' [String]: - volume display description
13
+ # * 'metadata' [Hash]: - volume metadata
14
+ # * 'availability_zone' [String]: - region of volume
15
+ # * 'status' [String]: - status of volume
16
+ # * 'id' [String]: - id of volume
17
+ # * 'attachments' [Array<Hash]: - array of hashes containing attachment information
18
+ # * 'size' [Fixnum]: - size of volume in GB (100 GB minimum)
19
+ # * 'snapshot_id' [String]: - The optional snapshot from which to create a volume.
20
+ # * 'os-vol-host-attr:host' [String]: -
21
+ # * 'display_name' [String]: - display name of volume
22
+ # * 'created_at' [String]: - the volume creation time
23
+ # * 'os-vol-tenant-attr:tenant_id' [String]: -
24
+ # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404
25
+ # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400
26
+ # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500
27
+ # @raise [Fog::Rackspace::Errors::ServiceError]
28
+ # @see http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/GET_getVolume__v1__tenant_id__volumes.html
5
29
  def get_volume(volume_id)
6
30
  request(
7
31
  :expects => [200],
@@ -2,6 +2,20 @@ module Fog
2
2
  module Rackspace
3
3
  class BlockStorage
4
4
  class Real
5
+
6
+ # Retrieves volume type detail
7
+ # @param [String] volume_type_id
8
+ # @return [Excon::Response] response:
9
+ # * body [Hash]:
10
+ # * 'volume_type' [Hash]: -
11
+ # * 'name' [String]: - name of volume type
12
+ # * 'extra_specs' [Hash]: -
13
+ # * 'id' [String]: - id of volume type
14
+ # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404
15
+ # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400
16
+ # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500
17
+ # @raise [Fog::Rackspace::Errors::ServiceError]
18
+ # @see http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/GET_getVolumeType__v1__tenant_id__types.html
5
19
  def get_volume_type(volume_type_id)
6
20
  request(
7
21
  :expects => [200],
@@ -2,6 +2,23 @@ module Fog
2
2
  module Rackspace
3
3
  class BlockStorage
4
4
  class Real
5
+
6
+ # Retrieves list of snapshots
7
+ # @return [Excon::Response] response:
8
+ # * body [Hash]:
9
+ # * 'snapshots' [Array]: -
10
+ # * 'volume_id' [String]: - volume_id of the snapshot
11
+ # * 'display_description' [String]: - display description of snapshot
12
+ # * 'status' [String]: - status of snapshot
13
+ # * 'id' [String]: - id of snapshot
14
+ # * 'size' [Fixnum]: - size of the snapshot in GB
15
+ # * 'display_name' [String]: - display name of snapshot
16
+ # * 'created_at' [String]: - creation time of snapshot
17
+ # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404
18
+ # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400
19
+ # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500
20
+ # @raise [Fog::Rackspace::Errors::ServiceError]
21
+ # @see http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/GET_getSnapshotsSimple__v1__tenant_id__snapshots.html
5
22
  def list_snapshots
6
23
  request(
7
24
  :expects => [200],
@@ -2,6 +2,19 @@ module Fog
2
2
  module Rackspace
3
3
  class BlockStorage
4
4
  class Real
5
+
6
+ # Retrieves list of volume types
7
+ # @return [Excon::Response] response
8
+ # * body [Hash]:
9
+ # * 'volume_types' [Array]: -
10
+ # * 'name' [String]: - name of volume type
11
+ # * 'extra_specs' [Hash]: -
12
+ # * 'id' [Fixnum]: - id of volume type
13
+ # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404
14
+ # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400
15
+ # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500
16
+ # @raise [Fog::Rackspace::Errors::ServiceError]
17
+ # @see http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/GET_getVolumeTypes__v1__tenant_id__types.html
5
18
  def list_volume_types
6
19
  request(
7
20
  :expects => [200],
@@ -2,6 +2,27 @@ module Fog
2
2
  module Rackspace
3
3
  class BlockStorage
4
4
  class Real
5
+
6
+ # Retrieves list of volumes
7
+ # @return [Excon::Response] response:
8
+ # * body [Hash]:
9
+ # * 'volumes' [Array]: -
10
+ # * 'volume_type' [String]: - volume type
11
+ # * 'display_description' [String]: - display desciption for volume
12
+ # * 'metadata' [Hash]: - metadata for volume
13
+ # * 'availability_zone' [String]: - region for volume
14
+ # * 'status' [String]: - status of volume
15
+ # * 'id' [String]: - id of volume
16
+ # * 'attachments' [Array]: - array of hashes containing attachment information
17
+ # * 'size' [Fixnum]: - size of volume in GB (100 GB minimum)
18
+ # * 'snapshot_id' [String]: - optional snapshot from which to create a volume.
19
+ # * 'display_name' [String]: - display name of bolume
20
+ # * 'created_at' [String]: - volume creation time
21
+ # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404
22
+ # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400
23
+ # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500
24
+ # @raise [Fog::Rackspace::Errors::ServiceError]
25
+ # @see http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/GET_getVolumesSimple__v1__tenant_id__volumes.html
5
26
  def list_volumes
6
27
  request(
7
28
  :expects => [200],
@@ -8,7 +8,11 @@ module Fog
8
8
  # ==== Parameters
9
9
  # * container<~String> - Name of container to delete
10
10
  # * object<~String> - Name of object to delete
11
- #
11
+ # @return [Excon::Response] response
12
+ # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404
13
+ # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400
14
+ # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500
15
+ # @raise [Fog::Rackspace::Errors::ServiceError]
12
16
  def delete_object(container, object)
13
17
  request(
14
18
  :expects => 204,
@@ -15,6 +15,11 @@ module Fog
15
15
  # * response<~Excon::Response>:
16
16
  # * body<~Array>:
17
17
  # * container<~String>: Name of container
18
+ # @return [Excon::Response] response
19
+ # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404
20
+ # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400
21
+ # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500
22
+ # @raise [Fog::Rackspace::Errors::ServiceError]
18
23
  def get_containers(options = {})
19
24
  response = request(
20
25
  :expects => [200, 204],
@@ -17,6 +17,11 @@ module Fog
17
17
  # * 'X-Log-Retention'<~Boolean> - ?
18
18
  # * 'X-User-Agent-ACL'<~String> - ?
19
19
  # * 'X-Referrer-ACL'<~String> - ?
20
+ # @return [Excon::Response] response
21
+ # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404
22
+ # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400
23
+ # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500
24
+ # @raise [Fog::Rackspace::Errors::ServiceError]
20
25
  def head_container(container)
21
26
  response = request(
22
27
  :expects => 204,
@@ -7,13 +7,18 @@ module Fog
7
7
  #
8
8
  # ==== Parameters
9
9
  # * name<~String> - Name for container, should be < 256 bytes and must not contain '/'
10
- # # options<~Hash>:
10
+ # * options<~Hash>:
11
11
  # * 'X-CDN-Enabled'<~Boolean> - cdn status for container
12
12
  # * 'X-CDN-URI'<~String> - cdn url for this container
13
13
  # * 'X-TTL'<~String> - integer seconds before data expires, defaults to 86400 (1 day), in 3600..259200
14
14
  # * 'X-Log-Retention'<~Boolean> - ?
15
15
  # * 'X-User-Agent-ACL'<~String> - ?
16
16
  # * 'X-Referrer-ACL'<~String> - ?
17
+ # @return [Excon::Response] response
18
+ # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404
19
+ # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400
20
+ # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500
21
+ # @raise [Fog::Rackspace::Errors::ServiceError]
17
22
  def post_container(name, options = {})
18
23
  response = request(
19
24
  :expects => [201, 202],
@@ -7,13 +7,18 @@ module Fog
7
7
  #
8
8
  # ==== Parameters
9
9
  # * name<~String> - Name for container, should be < 256 bytes and must not contain '/'
10
- # # options<~Hash>:
10
+ # * options<~Hash>:
11
11
  # * 'X-CDN-Enabled'<~Boolean> - cdn status for container
12
12
  # * 'X-CDN-URI'<~String> - cdn url for this container
13
13
  # * 'X-TTL'<~String> - integer seconds before data expires, defaults to 86400 (1 day), in 3600..259200
14
14
  # * 'X-Log-Retention'<~Boolean> - ?
15
15
  # * 'X-User-Agent-ACL'<~String> - ?
16
16
  # * 'X-Referrer-ACL'<~String> - ?
17
+ # @return [Excon::Response] response
18
+ # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404
19
+ # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400
20
+ # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500
21
+ # @raise [Fog::Rackspace::Errors::ServiceError]
17
22
  def put_container(name, options = {})
18
23
  response = request(
19
24
  :expects => [201, 202],
@@ -14,6 +14,10 @@ module Fog
14
14
  # * serverId [String] - The id of the server that attached the volume
15
15
  # * id [String] - The id of the attachment
16
16
  # * volumeId [String] - The id of the volume that was attached
17
+ # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404
18
+ # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400
19
+ # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500
20
+ # @raise [Fog::Rackspace::Errors::ServiceError]
17
21
  # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Attach_Volume_to_Server.html
18
22
  def attach_volume(server_id, volume_id, device)
19
23
  data = {
@@ -7,6 +7,10 @@ module Fog
7
7
  # @param [String] server_id
8
8
  # @param [String] password
9
9
  # @return [Excon::Response] response
10
+ # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404
11
+ # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400
12
+ # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500
13
+ # @raise [Fog::Rackspace::Errors::ServiceError]
10
14
  # @note Though Rackspace does not enforce complexity requirements for the password, the operating system might. If the password is not complex enough, the server might enter an ERROR state.
11
15
  # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Change_Password-d1e3234.html
12
16
  def change_server_password(server_id, password)
@@ -5,6 +5,11 @@ module Fog
5
5
 
6
6
  # Confirm server resize operation
7
7
  # @param [String] server_id The id of the server to revert
8
+ # @return [Excon::Response] response
9
+ # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404
10
+ # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400
11
+ # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500
12
+ # @raise [Fog::Rackspace::Errors::ServiceError]
8
13
  # @note All resizes are automatically confirmed after 24 hours if you do not explicitly confirm or revert the resize.
9
14
  # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Revert_Resized_Server-d1e4024.html
10
15
  #