fog 1.34.0 → 1.35.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 (350) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +10 -24
  3. data/CHANGELOG.md +84 -0
  4. data/CONTRIBUTING.md +1 -1
  5. data/README.md +4 -20
  6. data/fog.gemspec +7 -5
  7. data/lib/fog.rb +1 -0
  8. data/lib/fog/bin.rb +1 -0
  9. data/lib/fog/digitalocean/compute_v2.rb +108 -0
  10. data/lib/fog/digitalocean/models/compute_v2/flavor.rb +17 -0
  11. data/lib/fog/digitalocean/models/compute_v2/flavors.rb +21 -0
  12. data/lib/fog/digitalocean/models/compute_v2/image.rb +25 -0
  13. data/lib/fog/digitalocean/models/compute_v2/images.rb +36 -0
  14. data/lib/fog/digitalocean/models/compute_v2/region.rb +13 -0
  15. data/lib/fog/digitalocean/models/compute_v2/regions.rb +21 -0
  16. data/lib/fog/digitalocean/models/compute_v2/server.rb +166 -0
  17. data/lib/fog/digitalocean/models/compute_v2/servers.rb +39 -0
  18. data/lib/fog/digitalocean/models/compute_v2/ssh_key.rb +30 -0
  19. data/lib/fog/digitalocean/models/compute_v2/ssh_keys.rb +35 -0
  20. data/lib/fog/digitalocean/requests/compute_v2/change_kernel.rb +44 -0
  21. data/lib/fog/digitalocean/requests/compute_v2/convert_to_snapshot.rb +44 -0
  22. data/lib/fog/digitalocean/requests/compute_v2/create_server.rb +93 -0
  23. data/lib/fog/digitalocean/requests/compute_v2/create_ssh_key.rb +47 -0
  24. data/lib/fog/digitalocean/requests/compute_v2/delete_server.rb +28 -0
  25. data/lib/fog/digitalocean/requests/compute_v2/delete_ssh_key.rb +28 -0
  26. data/lib/fog/digitalocean/requests/compute_v2/disable_backups.rb +45 -0
  27. data/lib/fog/digitalocean/requests/compute_v2/enable_ipv6.rb +44 -0
  28. data/lib/fog/digitalocean/requests/compute_v2/enable_private_networking.rb +44 -0
  29. data/lib/fog/digitalocean/requests/compute_v2/get_droplet_action.rb +36 -0
  30. data/lib/fog/digitalocean/requests/compute_v2/get_image_details.rb +43 -0
  31. data/lib/fog/digitalocean/requests/compute_v2/get_server_details.rb +84 -0
  32. data/lib/fog/digitalocean/requests/compute_v2/get_ssh_key.rb +34 -0
  33. data/lib/fog/digitalocean/requests/compute_v2/list_droplet_actions.rb +38 -0
  34. data/lib/fog/digitalocean/requests/compute_v2/list_flavors.rb +131 -0
  35. data/lib/fog/digitalocean/requests/compute_v2/list_images.rb +50 -0
  36. data/lib/fog/digitalocean/requests/compute_v2/list_regions.rb +94 -0
  37. data/lib/fog/digitalocean/requests/compute_v2/list_servers.rb +28 -0
  38. data/lib/fog/digitalocean/requests/compute_v2/list_ssh_keys.rb +26 -0
  39. data/lib/fog/digitalocean/requests/compute_v2/password_reset.rb +44 -0
  40. data/lib/fog/digitalocean/requests/compute_v2/power_cycle.rb +44 -0
  41. data/lib/fog/digitalocean/requests/compute_v2/power_off.rb +44 -0
  42. data/lib/fog/digitalocean/requests/compute_v2/power_on.rb +44 -0
  43. data/lib/fog/digitalocean/requests/compute_v2/reboot_server.rb +44 -0
  44. data/lib/fog/digitalocean/requests/compute_v2/rebuild.rb +44 -0
  45. data/lib/fog/digitalocean/requests/compute_v2/rename.rb +44 -0
  46. data/lib/fog/digitalocean/requests/compute_v2/resize.rb +48 -0
  47. data/lib/fog/digitalocean/requests/compute_v2/restore.rb +44 -0
  48. data/lib/fog/digitalocean/requests/compute_v2/shutdown.rb +44 -0
  49. data/lib/fog/digitalocean/requests/compute_v2/snapshot.rb +44 -0
  50. data/lib/fog/digitalocean/requests/compute_v2/transfer_image.rb +44 -0
  51. data/lib/fog/digitalocean/requests/compute_v2/update_ssh_key.rb +46 -0
  52. data/lib/fog/digitalocean/requests/compute_v2/upgrade.rb +44 -0
  53. data/lib/fog/digitalocean/service.rb +51 -0
  54. data/lib/fog/linode/models/compute/kernels.rb +1 -1
  55. data/lib/fog/opennebula/models/compute/flavor.rb +13 -13
  56. data/lib/fog/opennebula/requests/compute/template_pool.rb +14 -11
  57. data/lib/fog/openstack.rb +2 -0
  58. data/lib/fog/openstack/core.rb +30 -3
  59. data/lib/fog/openstack/identity.rb +8 -7
  60. data/lib/fog/openstack/identity_v3.rb +1 -0
  61. data/lib/fog/openstack/image.rb +35 -130
  62. data/lib/fog/openstack/image_v1.rb +142 -0
  63. data/lib/fog/openstack/image_v2.rb +137 -0
  64. data/lib/fog/openstack/models/image_v1/image.rb +78 -0
  65. data/lib/fog/openstack/models/image_v1/images.rb +70 -0
  66. data/lib/fog/openstack/models/image_v2/image.rb +149 -0
  67. data/lib/fog/openstack/models/image_v2/images.rb +67 -0
  68. data/lib/fog/openstack/models/orchestration/stack.rb +5 -0
  69. data/lib/fog/openstack/models/volume/volume_type.rb +25 -0
  70. data/lib/fog/openstack/orchestration.rb +1 -0
  71. data/lib/fog/openstack/requests/compute/server_actions.rb +14 -3
  72. data/lib/fog/openstack/requests/{image → image_v1}/add_member_to_image.rb +2 -0
  73. data/lib/fog/openstack/requests/image_v1/create_image.rb +78 -0
  74. data/lib/fog/openstack/requests/image_v1/delete_image.rb +25 -0
  75. data/lib/fog/openstack/requests/image_v1/get_image.rb +47 -0
  76. data/lib/fog/openstack/requests/image_v1/get_image_by_id.rb +34 -0
  77. data/lib/fog/openstack/requests/image_v1/get_image_members.rb +31 -0
  78. data/lib/fog/openstack/requests/image_v1/get_shared_images.rb +31 -0
  79. data/lib/fog/openstack/requests/image_v1/list_public_images.rb +35 -0
  80. data/lib/fog/openstack/requests/image_v1/list_public_images_detailed.rb +37 -0
  81. data/lib/fog/openstack/requests/image_v1/remove_member_from_image.rb +25 -0
  82. data/lib/fog/openstack/requests/image_v1/set_tenant.rb +21 -0
  83. data/lib/fog/openstack/requests/image_v1/update_image.rb +66 -0
  84. data/lib/fog/openstack/requests/image_v1/update_image_members.rb +39 -0
  85. data/lib/fog/openstack/requests/image_v2/add_member_to_image.rb +26 -0
  86. data/lib/fog/openstack/requests/image_v2/add_tag_to_image.rb +25 -0
  87. data/lib/fog/openstack/requests/image_v2/create_image.rb +54 -0
  88. data/lib/fog/openstack/requests/image_v2/deactivate_image.rb +25 -0
  89. data/lib/fog/openstack/requests/image_v2/delete_image.rb +25 -0
  90. data/lib/fog/openstack/requests/image_v2/download_image.rb +29 -0
  91. data/lib/fog/openstack/requests/image_v2/get_image.rb +47 -0
  92. data/lib/fog/openstack/requests/image_v2/get_image_by_id.rb +34 -0
  93. data/lib/fog/openstack/requests/image_v2/get_image_members.rb +31 -0
  94. data/lib/fog/openstack/requests/image_v2/get_member_details.rb +33 -0
  95. data/lib/fog/openstack/requests/image_v2/get_shared_images.rb +31 -0
  96. data/lib/fog/openstack/requests/image_v2/list_images.rb +35 -0
  97. data/lib/fog/openstack/requests/image_v2/reactivate_image.rb +25 -0
  98. data/lib/fog/openstack/requests/image_v2/remove_member_from_image.rb +25 -0
  99. data/lib/fog/openstack/requests/image_v2/remove_tag_from_image.rb +25 -0
  100. data/lib/fog/openstack/requests/image_v2/set_tenant.rb +21 -0
  101. data/lib/fog/openstack/requests/image_v2/update_image.rb +49 -0
  102. data/lib/fog/openstack/requests/image_v2/update_image_member.rb +34 -0
  103. data/lib/fog/openstack/requests/image_v2/upload_image.rb +30 -0
  104. data/lib/fog/openstack/requests/orchestration/patch_stack.rb +37 -0
  105. data/lib/fog/openstack/requests/volume/create_volume_type.rb +41 -0
  106. data/lib/fog/openstack/requests/{image/delete_image.rb → volume/delete_volume_type.rb} +6 -6
  107. data/lib/fog/openstack/requests/volume/get_quota_usage.rb +44 -0
  108. data/lib/fog/openstack/requests/volume/get_volume_type_details.rb +1 -1
  109. data/lib/fog/openstack/requests/volume/update_volume_type.rb +41 -0
  110. data/lib/fog/openstack/volume.rb +5 -0
  111. data/lib/fog/rackspace/models/compute_v2/server.rb +11 -1
  112. data/lib/fog/rackspace/models/compute_v2/servers.rb +2 -2
  113. data/lib/fog/rackspace/requests/compute_v2/create_server.rb +7 -2
  114. data/lib/fog/vcloud_director/requests/compute/get_execute_query.rb +13 -10
  115. data/lib/fog/version.rb +1 -1
  116. data/lib/fog/vsphere/models/compute/server.rb +1 -1
  117. data/lib/tasks/changelog_task.rb +1 -0
  118. data/spec/fog/openstack/identity_v3/authv3_a.yml +45 -52
  119. data/spec/fog/openstack/identity_v3/authv3_b.yml +45 -52
  120. data/spec/fog/openstack/identity_v3/authv3_c.yml +95 -101
  121. data/spec/fog/openstack/identity_v3/authv3_project.yml +68 -75
  122. data/spec/fog/openstack/identity_v3/authv3_token.yml +212 -174
  123. data/spec/fog/openstack/identity_v3/authv3_unscoped.yml +278 -266
  124. data/spec/fog/openstack/identity_v3/authv3_unscoped_reauth.yml +190 -202
  125. data/spec/fog/openstack/identity_v3/common_setup.yml +67 -445
  126. data/spec/fog/openstack/identity_v3/idv3_credential.yml +56 -26
  127. data/spec/fog/openstack/identity_v3/idv3_credential_crud.yml +292 -152
  128. data/spec/fog/openstack/identity_v3/idv3_domain.yml +99 -49
  129. data/spec/fog/openstack/identity_v3/idv3_domain_crud.yml +239 -119
  130. data/spec/fog/openstack/identity_v3/idv3_domain_group_roles_mutation.yml +414 -205
  131. data/spec/fog/openstack/identity_v3/idv3_domain_roles_mutation.yml +259 -136
  132. data/spec/fog/openstack/identity_v3/idv3_endpoint.yml +474 -472
  133. data/spec/fog/openstack/identity_v3/idv3_endpoints_crud.yml +679 -626
  134. data/spec/fog/openstack/identity_v3/idv3_group_crud_mutation.yml +536 -269
  135. data/spec/fog/openstack/identity_v3/idv3_policy.yml +76 -36
  136. data/spec/fog/openstack/identity_v3/idv3_policy_crud.yml +197 -97
  137. data/spec/fog/openstack/identity_v3/idv3_project.yml +135 -85
  138. data/spec/fog/openstack/identity_v3/idv3_project_crud.yml +237 -127
  139. data/spec/fog/openstack/identity_v3/idv3_project_group_user_roles_mutation.yml +625 -295
  140. data/spec/fog/openstack/identity_v3/idv3_project_hier_crud_list.yml +716 -355
  141. data/spec/fog/openstack/identity_v3/idv3_role.yml +134 -88
  142. data/spec/fog/openstack/identity_v3/idv3_role_crud.yml +312 -118
  143. data/spec/fog/openstack/identity_v3/idv3_service.yml +179 -133
  144. data/spec/fog/openstack/identity_v3/idv3_services_crud.yml +306 -212
  145. data/spec/fog/openstack/identity_v3/idv3_token.yml +213 -177
  146. data/spec/fog/openstack/identity_v3/idv3_user_crud.yml +345 -188
  147. data/spec/fog/openstack/identity_v3/idv3_users.yml +182 -116
  148. data/spec/fog/openstack/identity_v3_spec.rb +103 -85
  149. data/spec/fog/openstack/{identity_v3/idv3_other_region.yml → image_v1/common_setup.yml} +50 -93
  150. data/spec/fog/openstack/image_v1/list_images.yml +54 -0
  151. data/spec/fog/openstack/image_v1_spec.rb +24 -0
  152. data/spec/fog/openstack/image_v2/common_setup.yml +144 -0
  153. data/spec/fog/openstack/image_v2/image_schema.json +190 -0
  154. data/spec/fog/openstack/image_v2/image_v2_activation.yml +3988 -0
  155. data/spec/fog/openstack/image_v2/image_v2_create_id.yml +291 -0
  156. data/spec/fog/openstack/image_v2/image_v2_crud.yml +437 -0
  157. data/spec/fog/openstack/image_v2/image_v2_member_crudl.yml +451 -0
  158. data/spec/fog/openstack/image_v2/image_v2_tags.yml +532 -0
  159. data/spec/fog/openstack/image_v2/image_v2_upload_download.yml +3966 -0
  160. data/spec/fog/openstack/image_v2/minimal.ova +0 -0
  161. data/spec/fog/openstack/image_v2_spec.rb +285 -0
  162. data/spec/fog/openstack/image_v2_upload_spec.rb +74 -0
  163. data/spec/fog/openstack/shared_context.rb +14 -10
  164. data/tests/compute/helper.rb +0 -3
  165. data/tests/digitalocean/requests/compute_v2/list_flavors_tests.rb +25 -0
  166. data/tests/digitalocean/requests/compute_v2/list_images_tests.rb +25 -0
  167. data/tests/digitalocean/requests/compute_v2/list_regions_tests.rb +21 -0
  168. data/tests/digitalocean/requests/compute_v2/server_tests.rb +77 -0
  169. data/tests/helpers/mock_helper.rb +1 -0
  170. data/tests/opennebula/models/compute/flavor_tests.rb +1 -1
  171. data/tests/openstack/requests/orchestration/stack_tests.rb +5 -1
  172. data/tests/openstack/requests/volume/volume_type_tests.rb +32 -0
  173. data/tests/rackspace/models/compute_v2/server_tests.rb +7 -7
  174. metadata +160 -236
  175. data/gemfiles/Gemfile-ruby-1.8.7 +0 -17
  176. data/lib/fog/bin/xenserver.rb +0 -29
  177. data/lib/fog/openstack/models/image/image.rb +0 -76
  178. data/lib/fog/openstack/models/image/images.rb +0 -67
  179. data/lib/fog/openstack/requests/image/create_image.rb +0 -76
  180. data/lib/fog/openstack/requests/image/get_image.rb +0 -45
  181. data/lib/fog/openstack/requests/image/get_image_by_id.rb +0 -32
  182. data/lib/fog/openstack/requests/image/get_image_members.rb +0 -29
  183. data/lib/fog/openstack/requests/image/get_shared_images.rb +0 -29
  184. data/lib/fog/openstack/requests/image/list_public_images.rb +0 -33
  185. data/lib/fog/openstack/requests/image/list_public_images_detailed.rb +0 -35
  186. data/lib/fog/openstack/requests/image/remove_member_from_image.rb +0 -23
  187. data/lib/fog/openstack/requests/image/set_tenant.rb +0 -19
  188. data/lib/fog/openstack/requests/image/update_image.rb +0 -64
  189. data/lib/fog/openstack/requests/image/update_image_members.rb +0 -37
  190. data/lib/fog/xenserver.rb +0 -1
  191. data/lib/fog/xenserver/CHANGELOG.md +0 -77
  192. data/lib/fog/xenserver/compute.rb +0 -186
  193. data/lib/fog/xenserver/core.rb +0 -94
  194. data/lib/fog/xenserver/examples/README.md +0 -11
  195. data/lib/fog/xenserver/examples/chage_default_storage_repository.md +0 -99
  196. data/lib/fog/xenserver/examples/creating_servers.md +0 -168
  197. data/lib/fog/xenserver/examples/getting_started.md +0 -163
  198. data/lib/fog/xenserver/examples/networks-and-vlans.rb +0 -44
  199. data/lib/fog/xenserver/examples/storage_repositories.md +0 -94
  200. data/lib/fog/xenserver/models/compute/blob.rb +0 -22
  201. data/lib/fog/xenserver/models/compute/blobs.rb +0 -25
  202. data/lib/fog/xenserver/models/compute/bond.rb +0 -23
  203. data/lib/fog/xenserver/models/compute/bonds.rb +0 -25
  204. data/lib/fog/xenserver/models/compute/console.rb +0 -29
  205. data/lib/fog/xenserver/models/compute/consoles.rb +0 -25
  206. data/lib/fog/xenserver/models/compute/crash_dump.rb +0 -19
  207. data/lib/fog/xenserver/models/compute/crash_dumps.rb +0 -25
  208. data/lib/fog/xenserver/models/compute/dr_task.rb +0 -17
  209. data/lib/fog/xenserver/models/compute/dr_tasks.rb +0 -25
  210. data/lib/fog/xenserver/models/compute/gpu_group.rb +0 -22
  211. data/lib/fog/xenserver/models/compute/gpu_groups.rb +0 -25
  212. data/lib/fog/xenserver/models/compute/guest_metrics.rb +0 -26
  213. data/lib/fog/xenserver/models/compute/host.rb +0 -156
  214. data/lib/fog/xenserver/models/compute/host_cpu.rb +0 -34
  215. data/lib/fog/xenserver/models/compute/host_crash_dump.rb +0 -20
  216. data/lib/fog/xenserver/models/compute/host_crash_dumps.rb +0 -25
  217. data/lib/fog/xenserver/models/compute/host_metrics.rb +0 -26
  218. data/lib/fog/xenserver/models/compute/host_patch.rb +0 -25
  219. data/lib/fog/xenserver/models/compute/host_patchs.rb +0 -25
  220. data/lib/fog/xenserver/models/compute/hosts.rb +0 -25
  221. data/lib/fog/xenserver/models/compute/network.rb +0 -93
  222. data/lib/fog/xenserver/models/compute/networks.rb +0 -29
  223. data/lib/fog/xenserver/models/compute/pbd.rb +0 -37
  224. data/lib/fog/xenserver/models/compute/pbds.rb +0 -29
  225. data/lib/fog/xenserver/models/compute/pci.rb +0 -22
  226. data/lib/fog/xenserver/models/compute/pcis.rb +0 -25
  227. data/lib/fog/xenserver/models/compute/pgpu.rb +0 -20
  228. data/lib/fog/xenserver/models/compute/pgpus.rb +0 -25
  229. data/lib/fog/xenserver/models/compute/pif.rb +0 -54
  230. data/lib/fog/xenserver/models/compute/pif_metrics.rb +0 -28
  231. data/lib/fog/xenserver/models/compute/pifs.rb +0 -29
  232. data/lib/fog/xenserver/models/compute/pifs_metrics.rb +0 -25
  233. data/lib/fog/xenserver/models/compute/pool.rb +0 -75
  234. data/lib/fog/xenserver/models/compute/pool_patch.rb +0 -24
  235. data/lib/fog/xenserver/models/compute/pool_patchs.rb +0 -25
  236. data/lib/fog/xenserver/models/compute/pools.rb +0 -29
  237. data/lib/fog/xenserver/models/compute/role.rb +0 -19
  238. data/lib/fog/xenserver/models/compute/roles.rb +0 -25
  239. data/lib/fog/xenserver/models/compute/server.rb +0 -251
  240. data/lib/fog/xenserver/models/compute/server_appliance.rb +0 -21
  241. data/lib/fog/xenserver/models/compute/server_appliances.rb +0 -25
  242. data/lib/fog/xenserver/models/compute/servers.rb +0 -64
  243. data/lib/fog/xenserver/models/compute/storage_manager.rb +0 -28
  244. data/lib/fog/xenserver/models/compute/storage_managers.rb +0 -25
  245. data/lib/fog/xenserver/models/compute/storage_repositories.rb +0 -27
  246. data/lib/fog/xenserver/models/compute/storage_repository.rb +0 -90
  247. data/lib/fog/xenserver/models/compute/tunnel.rb +0 -20
  248. data/lib/fog/xenserver/models/compute/tunnels.rb +0 -25
  249. data/lib/fog/xenserver/models/compute/vbd.rb +0 -88
  250. data/lib/fog/xenserver/models/compute/vbd_metrics.rb +0 -25
  251. data/lib/fog/xenserver/models/compute/vbds.rb +0 -29
  252. data/lib/fog/xenserver/models/compute/vdi.rb +0 -102
  253. data/lib/fog/xenserver/models/compute/vdis.rb +0 -25
  254. data/lib/fog/xenserver/models/compute/vif.rb +0 -56
  255. data/lib/fog/xenserver/models/compute/vifs.rb +0 -25
  256. data/lib/fog/xenserver/models/compute/vlan.rb +0 -78
  257. data/lib/fog/xenserver/models/compute/vlans.rb +0 -35
  258. data/lib/fog/xenserver/models/compute/vmpp.rb +0 -35
  259. data/lib/fog/xenserver/models/compute/vmpps.rb +0 -25
  260. data/lib/fog/xenserver/models/compute/vtpm.rb +0 -18
  261. data/lib/fog/xenserver/models/compute/vtpms.rb +0 -25
  262. data/lib/fog/xenserver/parser.rb +0 -34
  263. data/lib/fog/xenserver/parsers/get_hosts.rb +0 -16
  264. data/lib/fog/xenserver/parsers/get_networks.rb +0 -16
  265. data/lib/fog/xenserver/parsers/get_pools.rb +0 -16
  266. data/lib/fog/xenserver/parsers/get_records.rb +0 -16
  267. data/lib/fog/xenserver/parsers/get_storage_repositories.rb +0 -16
  268. data/lib/fog/xenserver/parsers/get_vbds.rb +0 -16
  269. data/lib/fog/xenserver/parsers/get_vifs.rb +0 -16
  270. data/lib/fog/xenserver/parsers/get_vms.rb +0 -16
  271. data/lib/fog/xenserver/requests/compute/clone_server.rb +0 -30
  272. data/lib/fog/xenserver/requests/compute/create_network.rb +0 -46
  273. data/lib/fog/xenserver/requests/compute/create_server.rb +0 -144
  274. data/lib/fog/xenserver/requests/compute/create_sr.rb +0 -88
  275. data/lib/fog/xenserver/requests/compute/create_vbd.rb +0 -43
  276. data/lib/fog/xenserver/requests/compute/create_vdi.rb +0 -57
  277. data/lib/fog/xenserver/requests/compute/create_vif.rb +0 -62
  278. data/lib/fog/xenserver/requests/compute/create_vlan.rb +0 -43
  279. data/lib/fog/xenserver/requests/compute/destroy_network.rb +0 -31
  280. data/lib/fog/xenserver/requests/compute/destroy_record.rb +0 -11
  281. data/lib/fog/xenserver/requests/compute/destroy_server.rb +0 -20
  282. data/lib/fog/xenserver/requests/compute/destroy_sr.rb +0 -28
  283. data/lib/fog/xenserver/requests/compute/destroy_vdi.rb +0 -20
  284. data/lib/fog/xenserver/requests/compute/destroy_vif.rb +0 -20
  285. data/lib/fog/xenserver/requests/compute/destroy_vlan.rb +0 -30
  286. data/lib/fog/xenserver/requests/compute/disable_host.rb +0 -23
  287. data/lib/fog/xenserver/requests/compute/eject_vbd.rb +0 -17
  288. data/lib/fog/xenserver/requests/compute/enable_host.rb +0 -22
  289. data/lib/fog/xenserver/requests/compute/get_record.rb +0 -31
  290. data/lib/fog/xenserver/requests/compute/get_records.rb +0 -24
  291. data/lib/fog/xenserver/requests/compute/insert_vbd.rb +0 -17
  292. data/lib/fog/xenserver/requests/compute/provision_server.rb +0 -17
  293. data/lib/fog/xenserver/requests/compute/reboot_host.rb +0 -17
  294. data/lib/fog/xenserver/requests/compute/reboot_server.rb +0 -17
  295. data/lib/fog/xenserver/requests/compute/scan_sr.rb +0 -17
  296. data/lib/fog/xenserver/requests/compute/set_affinity.rb +0 -19
  297. data/lib/fog/xenserver/requests/compute/set_attribute.rb +0 -19
  298. data/lib/fog/xenserver/requests/compute/shutdown_host.rb +0 -17
  299. data/lib/fog/xenserver/requests/compute/shutdown_server.rb +0 -17
  300. data/lib/fog/xenserver/requests/compute/snapshot_revert.rb +0 -24
  301. data/lib/fog/xenserver/requests/compute/snapshot_server.rb +0 -17
  302. data/lib/fog/xenserver/requests/compute/start_server.rb +0 -17
  303. data/lib/fog/xenserver/requests/compute/start_vm.rb +0 -19
  304. data/lib/fog/xenserver/requests/compute/unplug_pbd.rb +0 -20
  305. data/lib/fog/xenserver/requests/compute/unplug_vbd.rb +0 -25
  306. data/lib/fog/xenserver/utilities.rb +0 -8
  307. data/tests/xenserver/README +0 -21
  308. data/tests/xenserver/compute_tests.rb +0 -51
  309. data/tests/xenserver/helper.rb +0 -36
  310. data/tests/xenserver/models/compute/console_test.rb +0 -35
  311. data/tests/xenserver/models/compute/consoles_test.rb +0 -19
  312. data/tests/xenserver/models/compute/host_cpu_tests.rb +0 -58
  313. data/tests/xenserver/models/compute/host_metrics_tests.rb +0 -48
  314. data/tests/xenserver/models/compute/host_tests.rb +0 -98
  315. data/tests/xenserver/models/compute/hosts_tests.rb +0 -22
  316. data/tests/xenserver/models/compute/network_tests.rb +0 -79
  317. data/tests/xenserver/models/compute/networks_tests.rb +0 -22
  318. data/tests/xenserver/models/compute/pbd_tests.rb +0 -76
  319. data/tests/xenserver/models/compute/pbds_tests.rb +0 -22
  320. data/tests/xenserver/models/compute/pif_tests.rb +0 -58
  321. data/tests/xenserver/models/compute/pifs_tests.rb +0 -22
  322. data/tests/xenserver/models/compute/pool_tests.rb +0 -56
  323. data/tests/xenserver/models/compute/pools_tests.rb +0 -30
  324. data/tests/xenserver/models/compute/server_tests.rb +0 -184
  325. data/tests/xenserver/models/compute/servers_tests.rb +0 -89
  326. data/tests/xenserver/models/compute/storage_repositories_tests.rb +0 -30
  327. data/tests/xenserver/models/compute/storage_repository_tests.rb +0 -114
  328. data/tests/xenserver/models/compute/vbd_tests.rb +0 -115
  329. data/tests/xenserver/models/compute/vbds_tests.rb +0 -22
  330. data/tests/xenserver/models/compute/vif_tests.rb +0 -53
  331. data/tests/xenserver/models/compute/vifs_tests.rb +0 -22
  332. data/tests/xenserver/models/compute/vlan_tests.rb +0 -76
  333. data/tests/xenserver/models/compute/vlans_tests.rb +0 -36
  334. data/tests/xenserver/requests/compute/clone_server_tests.rb +0 -32
  335. data/tests/xenserver/requests/compute/create_network_tests.rb +0 -20
  336. data/tests/xenserver/requests/compute/create_server_tests.rb +0 -129
  337. data/tests/xenserver/requests/compute/create_sr_tests.rb +0 -54
  338. data/tests/xenserver/requests/compute/create_vdi_tests.rb +0 -80
  339. data/tests/xenserver/requests/compute/create_vif_tests.rb +0 -88
  340. data/tests/xenserver/requests/compute/create_vlan_tests.rb +0 -36
  341. data/tests/xenserver/requests/compute/destroy_network_tests.rb +0 -13
  342. data/tests/xenserver/requests/compute/destroy_sr_tests.rb +0 -46
  343. data/tests/xenserver/requests/compute/destroy_vdi_tests.rb +0 -25
  344. data/tests/xenserver/requests/compute/destroy_vlan_tests.rb +0 -36
  345. data/tests/xenserver/requests/compute/disable_host_tests.rb +0 -16
  346. data/tests/xenserver/requests/compute/enable_host_tests.rb +0 -16
  347. data/tests/xenserver/requests/compute/get_record_tests.rb +0 -15
  348. data/tests/xenserver/requests/compute/set_attribute_tests.rb +0 -66
  349. data/tests/xenserver/requests/compute/unplug_pbd_tests.rb +0 -48
  350. data/tests/xenserver/xenserver_tests.rb +0 -33
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c821b9ebefd673f9820e7ae4f41afa5add225538
4
- data.tar.gz: 1432597d1fa4695ea327825276f2720a2d460036
3
+ metadata.gz: e9d70adc0e2d4691ae0c52c21c326ef46cd7bff6
4
+ data.tar.gz: 88c2a0583be38c0c470191eb837cf90d7fe02c7f
5
5
  SHA512:
6
- metadata.gz: 2afc927bafda27b29fffb39f59ffeb25f6e0a04cd5bbbba091c10b8fb44d997611b86a9e188103343a3821f5660daccc497220710646a39fc01b6ca38f669b15
7
- data.tar.gz: 667d372ed314968334671ae4569c934236610958dc2e54717dd02d14c212eb8c3e5553500e795d77493723c66a4385fdace66bb06a4abf4602a0baa542bab683
6
+ metadata.gz: 1657e1baa79242c845c9bed96dcb269de8c9b500bceb408ce31487af02103050bf5d56dd63e178705c0187f3dc83db2cf19a8245b64edbcbc4eba698bd046aa8
7
+ data.tar.gz: bbcf356f04b3f119edf2f43c389563f5170f55c4cb9e4a398d58b395cd5ebe3367e609e9f83520f8e1697a9d41954fa1ba1a9d8f98605799264674ef97a8aaca
@@ -4,32 +4,18 @@ sudo: false
4
4
 
5
5
  script: bundle exec rake travis
6
6
 
7
+ rvm:
8
+ - 2.0
9
+ - 2.1
10
+ - 2.2
11
+ - jruby-head
12
+
13
+ gemfile:
14
+ - Gemfile
15
+ - gemfiles/Gemfile-edge
16
+
7
17
  matrix:
8
18
  fast_finish: true
9
- include:
10
- - rvm: 1.8.7
11
- gemfile: gemfiles/Gemfile-ruby-1.8.7
12
- - rvm: 1.9.3
13
- gemfile: Gemfile
14
- - rvm: 2.0.0
15
- gemfile: Gemfile
16
- - rvm: 2.1.0
17
- gemfile: Gemfile
18
- - rvm: 2.1.1
19
- gemfile: Gemfile
20
- - rvm: 2.1.1
21
- gemfile: gemfiles/Gemfile-edge
22
- - rvm: 2.2.0
23
- gemfile: Gemfile
24
- - rvm: 2.2.0
25
- gemfile: gemfiles/Gemfile-edge
26
- - rvm: jruby-18mode
27
- gemfile: gemfiles/Gemfile-ruby-1.8.7
28
- - rvm: jruby-19mode
29
- gemfile: Gemfile
30
- - rvm: jruby-head
31
- gemfile: Gemfile
32
-
33
19
  allow_failures:
34
20
  - rvm: jruby-head
35
21
 
@@ -1,3 +1,87 @@
1
+ ## 1.35.0 10/20/2015
2
+ *Hash* 4444f3287454a4281ead73fa24aa1b93d5d23a39
3
+
4
+ Statistic | Value
5
+ ------------- | --------:
6
+ Collaborators | 2
7
+ Downloads | 12346569
8
+ Forks | 1496
9
+ Open Issues | 86
10
+ Watchers | 3665
11
+
12
+ **MVP!** bryanl
13
+
14
+ #### [#3099]
15
+ * Remove Nokogiri constraint. thanks Paul Thornthwaite
16
+
17
+ #### [Fog 2.0]
18
+ * Remove 1.8.7 support. thanks Paul Thornthwaite
19
+ * Update docs re dropping 1.8.7 support. thanks Paul Thornthwaite
20
+
21
+ #### [misc]
22
+ * Add boot_volume_size to RS compute_v2 Server Create. thanks Alain De Carolis
23
+ * fix kernel selection bug. thanks Alex Borisov
24
+ * Use head version of all released MRI versions. thanks Caleb Thompson
25
+ * Allow travis to generate matrix of rubies and gems. thanks Caleb Thompson
26
+ * Re-add 1.9.3 support. thanks Caleb Thompson
27
+ * Allow failures on latest Ruby version. thanks Caleb Thompson
28
+ * change get_raw replacement regex from />/ to /=>/ for output XML. thanks Cherdancev Evgeni
29
+ * add RAW tests. thanks Cherdancev Evgeni
30
+ * fixing scope of mock class on compute_v2 digital ocean list fiels. thanks Joshua Gross
31
+ * Fixing misnaming of methods for mock classes in compute v2 digitalocean. thanks Joshua Gross
32
+ * Making the existing suite of tests pass for digitalocean compute v2. thanks Joshua Gross
33
+ * fixing digitalocean server tests to test response format. thanks Joshua Gross
34
+ * fixing merge conflicts. thanks Joshua Gross
35
+ * forgetful save of a file. thanks Joshua Gross
36
+ * Openstack adding Heat Patch support. thanks Ladislav Smola
37
+ * Openstack volumes adding volume type management. thanks Ladislav Smola
38
+ * Ensure root user behaves like Rackspace defaults. thanks Martin Smith
39
+ * Require fog-google versions compatable w/ > 1.9.3. thanks Nat Welch
40
+ * update fog-google dep to > 0.1.1. thanks Nat Welch
41
+ * Added case to reboot gracefully if toolsOld. thanks Nick Huanca
42
+ * Change URL options to a hash rather than an array. thanks Paul Martin
43
+ * CGI.escape and character replacements. thanks Paul Martin
44
+ * Limit 1.9.3 tests to use older Net::SSH. thanks Paul Thornthwaite
45
+ * Remove support for Ruby 1.9.3. thanks Paul Thornthwaite
46
+ * Don't allow Travis failures for Ruby 2.2. thanks Paul Thornthwaite
47
+ * Removed unecessary configurations from Travis. thanks Paulo Henrique Lopes Ribeiro
48
+ * Bumped required ruby version to 1.9.3. thanks Paulo Henrique Lopes Ribeiro
49
+ * Remove XENSERVER code. thanks Paulo Henrique Lopes Ribeiro
50
+ * Remove XENSERVER tests. thanks Paulo Henrique Lopes Ribeiro
51
+ * Remove XENSERVER bin. thanks Paulo Henrique Lopes Ribeiro
52
+ * Remove XENSERVER test helper. thanks Paulo Henrique Lopes Ribeiro
53
+ * Depend on fog-xenserver. thanks Paulo Henrique Lopes Ribeiro
54
+ * Adds documentation for new V2 methods. thanks Peter Souter
55
+ * Add new #get method for images. thanks Peter Souter
56
+ * Adds #transfer and #convert methods to image. thanks Peter Souter
57
+ * list_servers. thanks bryanl
58
+ * list_images. thanks bryanl
59
+ * list_regions. thanks bryanl
60
+ * list_flavors. thanks bryanl
61
+ * add a server mock. thanks bryanl
62
+ * list_servers. thanks bryanl
63
+ * list_images. thanks bryanl
64
+ * list_regions. thanks bryanl
65
+ * list_flavors. thanks bryanl
66
+ * add a server mock. thanks bryanl
67
+ * add create and delete server. thanks bryanl
68
+ * get a server. thanks bryanl
69
+ * add droplet actions. thanks bryanl
70
+ * add ssh key data. thanks bryanl
71
+ * support DigitalOcean v2 compute API. thanks bryanl
72
+ * add methods for server ipv4 and ipv6 public addresses. thanks bryanl
73
+ * Fog support new provider: aliyun. thanks dengqinsi
74
+ * v2.0.0.pre.0. thanks geemus
75
+ * temporarily relax ruby version constraint. thanks geemus
76
+
77
+ #### [openstack]
78
+ * Add request for Cinder to get quota usage. thanks Dang Tung Lam
79
+ * List server actions fix. thanks Dang Tung Lam
80
+ * Glance v2 API. thanks Darren Hague
81
+ * Make sure that Identity v3 authentication uses a v3 endpoint. thanks Darren Hague
82
+ * IdV3: re-record VCRs against a new DevStack kilo installation. thanks Darren Hague
83
+
84
+
1
85
  ## 1.34.0 09/03/2015
2
86
  *Hash* 23467f391cbc9d8d3262da33cec533f8b8e80cee
3
87
 
@@ -56,7 +56,7 @@ Relevant issues include:
56
56
 
57
57
  * Organize your patches by keeping all related changes together in a topic branch.
58
58
  * Rebase your branch against master before submitting a pull request (and squish any 'oops' or work in progress commits).
59
- * We support several rubies! Make sure your changes will work for all the Rubies in .travis.yml (currently MRI 1.8, 1.9, and Ruby 2.0).
59
+ * We support several rubies! Make sure your changes will work for all the Rubies in `.travis.yml`
60
60
  * Submit changes as pull requests describing what the changes should cover and referencing issues (if any).
61
61
  * Use 'tags' in your commits to indicate the scope, so things like `[aws|compute] fixed something`.
62
62
  * Write and run tests. Tests should follow through usage workflows and ought to pass both with mocking on and off.
data/README.md CHANGED
@@ -36,28 +36,12 @@ ArgumentError: image_id is required for this operation
36
36
  true
37
37
  ```
38
38
 
39
- ## Ruby 1.8.7
39
+ ## Ruby version
40
40
 
41
- The maintainers of this project, in concert with the maintainers of Ruby,
42
- **strongly** recommend using the latest patchlevel of Ruby 1.9.2 or later.
43
- [As of July 1, 2013, Ruby 1.8.7 is no longer officially maintained.][retired]
44
- This means fixes will no longer be provided, even for known security
45
- vulnerabilities.
41
+ Fog requires Ruby `2.0.0` or later.
46
42
 
47
- [retired]: http://www.ruby-lang.org/en/news/2013/06/30/we-retire-1-8-7/
48
-
49
- With this caveat, if you wish to bundle `fog` into your application on Ruby
50
- 1.8.7, you must add the following line to your `Gemfile`.
51
-
52
- ```ruby
53
- gem 'nokogiri', '~>1.5.0'
54
- ```
55
-
56
- Also, ensure that you are using LibXML version 2.8.0, since there is an
57
- [issue with LibXML version 2.9.0][issue829] ([and 2.9.1][issue904]).
58
-
59
- [issue829]: https://github.com/sparklemotion/nokogiri/issues/829
60
- [issue904]: https://github.com/sparklemotion/nokogiri/issues/904
43
+ Ruby `1.8` and `1.9` support was dropped in `fog-v2.0.0` as a backwards incompatible
44
+ change. Please use the later fog `1.x` versions if you require `1.8.7` or `1.9.x` support.
61
45
 
62
46
  ## Collections
63
47
 
@@ -11,8 +11,8 @@ Gem::Specification.new do |s|
11
11
  ## If your rubyforge_project name is different, then edit it and comment out
12
12
  ## the sub! line in the Rakefile
13
13
  s.name = "fog"
14
- s.version = "1.34.0"
15
- s.date = "2015-09-03"
14
+ s.version = "1.35.0"
15
+ s.date = "2015-10-20"
16
16
  s.rubyforge_project = "fog"
17
17
 
18
18
  ## Make sure your summary is short. The description may be as long
@@ -49,7 +49,7 @@ Gem::Specification.new do |s|
49
49
  s.add_dependency("fog-xml", "~> 0.1.1")
50
50
 
51
51
  s.add_dependency("ipaddress", "~> 0.5")
52
- s.add_dependency("nokogiri", "~> 1.5", ">= 1.5.11")
52
+ s.add_dependency("nokogiri")
53
53
 
54
54
  # Modular providers (please keep sorted)
55
55
  s.add_dependency("fog-atmos")
@@ -57,7 +57,7 @@ Gem::Specification.new do |s|
57
57
  s.add_dependency("fog-brightbox", "~> 0.4")
58
58
  s.add_dependency("fog-dynect", "~> 0.0.2")
59
59
  s.add_dependency("fog-ecloud", "~> 0.1")
60
- s.add_dependency("fog-google", ">= 0.0.2")
60
+ s.add_dependency("fog-google", ">= 0.1.1")
61
61
  s.add_dependency("fog-local")
62
62
  s.add_dependency("fog-powerdns", ">= 0.1.1")
63
63
  s.add_dependency("fog-profitbricks")
@@ -70,6 +70,8 @@ Gem::Specification.new do |s|
70
70
  s.add_dependency("fog-terremark")
71
71
  s.add_dependency("fog-vmfusion")
72
72
  s.add_dependency("fog-voxel")
73
+ s.add_dependency("fog-xenserver")
74
+ s.add_dependency("fog-aliyun")
73
75
 
74
76
  s.add_development_dependency("docker-api", ">= 1.13.6")
75
77
  s.add_development_dependency("fission")
@@ -80,7 +82,7 @@ Gem::Specification.new do |s|
80
82
  s.add_development_dependency("rake")
81
83
  s.add_development_dependency("rbovirt", "0.0.32")
82
84
  s.add_development_dependency("rbvmomi")
83
- s.add_development_dependency("rubocop") if RUBY_VERSION > "1.9"
85
+ s.add_development_dependency("rubocop")
84
86
  s.add_development_dependency("shindo", "~> 0.3.4")
85
87
  s.add_development_dependency("simplecov")
86
88
  s.add_development_dependency("thor")
data/lib/fog.rb CHANGED
@@ -65,3 +65,4 @@ require 'fog/zerigo'
65
65
  require 'fog/cloudsigma'
66
66
  require 'fog/openvz'
67
67
  require 'fog/opennebula'
68
+ require 'fog/aliyun'
@@ -97,3 +97,4 @@ require 'fog/bin/zerigo'
97
97
  require 'fog/bin/cloudsigma'
98
98
  require 'fog/bin/openvz'
99
99
  require 'fog/bin/opennebula'
100
+ require 'fog/bin/aliyun'
@@ -0,0 +1,108 @@
1
+ require 'fog/digitalocean/core'
2
+
3
+ module Fog
4
+ module Compute
5
+ class DigitalOceanV2 < Fog::Service
6
+ requires :digitalocean_token
7
+
8
+ model_path 'fog/digitalocean/models/compute_v2'
9
+ model :server
10
+ collection :servers
11
+ model :image
12
+ collection :images
13
+ model :region
14
+ collection :regions
15
+ model :flavor
16
+ collection :flavors
17
+ model :ssh_key
18
+ collection :ssh_keys
19
+
20
+ request_path 'fog/digitalocean/requests/compute_v2'
21
+ request :change_kernel
22
+ request :create_server
23
+ request :create_ssh_key
24
+ request :delete_server
25
+ request :delete_ssh_key
26
+ request :disable_backups
27
+ request :enable_ipv6
28
+ request :enable_private_networking
29
+ request :get_droplet_action
30
+ request :get_server_details
31
+ request :get_ssh_key
32
+ request :list_droplet_actions
33
+ request :list_flavors
34
+ request :list_images
35
+ request :list_regions
36
+ request :list_servers
37
+ request :list_ssh_keys
38
+ request :password_reset
39
+ request :power_cycle
40
+ request :power_off
41
+ request :power_on
42
+ request :reboot_server
43
+ request :rebuild
44
+ request :rename
45
+ request :resize
46
+ request :restore
47
+ request :shutdown
48
+ request :snapshot
49
+ request :update_ssh_key
50
+ request :upgrade
51
+
52
+
53
+ class Mock
54
+ def self.data
55
+ @data ||= Hash.new do |hash, key|
56
+ hash[key] = {
57
+ :servers => [],
58
+ :ssh_keys => []
59
+ }
60
+ end
61
+ end
62
+
63
+ def initialize(options={})
64
+ @digitalocean_token = options[:digitalocean_token]
65
+ end
66
+
67
+ def data
68
+ self.class.data[@digitalocean_token]
69
+ end
70
+
71
+ def reset_data
72
+ self.class.data.delete(@digitalocean_token)
73
+ end
74
+ end
75
+
76
+ class Real
77
+ def initialize(options={})
78
+ digitalocean_token = options[:digitalocean_token]
79
+ persistent = false
80
+ options = {
81
+ headers: {
82
+ 'Authorization' => "Bearer #{digitalocean_token}",
83
+ }
84
+ }
85
+ @connection = Fog::Core::Connection.new 'https://api.digitalocean.com', persistent, options
86
+ end
87
+
88
+ def request(params)
89
+ params[:headers] ||= {}
90
+ begin
91
+ response = @connection.request(params)
92
+ rescue Excon::Errors::HTTPStatusError => error
93
+ raise case error
94
+ when Excon::Errors::NotFound
95
+ Fog::Compute::Bluebox::NotFound.slurp(error)
96
+ else
97
+ error
98
+ end
99
+ end
100
+ unless response.body.empty?
101
+ response.body = Fog::JSON.decode(response.body)
102
+ end
103
+ response
104
+ end
105
+ end
106
+ end
107
+ end
108
+ end
@@ -0,0 +1,17 @@
1
+ module Fog
2
+ module Compute
3
+ class DigitalOceanV2
4
+ class Flavor < Fog::Model
5
+ identity :slug
6
+ attribute :available
7
+ attribute :transfer
8
+ attribute :price_monthly
9
+ attribute :price_hourly
10
+ attribute :memory
11
+ attribute :vcpus
12
+ attribute :disk
13
+ attribute :regions
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,21 @@
1
+ module Fog
2
+ module Compute
3
+ class DigitalOceanV2
4
+ class Flavors < Fog::Collection
5
+ model Fog::Compute::DigitalOceanV2::Flavor
6
+
7
+ # Retrieves flavours (aka. sizes)
8
+ # @return [Fog::Compute::DigitalOceanV2:Flavor]
9
+ # @raise [Fog::Compute::DigitalOceanV2::NotFound] - HTTP 404
10
+ # @raise [Fog::Compute::DigitalOceanV2::BadRequest] - HTTP 400
11
+ # @raise [Fog::Compute::DigitalOceanV2::InternalServerError] - HTTP 500
12
+ # @raise [Fog::Compute::DigitalOceanV2::ServiceError]
13
+ # @see https://developers.digitalocean.com/documentation/v2/#list-all-sizes
14
+ def all(filters = {})
15
+ data = service.list_flavors.body["sizes"]
16
+ load(data)
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,25 @@
1
+ module Fog
2
+ module Compute
3
+ class DigitalOceanV2
4
+ class Image < Fog::Model
5
+ identity :id
6
+ attribute :name
7
+ attribute :type
8
+ attribute :distribution
9
+ attribute :slug
10
+ attribute :public
11
+ attribute :regions
12
+ attribute :min_disk_size
13
+ attribute :created_at
14
+ end
15
+
16
+ def transfer
17
+ perform_action :transfer_image
18
+ end
19
+
20
+ def convert_to_snapshot
21
+ perform_action :convert_image_to_snapshot
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,36 @@
1
+ module Fog
2
+ module Compute
3
+ class DigitalOceanV2
4
+ class Images < Fog::Collection
5
+ model Fog::Compute::DigitalOceanV2::Image
6
+
7
+ # Retrieves images
8
+ # @return [Fog::Compute::DigitalOceanV2:Image]
9
+ # @raise [Fog::Compute::DigitalOceanV2::NotFound] - HTTP 404
10
+ # @raise [Fog::Compute::DigitalOceanV2::BadRequest] - HTTP 400
11
+ # @raise [Fog::Compute::DigitalOceanV2::InternalServerError] - HTTP 500
12
+ # @raise [Fog::Compute::DigitalOceanV2::ServiceError]
13
+ # @see https://developers.digitalocean.com/documentation/v2/#list-all-images
14
+ def all(filters = {})
15
+ data = service.list_images.body["images"]
16
+ load(data)
17
+ end
18
+
19
+ # Retrieves image
20
+ # @param [String] id for image to be returned
21
+ # @return [Fog::Compute::DigitalOceanV2:Image]
22
+ # @raise [Fog::Compute::DigitalOceanV2::NotFound] - HTTP 404
23
+ # @raise [Fog::Compute::DigitalOceanV2::BadRequest] - HTTP 400
24
+ # @raise [Fog::Compute::DigitalOceanV2::InternalServerError] - HTTP 500
25
+ # @raise [Fog::Compute::DigitalOceanV2::ServiceError]
26
+ # @see https://developers.digitalocean.com/documentation/v2/#retrieve-an-existing-image-by-id
27
+ def get(id)
28
+ image = service.get_image_details(id).body['image']
29
+ new(image) if image
30
+ rescue Fog::Errors::NotFound
31
+ nil
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end