fog 1.34.0 → 1.35.0

Sign up to get free protection for your applications and to get access to all the features.
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