fog 1.10.1 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. checksums.yaml +7 -0
  2. data/.travis.yml +1 -0
  3. data/Gemfile +2 -0
  4. data/README.md +4 -3
  5. data/changelog.txt +207 -0
  6. data/fog.gemspec +4 -3
  7. data/lib/fog/aws.rb +0 -2
  8. data/lib/fog/aws/dynamodb.rb +1 -1
  9. data/lib/fog/aws/elasticache.rb +0 -2
  10. data/lib/fog/aws/iam.rb +1 -0
  11. data/lib/fog/aws/models/compute/volume.rb +1 -0
  12. data/lib/fog/aws/models/iam/user.rb +1 -0
  13. data/lib/fog/aws/models/storage/directories.rb +1 -1
  14. data/lib/fog/aws/models/storage/directory.rb +20 -17
  15. data/lib/fog/aws/models/storage/file.rb +4 -5
  16. data/lib/fog/aws/parsers/iam/get_user.rb +2 -0
  17. data/lib/fog/aws/parsers/iam/list_users.rb +2 -0
  18. data/lib/fog/aws/requests/cdn/delete_streaming_distribution.rb +2 -2
  19. data/lib/fog/aws/requests/cdn/put_distribution_config.rb +3 -3
  20. data/lib/fog/aws/requests/cloud_formation/update_stack.rb +3 -3
  21. data/lib/fog/aws/requests/cloud_formation/validate_template.rb +5 -5
  22. data/lib/fog/aws/requests/iam/create_user.rb +5 -4
  23. data/lib/fog/aws/requests/iam/get_user.rb +5 -4
  24. data/lib/fog/aws/requests/iam/list_users.rb +5 -4
  25. data/lib/fog/aws/requests/rds/create_db_instance.rb +25 -25
  26. data/lib/fog/aws/requests/storage/abort_multipart_upload.rb +3 -3
  27. data/lib/fog/aws/requests/storage/complete_multipart_upload.rb +2 -2
  28. data/lib/fog/aws/requests/storage/copy_object.rb +2 -2
  29. data/lib/fog/aws/requests/storage/delete_bucket.rb +1 -1
  30. data/lib/fog/aws/requests/storage/delete_bucket_cors.rb +1 -1
  31. data/lib/fog/aws/requests/storage/delete_bucket_lifecycle.rb +1 -1
  32. data/lib/fog/aws/requests/storage/delete_bucket_policy.rb +1 -1
  33. data/lib/fog/aws/requests/storage/delete_bucket_website.rb +1 -1
  34. data/lib/fog/aws/requests/storage/delete_multiple_objects.rb +1 -1
  35. data/lib/fog/aws/requests/storage/delete_object.rb +1 -1
  36. data/lib/fog/aws/requests/storage/get_bucket.rb +1 -1
  37. data/lib/fog/aws/requests/storage/get_bucket_acl.rb +1 -1
  38. data/lib/fog/aws/requests/storage/get_bucket_cors.rb +1 -1
  39. data/lib/fog/aws/requests/storage/get_bucket_lifecycle.rb +1 -1
  40. data/lib/fog/aws/requests/storage/get_bucket_location.rb +1 -1
  41. data/lib/fog/aws/requests/storage/get_bucket_logging.rb +1 -1
  42. data/lib/fog/aws/requests/storage/get_bucket_object_versions.rb +1 -1
  43. data/lib/fog/aws/requests/storage/get_bucket_policy.rb +1 -1
  44. data/lib/fog/aws/requests/storage/get_bucket_versioning.rb +1 -1
  45. data/lib/fog/aws/requests/storage/get_bucket_website.rb +1 -1
  46. data/lib/fog/aws/requests/storage/get_object.rb +2 -2
  47. data/lib/fog/aws/requests/storage/get_object_acl.rb +2 -2
  48. data/lib/fog/aws/requests/storage/get_object_http_url.rb +1 -19
  49. data/lib/fog/aws/requests/storage/get_object_torrent.rb +2 -2
  50. data/lib/fog/aws/requests/storage/get_object_url.rb +5 -14
  51. data/lib/fog/aws/requests/storage/get_request_payment.rb +1 -1
  52. data/lib/fog/aws/requests/storage/head_object.rb +2 -2
  53. data/lib/fog/aws/requests/storage/initiate_multipart_upload.rb +2 -2
  54. data/lib/fog/aws/requests/storage/list_multipart_uploads.rb +7 -8
  55. data/lib/fog/aws/requests/storage/list_parts.rb +2 -2
  56. data/lib/fog/aws/requests/storage/put_bucket.rb +1 -1
  57. data/lib/fog/aws/requests/storage/put_bucket_acl.rb +1 -1
  58. data/lib/fog/aws/requests/storage/put_bucket_cors.rb +1 -1
  59. data/lib/fog/aws/requests/storage/put_bucket_lifecycle.rb +1 -1
  60. data/lib/fog/aws/requests/storage/put_bucket_logging.rb +1 -1
  61. data/lib/fog/aws/requests/storage/put_bucket_policy.rb +1 -1
  62. data/lib/fog/aws/requests/storage/put_bucket_versioning.rb +1 -1
  63. data/lib/fog/aws/requests/storage/put_bucket_website.rb +1 -1
  64. data/lib/fog/aws/requests/storage/put_object.rb +2 -2
  65. data/lib/fog/aws/requests/storage/put_object_acl.rb +8 -8
  66. data/lib/fog/aws/requests/storage/put_object_url.rb +5 -7
  67. data/lib/fog/aws/requests/storage/put_request_payment.rb +1 -1
  68. data/lib/fog/aws/requests/storage/upload_part.rb +2 -2
  69. data/lib/fog/aws/storage.rb +201 -97
  70. data/lib/fog/bin/google.rb +47 -1
  71. data/lib/fog/bluebox/models/compute/server.rb +3 -1
  72. data/lib/fog/brightbox/compute.rb +11 -26
  73. data/lib/fog/brightbox/compute/image_selector.rb +45 -0
  74. data/lib/fog/cloudstack/compute.rb +70 -2
  75. data/lib/fog/cloudstack/models/compute/disk_offering.rb +46 -0
  76. data/lib/fog/cloudstack/models/compute/disk_offerings.rb +27 -0
  77. data/lib/fog/cloudstack/models/compute/image.rb +1 -1
  78. data/lib/fog/cloudstack/models/compute/servers.rb +3 -2
  79. data/lib/fog/cloudstack/requests/compute/create_disk_offering.rb +51 -0
  80. data/lib/fog/cloudstack/requests/compute/delete_disk_offering.rb +31 -0
  81. data/lib/fog/cloudstack/requests/compute/delete_snapshot.rb +44 -2
  82. data/lib/fog/cloudstack/requests/compute/list_disk_offerings.rb +9 -0
  83. data/lib/fog/cloudstack/requests/compute/list_os_types.rb +9 -0
  84. data/lib/fog/cloudstack/requests/compute/list_snapshots.rb +21 -0
  85. data/lib/fog/core/errors.rb +3 -0
  86. data/lib/fog/core/json.rb +48 -7
  87. data/lib/fog/core/model.rb +11 -10
  88. data/lib/fog/core/service.rb +1 -1
  89. data/lib/fog/digitalocean/CHANGELOG.md +1 -1
  90. data/lib/fog/dreamhost/dns.rb +1 -3
  91. data/lib/fog/google.rb +1 -0
  92. data/lib/fog/google/compute.rb +131 -0
  93. data/lib/fog/google/models/compute/flavor.rb +24 -0
  94. data/lib/fog/google/models/compute/flavors.rb +28 -0
  95. data/lib/fog/google/models/compute/image.rb +19 -0
  96. data/lib/fog/google/models/compute/images.rb +28 -0
  97. data/lib/fog/google/models/compute/server.rb +80 -0
  98. data/lib/fog/google/models/compute/servers.rb +61 -0
  99. data/lib/fog/google/requests/compute/delete_disk.rb +31 -0
  100. data/lib/fog/google/requests/compute/delete_firewall.rb +30 -0
  101. data/lib/fog/google/requests/compute/delete_image.rb +30 -0
  102. data/lib/fog/google/requests/compute/delete_network.rb +30 -0
  103. data/lib/fog/google/requests/compute/delete_operation.rb +30 -0
  104. data/lib/fog/google/requests/compute/delete_server.rb +40 -0
  105. data/lib/fog/google/requests/compute/get_disk.rb +31 -0
  106. data/lib/fog/google/requests/compute/get_firewall.rb +30 -0
  107. data/lib/fog/google/requests/compute/get_image.rb +30 -0
  108. data/lib/fog/google/requests/compute/get_machine_type.rb +30 -0
  109. data/lib/fog/google/requests/compute/get_network.rb +30 -0
  110. data/lib/fog/google/requests/compute/get_server.rb +31 -0
  111. data/lib/fog/google/requests/compute/get_zone.rb +30 -0
  112. data/lib/fog/google/requests/compute/insert_disk.rb +35 -0
  113. data/lib/fog/google/requests/compute/insert_firewall.rb +37 -0
  114. data/lib/fog/google/requests/compute/insert_image.rb +38 -0
  115. data/lib/fog/google/requests/compute/insert_network.rb +34 -0
  116. data/lib/fog/google/requests/compute/insert_server.rb +49 -0
  117. data/lib/fog/google/requests/compute/list_disks.rb +30 -0
  118. data/lib/fog/google/requests/compute/list_firewalls.rb +29 -0
  119. data/lib/fog/google/requests/compute/list_global_operations.rb +28 -0
  120. data/lib/fog/google/requests/compute/list_images.rb +29 -0
  121. data/lib/fog/google/requests/compute/list_machine_types.rb +29 -0
  122. data/lib/fog/google/requests/compute/list_networks.rb +29 -0
  123. data/lib/fog/google/requests/compute/list_servers.rb +30 -0
  124. data/lib/fog/google/requests/compute/list_zone_operations.rb +28 -0
  125. data/lib/fog/google/requests/compute/list_zones.rb +29 -0
  126. data/lib/fog/google/requests/compute/set_metadata.rb +36 -0
  127. data/lib/fog/hp.rb +1 -1
  128. data/lib/fog/hp/storage.rb +1 -1
  129. data/lib/fog/internet_archive/models/storage/ia_attributes.rb +1 -1
  130. data/lib/fog/internet_archive/requests/storage/head_object.rb +1 -2
  131. data/lib/fog/internet_archive/requests/storage/list_multipart_uploads.rb +5 -6
  132. data/lib/fog/openstack.rb +29 -1
  133. data/lib/fog/openstack/CHANGELOG.md +1 -1
  134. data/lib/fog/openstack/compute.rb +3 -2
  135. data/lib/fog/openstack/identity.rb +1 -5
  136. data/lib/fog/openstack/image.rb +8 -9
  137. data/lib/fog/openstack/models/compute/server.rb +24 -0
  138. data/lib/fog/openstack/network.rb +7 -28
  139. data/lib/fog/openstack/requests/compute/allocate_address.rb +1 -1
  140. data/lib/fog/openstack/requests/compute/attach_volume.rb +11 -6
  141. data/lib/fog/openstack/requests/compute/boot_from_snapshot.rb +1 -1
  142. data/lib/fog/openstack/requests/compute/create_flavor.rb +1 -1
  143. data/lib/fog/openstack/requests/compute/create_key_pair.rb +1 -1
  144. data/lib/fog/openstack/requests/compute/create_security_group.rb +1 -1
  145. data/lib/fog/openstack/requests/compute/create_security_group_rule.rb +1 -1
  146. data/lib/fog/openstack/requests/compute/create_volume.rb +15 -14
  147. data/lib/fog/openstack/requests/compute/create_volume_snapshot.rb +1 -1
  148. data/lib/fog/openstack/requests/compute/delete_volume.rb +9 -2
  149. data/lib/fog/openstack/requests/compute/detach_volume.rb +7 -2
  150. data/lib/fog/openstack/requests/compute/get_server_volumes.rb +10 -0
  151. data/lib/fog/openstack/requests/compute/get_volume_details.rb +7 -16
  152. data/lib/fog/openstack/requests/compute/list_tenants.rb +1 -1
  153. data/lib/fog/openstack/requests/compute/list_volumes.rb +4 -26
  154. data/lib/fog/openstack/requests/compute/revert_resize_server.rb +2 -2
  155. data/lib/fog/openstack/requests/compute/update_quota.rb +1 -1
  156. data/lib/fog/openstack/requests/identity/create_ec2_credential.rb +1 -1
  157. data/lib/fog/openstack/requests/identity/create_role.rb +1 -1
  158. data/lib/fog/openstack/requests/identity/create_user.rb +1 -1
  159. data/lib/fog/openstack/requests/identity/update_user.rb +1 -1
  160. data/lib/fog/openstack/requests/image/update_image_members.rb +1 -1
  161. data/lib/fog/openstack/requests/volume/create_volume.rb +1 -1
  162. data/lib/fog/openstack/requests/volume/create_volume_snapshot.rb +1 -1
  163. data/lib/fog/openstack/requests/volume/get_quota.rb +31 -0
  164. data/lib/fog/openstack/requests/volume/get_quota_defaults.rb +31 -0
  165. data/lib/fog/openstack/requests/volume/update_quota.rb +32 -0
  166. data/lib/fog/openstack/volume.rb +11 -7
  167. data/lib/fog/rackspace.rb +11 -5
  168. data/lib/fog/rackspace/block_storage.rb +2 -1
  169. data/lib/fog/rackspace/cdn.rb +15 -15
  170. data/lib/fog/rackspace/compute.rb +2 -2
  171. data/lib/fog/rackspace/compute_v2.rb +8 -5
  172. data/lib/fog/rackspace/databases.rb +2 -1
  173. data/lib/fog/rackspace/dns.rb +2 -1
  174. data/lib/fog/rackspace/errors.rb +27 -0
  175. data/lib/fog/rackspace/load_balancers.rb +2 -1
  176. data/lib/fog/rackspace/mock_data.rb +5 -6
  177. data/lib/fog/rackspace/models/block_storage/snapshot.rb +8 -8
  178. data/lib/fog/rackspace/models/block_storage/snapshots.rb +8 -8
  179. data/lib/fog/rackspace/models/block_storage/volume.rb +16 -16
  180. data/lib/fog/rackspace/models/block_storage/volume_types.rb +8 -8
  181. data/lib/fog/rackspace/models/block_storage/volumes.rb +8 -8
  182. data/lib/fog/rackspace/models/compute_v2/attachment.rb +8 -8
  183. data/lib/fog/rackspace/models/compute_v2/attachments.rb +8 -8
  184. data/lib/fog/rackspace/models/compute_v2/flavors.rb +8 -8
  185. data/lib/fog/rackspace/models/compute_v2/image.rb +8 -8
  186. data/lib/fog/rackspace/models/compute_v2/images.rb +8 -8
  187. data/lib/fog/rackspace/models/compute_v2/metadata.rb +12 -12
  188. data/lib/fog/rackspace/models/compute_v2/metadatum.rb +8 -8
  189. data/lib/fog/rackspace/models/compute_v2/server.rb +94 -55
  190. data/lib/fog/rackspace/models/compute_v2/servers.rb +12 -12
  191. data/lib/fog/rackspace/models/dns/records.rb +1 -1
  192. data/lib/fog/rackspace/models/dns/zones.rb +1 -1
  193. data/lib/fog/rackspace/models/storage/account.rb +8 -8
  194. data/lib/fog/rackspace/models/storage/directories.rb +8 -8
  195. data/lib/fog/rackspace/models/storage/directory.rb +32 -32
  196. data/lib/fog/rackspace/models/storage/file.rb +36 -36
  197. data/lib/fog/rackspace/models/storage/files.rb +20 -20
  198. data/lib/fog/rackspace/requests/block_storage/create_snapshot.rb +4 -4
  199. data/lib/fog/rackspace/requests/block_storage/create_volume.rb +4 -4
  200. data/lib/fog/rackspace/requests/block_storage/delete_snapshot.rb +4 -4
  201. data/lib/fog/rackspace/requests/block_storage/delete_volume.rb +4 -4
  202. data/lib/fog/rackspace/requests/block_storage/get_snapshot.rb +4 -4
  203. data/lib/fog/rackspace/requests/block_storage/get_volume.rb +4 -4
  204. data/lib/fog/rackspace/requests/block_storage/get_volume_type.rb +4 -4
  205. data/lib/fog/rackspace/requests/block_storage/list_snapshots.rb +4 -4
  206. data/lib/fog/rackspace/requests/block_storage/list_volume_types.rb +4 -4
  207. data/lib/fog/rackspace/requests/block_storage/list_volumes.rb +4 -4
  208. data/lib/fog/rackspace/requests/cdn/delete_object.rb +4 -4
  209. data/lib/fog/rackspace/requests/cdn/get_containers.rb +4 -4
  210. data/lib/fog/rackspace/requests/cdn/head_container.rb +4 -4
  211. data/lib/fog/rackspace/requests/cdn/post_container.rb +4 -4
  212. data/lib/fog/rackspace/requests/cdn/put_container.rb +4 -4
  213. data/lib/fog/rackspace/requests/compute/delete_image.rb +1 -1
  214. data/lib/fog/rackspace/requests/compute_v2/attach_volume.rb +4 -4
  215. data/lib/fog/rackspace/requests/compute_v2/change_server_password.rb +4 -4
  216. data/lib/fog/rackspace/requests/compute_v2/confirm_resize_server.rb +4 -4
  217. data/lib/fog/rackspace/requests/compute_v2/create_image.rb +4 -4
  218. data/lib/fog/rackspace/requests/compute_v2/create_server.rb +11 -5
  219. data/lib/fog/rackspace/requests/compute_v2/delete_attachment.rb +4 -4
  220. data/lib/fog/rackspace/requests/compute_v2/delete_image.rb +5 -4
  221. data/lib/fog/rackspace/requests/compute_v2/delete_metadata_item.rb +4 -4
  222. data/lib/fog/rackspace/requests/compute_v2/delete_server.rb +4 -4
  223. data/lib/fog/rackspace/requests/compute_v2/get_attachment.rb +4 -4
  224. data/lib/fog/rackspace/requests/compute_v2/get_flavor.rb +4 -4
  225. data/lib/fog/rackspace/requests/compute_v2/get_image.rb +4 -4
  226. data/lib/fog/rackspace/requests/compute_v2/get_metadata_item.rb +4 -4
  227. data/lib/fog/rackspace/requests/compute_v2/get_server.rb +4 -4
  228. data/lib/fog/rackspace/requests/compute_v2/list_addresses.rb +4 -4
  229. data/lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb +4 -4
  230. data/lib/fog/rackspace/requests/compute_v2/list_attachments.rb +4 -4
  231. data/lib/fog/rackspace/requests/compute_v2/list_flavors.rb +4 -4
  232. data/lib/fog/rackspace/requests/compute_v2/list_images.rb +4 -4
  233. data/lib/fog/rackspace/requests/compute_v2/list_metadata.rb +4 -4
  234. data/lib/fog/rackspace/requests/compute_v2/list_servers.rb +4 -4
  235. data/lib/fog/rackspace/requests/compute_v2/reboot_server.rb +4 -4
  236. data/lib/fog/rackspace/requests/compute_v2/rebuild_server.rb +4 -4
  237. data/lib/fog/rackspace/requests/compute_v2/rescue_server.rb +43 -0
  238. data/lib/fog/rackspace/requests/compute_v2/resize_server.rb +4 -4
  239. data/lib/fog/rackspace/requests/compute_v2/revert_resize_server.rb +4 -4
  240. data/lib/fog/rackspace/requests/compute_v2/set_metadata.rb +4 -4
  241. data/lib/fog/rackspace/requests/compute_v2/set_metadata_item.rb +4 -4
  242. data/lib/fog/rackspace/requests/compute_v2/unrescue_server.rb +40 -0
  243. data/lib/fog/rackspace/requests/compute_v2/update_metadata.rb +4 -4
  244. data/lib/fog/rackspace/requests/compute_v2/update_server.rb +4 -4
  245. data/lib/fog/rackspace/requests/storage/copy_object.rb +4 -4
  246. data/lib/fog/rackspace/requests/storage/delete_container.rb +4 -4
  247. data/lib/fog/rackspace/requests/storage/delete_object.rb +4 -4
  248. data/lib/fog/rackspace/requests/storage/get_container.rb +4 -4
  249. data/lib/fog/rackspace/requests/storage/get_containers.rb +4 -4
  250. data/lib/fog/rackspace/requests/storage/get_object.rb +4 -4
  251. data/lib/fog/rackspace/requests/storage/get_object_https_url.rb +4 -4
  252. data/lib/fog/rackspace/requests/storage/head_container.rb +4 -4
  253. data/lib/fog/rackspace/requests/storage/head_containers.rb +4 -4
  254. data/lib/fog/rackspace/requests/storage/head_object.rb +4 -4
  255. data/lib/fog/rackspace/requests/storage/post_set_meta_temp_url_key.rb +4 -4
  256. data/lib/fog/rackspace/requests/storage/put_container.rb +4 -4
  257. data/lib/fog/rackspace/requests/storage/put_object.rb +4 -4
  258. data/lib/fog/rackspace/requests/storage/put_object_manifest.rb +4 -4
  259. data/lib/fog/rackspace/service.rb +1 -1
  260. data/lib/fog/rackspace/storage.rb +12 -6
  261. data/lib/fog/riakcs.rb +3 -3
  262. data/lib/fog/riakcs/provisioning.rb +1 -3
  263. data/lib/fog/riakcs/requests/provisioning/create_user.rb +2 -2
  264. data/lib/fog/riakcs/requests/provisioning/get_user.rb +1 -1
  265. data/lib/fog/riakcs/requests/provisioning/list_users.rb +1 -1
  266. data/lib/fog/riakcs/requests/usage/get_usage.rb +1 -1
  267. data/lib/fog/riakcs/usage.rb +0 -1
  268. data/lib/fog/version.rb +1 -1
  269. data/lib/fog/vsphere/compute.rb +21 -14
  270. data/lib/fog/vsphere/models/compute/networks.rb +2 -2
  271. data/lib/fog/vsphere/models/compute/server.rb +10 -0
  272. data/lib/fog/vsphere/requests/compute/get_resource_pool.rb +1 -1
  273. data/lib/fog/vsphere/requests/compute/get_template.rb +16 -0
  274. data/lib/fog/vsphere/requests/compute/list_datacenters.rb +1 -1
  275. data/lib/fog/vsphere/requests/compute/list_templates.rb +49 -0
  276. data/lib/fog/vsphere/requests/compute/list_virtual_machines.rb +9 -6
  277. data/lib/fog/vsphere/requests/compute/vm_clone.rb +41 -27
  278. data/lib/fog/xenserver/CHANGELOG.md +1 -1
  279. data/lib/fog/xenserver/models/compute/network.rb +2 -2
  280. data/lib/tasks/changelog_task.rb +2 -1
  281. data/tests/aws/models/storage/directory_tests.rb +41 -5
  282. data/tests/aws/models/storage/file_tests.rb +1 -2
  283. data/tests/aws/models/storage/files_tests.rb +6 -4
  284. data/tests/aws/models/storage/url_tests.rb +7 -5
  285. data/tests/aws/models/storage/version_tests.rb +2 -2
  286. data/tests/aws/models/storage/versions_tests.rb +5 -5
  287. data/tests/aws/requests/iam/user_tests.rb +10 -8
  288. data/tests/aws/requests/storage/multipart_upload_tests.rb +1 -1
  289. data/tests/aws/requests/storage/object_tests.rb +15 -13
  290. data/tests/brightbox/compute/image_selector_tests.rb +103 -0
  291. data/tests/cloudstack/compute/models/disk_offering_tests.rb +5 -0
  292. data/tests/cloudstack/compute/models/snapshot_tests.rb +5 -20
  293. data/tests/cloudstack/requests/disk_offering_tests.rb +3 -3
  294. data/tests/cloudstack/requests/os_type_tests.rb +2 -3
  295. data/tests/compute/helper.rb +9 -0
  296. data/tests/core/json_tests.rb +62 -0
  297. data/tests/dynect/requests/dns/dns_tests.rb +0 -3
  298. data/tests/google/models/compute/server_tests.rb +24 -0
  299. data/tests/google/requests/compute/disk_tests.rb +88 -0
  300. data/tests/google/requests/compute/firewall_tests.rb +85 -0
  301. data/tests/google/requests/compute/image_tests.rb +80 -0
  302. data/tests/google/requests/compute/network_tests.rb +74 -0
  303. data/tests/google/requests/compute/operation_tests.rb +19 -0
  304. data/tests/google/requests/compute/server_tests.rb +84 -0
  305. data/tests/google/requests/compute/zone_tests.rb +46 -0
  306. data/tests/helpers/mock_helper.rb +4 -0
  307. data/tests/openstack/models/compute/server_tests.rb +91 -1
  308. data/tests/openstack/requests/compute/volume_tests.rb +11 -9
  309. data/tests/openstack/requests/volume/quota_tests.rb +51 -0
  310. data/tests/openstack/version_tests.rb +55 -0
  311. data/tests/rackspace/helper.rb +10 -0
  312. data/tests/rackspace/models/compute_v2/server_tests.rb +26 -1
  313. data/tests/rackspace/requests/compute/image_tests.rb +1 -1
  314. data/tests/rackspace/requests/compute_v2/image_tests.rb +2 -2
  315. data/tests/rackspace/requests/compute_v2/server_tests.rb +13 -0
  316. data/tests/rackspace/requests/dns/dns_tests.rb +1 -1
  317. data/tests/rackspace/requests/dns/records_tests.rb +3 -3
  318. data/tests/vsphere/requests/compute/vm_clone_tests.rb +10 -0
  319. metadata +109 -747
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 5868213b3c06f58f9834aba4e9b927000425ffbb
4
+ data.tar.gz: b46af72b6d2f867e59523ae83f56312a4427614e
5
+ SHA512:
6
+ metadata.gz: 9652cfe071fb895cb13d2b74f196baa59b58bbc23322516c6ba51828d8e5c34ac821934f480e7e25a8469394f06374c53071abfd4e7ea647220f154f1a028ceb
7
+ data.tar.gz: 05c8d72755a5b80c2d306cdd1614205e89b794217d9e813accbd5cdc16328ae9eb64d8de4ac8009a9ce312e9e9b0a219036adcd60ee47c33cf9178f14cc79925
@@ -4,6 +4,7 @@ rvm:
4
4
  - 1.8.7
5
5
  - 1.9.2
6
6
  - 1.9.3
7
+ - 2.0.0
7
8
 
8
9
  script: FOG_MOCK=true bundle exec shindont
9
10
 
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
1
  source "https://rubygems.org"
2
2
 
3
3
  gemspec
4
+
5
+ gem "multi_json", '~>1.0'
data/README.md CHANGED
@@ -100,8 +100,8 @@ It will return an [excon](http://github.com/geemus/excon) response, which has `b
100
100
 
101
101
  ## Go forth and conquer
102
102
 
103
- Play around and use the console to explore or check out [fog.io](http://fog.io) for more details and examples.
104
- Once you are ready to start scripting fog, here is a quick hint on how to make connections without the command line thing to help you.
103
+ Play around and use the console to explore or check out [fog.io](http://fog.io) and the [provider documentation](http://fog.io/about/provider_documentation.html)
104
+ for more details and examples. Once you are ready to start scripting fog, here is a quick hint on how to make connections without the command line thing to help you.
105
105
 
106
106
  # create a compute connection
107
107
  compute = Fog::Compute.new(:provider => 'AWS', :aws_access_key_id => ACCESS_KEY_ID, :aws_secret_access_key => SECRET_ACCESS_KEY)
@@ -128,7 +128,8 @@ geemus says: "That should give you everything you need to get started, but let m
128
128
 
129
129
  ## Additional Resources
130
130
 
131
- [fog.io](http://fog.io)
131
+ * [fog.io](http://fog.io)
132
+ * [Provider Documentation](http://fog.io/about/provider_documentation.html)
132
133
 
133
134
  ## Copyright
134
135
 
@@ -1,3 +1,210 @@
1
+ 1.11.0 05/04/2013 bbea0162df01317405bfbb4c427fdde40e5f0f2c
2
+ ==========================================================
3
+
4
+ Stats! { 'collaborators' => 1, 'downloads' => 2175484 }
5
+
6
+ MVP! Nat Welch
7
+
8
+ [Brightbox]
9
+ Updates image selector for name format. thanks Paul Thornthwaite
10
+
11
+ [Docs]
12
+ Fixes assorted yardoc tagging issues. thanks Paul Thornthwaite
13
+
14
+ [aws|iam]
15
+ user: add created_at attribute. thanks Pierre Carrier
16
+
17
+ [cloudstack]
18
+ add disk_offerings, os_types mock data. thanks Dmitry Dedov
19
+ add list_os_types, list_disk_offerings request mocks. thanks Dmitry Dedov
20
+ list_os_types, list_disk_offerings request tests, rm pending. thanks Dmitry Dedov
21
+ servers collection, add attributes to :all method. thanks Dmitry Dedov
22
+ fix image password_enabled field alias. thanks Dmitry Dedov
23
+ add create_disk_offering request. thanks Dmitry Dedov
24
+ add delete_disk_offering request. thanks Dmitry Dedov
25
+ add disk_offering model. thanks Dmitry Dedov
26
+ add disk_offerings collection. thanks Dmitry Dedov
27
+ add disk offerings to compute, tidy up. thanks Dmitry Dedov
28
+ add create/delete disk_offering mocks. thanks Dmitry Dedov
29
+ add disk_offering model tests. thanks Dmitry Dedov
30
+ fix typo in declaration model. thanks Dmitry Dedov
31
+ add delete_snapshot request mock, fix delete_snapshot description comments. thanks dm1try
32
+ add list_snapshots request mock. thanks dm1try
33
+ add test volume to mock data. thanks dm1try
34
+ tests, add snapshots_attributes to cloudstack provider config. thanks dm1try
35
+ tests, fix snapshot test. thanks dm1try
36
+ tests, remove unreachable code in snapshot test, add testcase for volume relation. thanks dm1try
37
+
38
+ [core]
39
+ fixing brittle json test. thanks Kyle Rames
40
+
41
+ [docs::aws::rds]
42
+ converted formatting from RDoc to YARD. thanks Weston Platter
43
+
44
+ [misc]
45
+ fix case where volume isn't instantly available to attach upon creation. thanks AltJ
46
+ cosmetic - fix space. thanks Andrew Kuklewicz
47
+ fix bug with head request - no query on version id for IA. thanks Andrew Kuklewicz
48
+ Fog::Model#wait_for: eliminate inner retry loop. thanks Chris Frederick
49
+ Implement rescue mode support for Rackspace. thanks Chris Wuest
50
+ Rectify issues with tests and status. thanks Chris Wuest
51
+ OS: Fix revert_resize_server method name. thanks Dan Prince
52
+ Fix non-circular-require warnings. thanks Eric Hodel
53
+ Fix bluebox's Server#public_ip_address. thanks Eric Lindvall
54
+ Fix typo in method name for DynamoDB::Mock#setup_credentials. thanks James Fraser
55
+ (maint) Fixup whitespace. thanks Jeff McCune
56
+ (maint) Clean up whitespace errors. thanks Jeff McCune
57
+ AWS | storage: use #service instead of the deprecated #connection in the tests. thanks Jonas Pfenniger
58
+ AWS | storage: add tests for directory#public_url. thanks Jonas Pfenniger
59
+ AWS | storage: add more uniq_id in the tests to avoid collisions. thanks Jonas Pfenniger
60
+ AWS | storage: disabling broken tests. thanks Jonas Pfenniger
61
+ AWS | storage: make directory.persisted? tell the truth. thanks Jonas Pfenniger
62
+ AWS | storage: fixes ignored location with new buckets. thanks Jonas Pfenniger
63
+ AWS | storage: big refactor. thanks Jonas Pfenniger
64
+ AWS | storage: also escape the bucket name when using the path_style. thanks Jonas Pfenniger
65
+ Updated gem spec to require json rather than multi_json; Fog::JSON will attempt to load and use multi_json first and then fallback to require json; removed hard coded references to multi_json. thanks Kyle Rames
66
+ Adding multi_json to GemFile as it is now an optional dependency for the gem. thanks Kyle Rames
67
+ Added tests for Fog::JSON; Added Fog::JSON::LoadError class; Updated all MultiJson references to Fog::JSON. thanks Kyle Rames
68
+ Added pointers to provider specific documentation to README.md. thanks Kyle Rames
69
+ adding space to force travis to build. thanks Kyle Rames
70
+ Remove the OpenStack API cache busting. thanks Mark Turner
71
+ Changes the path only if subdomain is not @host. thanks Matthieu Huin
72
+ Vsphere: add options of numCPUs and memoryMB for VM clone. thanks Ming Jin
73
+ delete vms that is not ready for vm.config, e.g. during the creation period. thanks Ming Jin
74
+ merged fog HEAD, deleting whitespaces. thanks Ming Jin
75
+ delete whitespaces. thanks Ming Jin
76
+ fix issues in checking whether VM is of template type. thanks Ming Jin
77
+ trying to move gce to google. thanks Nat Welch
78
+ more trying to move gce to google. thanks Nat Welch
79
+ GCE -> Google. thanks Nat Welch
80
+ merge bin files. thanks Nat Welch
81
+ google was in the providers twice. thanks Nat Welch
82
+ fixes tests due to class name collision. thanks Nat Welch
83
+ remove more references to gce. thanks Nat Welch
84
+ an attempt to get gce tests working in travis. thanks Nat Welch
85
+ a little sorting of config options. thanks Nat Welch
86
+ trying to move gce to google. thanks Nat Welch
87
+ more trying to move gce to google. thanks Nat Welch
88
+ GCE -> Google. thanks Nat Welch
89
+ merge bin files. thanks Nat Welch
90
+ google was in the providers twice. thanks Nat Welch
91
+ fixes tests due to class name collision. thanks Nat Welch
92
+ remove more references to gce. thanks Nat Welch
93
+ an attempt to get gce tests working in travis. thanks Nat Welch
94
+ a little sorting of config options. thanks Nat Welch
95
+ remove google-api requirements. thanks Nat Welch
96
+ stripping out thin. thanks Nat Welch
97
+ should move auth into a the main class. thanks Nat Welch
98
+ Hopeing the head of the gapi makes things better... thanks Nat Welch
99
+ actually just specify a version. thanks Nat Welch
100
+ load file appropriately. thanks Nat Welch
101
+ fix deprecation notice. thanks Nat Welch
102
+ more attempts to get server creation working. thanks Nat Welch
103
+ get rid of gAPI warnings and Fog deprecation notices. thanks Nat Welch
104
+ successfully launched a server. thanks Nat Welch
105
+ whoops. thanks Nat Welch
106
+ trying to fix 1.8.7. thanks Nat Welch
107
+ still trying to figure out 1.8.7 support. thanks Nat Welch
108
+ fixing another 1.8.7 bug. thanks Nat Welch
109
+ Add correct keys for Google Compute. thanks Nat Welch
110
+ whoops. thanks Nat Welch
111
+ put extra keys in fog credential error. thanks Nat Welch
112
+ Fixes the test running. thanks Nat Welch
113
+ 13 is now deprecated. thanks Nat Welch
114
+ An attempt to get disk requests passing tests. thanks Nat Welch
115
+ More accurate disk tests that fail. thanks Nat Welch
116
+ Kernel api has been deprecated. thanks Nat Welch
117
+ removing listoperations as it doesn't exist anymore. thanks Nat Welch
118
+ basis for zone and global operations requests. thanks Nat Welch
119
+ better operation APIs. thanks Nat Welch
120
+ cheating to make operations tests simpler for now. thanks Nat Welch
121
+ firewall tests passing. thanks Nat Welch
122
+ passing zone tests. thanks Nat Welch
123
+ format isn't write, but valid API requests. thanks Nat Welch
124
+ working image test. thanks Nat Welch
125
+ more accurate server requests. thanks Nat Welch
126
+ fix network list test. thanks Nat Welch
127
+ get image tests closer to passing. thanks Nat Welch
128
+ trying to get a simple model test working. thanks Nat Welch
129
+ progress. thanks Nat Welch
130
+ didn't mean to commit this. thanks Nat Welch
131
+ fix server list. thanks Nat Welch
132
+ slightly more accurate image test, although still failing. thanks Nat Welch
133
+ fix delete server. thanks Nat Welch
134
+ Fixes insert and delete. thanks Nat Welch
135
+ Trying to get ssh command working. thanks Nat Welch
136
+ ... really?. thanks Nat Welch
137
+ trying to get ssh to work. thanks Nat Welch
138
+ I'm not saving networkinterfaces. thanks Nat Welch
139
+ more attempts to get ssh working. thanks Nat Welch
140
+ zone_names are urls, but I need to write them as just the name. thanks Nat Welch
141
+ trying to get keys working for ssh. thanks Nat Welch
142
+ auto expand home. thanks Nat Welch
143
+ whoops. thanks Nat Welch
144
+ add set_metadata to upload ssh keys. thanks Nat Welch
145
+ custome sshable. thanks Nat Welch
146
+ reverting bin.rb to original state. thanks Nat Welch
147
+ disable mock running, I think. thanks Nat Welch
148
+ merge fail. thanks Nat Welch
149
+ Fix CHANGELOG fog version for digitalocean, xenserver and openstack. thanks Sergio Rubio
150
+ issue #1275 removed rspec requires - tests pass. thanks Weston Platter
151
+ Adding Google Compute Engine driver. thanks Ziyad Mir
152
+ Updating create server behaviour and defaults. thanks Ziyad Mir
153
+ Adding Google Compute Engine driver. thanks Ziyad Mir
154
+ Updating create server behaviour and defaults. thanks Ziyad Mir
155
+ remove kyle rames from future contention for MVP. thanks geemus
156
+ add trademark notice. thanks geemus
157
+ Revert "add trademark notice". thanks geemus
158
+ add 2.0.0 to travis build list. thanks geemus
159
+
160
+ [openstack]
161
+ Retrieve supported API version for Image & Network services. thanks Ferran Rodenas
162
+
163
+ [openstack|compute]
164
+ Add volume attachment methods. thanks Ferran Rodenas
165
+ Add volume method to server model. thanks Ferran Rodenas
166
+ Add volume tests. thanks Ferran Rodenas
167
+
168
+ [openstack|volume]
169
+ Added quota requests for Cinder. thanks Philip Mark M. Deazeta
170
+
171
+ [rackspace]
172
+ updated NotFound exceptions to include region when available. thanks Kyle Rames
173
+ correcting exception classes on YARD docs. thanks Kyle Rames
174
+ fixing delete image tests. thanks Kyle Rames
175
+ updated ServiceException to catch JSON decoding exception and display a warning message. thanks Kyle Rames
176
+ fixing broken tests. thanks Kyle Rames
177
+ removing duplicate line caused by bad merge. thanks Kyle Rames
178
+ fixing bug with mock data. thanks Kyle Rames
179
+
180
+ [rackspace|compute_v2]
181
+ fixed bug in InvalidStateExceptions. thanks Kyle Rames
182
+ fixed bug where server creation was not adding networks. thanks Kyle Rames
183
+
184
+ [rackspace|dns]
185
+ updated DNS service to use Fog::DNS::Rackspace::NotFound exceptions in keeping with the rest of the services. thanks Kyle Rames
186
+
187
+ [rackspace|storage]
188
+ updated storage and cdn services to wrap excon exceptions in the same manner as the other Rackspace services. thanks Kyle Rames
189
+
190
+ [vsphere]
191
+ Use Fog.mock? as the other providers Specs can set Fog.mock! without setting the env var. thanks Carlos Sanchez
192
+ Use find_raw_datacenter instead of get_raw_datacenter. thanks Carlos Sanchez
193
+ allow setting ram and num of cpu when cloning. thanks Mick Pollard
194
+ add list_templates function. thanks Ming Jin
195
+ add get_template function. thanks Ming Jin
196
+
197
+ [vsphere|compute]
198
+ Merge tmandke VM list speedups. thanks Jeff McCune
199
+ Add VM template models. thanks Jeff McCune
200
+ fix incorrect filters.merge in networks model. thanks Mick Pollard
201
+ add list_templates function. thanks Ming Jin
202
+ add get_template function. thanks Ming Jin
203
+ add options of numCPUs and memoryMB for VM clone. thanks Ming Jin
204
+ Bulk fetch all managed views VM properties. thanks Tejas Ravindra Mandke
205
+ Switch some attributes to lazyload. thanks Tejas Ravindra Mandke
206
+
207
+
1
208
  1.10.1 04/04/2013 a270b69a23b43a8cdab768f88503779f27a74fa0
2
209
  ==========================================================
3
210
 
@@ -6,8 +6,8 @@ Gem::Specification.new do |s|
6
6
  ## If your rubyforge_project name is different, then edit it and comment out
7
7
  ## the sub! line in the Rakefile
8
8
  s.name = 'fog'
9
- s.version = '1.10.1'
10
- s.date = '2013-04-04'
9
+ s.version = '1.11.0'
10
+ s.date = '2013-05-04'
11
11
  s.rubyforge_project = 'fog'
12
12
 
13
13
  ## Make sure your summary is short. The description may be as long
@@ -41,9 +41,10 @@ Gem::Specification.new do |s|
41
41
  ## List your runtime dependencies here. Runtime dependencies are those
42
42
  ## that are needed for an end user to actually USE your code.
43
43
  s.add_dependency('builder')
44
+ s.add_dependency('google-api-client', '~>0.6.2')
44
45
  s.add_dependency('excon', '~>0.20')
45
46
  s.add_dependency('formatador', '~>0.2.0')
46
- s.add_dependency('multi_json', '~>1.0')
47
+ s.add_dependency('json', '~>1.7')
47
48
  s.add_dependency('mime-types')
48
49
  s.add_dependency('net-scp', '~>1.1')
49
50
  s.add_dependency('net-ssh', '>=2.1.3')
@@ -3,8 +3,6 @@ require 'fog/aws/credential_fetcher'
3
3
  require 'fog/aws/signaturev4'
4
4
  module Fog
5
5
  module AWS
6
- COMPLIANT_BUCKET_NAMES = /^(?:[a-z]|\d(?!\d{0,2}(?:\.\d{1,3}){3}$))(?:[a-z0-9]|\-(?![\.])){1,61}[a-z0-9]$/
7
-
8
6
  extend Fog::Provider
9
7
 
10
8
  service(:auto_scaling, 'aws/auto_scaling', 'AutoScaling')
@@ -50,7 +50,7 @@ module Fog
50
50
  self.class.data.delete(@aws_access_key_id)
51
51
  end
52
52
 
53
- def setup_credientials(options)
53
+ def setup_credentials(options)
54
54
  @aws_access_key_id = options[:aws_access_key_id]
55
55
  end
56
56
  end
@@ -132,8 +132,6 @@ module Fog
132
132
  def self.data
133
133
  @data ||= Hash.new do |hash, region|
134
134
  hash[region] = Hash.new do |region_hash, key|
135
- owner_id = Fog::AWS::Mock.owner_id
136
- security_group_id = Fog::AWS::Mock.security_group_id
137
135
  region_hash[key] = {
138
136
  :clusters => {}, # cache cluster data, indexed by cluster ID
139
137
  }
@@ -92,6 +92,7 @@ module Fog
92
92
  :path => '/',
93
93
  :arn => "arn:aws:iam::#{Fog::AWS::Mock.owner_id}:user/#{ukey}",
94
94
  :access_keys => [],
95
+ :created_at => Time.now,
95
96
  :policies => {}
96
97
  }
97
98
  end,
@@ -108,6 +108,7 @@ module Fog
108
108
  self.availability_zone = new_server.availability_zone
109
109
  elsif new_server
110
110
  requires :device
111
+ wait_for { ready? }
111
112
  @server = nil
112
113
  self.server_id = new_server.id
113
114
  service.attach_volume(server_id, id, device)
@@ -10,6 +10,7 @@ module Fog
10
10
  attribute :path, :aliases => 'Path'
11
11
  attribute :arn, :aliases => 'Arn'
12
12
  attribute :user_id, :aliases => 'UserId'
13
+ attribute :created_at, :aliases => 'CreateDate', :type => :time
13
14
 
14
15
  def save
15
16
  requires :id
@@ -22,7 +22,7 @@ module Fog
22
22
  :prefix => 'prefix'
23
23
  })
24
24
  data = service.get_bucket(key, options).body
25
- directory = new(:key => data['Name'])
25
+ directory = new(:key => data['Name'], :is_persisted => true)
26
26
  options = {}
27
27
  for k, v in data
28
28
  if ['CommonPrefixes', 'Delimiter', 'IsTruncated', 'Marker', 'MaxKeys', 'Prefix'].include?(k)
@@ -9,14 +9,12 @@ module Fog
9
9
  class Directory < Fog::Model
10
10
  VALID_ACLS = ['private', 'public-read', 'public-read-write', 'authenticated-read']
11
11
 
12
- # See http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUT.html
13
- INVALID_LOCATIONS = ['us-east-1']
14
-
15
12
  attr_reader :acl
16
13
 
17
14
  identity :key, :aliases => ['Name', 'name']
18
15
 
19
- attribute :creation_date, :aliases => 'CreationDate'
16
+ attribute :creation_date, :aliases => 'CreationDate', :type => 'time'
17
+ attribute :location, :aliases => 'LocationConstraint', :type => 'string'
20
18
 
21
19
  def acl=(new_acl)
22
20
  unless VALID_ACLS.include?(new_acl)
@@ -35,16 +33,12 @@ module Fog
35
33
  end
36
34
 
37
35
  def location
38
- requires :key
39
- attributes[:location] || bucket_location || self.service.region
36
+ @location ||= (bucket_location || self.service.region)
40
37
  end
41
38
 
39
+ # NOTE: you can't change the region once the bucket is created
42
40
  def location=(new_location)
43
- if INVALID_LOCATIONS.include?(new_location)
44
- raise ArgumentError, "location must not include any of #{INVALID_LOCATIONS.join(', ')}. See http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUT.html"
45
- else
46
- @location = new_location
47
- end
41
+ @location = new_location
48
42
  end
49
43
 
50
44
  def files
@@ -86,11 +80,9 @@ module Fog
86
80
  def public_url
87
81
  requires :key
88
82
  if service.get_bucket_acl(key).body['AccessControlList'].detect {|grant| grant['Grantee']['URI'] == 'http://acs.amazonaws.com/groups/global/AllUsers' && grant['Permission'] == 'READ'}
89
- if key.to_s =~ Fog::AWS::COMPLIANT_BUCKET_NAMES
90
- "https://#{key}.s3.amazonaws.com"
91
- else
92
- "https://s3.amazonaws.com/#{key}"
93
- end
83
+ service.request_url(
84
+ :bucket_name => key
85
+ )
94
86
  else
95
87
  nil
96
88
  end
@@ -103,18 +95,29 @@ module Fog
103
95
 
104
96
  options['x-amz-acl'] = acl if acl
105
97
 
106
- if location = attributes[:location] || (self.service.region != 'us-east-1' && self.service.region)
98
+ # http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUT.html
99
+ # Ignore the default region us-east-1
100
+ if !persisted? && location != DEFAULT_REGION
107
101
  options['LocationConstraint'] = location
108
102
  end
109
103
 
110
104
  service.put_bucket(key, options)
105
+ attributes[:is_persisted] = true
111
106
 
112
107
  true
113
108
  end
114
109
 
110
+ def persisted?
111
+ # is_persisted is true in case of directories.get or after #save
112
+ # creation_date is set in case of directories.all
113
+ attributes[:is_persisted] || !!attributes[:creation_date]
114
+ end
115
+
115
116
  private
116
117
 
117
118
  def bucket_location
119
+ requires :key
120
+ return nil unless persisted?
118
121
  data = service.get_bucket_location(key)
119
122
  data.body['LocationConstraint']
120
123
  end
@@ -163,11 +163,10 @@ module Fog
163
163
  def public_url
164
164
  requires :directory, :key
165
165
  if service.get_object_acl(directory.key, key).body['AccessControlList'].detect {|grant| grant['Grantee']['URI'] == 'http://acs.amazonaws.com/groups/global/AllUsers' && grant['Permission'] == 'READ'}
166
- if directory.key.to_s =~ Fog::AWS::COMPLIANT_BUCKET_NAMES
167
- "https://#{directory.key}.s3.amazonaws.com/#{Fog::AWS.escape(key)}".gsub('%2F','/')
168
- else
169
- "https://s3.amazonaws.com/#{directory.key}/#{Fog::AWS.escape(key)}".gsub('%2F','/')
170
- end
166
+ service.request_url(
167
+ :bucket_name => directory.key,
168
+ :object_name => key
169
+ )
171
170
  else
172
171
  nil
173
172
  end
@@ -14,6 +14,8 @@ module Fog
14
14
  case name
15
15
  when 'Arn', 'UserId', 'UserName', 'Path'
16
16
  @response['User'][name] = value
17
+ when 'CreateDate'
18
+ @response['User'][name] = Time.parse(value)
17
19
  when 'RequestId'
18
20
  @response[name] = value
19
21
  end