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
@@ -0,0 +1,31 @@
1
+ module Fog
2
+ module Image
3
+ class OpenStack
4
+ class V2
5
+ class Real
6
+ def get_image_members(image_id)
7
+ request(
8
+ :expects => [200, 204],
9
+ :method => 'GET',
10
+ :path => "images/#{image_id}/members"
11
+ )
12
+ end
13
+ end # class Real
14
+
15
+ class Mock
16
+ def get_image_members(image_id)
17
+ response = Excon::Response.new
18
+ response.status = [200, 204][rand(1)]
19
+ response.body = {
20
+ "members" => [
21
+ {"member_id" => "ff528b20431645ebb5fa4b0a71ca002f",
22
+ "can_share" => false}
23
+ ]
24
+ }
25
+ response
26
+ end # def list_tenants
27
+ end # class Mock
28
+ end # class OpenStack
29
+ end
30
+ end # module Identity
31
+ end # module Fog
@@ -0,0 +1,33 @@
1
+ module Fog
2
+ module Image
3
+ class OpenStack
4
+ class V2
5
+ class Real
6
+ def get_member_details(image_id, member_id)
7
+ request(
8
+ :expects => [200],
9
+ :method => 'GET',
10
+ :path => "images/#{image_id}/members/#{member_id}"
11
+ ).body
12
+ end
13
+ end # class Real
14
+
15
+ class Mock
16
+ def get_member_details(image_id, member_id)
17
+ response = Excon::Response.new
18
+ response.status = 200
19
+ response.body = {
20
+ :status=> "pending",
21
+ :created_at=> "2013-11-26T07:21:21Z",
22
+ :updated_at=> "2013-11-26T07:21:21Z",
23
+ :image_id=> "0ae74cc5-5147-4239-9ce2-b0c580f7067e",
24
+ :member_id=> "8989447062e04a818baf9e073fd04fa7",
25
+ :schema=> "/v2/schemas/member"
26
+ }
27
+ response
28
+ end # def list_tenants
29
+ end # class Mock
30
+ end # class OpenStack
31
+ end
32
+ end # module Identity
33
+ end # module Fog
@@ -0,0 +1,31 @@
1
+ module Fog
2
+ module Image
3
+ class OpenStack
4
+ class V2
5
+ class Real
6
+ def get_shared_images(tenant_id)
7
+ request(
8
+ :expects => [200, 204],
9
+ :method => 'GET',
10
+ :path => "shared-images/#{tenant_id}"
11
+ )
12
+ end
13
+ end # class Real
14
+
15
+ class Mock
16
+ def get_shared_images(tenant_id)
17
+ response = Excon::Response.new
18
+ response.status = [200, 204][rand(1)]
19
+ response.body = {
20
+ "shared_images" => [
21
+ {"image_id" => "ff528b20431645ebb5fa4b0a71ca002f",
22
+ "can_share" => false}
23
+ ]
24
+ }
25
+ response
26
+ end # def list_tenants
27
+ end # class Mock
28
+ end # class OpenStack
29
+ end
30
+ end # module Identity
31
+ end # module Fog
@@ -0,0 +1,35 @@
1
+ module Fog
2
+ module Image
3
+ class OpenStack
4
+ class V2
5
+ class Real
6
+ def list_images(options = {})
7
+ request(
8
+ :expects => [200],
9
+ :method => 'GET',
10
+ :path => 'images',
11
+ :query => options
12
+ )
13
+ end
14
+ end # class Real
15
+
16
+ class Mock
17
+ def list_images(options = {})
18
+ response = Excon::Response.new
19
+ response.status = [200, 204][rand(1)]
20
+ response.body = {
21
+ "images" => [{
22
+ "name" => Fog::Mock.random_letters(10),
23
+ "size" => Fog::Mock.random_numbers(8).to_i,
24
+ "disk_format" => "iso",
25
+ "container_format" => "bare",
26
+ "id" => Fog::Mock.random_hex(36),
27
+ "checksum" => Fog::Mock.random_hex(32)}]
28
+ }
29
+ response
30
+ end # def list_tenants
31
+ end # class Mock
32
+ end # class OpenStack
33
+ end
34
+ end # module Identity
35
+ end # module Fog
@@ -0,0 +1,25 @@
1
+ module Fog
2
+ module Image
3
+ class OpenStack
4
+ class V2
5
+ class Real
6
+ def reactivate_image(image_id)
7
+ request(
8
+ :expects => 204,
9
+ :method => 'POST',
10
+ :path => "images/#{image_id}/actions/reactivate"
11
+ )
12
+ end
13
+ end
14
+
15
+ class Mock
16
+ def reactivate_image(image_id)
17
+ response = Excon::Response.new
18
+ response.status = 204
19
+ response
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,25 @@
1
+ module Fog
2
+ module Image
3
+ class OpenStack
4
+ class V2
5
+ class Real
6
+ def remove_member_from_image(image_id, member_id)
7
+ request(
8
+ :expects => [200, 204],
9
+ :method => 'DELETE',
10
+ :path => "images/#{image_id}/members/#{member_id}"
11
+ )
12
+ end
13
+ end # class Real
14
+
15
+ class Mock
16
+ def remove_member_from_image(image_id, member_id)
17
+ response = Excon::Response.new
18
+ response.status = [200, 204][rand(1)]
19
+ response
20
+ end # def list_tenants
21
+ end # class Mock
22
+ end # class OpenStack
23
+ end
24
+ end # module Identity
25
+ end # module Fog
@@ -0,0 +1,25 @@
1
+ module Fog
2
+ module Image
3
+ class OpenStack
4
+ class V2
5
+ class Real
6
+ def remove_tag_from_image(image_id, tag)
7
+ request(
8
+ :expects => [204],
9
+ :method => 'DELETE',
10
+ :path => "images/#{image_id}/tags/#{tag}"
11
+ )
12
+ end
13
+ end # class Real
14
+
15
+ class Mock
16
+ def remove_tag_from_image(image_id, tag)
17
+ response = Excon::Response.new
18
+ response.status = 204
19
+ response
20
+ end # def remove_tag_from_image
21
+ end # class Mock
22
+ end # class OpenStack
23
+ end
24
+ end # module Image
25
+ end # module Fog
@@ -0,0 +1,21 @@
1
+ module Fog
2
+ module Image
3
+ class OpenStack
4
+ class V2
5
+ class Real
6
+ def set_tenant(tenant)
7
+ @openstack_must_reauthenticate = true
8
+ @openstack_tenant = tenant.to_s
9
+ authenticate
10
+ end
11
+ end
12
+
13
+ class Mock
14
+ def set_tenant(tenant)
15
+ true
16
+ end
17
+ end
18
+ end # class OpenStack
19
+ end
20
+ end # module Compute
21
+ end # module Fog
@@ -0,0 +1,49 @@
1
+ module Fog
2
+ module Image
3
+ class OpenStack
4
+ class V2
5
+ class Real
6
+ def update_image(id, json_patch)
7
+ request(
8
+ :headers => {'Content-Type' => 'application/openstack-images-v2.1-json-patch'},
9
+ :expects => [200],
10
+ :method => 'PATCH',
11
+ :path => "images/#{id}",
12
+ :body => Fog::JSON.encode(json_patch)
13
+ )
14
+ end
15
+ end
16
+
17
+ class Mock
18
+ def update_image(attributes)
19
+ response = Excon::Response.new
20
+ response.status = 200
21
+ image = self.images.last
22
+ response.body = {
23
+ 'image' => {
24
+ 'name' => attributes[:name] || image.name,
25
+ 'size' => image.size,
26
+ 'min_disk' => (attributes[:min_disk] || image.min_disk).to_i,
27
+ 'disk_format' => attributes[:disk_format] || image.disk_format,
28
+ 'created_at' => image.created_at,
29
+ 'container_format' => attributes[:container_format] || image.container_format,
30
+ 'deleted_at' => nil,
31
+ 'updated_at' => Time.now.to_s,
32
+ 'checksum' => image.checksum,
33
+ 'id' => attributes[:id],
34
+ 'deleted' => false,
35
+ 'protected' => false,
36
+ 'is_public' => attributes[:is_public] || image.is_public,
37
+ 'status' => image.status,
38
+ 'min_ram' => (attributes[:min_ram] || image.min_ram).to_i,
39
+ 'owner' => attributes[:owner] || image.owner,
40
+ 'properties' => attributes[:properties] || image.properties
41
+ }
42
+ }
43
+ response
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,34 @@
1
+ module Fog
2
+ module Image
3
+ class OpenStack
4
+ class V2
5
+ class Real
6
+ def update_image_member(image_id, member)
7
+ request( # 'status' is the only property we can update
8
+ :body => Fog::JSON.encode(member.select {|key, value| key=='status'}),
9
+ :expects => [200],
10
+ :method => 'PUT',
11
+ :path => "images/#{image_id}/members/#{member['member_id']}"
12
+ )
13
+ end
14
+ end # class Real
15
+
16
+ class Mock
17
+ def update_image_members(image_id, member)
18
+ response = Excon::Response.new
19
+ response.status = 204
20
+ response.body = {
21
+ :status=> "accepted",
22
+ :created_at=> "2013-11-26T07:21:21Z",
23
+ :updated_at=> "2013-11-26T07:21:21Z",
24
+ :image_id=> image_id,
25
+ :member_id=> member['member_id'],
26
+ :schema=> "/v2/schemas/member"
27
+ }
28
+ response
29
+ end
30
+ end # class Mock
31
+ end # class OpenStack
32
+ end
33
+ end # module Identity
34
+ end # module Fog
@@ -0,0 +1,30 @@
1
+ module Fog
2
+ module Image
3
+ class OpenStack
4
+ class V2
5
+ class Real
6
+ def upload_image(image_id, body, params={})
7
+ request_hash = {
8
+ :headers => {'Content-Type' => 'application/octet-stream'},
9
+ :expects => 204,
10
+ :method => 'PUT',
11
+ :path => "images/#{image_id}/file"
12
+ }
13
+ request_hash[:request_block] = params[:request_block] if params[:request_block]
14
+ request_hash[:body] = body if body
15
+ request(request_hash).body
16
+ ensure
17
+ body.close if body.respond_to?(:close)
18
+ end
19
+ end
20
+
21
+ class Mock
22
+ def upload_image(image_id, body)
23
+ response = Excon::Response.new
24
+ response.status = 204
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,37 @@
1
+ module Fog
2
+ module Orchestration
3
+ class OpenStack
4
+ class Real
5
+ # patch a stack.
6
+ #
7
+ # @param [Fog::Orchestration::OpenStack::Stack] the stack to patch.
8
+ # @param [Hash] options
9
+ # * :template [String] Structure containing the template body.
10
+ # or (one of the two Template parameters is required)
11
+ # * :template_url [String] URL of file containing the template body.
12
+ # * :parameters [Hash] Hash of providers to supply to template.
13
+ #
14
+ def patch_stack(stack, options = {})
15
+ stack_name = stack.stack_name
16
+ stack_id = stack.id
17
+
18
+ request(
19
+ :expects => 202,
20
+ :path => "stacks/#{stack_name}/#{stack_id}",
21
+ :method => 'PATCH',
22
+ :body => Fog::JSON.encode(options)
23
+ )
24
+ end
25
+ end
26
+
27
+ class Mock
28
+ def patch_stack(stack, options = {})
29
+ response = Excon::Response.new
30
+ response.status = 202
31
+ response.body = {}
32
+ response
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,41 @@
1
+ module Fog
2
+ module Volume
3
+ class OpenStack
4
+ class Real
5
+ def create_volume_type(options = {})
6
+ data = {
7
+ 'volume_type' => {}
8
+ }
9
+
10
+ vanilla_options = [:name, :extra_specs]
11
+ vanilla_options.select { |o| options[o] }.each do |key|
12
+ data['volume_type'][key] = options[key]
13
+ end
14
+ request(
15
+ :body => Fog::JSON.encode(data),
16
+ :expects => [200, 202],
17
+ :method => 'POST',
18
+ :path => "types"
19
+ )
20
+ end
21
+ end
22
+
23
+ class Mock
24
+ def create_volume_type(options = {})
25
+ response = Excon::Response.new
26
+ response.status = 202
27
+ response.body = {
28
+ "volume_type"=> {
29
+ "id"=> "6685584b-1eac-4da6-b5c3-555430cf68ff",
30
+ "name"=> "vol-type-001",
31
+ "extra_specs"=> {
32
+ "capabilities"=> "gpu"
33
+ }
34
+ }
35
+ }
36
+ response
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -1,20 +1,20 @@
1
1
  module Fog
2
- module Image
2
+ module Volume
3
3
  class OpenStack
4
4
  class Real
5
- def delete_image(image_id)
5
+ def delete_volume_type(volume_type_id)
6
6
  request(
7
- :expects => 200,
7
+ :expects => 202,
8
8
  :method => 'DELETE',
9
- :path => "images/#{image_id}"
9
+ :path => "types/#{volume_type_id}"
10
10
  )
11
11
  end
12
12
  end
13
13
 
14
14
  class Mock
15
- def delete_image(image_id)
15
+ def delete_volume_type(volume_type_id)
16
16
  response = Excon::Response.new
17
- response.status = 200
17
+ response.status = 204
18
18
  response
19
19
  end
20
20
  end