fog 1.18.0 → 1.19.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (366) hide show
  1. data/.gitignore +1 -0
  2. data/.travis.yml +6 -0
  3. data/CONTRIBUTING.md +22 -0
  4. data/LICENSE.md +20 -0
  5. data/README.md +41 -60
  6. data/Rakefile +2 -0
  7. data/changelog.txt +262 -0
  8. data/fog.gemspec +3 -3
  9. data/lib/fog/aws.rb +9 -7
  10. data/lib/fog/aws/cloud_watch.rb +0 -1
  11. data/lib/fog/aws/compute.rb +2 -0
  12. data/lib/fog/aws/dns.rb +2 -1
  13. data/lib/fog/aws/elb.rb +2 -0
  14. data/lib/fog/aws/models/auto_scaling/configuration.rb +4 -0
  15. data/lib/fog/aws/models/compute/address.rb +6 -5
  16. data/lib/fog/aws/models/compute/flavors.rb +10 -0
  17. data/lib/fog/aws/models/compute/spot_request.rb +1 -1
  18. data/lib/fog/aws/models/compute/subnet.rb +4 -0
  19. data/lib/fog/aws/models/compute/vpc.rb +5 -0
  20. data/lib/fog/aws/models/dns/records.rb +1 -3
  21. data/lib/fog/aws/models/elb/load_balancer.rb +10 -0
  22. data/lib/fog/aws/models/glacier/vault.rb +1 -1
  23. data/lib/fog/aws/models/rds/server.rb +5 -2
  24. data/lib/fog/aws/models/rds/subnet_group.rb +15 -1
  25. data/lib/fog/aws/models/storage/file.rb +2 -2
  26. data/lib/fog/aws/parsers/auto_scaling/describe_launch_configurations.rb +6 -0
  27. data/lib/fog/aws/parsers/compute/assign_private_ip_addresses.rb +25 -0
  28. data/lib/fog/aws/parsers/compute/describe_addresses.rb +1 -1
  29. data/lib/fog/aws/parsers/elb/describe_load_balancer_attributes.rb +40 -0
  30. data/lib/fog/aws/parsers/rds/delete_db_subnet_group.rb +35 -0
  31. data/lib/fog/aws/rds.rb +3 -3
  32. data/lib/fog/aws/requests/auto_scaling/create_launch_configuration.rb +2 -0
  33. data/lib/fog/aws/requests/auto_scaling/describe_notification_configurations.rb +1 -1
  34. data/lib/fog/aws/requests/compute/assign_private_ip_addresses.rb +60 -0
  35. data/lib/fog/aws/requests/compute/create_route.rb +1 -1
  36. data/lib/fog/aws/requests/compute/describe_images.rb +1 -1
  37. data/lib/fog/aws/requests/compute/describe_subnets.rb +8 -0
  38. data/lib/fog/aws/requests/compute/describe_vpcs.rb +8 -0
  39. data/lib/fog/aws/requests/compute/modify_vpc_attribute.rb +59 -0
  40. data/lib/fog/aws/requests/dns/change_resource_record_sets.rb +26 -9
  41. data/lib/fog/aws/requests/dns/create_hosted_zone.rb +12 -3
  42. data/lib/fog/aws/requests/dns/delete_hosted_zone.rb +33 -0
  43. data/lib/fog/aws/requests/dns/get_change.rb +26 -0
  44. data/lib/fog/aws/requests/dns/get_hosted_zone.rb +1 -1
  45. data/lib/fog/aws/requests/dns/list_hosted_zones.rb +3 -8
  46. data/lib/fog/aws/requests/dns/list_resource_record_sets.rb +68 -0
  47. data/lib/fog/aws/requests/elb/create_load_balancer.rb +1 -0
  48. data/lib/fog/aws/requests/elb/describe_load_balancer_attributes.rb +54 -0
  49. data/lib/fog/aws/requests/elb/modify_load_balancer_attributes.rb +59 -0
  50. data/lib/fog/aws/requests/rds/create_db_instance.rb +7 -1
  51. data/lib/fog/aws/requests/rds/create_db_subnet_group.rb +7 -1
  52. data/lib/fog/aws/requests/rds/delete_db_subnet_group.rb +42 -0
  53. data/lib/fog/aws/requests/storage/delete_multiple_objects.rb +6 -4
  54. data/lib/fog/aws/requests/storage/put_bucket.rb +4 -1
  55. data/lib/fog/aws/sqs.rb +2 -4
  56. data/lib/fog/aws/storage.rb +14 -1
  57. data/lib/fog/bluebox/compute.rb +1 -1
  58. data/lib/fog/brightbox/compute.rb +7 -9
  59. data/lib/fog/brightbox/compute/image_selector.rb +1 -1
  60. data/lib/fog/brightbox/compute/shared.rb +8 -10
  61. data/lib/fog/brightbox/models/compute/api_client.rb +1 -1
  62. data/lib/fog/brightbox/models/compute/application.rb +1 -4
  63. data/lib/fog/brightbox/models/compute/cloud_ip.rb +8 -5
  64. data/lib/fog/brightbox/models/compute/collaboration.rb +0 -2
  65. data/lib/fog/brightbox/models/compute/collaborations.rb +1 -1
  66. data/lib/fog/brightbox/models/compute/firewall_policy.rb +2 -4
  67. data/lib/fog/brightbox/models/compute/firewall_rule.rb +1 -1
  68. data/lib/fog/brightbox/models/compute/image.rb +1 -3
  69. data/lib/fog/brightbox/models/compute/load_balancer.rb +11 -8
  70. data/lib/fog/brightbox/models/compute/server.rb +28 -20
  71. data/lib/fog/brightbox/models/compute/server_group.rb +9 -11
  72. data/lib/fog/brightbox/models/compute/zone.rb +1 -1
  73. data/lib/fog/brightbox/oauth2.rb +3 -3
  74. data/lib/fog/brightbox/requests/compute/update_server.rb +1 -1
  75. data/lib/fog/cloudstack.rb +1 -1
  76. data/lib/fog/compute.rb +2 -2
  77. data/lib/fog/core.rb +1 -1
  78. data/lib/fog/core/connection.rb +1 -2
  79. data/lib/fog/core/errors.rb +3 -3
  80. data/lib/fog/core/hmac.rb +3 -3
  81. data/lib/fog/core/mock.rb +9 -2
  82. data/lib/fog/core/scp.rb +1 -1
  83. data/lib/fog/core/wait_for.rb +1 -1
  84. data/lib/fog/core/{timeout.rb → wait_for_defaults.rb} +10 -0
  85. data/lib/fog/digitalocean/models/compute/server.rb +4 -0
  86. data/lib/fog/digitalocean/requests/compute/create_server.rb +2 -0
  87. data/lib/fog/dnsimple/dns.rb +1 -1
  88. data/lib/fog/dreamhost/dns.rb +2 -4
  89. data/lib/fog/ecloud/compute.rb +1 -1
  90. data/lib/fog/ecloud/models/compute/environments.rb +5 -3
  91. data/lib/fog/google/compute.rb +105 -68
  92. data/lib/fog/google/examples/create.rb +1 -0
  93. data/lib/fog/google/models/compute/disk.rb +7 -1
  94. data/lib/fog/google/models/compute/operation.rb +42 -0
  95. data/lib/fog/google/models/compute/operations.rb +26 -0
  96. data/lib/fog/google/models/compute/server.rb +18 -2
  97. data/lib/fog/google/models/compute/servers.rb +2 -1
  98. data/lib/fog/google/models/compute/zones.rb +1 -1
  99. data/lib/fog/google/models/storage/file.rb +1 -1
  100. data/lib/fog/google/models/storage/files.rb +1 -1
  101. data/lib/fog/google/requests/compute/delete_disk.rb +22 -2
  102. data/lib/fog/google/requests/compute/delete_global_operation.rb +29 -0
  103. data/lib/fog/google/requests/compute/delete_server.rb +13 -9
  104. data/lib/fog/google/requests/compute/delete_zone_operation.rb +33 -0
  105. data/lib/fog/google/requests/compute/get_disk.rb +26 -2
  106. data/lib/fog/google/requests/compute/{delete_operation.rb → get_global_operation.rb} +5 -6
  107. data/lib/fog/google/requests/compute/get_image.rb +3 -3
  108. data/lib/fog/google/requests/compute/get_server.rb +1 -0
  109. data/lib/fog/google/requests/compute/get_zone_operation.rb +58 -0
  110. data/lib/fog/google/requests/compute/insert_disk.rb +43 -3
  111. data/lib/fog/google/requests/compute/insert_firewall.rb +2 -1
  112. data/lib/fog/google/requests/compute/insert_image.rb +2 -2
  113. data/lib/fog/google/requests/compute/insert_server.rb +64 -35
  114. data/lib/fog/google/requests/compute/list_disks.rb +8 -2
  115. data/lib/fog/google/requests/compute/list_images.rb +2 -2
  116. data/lib/fog/google/requests/compute/list_machine_types.rb +2 -2
  117. data/lib/fog/google/requests/compute/list_servers.rb +2 -2
  118. data/lib/fog/google/requests/compute/list_zone_operations.rb +2 -1
  119. data/lib/fog/google/requests/compute/list_zones.rb +1 -1
  120. data/lib/fog/google/requests/storage/copy_object.rb +1 -1
  121. data/lib/fog/hp.rb +1 -1
  122. data/lib/fog/hp/README.md +57 -0
  123. data/lib/fog/hp/articles/auth_caching.md +23 -0
  124. data/lib/fog/hp/docs/connect.md +152 -0
  125. data/lib/fog/hp/docs/install.md +133 -0
  126. data/lib/fog/hp/examples/block_storage.md +296 -0
  127. data/lib/fog/hp/examples/block_storage_v2.md +446 -0
  128. data/lib/fog/hp/examples/cdn.md +54 -0
  129. data/lib/fog/hp/examples/compute.md +794 -0
  130. data/lib/fog/hp/examples/compute_v2.md +848 -0
  131. data/lib/fog/hp/examples/getting_started_examples.md +30 -0
  132. data/lib/fog/hp/examples/networking.md +472 -0
  133. data/lib/fog/hp/examples/object_storage.md +387 -0
  134. data/lib/fog/json.rb +6 -3
  135. data/lib/fog/local/models/storage/directories.rb +8 -4
  136. data/lib/fog/openstack/compute.rb +3 -0
  137. data/lib/fog/openstack/examples/compute/basics.rb +74 -0
  138. data/lib/fog/openstack/identity.rb +2 -3
  139. data/lib/fog/openstack/image.rb +1 -4
  140. data/lib/fog/openstack/metering.rb +1 -4
  141. data/lib/fog/openstack/models/compute/host.rb +5 -1
  142. data/lib/fog/openstack/models/compute/security_group.rb +18 -4
  143. data/lib/fog/openstack/models/compute/security_group_rule.rb +32 -0
  144. data/lib/fog/openstack/models/compute/security_group_rules.rb +22 -0
  145. data/lib/fog/openstack/models/volume/volume_type.rb +20 -0
  146. data/lib/fog/openstack/models/volume/volume_types.rb +26 -0
  147. data/lib/fog/openstack/network.rb +34 -6
  148. data/lib/fog/openstack/requests/compute/add_flavor_access.rb +1 -1
  149. data/lib/fog/openstack/requests/compute/allocate_address.rb +1 -1
  150. data/lib/fog/openstack/requests/compute/attach_volume.rb +1 -1
  151. data/lib/fog/openstack/requests/compute/boot_from_snapshot.rb +1 -1
  152. data/lib/fog/openstack/requests/compute/create_flavor.rb +1 -1
  153. data/lib/fog/openstack/requests/compute/create_key_pair.rb +1 -1
  154. data/lib/fog/openstack/requests/compute/create_security_group.rb +4 -4
  155. data/lib/fog/openstack/requests/compute/create_security_group_rule.rb +2 -2
  156. data/lib/fog/openstack/requests/compute/create_server.rb +12 -5
  157. data/lib/fog/openstack/requests/compute/create_volume.rb +1 -1
  158. data/lib/fog/openstack/requests/compute/create_volume_snapshot.rb +1 -1
  159. data/lib/fog/openstack/requests/compute/delete_security_group.rb +1 -1
  160. data/lib/fog/openstack/requests/compute/delete_security_group_rule.rb +2 -0
  161. data/lib/fog/openstack/requests/compute/get_security_group.rb +14 -24
  162. data/lib/fog/openstack/requests/compute/get_security_group_rule.rb +38 -0
  163. data/lib/fog/openstack/requests/compute/list_hosts.rb +3 -3
  164. data/lib/fog/openstack/requests/compute/list_tenants.rb +1 -1
  165. data/lib/fog/openstack/requests/compute/remove_flavor_access.rb +1 -1
  166. data/lib/fog/openstack/requests/compute/update_quota.rb +1 -1
  167. data/lib/fog/openstack/requests/identity/create_ec2_credential.rb +1 -1
  168. data/lib/fog/openstack/requests/identity/create_role.rb +1 -1
  169. data/lib/fog/openstack/requests/identity/create_user.rb +1 -1
  170. data/lib/fog/openstack/requests/identity/update_user.rb +1 -1
  171. data/lib/fog/openstack/requests/image/update_image_members.rb +1 -1
  172. data/lib/fog/openstack/requests/orchestration/create_stack.rb +2 -2
  173. data/lib/fog/openstack/requests/orchestration/update_stack.rb +1 -1
  174. data/lib/fog/openstack/requests/storage/get_object_http_url.rb +13 -0
  175. data/lib/fog/openstack/requests/storage/get_object_https_url.rb +0 -14
  176. data/lib/fog/openstack/requests/volume/create_volume.rb +1 -1
  177. data/lib/fog/openstack/requests/volume/create_volume_snapshot.rb +1 -1
  178. data/lib/fog/openstack/requests/volume/get_volume_type_details.rb +32 -0
  179. data/lib/fog/openstack/requests/volume/list_volume_types.rb +41 -0
  180. data/lib/fog/openstack/storage.rb +2 -0
  181. data/lib/fog/openstack/volume.rb +9 -5
  182. data/lib/fog/rackspace/compute.rb +1 -4
  183. data/lib/fog/rackspace/compute_v2.rb +1 -0
  184. data/lib/fog/rackspace/docs/auto_scale.md +9 -9
  185. data/lib/fog/rackspace/docs/getting_started.md +1 -0
  186. data/lib/fog/rackspace/docs/queues.md +312 -0
  187. data/lib/fog/rackspace/examples/queues/claim_messages.rb +60 -0
  188. data/lib/fog/rackspace/examples/queues/create_queue.rb +45 -0
  189. data/lib/fog/rackspace/examples/queues/delete_message.rb +72 -0
  190. data/lib/fog/rackspace/examples/queues/delete_queue.rb +53 -0
  191. data/lib/fog/rackspace/examples/queues/list_messages.rb +64 -0
  192. data/lib/fog/rackspace/examples/queues/post_message.rb +59 -0
  193. data/lib/fog/rackspace/models/compute_v2/key_pairs.rb +1 -1
  194. data/lib/fog/rackspace/models/compute_v2/server.rb +9 -3
  195. data/lib/fog/rackspace/models/compute_v2/servers.rb +2 -2
  196. data/lib/fog/rackspace/models/identity/service_catalog.rb +44 -59
  197. data/lib/fog/rackspace/models/queues/claim.rb +41 -1
  198. data/lib/fog/rackspace/models/queues/claims.rb +25 -0
  199. data/lib/fog/rackspace/models/queues/message.rb +43 -5
  200. data/lib/fog/rackspace/models/queues/messages.rb +37 -0
  201. data/lib/fog/rackspace/models/queues/queue.rb +66 -3
  202. data/lib/fog/rackspace/models/queues/queues.rb +15 -0
  203. data/lib/fog/rackspace/models/storage/file.rb +8 -1
  204. data/lib/fog/rackspace/requests/compute_v2/delete_keypair.rb +1 -1
  205. data/lib/fog/rackspace/requests/compute_v2/get_keypair.rb +1 -1
  206. data/lib/fog/rackspace/requests/queues/create_claim.rb +15 -0
  207. data/lib/fog/rackspace/requests/queues/create_message.rb +15 -0
  208. data/lib/fog/rackspace/requests/queues/create_queue.rb +11 -0
  209. data/lib/fog/rackspace/requests/queues/delete_claim.rb +12 -0
  210. data/lib/fog/rackspace/requests/queues/delete_message.rb +14 -0
  211. data/lib/fog/rackspace/requests/queues/delete_queue.rb +10 -0
  212. data/lib/fog/rackspace/requests/queues/get_claim.rb +11 -0
  213. data/lib/fog/rackspace/requests/queues/get_message.rb +12 -0
  214. data/lib/fog/rackspace/requests/queues/get_queue.rb +10 -0
  215. data/lib/fog/rackspace/requests/queues/get_queue_stats.rb +10 -0
  216. data/lib/fog/rackspace/requests/queues/list_messages.rb +26 -0
  217. data/lib/fog/rackspace/requests/queues/list_queues.rb +17 -2
  218. data/lib/fog/rackspace/requests/queues/update_claim.rb +7 -0
  219. data/lib/fog/rackspace/service.rb +6 -2
  220. data/lib/fog/rackspace/storage.rb +1 -4
  221. data/lib/fog/riakcs.rb +2 -2
  222. data/lib/fog/riakcs/provisioning.rb +1 -3
  223. data/lib/fog/riakcs/requests/provisioning/create_user.rb +2 -2
  224. data/lib/fog/riakcs/requests/provisioning/get_user.rb +1 -1
  225. data/lib/fog/riakcs/requests/provisioning/list_users.rb +1 -1
  226. data/lib/fog/riakcs/requests/usage/get_usage.rb +1 -1
  227. data/lib/fog/riakcs/usage.rb +0 -2
  228. data/lib/fog/vcloud_director/README.md +2 -0
  229. data/lib/fog/vcloud_director/compute.rb +79 -8
  230. data/lib/fog/vcloud_director/generators/compute/org_vdc_network.rb +91 -0
  231. data/lib/fog/vcloud_director/generators/compute/vapp.rb +30 -0
  232. data/lib/fog/vcloud_director/generators/compute/vm.rb +33 -0
  233. data/lib/fog/vcloud_director/models/compute/medias.rb +1 -1
  234. data/lib/fog/vcloud_director/models/compute/vm_customization.rb +2 -0
  235. data/lib/fog/vcloud_director/parsers/compute/vm_customization.rb +2 -0
  236. data/lib/fog/vcloud_director/requests/compute/delete_network.rb +64 -0
  237. data/lib/fog/vcloud_director/requests/compute/get_execute_query.rb +433 -333
  238. data/lib/fog/vcloud_director/requests/compute/get_vapp_metadata.rb +3 -1
  239. data/lib/fog/vcloud_director/requests/compute/post_attach_disk.rb +1 -1
  240. data/lib/fog/vcloud_director/requests/compute/post_configure_edge_gateway_services.rb +20 -2
  241. data/lib/fog/vcloud_director/requests/compute/post_create_org_vdc_network.rb +176 -0
  242. data/lib/fog/vcloud_director/requests/compute/post_detach_disk.rb +1 -1
  243. data/lib/fog/vcloud_director/requests/compute/post_eject_cd_rom.rb +1 -1
  244. data/lib/fog/vcloud_director/requests/compute/post_insert_cd_rom.rb +1 -1
  245. data/lib/fog/vcloud_director/requests/compute/put_guest_customization_section_vapp.rb +1 -0
  246. data/lib/fog/vcloud_director/requests/compute/put_vapp_name_and_description.rb +37 -0
  247. data/lib/fog/vcloud_director/requests/compute/put_vm.rb +39 -0
  248. data/lib/fog/version.rb +1 -1
  249. data/lib/fog/vsphere/compute.rb +3 -0
  250. data/lib/fog/vsphere/models/compute/datastore.rb +1 -0
  251. data/lib/fog/vsphere/models/compute/interface.rb +50 -2
  252. data/lib/fog/vsphere/models/compute/interfaces.rb +25 -10
  253. data/lib/fog/vsphere/models/compute/scsicontroller.rb +19 -0
  254. data/lib/fog/vsphere/models/compute/server.rb +27 -8
  255. data/lib/fog/vsphere/requests/compute/create_vm.rb +34 -8
  256. data/lib/fog/vsphere/requests/compute/get_vm_first_scsi_controller.rb +26 -0
  257. data/lib/fog/vsphere/requests/compute/list_datastores.rb +9 -8
  258. data/lib/fog/vsphere/requests/compute/modify_vm_interface.rb +9 -6
  259. data/lib/fog/vsphere/requests/compute/set_vm_customvalue.rb +19 -0
  260. data/lib/fog/xenserver.rb +2 -1
  261. data/lib/fog/xenserver/compute.rb +37 -1
  262. data/lib/fog/xenserver/models/compute/blob.rb +22 -0
  263. data/lib/fog/xenserver/models/compute/blobs.rb +25 -0
  264. data/lib/fog/xenserver/models/compute/bond.rb +23 -0
  265. data/lib/fog/xenserver/models/compute/bonds.rb +25 -0
  266. data/lib/fog/xenserver/models/compute/console.rb +3 -1
  267. data/lib/fog/xenserver/models/compute/crash_dump.rb +19 -0
  268. data/lib/fog/xenserver/models/compute/crash_dumps.rb +25 -0
  269. data/lib/fog/xenserver/models/compute/dr_task.rb +17 -0
  270. data/lib/fog/xenserver/models/compute/dr_tasks.rb +25 -0
  271. data/lib/fog/xenserver/models/compute/gpu_group.rb +22 -0
  272. data/lib/fog/xenserver/models/compute/gpu_groups.rb +25 -0
  273. data/lib/fog/xenserver/models/compute/guest_metrics.rb +2 -1
  274. data/lib/fog/xenserver/models/compute/host.rb +41 -8
  275. data/lib/fog/xenserver/models/compute/host_cpu.rb +2 -1
  276. data/lib/fog/xenserver/models/compute/host_crash_dump.rb +20 -0
  277. data/lib/fog/xenserver/models/compute/host_crash_dumps.rb +25 -0
  278. data/lib/fog/xenserver/models/compute/host_metrics.rb +1 -1
  279. data/lib/fog/xenserver/models/compute/host_patch.rb +25 -0
  280. data/lib/fog/xenserver/models/compute/host_patchs.rb +25 -0
  281. data/lib/fog/xenserver/models/compute/network.rb +7 -6
  282. data/lib/fog/xenserver/models/compute/pbd.rb +3 -1
  283. data/lib/fog/xenserver/models/compute/pci.rb +22 -0
  284. data/lib/fog/xenserver/models/compute/pcis.rb +25 -0
  285. data/lib/fog/xenserver/models/compute/pgpu.rb +20 -0
  286. data/lib/fog/xenserver/models/compute/pgpus.rb +25 -0
  287. data/lib/fog/xenserver/models/compute/pif.rb +19 -8
  288. data/lib/fog/xenserver/models/compute/pif_metrics.rb +28 -0
  289. data/lib/fog/xenserver/models/compute/pifs_metrics.rb +25 -0
  290. data/lib/fog/xenserver/models/compute/pool.rb +18 -1
  291. data/lib/fog/xenserver/models/compute/pool_patch.rb +24 -0
  292. data/lib/fog/xenserver/models/compute/pool_patchs.rb +25 -0
  293. data/lib/fog/xenserver/models/compute/role.rb +19 -0
  294. data/lib/fog/xenserver/models/compute/roles.rb +25 -0
  295. data/lib/fog/xenserver/models/compute/server.rb +59 -26
  296. data/lib/fog/xenserver/models/compute/server_appliance.rb +21 -0
  297. data/lib/fog/xenserver/models/compute/server_appliances.rb +25 -0
  298. data/lib/fog/xenserver/models/compute/storage_manager.rb +28 -0
  299. data/lib/fog/xenserver/models/compute/storage_managers.rb +25 -0
  300. data/lib/fog/xenserver/models/compute/storage_repository.rb +4 -1
  301. data/lib/fog/xenserver/models/compute/tunnel.rb +20 -0
  302. data/lib/fog/xenserver/models/compute/tunnels.rb +25 -0
  303. data/lib/fog/xenserver/models/compute/vbd.rb +3 -2
  304. data/lib/fog/xenserver/models/compute/vbd_metrics.rb +1 -1
  305. data/lib/fog/xenserver/models/compute/vdi.rb +4 -1
  306. data/lib/fog/xenserver/models/compute/vif.rb +11 -2
  307. data/lib/fog/xenserver/models/compute/vlan.rb +2 -1
  308. data/lib/fog/xenserver/models/compute/vmpp.rb +35 -0
  309. data/lib/fog/xenserver/models/compute/vmpps.rb +25 -0
  310. data/lib/fog/xenserver/models/compute/vtpm.rb +18 -0
  311. data/lib/fog/xenserver/models/compute/vtpms.rb +25 -0
  312. data/lib/fog/xenserver/requests/compute/reboot_server.rb +1 -1
  313. data/lib/tasks/changelog_task.rb +0 -1
  314. data/tests/aws/models/dns/record_tests.rb +1 -2
  315. data/tests/aws/models/dns/records_tests.rb +2 -7
  316. data/tests/aws/models/dns/zone_tests.rb +1 -1
  317. data/tests/aws/models/dns/zones_tests.rb +1 -1
  318. data/tests/aws/models/elb/model_tests.rb +10 -0
  319. data/tests/aws/models/storage/file_tests.rb +4 -0
  320. data/tests/aws/requests/compute/assign_private_ip_tests.rb +52 -0
  321. data/tests/aws/requests/compute/vpc_tests.rb +17 -1
  322. data/tests/aws/requests/dns/dns_tests.rb +1 -26
  323. data/tests/aws/requests/elb/load_balancer_tests.rb +6 -0
  324. data/tests/aws/requests/rds/{subnet_groups_test.rb → subnet_groups_tests.rb} +4 -0
  325. data/tests/aws/requests/storage/bucket_tests.rb +17 -0
  326. data/tests/aws/requests/storage/delete_multiple_objects_tests.rb +12 -0
  327. data/tests/brightbox/compute/schema.rb +0 -13
  328. data/tests/brightbox/models/compute/server_tests.rb +7 -9
  329. data/tests/brightbox/requests/compute/interface_tests.rb +7 -19
  330. data/tests/digitalocean/models/compute/server_tests.rb +4 -3
  331. data/tests/google/models/compute/disk_tests.rb +5 -0
  332. data/tests/google/models/compute/disks_tests.rb +5 -0
  333. data/tests/google/models/compute/server_tests.rb +5 -1
  334. data/tests/google/models/compute/servers_tests.rb +5 -0
  335. data/tests/google/requests/compute/disk_tests.rb +2 -1
  336. data/tests/google/requests/compute/firewall_tests.rb +1 -0
  337. data/tests/google/requests/compute/image_tests.rb +3 -0
  338. data/tests/google/requests/compute/network_tests.rb +1 -0
  339. data/tests/google/requests/compute/operation_tests.rb +1 -0
  340. data/tests/google/requests/compute/server_tests.rb +2 -3
  341. data/tests/google/requests/compute/zone_tests.rb +1 -6
  342. data/tests/helpers/collection_helper.rb +10 -2
  343. data/tests/helpers/mock_helper.rb +4 -5
  344. data/tests/local/models/directories_tests.rb +17 -0
  345. data/tests/openstack/models/compute/security_group_tests.rb +54 -0
  346. data/tests/openstack/requests/compute/security_group_tests.rb +22 -20
  347. data/tests/openstack/requests/network/network_tests.rb +8 -8
  348. data/tests/rackspace/compute_tests.rb +0 -5
  349. data/tests/rackspace/helper.rb +9 -4
  350. data/tests/rackspace/models/compute_v2/server_tests.rb +29 -1
  351. data/tests/rackspace/models/identity/service_catalog_tests.rb +87 -39
  352. data/tests/rackspace/models/queues/message_tests.rb +16 -0
  353. data/tests/rackspace/models/storage/file_tests.rb +29 -0
  354. data/tests/rackspace/requests/compute_v2/address_tests.rb +3 -1
  355. data/tests/rackspace/requests/compute_v2/metadata_tests.rb +4 -2
  356. data/tests/rackspace/requests/compute_v2/server_tests.rb +3 -6
  357. data/tests/vcloud_director/models/compute/media_tests.rb +18 -5
  358. data/tests/vcloud_director/models/compute/vapp_tests.rb +3 -1
  359. data/tests/vcloud_director/models/compute/vms_tests.rb +2 -1
  360. data/tests/vcloud_director/requests/compute/edge_gateway_tests.rb +19 -10
  361. data/tests/vcloud_director/requests/compute/network_tests.rb +64 -3
  362. data/tests/vcloud_director/requests/compute/query_tests.rb +67 -2
  363. data/tests/vsphere/requests/compute/set_vm_customvalue_tests.rb +21 -0
  364. metadata +112 -11
  365. data/fogkeytest1.pem +0 -27
  366. data/lib/fog/hp/README_HP.rdoc +0 -61
@@ -5,13 +5,42 @@ module Fog
5
5
  class Queues
6
6
  class Claim < Fog::Model
7
7
 
8
+ # @!attribute [r] identity
9
+ # @return [String] The claim's id
8
10
  identity :identity
9
11
 
12
+ # @!attribute [rw] grace
13
+ # @return [Integer] The grace attribute specifies the message grace period in seconds. The value of grace value must be between 60 and 43200 seconds (12 hours).
14
+ # You must include a value for this attribute in your request. To deal with workers that have stopped responding (for up to 1209600 seconds or 14 days, including
15
+ # claim lifetime), the server extends the lifetime of claimed messages to be at least as long as the lifetime of the claim itself, plus the specified grace period.
16
+ # If a claimed message would normally live longer than the grace period, its expiration is not adjusted.
10
17
  attribute :grace
18
+
19
+ # @!attribute [rw] ttl
20
+ # @return [Integer] The ttl attribute specifies how long the server waits before releasing the claim. The ttl value must be between 60 and 43200 seconds (12 hours).
11
21
  attribute :ttl
22
+
23
+ # @!attribute [rw] limit
24
+ # @return [Integer] Specifies the number of messages to return, up to 20 messages. If limit is not specified, limit defaults to 10.
12
25
  attribute :limit
26
+
27
+ # @!attribute [r] limit
28
+ # @return [Array<Fog::Rackspace::Queues::Messages>, Array<Strings>] Specifies the number of messages to return, up to 20 messages.
29
+ # If limit is not specified, limit defaults to 10.
13
30
  attribute :messages
14
31
 
32
+ alias :id :identity
33
+
34
+ # Creates or updates a claim
35
+ #
36
+ # @return [Boolean] returns true if claim is being created
37
+ #
38
+ # @raise [Fog::Rackspace::Queues::NotFound] - HTTP 404
39
+ # @raise [Fog::Rackspace::Queues::BadRequest] - HTTP 400
40
+ # @raise [Fog::Rackspace::Queues::InternalServerError] - HTTP 500
41
+ # @raise [Fog::Rackspace::Queues::ServiceError]
42
+ # @see http://docs.rackspace.com/queues/api/v1.0/cq-devguide/content/POST_claimMessages__version__queues__queue_name__claims_claims-operations-dle001.html
43
+ # @see http://docs.rackspace.com/queues/api/v1.0/cq-devguide/content/PATCH_updateClaim__version__queues__queue_name__claims__claimId__claims-operations-dle001.html
15
44
  def save
16
45
  if identity.nil?
17
46
  create
@@ -20,6 +49,15 @@ module Fog
20
49
  end
21
50
  end
22
51
 
52
+ # Destroys Claim
53
+ #
54
+ # @return [Boolean] returns true if claim is deleted
55
+ #
56
+ # @raise [Fog::Rackspace::Queues::NotFound] - HTTP 404
57
+ # @raise [Fog::Rackspace::Queues::BadRequest] - HTTP 400
58
+ # @raise [Fog::Rackspace::Queues::InternalServerError] - HTTP 500
59
+ # @raise [Fog::Rackspace::Queues::ServiceError]
60
+ # @see http://docs.rackspace.com/queues/api/v1.0/cq-devguide/content/DELETE_deleteClaim__version__queues__queue_name__claims__claimId__claims-operations-dle001.html
23
61
  def destroy
24
62
  requires :identity, :queue
25
63
  service.delete_claim(queue.name, identity)
@@ -42,12 +80,14 @@ module Fog
42
80
  })
43
81
  attributes[:messages] = messages.collect do |message|
44
82
  if message.instance_of? Fog::Rackspace::Queues::Message
83
+ message.claim_id = self.id
45
84
  message
46
85
  else
47
86
  Fog::Rackspace::Queues::Message.new(
48
87
  message.merge({
49
88
  :service => service,
50
- :collection => message_collection
89
+ :collection => message_collection,
90
+ :claim_id => self.id
51
91
  }.merge(message))
52
92
  )
53
93
  end
@@ -8,12 +8,29 @@ module Fog
8
8
 
9
9
  model Fog::Rackspace::Queues::Claim
10
10
 
11
+ # @!attribute [rw] queue
12
+ # @return [String] The queue associated with the claim collection
11
13
  attr_accessor :queue
12
14
 
15
+ # Returns list of claims
16
+ # @note The Rackspace Cloud does not currently provide a way to retrieve claims as such this list is maintained by fog. Claims are added to the claim collection
17
+ # as they are created.
18
+ # @return [Fog::Rackspace::Queues::Claims] Retrieves a collection of claims.
19
+ # @raise [Fog::Rackspace::Queues::NotFound] - HTTP 404
20
+ # @raise [Fog::Rackspace::Queues::BadRequest] - HTTP 400
21
+ # @raise [Fog::Rackspace::Queues::InternalServerError] - HTTP 500
22
+ # @raise [Fog::Rackspace::Queues::ServiceError]
13
23
  def all
14
24
  self
15
25
  end
16
26
 
27
+ # This operation claims a set of messages (up to the value of the limit parameter) from oldest to newest and skips any messages that are already claimed.
28
+ # @return [Fog::Rackspace::Queues::Claim] Returns a claim
29
+ # @raise [Fog::Rackspace::Queues::NotFound] - HTTP 404
30
+ # @raise [Fog::Rackspace::Queues::BadRequest] - HTTP 400
31
+ # @raise [Fog::Rackspace::Queues::InternalServerError] - HTTP 500
32
+ # @raise [Fog::Rackspace::Queues::ServiceError]
33
+ # @see http://docs.rackspace.com/queues/api/v1.0/cq-devguide/content/POST_claimMessages__version__queues__queue_name__claims_claims-operations-dle001.html
17
34
  def create(attributes = {})
18
35
  object = new(attributes)
19
36
  if object.save
@@ -23,6 +40,14 @@ module Fog
23
40
  end
24
41
  end
25
42
 
43
+ # This operation queries the specified claim for the specified queue. Claims with malformed IDs or claims that are not found by ID are ignored.
44
+ #
45
+ # @param [Integer] claim_id Specifies the claim ID.
46
+ # @return [Fog::Rackspace::Queues::Claim] Returns a claim
47
+ # @raise [Fog::Rackspace::Queues::BadRequest] - HTTP 400
48
+ # @raise [Fog::Rackspace::Queues::InternalServerError] - HTTP 500
49
+ # @raise [Fog::Rackspace::Queues::ServiceError]
50
+ # @see http://docs.rackspace.com/queues/api/v1.0/cq-devguide/content/GET_queryClaim__version__queues__queue_name__claims__claimId__claims-operations-dle001.html
26
51
  def get(claim_id)
27
52
  requires :queue
28
53
  data = service.get_claim(queue.identity, claim_id).body
@@ -5,20 +5,49 @@ module Fog
5
5
  class Queues
6
6
  class Message < Fog::Model
7
7
 
8
+ # @!attribute [r] age
9
+ # @return [Integer] The number of seconds relative to the server's clock.
8
10
  attribute :age
11
+
12
+ # @!attribute [rw] ttl
13
+ # @return [Integer] specifies how long the server waits before marking the message as expired and removing it from the queue.
14
+ # @note The value of ttl must be between 60 and 1209600 seconds (14 days). Note that the server might not actually delete the message until its
15
+ # age has reached up to (ttl + 60) seconds, to allow for flexibility in storage implementations.
9
16
  attribute :ttl
17
+
18
+ # @!attribute [rw] body
19
+ # @return [String, Hash, Array] specifies an arbitrary document that constitutes the body of the message being sent. The size of this body is limited to 256 KB, excluding whitespace. The document must be valid JSON.
10
20
  attribute :body
21
+
22
+ # @!attribute [r] href
23
+ # @return [String] location of the message
11
24
  attribute :href
25
+
26
+ # @!attribute [r] claim_id
27
+ # @return [String] the id of the claim
12
28
  attribute :claim_id
13
29
 
30
+ # @!attribute [r] identity
31
+ # @return [String] The messages identity
14
32
  def identity
15
- if href
16
- href.split('/').last
17
- else
18
- nil
19
- end
33
+ return nil unless href
34
+
35
+ match = href.match(/(\/(\w+))*\??/)
36
+ match ? match[-1] : nil
20
37
  end
38
+ alias :id :identity
21
39
 
40
+ # Creates messages
41
+ # Requires queue, client_id, body, and ttl attributes to be populated
42
+ # @note messages cannot be updated
43
+ #
44
+ # @return [Boolean] returns true if message has been succesfully saved
45
+ #
46
+ # @raise [Fog::Rackspace::Queues::NotFound] - HTTP 404
47
+ # @raise [Fog::Rackspace::Queues::BadRequest] - HTTP 400
48
+ # @raise [Fog::Rackspace::Queues::InternalServerError] - HTTP 500
49
+ # @raise [Fog::Rackspace::Queues::ServiceError]
50
+ # @see http://docs.rackspace.com/queues/api/v1.0/cq-devguide/content/POST_postMessage__version__queues__queue_name__messages_message-operations-dle001.html
22
51
  def save
23
52
  requires :queue, :client_id, :body, :ttl
24
53
  raise "Message has already been created and may not be updated." unless identity.nil?
@@ -27,6 +56,15 @@ module Fog
27
56
  true
28
57
  end
29
58
 
59
+ # Destroys Message
60
+ #
61
+ # @return [Boolean] returns true if message is deleted
62
+ #
63
+ # @raise [Fog::Rackspace::Queues::NotFound] - HTTP 404
64
+ # @raise [Fog::Rackspace::Queues::BadRequest] - HTTP 400
65
+ # @raise [Fog::Rackspace::Queues::InternalServerError] - HTTP 500
66
+ # @raise [Fog::Rackspace::Queues::ServiceError]
67
+ # @see http://docs.rackspace.com/queues/api/v1.0/cq-devguide/content/DELETE_deleteMessage__version__queues__queue_name__messages__messageId__message-operations-dle001.html
30
68
  def destroy
31
69
  requires :identity, :queue
32
70
  options = {}
@@ -8,13 +8,43 @@ module Fog
8
8
 
9
9
  model Fog::Rackspace::Queues::Message
10
10
 
11
+ # @!attribute [r] client_id
12
+ # @return [String] UUID for the client instance.
11
13
  attr_accessor :client_id
14
+
15
+ # @!attribute [r] queue
16
+ # @return [String] The name of the queue associated with the message.
12
17
  attr_accessor :queue
18
+
19
+ # @!attribute [rw] echo
20
+ # @return [Boolean] Determines whether the API returns a client's own messages. The echo parameter is a Boolean value (true or false) that determines whether the API
21
+ # returns a client's own messages, as determined by the uuid portion of the User-Agent header. If you do not specify a value, echo uses the default value of false.
22
+ # If you are experimenting with the API, you might want to set echo=true in order to see the messages that you posted.
13
23
  attr_accessor :echo
24
+
25
+ # @!attribute [rw] limit
26
+ # @return [String] When more messages are available than can be returned in a single request, the client can pick up the next batch of messages by simply using the URI
27
+ # template parameters returned from the previous call in the "next" field. Specifies up to 10 messages (the default value) to return. If you do not specify a value
28
+ # for the limit parameter, the default value of 10 is used.
14
29
  attr_accessor :limit
30
+
31
+ # @!attribute [rw] marker
32
+ # @return [String] Specifies an opaque string that the client can use to request the next batch of messages. The marker parameter communicates to the server which
33
+ # messages the client has already received. If you do not specify a value, the API returns all messages at the head of the queue (up to the limit).
15
34
  attr_accessor :marker
35
+
36
+ # @!attribute [rw] include_claimed
37
+ # @return [String] Determines whether the API returns claimed messages and unclaimed messages. The include_claimed parameter is a Boolean value (true or false)
38
+ # that determines whether the API returns claimed messages and unclaimed messages. If you do not specify a value, include_claimed uses the default value of false
39
+ # (only unclaimed messages are returned).
16
40
  attr_accessor :include_claimed
17
41
 
42
+ # Returns list of messages
43
+ #
44
+ # @return [Fog::Rackspace::Queues::Messages] Retrieves a collection of messages.
45
+ # @raise [Fog::Rackspace::Queues::NotFound] - HTTP 404
46
+ # @raise [Fog::Rackspace::Queues::BadRequest] - HTTP 400
47
+ # @raise [Fog::Rackspace::Queues::InternalServerError] - HTTP 500
18
48
  def all
19
49
  requires :client_id, :queue
20
50
  response = service.list_messages(client_id, queue.name, options)
@@ -26,6 +56,13 @@ module Fog
26
56
  load(data)
27
57
  end
28
58
 
59
+ # Returns the specified message from the queue.
60
+ #
61
+ # @param [Integer] message_id id of the message to be retrieved
62
+ # @return [Fog::Rackspace::Queues::Claim] Returns a claim
63
+ # @raise [Fog::Rackspace::Queues::BadRequest] - HTTP 400
64
+ # @raise [Fog::Rackspace::Queues::InternalServerError] - HTTP 500
65
+ # @raise [Fog::Rackspace::Queues::ServiceError]
29
66
  def get(message_id)
30
67
  requires :client_id, :queue
31
68
  data = service.get_message(client_id, queue.name, message_id).body
@@ -5,8 +5,17 @@ module Fog
5
5
  class Queues
6
6
  class Queue < Fog::Model
7
7
 
8
+ # @!attribute [rw] name
9
+ # @return [String] name of queue
8
10
  identity :name
9
11
 
12
+ # Returns list of messages in the queue
13
+ #
14
+ # @return [Fog::Rackspace::Queues::Messages] Retrieves a collection of messages.
15
+ # @raise [Fog::Rackspace::Queues::NotFound] - HTTP 404
16
+ # @raise [Fog::Rackspace::Queues::BadRequest] - HTTP 400
17
+ # @raise [Fog::Rackspace::Queues::InternalServerError] - HTTP 500
18
+ # @see http://docs.rackspace.com/queues/api/v1.0/cq-devguide/content/GET_getMessages__version__queues__queue_name__messages_message-operations-dle001.html
10
19
  def messages
11
20
  @messages ||= begin
12
21
  Fog::Rackspace::Queues::Messages.new({
@@ -18,10 +27,25 @@ module Fog
18
27
  end
19
28
  end
20
29
 
30
+ # Returns queue statistics, including how many messages are in the queue, categorized by status.
31
+ #
32
+ # @return [Hash] Retrieves a collection of messages.
33
+ # @raise [Fog::Rackspace::Queues::NotFound] - HTTP 404
34
+ # @raise [Fog::Rackspace::Queues::BadRequest] - HTTP 400
35
+ # @raise [Fog::Rackspace::Queues::InternalServerError] - HTTP 500
36
+ # @see http://docs.rackspace.com/queues/api/v1.0/cq-devguide/content/GET_getQueueStats__version__queues__queue_name__stats_queue-operations-dle001.html
21
37
  def stats
22
38
  service.get_queue_stats(name).body['messages']
23
39
  end
24
40
 
41
+ # Returns list of claims
42
+ # @note The Rackspace Cloud does not currently provide a way to retrieve claims as such this list is maintained by fog. Claims are added to the claim collection
43
+ # as they are created.
44
+ # @return [Fog::Rackspace::Queues::Claims] Retrieves a collection of claims.
45
+ # @raise [Fog::Rackspace::Queues::NotFound] - HTTP 404
46
+ # @raise [Fog::Rackspace::Queues::BadRequest] - HTTP 400
47
+ # @raise [Fog::Rackspace::Queues::InternalServerError] - HTTP 500
48
+ # @raise [Fog::Rackspace::Queues::ServiceError]
25
49
  def claims
26
50
  @claims ||= begin
27
51
  Fog::Rackspace::Queues::Claims.new({
@@ -31,12 +55,32 @@ module Fog
31
55
  end
32
56
  end
33
57
 
34
- #Helper method to enqueue a single message
58
+ # Helper method to enqueue a single message
59
+ #
60
+ # @param [String, Hash, Array] body The body attribute specifies an arbitrary document that constitutes the body of the message being sent. The size of this body is limited to 256 KB, excluding whitespace. The document must be valid JSON.
61
+ # @param [Integer] ttl The ttl attribute specifies how long the server waits before releasing the claim. The ttl value must be between 60 and 43200 seconds (12 hours).
62
+ # @param [Hash] options
63
+ # @return [Boolean] returns true if message has been succesfully enqueued
64
+ # @raise [Fog::Rackspace::Queues::NotFound] - HTTP 404
65
+ # @raise [Fog::Rackspace::Queues::BadRequest] - HTTP 400
66
+ # @raise [Fog::Rackspace::Queues::InternalServerError] - HTTP 500
67
+ # @raise [Fog::Rackspace::Queues::ServiceError]
68
+ # @see http://docs.rackspace.com/queues/api/v1.0/cq-devguide/content/POST_postMessage__version__queues__queue_name__messages_message-operations-dle001.html
35
69
  def enqueue(body, ttl, options = {})
36
- messages.create(options.merge(options.merge({:body => body, :ttl => ttl})))
70
+ messages.create(options.merge({:body => body, :ttl => ttl}))
37
71
  end
38
72
 
39
- #Helper method to claim (dequeue) a single message, including destroying it
73
+ # Helper method to claim (dequeue) a single message, yield the message, and then destroy it
74
+ #
75
+ # @param [Integer] ttl The ttl attribute specifies how long the server waits before releasing the claim. The ttl value must be between 60 and 43200 seconds (12 hours).
76
+ # @param [Integer] grace The grace attribute specifies the message grace period in seconds. The value of grace value must be between 60 and 43200 seconds (12 hours).
77
+ # @param [Hash] options
78
+ # @yieldparam message claimed [Fog::Rackspace::Queues::Message]
79
+ # @return [Boolean] Returns true if claim was successfully made
80
+ # @raise [Fog::Rackspace::Queues::NotFound] - HTTP 404
81
+ # @raise [Fog::Rackspace::Queues::BadRequest] - HTTP 400
82
+ # @raise [Fog::Rackspace::Queues::InternalServerError] - HTTP 500
83
+ # @raise [Fog::Rackspace::Queues::ServiceError]
40
84
  def dequeue(ttl, grace, options = {}, &block)
41
85
  claim = claims.create(
42
86
  options.merge(
@@ -56,12 +100,31 @@ module Fog
56
100
  end
57
101
  end
58
102
 
103
+ # Creates queue
104
+ # Requires name attribute to be populated
105
+ #
106
+ # @return [Boolean] returns true if queue has been succesfully saved
107
+ #
108
+ # @raise [Fog::Rackspace::Queues::NotFound] - HTTP 404
109
+ # @raise [Fog::Rackspace::Queues::BadRequest] - HTTP 400
110
+ # @raise [Fog::Rackspace::Queues::InternalServerError] - HTTP 500
111
+ # @raise [Fog::Rackspace::Queues::ServiceError]
112
+ # @see http://docs.rackspace.com/queues/api/v1.0/cq-devguide/content/POST_postMessage__version__queues__queue_name__messages_message-operations-dle001.html
59
113
  def save
60
114
  requires :name
61
115
  data = service.create_queue(name)
62
116
  true
63
117
  end
64
118
 
119
+ # Destroys queue
120
+ #
121
+ # @return [Boolean] returns true if queue is deleted
122
+ #
123
+ # @raise [Fog::Rackspace::Queues::NotFound] - HTTP 404
124
+ # @raise [Fog::Rackspace::Queues::BadRequest] - HTTP 400
125
+ # @raise [Fog::Rackspace::Queues::InternalServerError] - HTTP 500
126
+ # @raise [Fog::Rackspace::Queues::ServiceError]
127
+ # @see http://docs.rackspace.com/queues/api/v1.0/cq-devguide/content/DELETE_deleteQueue__version__queues__queue_name__queue-operations-dle001.html
65
128
  def destroy
66
129
  requires :name
67
130
  service.delete_queue(name)
@@ -8,6 +8,13 @@ module Fog
8
8
 
9
9
  model Fog::Rackspace::Queues::Queue
10
10
 
11
+ # Returns list of queues
12
+ #
13
+ # @return [Fog::Rackspace::Queues::Queues] Retrieves a collection of queues.
14
+ # @raise [Fog::Rackspace::Queues::NotFound] - HTTP 404
15
+ # @raise [Fog::Rackspace::Queues::BadRequest] - HTTP 400
16
+ # @raise [Fog::Rackspace::Queues::InternalServerError] - HTTP 500
17
+ # @see http://docs.rackspace.com/queues/api/v1.0/cq-devguide/content/GET_listQueues__version__queues_.html
11
18
  def all
12
19
  response = service.list_queues
13
20
  if service.list_queues.status == 204
@@ -18,6 +25,14 @@ module Fog
18
25
  load(data)
19
26
  end
20
27
 
28
+ # This operation queries the specified queue.
29
+ #
30
+ # @param [String] queue_name Specifies the queue name
31
+ # @return [Fog::Rackspace::Queues::Queue] Returns a queue
32
+ # @raise [Fog::Rackspace::Queues::BadRequest] - HTTP 400
33
+ # @raise [Fog::Rackspace::Queues::InternalServerError] - HTTP 500
34
+ # @raise [Fog::Rackspace::Queues::ServiceError]
35
+ # @see http://docs.rackspace.com/queues/api/v1.0/cq-devguide/content/GET_checkQueueExists__version__queues__queue_name__queue-operations-dle001.html
21
36
  def get(queue_name)
22
37
  #204 no content is returned on success. That's why no data is passed
23
38
  # from the GET to the constructor.
@@ -42,6 +42,11 @@ module Fog
42
42
  # @see http://docs.rackspace.com/files/api/v1/cf-devguide/content/CORS_Container_Header-d1e1300.html
43
43
  attribute :origin, :aliases => ['Origin']
44
44
 
45
+ # @!attribute [rw] content_encoding
46
+ # @return [String] The content encoding of the file
47
+ # @see http://docs.rackspace.com/files/api/v1/cf-devguide/content/Enabling_File_Compression_with_the_Content-Encoding_Header-d1e2198.html
48
+ attribute :content_encoding, :aliases => 'Content-Encoding'
49
+
45
50
  # @!attribute [r] directory
46
51
  # @return [Fog::Storage::Rackspace::Directory] directory containing file
47
52
  attr_accessor :directory
@@ -87,6 +92,7 @@ module Fog
87
92
  options['Content-Type'] ||= content_type if content_type
88
93
  options['Access-Control-Allow-Origin'] ||= access_control_allow_origin if access_control_allow_origin
89
94
  options['Origin'] ||= origin if origin
95
+ options['Content-Encoding'] ||= content_encoding if content_encoding
90
96
  service.copy_object(directory.key, key, target_directory_key, target_file_key, options)
91
97
  target_directory = service.directories.new(:key => target_directory_key)
92
98
  target_directory.files.get(target_file_key)
@@ -133,7 +139,7 @@ module Fog
133
139
  end
134
140
 
135
141
  # Set last modified
136
- # @param [String, Fog::Time] timestamp
142
+ # @param [String, Fog::Time] obj
137
143
  def last_modified=(obj)
138
144
  if obj.nil? || obj == "" || obj.is_a?(Time)
139
145
  attributes[:last_modified] = obj
@@ -247,6 +253,7 @@ module Fog
247
253
  options['Origin'] = origin if origin
248
254
  options['Content-Disposition'] = content_disposition if content_disposition
249
255
  options['Etag'] = etag if etag
256
+ options['Content-Encoding'] = content_encoding if content_encoding
250
257
  options.merge!(metadata.to_headers)
251
258
 
252
259
  data = service.put_object(directory.key, key, body, options)
@@ -4,7 +4,7 @@ module Fog
4
4
  class Real
5
5
 
6
6
  # Delete the key specified with key_name
7
- # @param [String] key_name: name of the key to delete
7
+ # @param [String] key_name name of the key to delete
8
8
  # @return [Excon::Response] response
9
9
  # @raise [Fog::Compute::RackspaceV2::NotFound]
10
10
  # @raise [Fog::Compute::RackspaceV2::BadRequest]
@@ -4,7 +4,7 @@ module Fog
4
4
  class Real
5
5
 
6
6
  # Retreive single keypair details
7
- # @param [String] key_name: name of the key for which to request the details
7
+ # @param [String] key_name name of the key for which to request the details
8
8
  # @return [Excon::Response] response :
9
9
  # * body [Hash]: -
10
10
  # * 'keypair' [Hash]: -
@@ -2,6 +2,21 @@ module Fog
2
2
  module Rackspace
3
3
  class Queues
4
4
  class Real
5
+
6
+ # This operation claims a set of messages (up to the value of the limit parameter) from oldest to newest and skips any messages that are already claimed.
7
+ # If no unclaimed messages are available, the API returns a 204 No Content message.
8
+ #
9
+ # @param [String] queue_name Specifies the name of the queue.
10
+ # @param [Integer] ttl The ttl attribute specifies how long the server waits before releasing the claim. The ttl value must be between 60 and 43200 seconds (12 hours).
11
+ # @param [Integer] grace The grace attribute specifies the message grace period in seconds. The value of grace value must be between 60 and 43200 seconds (12 hours).
12
+ # @param [Hash] options
13
+ # @option options [Integer] :limit - Specifies the number of messages to return, up to 20 messages. If limit is not specified, limit defaults to 10.
14
+ # @return [Excon::Response] response
15
+ # @raise [Fog::Rackspace::Queues::NotFound] - HTTP 404
16
+ # @raise [Fog::Rackspace::Queues::BadRequest] - HTTP 400
17
+ # @raise [Fog::Rackspace::Queues::InternalServerError] - HTTP 500
18
+ # @raise [Fog::Rackspace::Queues::ServiceError]
19
+ # @see http://docs.rackspace.com/queues/api/v1.0/cq-devguide/content/POST_claimMessages__version__queues__queue_name__claims_claims-operations-dle001.html
5
20
  def create_claim(queue_name, ttl, grace, options = {})
6
21
  body = {
7
22
  :ttl => ttl,