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,37 @@
1
+ module Fog
2
+ module Image
3
+ class OpenStack
4
+ class V1
5
+ class Real
6
+ def list_public_images_detailed(options = {}, query_deprecated = nil)
7
+ if options.is_a?(Hash)
8
+ query = options
9
+ elsif options
10
+ Fog::Logger.deprecation("Calling OpenStack[:glance].list_public_images_detailed(attribute, query) format"\
11
+ " is deprecated, call .list_public_images_detailed(attribute => query) instead")
12
+ query = {options => query_deprecated}
13
+ else
14
+ query = {}
15
+ end
16
+
17
+ request(
18
+ :expects => [200, 204],
19
+ :method => 'GET',
20
+ :path => 'images/detail',
21
+ :query => query
22
+ )
23
+ end
24
+ end # class Real
25
+
26
+ class Mock
27
+ def list_public_images_detailed(options = {}, query_deprecated = nil)
28
+ response = Excon::Response.new
29
+ response.status = [200, 204][rand(1)]
30
+ response.body = {'images' => self.data[:images].values}
31
+ response
32
+ end # def list_public_images_detailed
33
+ end # class Mock
34
+ end # class OpenStack
35
+ end
36
+ end # module Image
37
+ end # module Fog
@@ -0,0 +1,25 @@
1
+ module Fog
2
+ module Image
3
+ class OpenStack
4
+ class V1
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,21 @@
1
+ module Fog
2
+ module Image
3
+ class OpenStack
4
+ class V1
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 Image
21
+ end # module Fog
@@ -0,0 +1,66 @@
1
+ module Fog
2
+ module Image
3
+ class OpenStack
4
+ class V1
5
+ class Real
6
+ def update_image(attributes)
7
+ data = {
8
+ 'x-image-meta-name' => attributes[:name],
9
+ 'x-image-meta-disk-format' => attributes[:disk_format],
10
+ 'x-image-meta-container-format' => attributes[:container_format],
11
+ 'x-image-meta-size' => attributes[:size],
12
+ 'x-image-meta-is-public' => attributes[:is_public],
13
+ 'x-image-meta-min-ram' => attributes[:min_ram],
14
+ 'x-image-meta-min-disk' => attributes[:min_disk],
15
+ 'x-image-meta-checksum' => attributes[:checksum],
16
+ 'x-image-meta-owner' => attributes[:owner]
17
+ }.reject { |k, v| v.nil? }
18
+
19
+ unless attributes[:properties].nil?
20
+ attributes[:properties].each do |key, value|
21
+ data["x-image-meta-property-#{key}"] = value
22
+ end
23
+ end
24
+
25
+ request(
26
+ :headers => data,
27
+ :expects => 200,
28
+ :method => 'PUT',
29
+ :path => "images/#{attributes[:id]}"
30
+ )
31
+ end
32
+ end
33
+
34
+ class Mock
35
+ def update_image(attributes)
36
+ response = Excon::Response.new
37
+ response.status = 200
38
+ image = self.images.last
39
+ response.body = {
40
+ 'image' => {
41
+ 'name' => attributes[:name] || image.name,
42
+ 'size' => image.size,
43
+ 'min_disk' => (attributes[:min_disk] || image.min_disk).to_i,
44
+ 'disk_format' => attributes[:disk_format] || image.disk_format,
45
+ 'created_at' => image.created_at,
46
+ 'container_format' => attributes[:container_format] || image.container_format,
47
+ 'deleted_at' => nil,
48
+ 'updated_at' => Time.now.to_s,
49
+ 'checksum' => image.checksum,
50
+ 'id' => attributes[:id],
51
+ 'deleted' => false,
52
+ 'protected' => false,
53
+ 'is_public' => attributes[:is_public] || image.is_public,
54
+ 'status' => image.status,
55
+ 'min_ram' => (attributes[:min_ram] || image.min_ram).to_i,
56
+ 'owner' => attributes[:owner] || image.owner,
57
+ 'properties' => attributes[:properties] || image.properties
58
+ }
59
+ }
60
+ response
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,39 @@
1
+ module Fog
2
+ module Image
3
+ class OpenStack
4
+ class V1
5
+ class Real
6
+ def update_image_members(image_id, members)
7
+ # Sample members
8
+ # [
9
+ # {'member_id' => 'tenant1', 'can_share' => true },
10
+ # {'member_id' => 'tenant2', 'can_share' => false }
11
+ # ]
12
+ data = {'memberships' => members}
13
+
14
+ request(
15
+ :body => Fog::JSON.encode(data),
16
+ :expects => [204],
17
+ :method => 'PUT',
18
+ :path => "images/#{image_id}/members"
19
+ )
20
+ end
21
+ end # class Real
22
+
23
+ class Mock
24
+ def update_image_members(image_id, members)
25
+ response = Excon::Response.new
26
+ response.status = 204
27
+ response.body = {
28
+ 'members' => [
29
+ {'member_id' => 'ff528b20431645ebb5fa4b0a71ca002f', 'can_share' => false},
30
+ {'member_id' => 'ff528b20431645ebb5fa4b0a71ca002f', 'can_share' => true}
31
+ ]
32
+ }
33
+ response
34
+ end
35
+ end # class Mock
36
+ end # class OpenStack
37
+ end
38
+ end # module Identity
39
+ end # module Fog
@@ -0,0 +1,26 @@
1
+ module Fog
2
+ module Image
3
+ class OpenStack
4
+ class V2
5
+ class Real
6
+ def add_member_to_image(image_id, tenant_id)
7
+ request(
8
+ :expects => [200],
9
+ :method => 'POST',
10
+ :path => "images/#{image_id}/members",
11
+ :body => Fog::JSON.encode({:member => tenant_id})
12
+ )
13
+ end
14
+ end # class Real
15
+
16
+ class Mock
17
+ def add_member_to_image(image_id, tenant_id)
18
+ response = Excon::Response.new
19
+ response.status = 200
20
+ response
21
+ end # def list_tenants
22
+ end # class Mock
23
+ end # class OpenStack
24
+ end
25
+ end # module Identity
26
+ end # module Fog
@@ -0,0 +1,25 @@
1
+ module Fog
2
+ module Image
3
+ class OpenStack
4
+ class V2
5
+ class Real
6
+ def add_tag_to_image(image_id, tag)
7
+ request(
8
+ :expects => [204],
9
+ :method => 'PUT',
10
+ :path => "images/#{image_id}/tags/#{tag}"
11
+ )
12
+ end
13
+ end # class Real
14
+
15
+ class Mock
16
+ def add_tag_to_image(image_id, tag)
17
+ response = Excon::Response.new
18
+ response.status = 204
19
+ response
20
+ end # def add_tag_to_image
21
+ end # class Mock
22
+ end # class OpenStack
23
+ end
24
+ end # module Image
25
+ end # module Fog
@@ -0,0 +1,54 @@
1
+ module Fog
2
+ module Image
3
+ class OpenStack
4
+ class V2
5
+ class Real
6
+
7
+ def create_image(image)
8
+ location = image.delete :location
9
+ headers = {}
10
+ headers["Location"] = location if location
11
+
12
+ request(
13
+ :headers => headers,
14
+ :expects => [201],
15
+ :method => 'POST',
16
+ :path => "images",
17
+ :body => Fog::JSON.encode(image)
18
+ )
19
+ end
20
+
21
+ end
22
+
23
+
24
+ class Mock
25
+ def create_image(attributes)
26
+ response = Excon::Response.new
27
+ response.status = 201
28
+
29
+ image_id = Fog::Mock.random_hex(32)
30
+ image = self.data[:images][image_id] = {
31
+ 'tags' => attributes[:tags] || [],
32
+ 'name' => attributes[:name],
33
+ 'size' => nil,
34
+ 'min_disk' => attributes[:min_disk] || 0,
35
+ 'disk_format' => attributes[:disk_format] || 'raw',
36
+ 'created_at' => Time.now.strftime('%FT%T.%6N'),
37
+ 'container_format' => attributes[:container_format] || 'bare',
38
+ 'deleted_at' => nil,
39
+ 'updated_at' => Time.now.strftime('%FT%T.%6N'),
40
+ 'checksum' => nil,
41
+ 'id' => image_id,
42
+ 'visibility' => attributes[:visibility] || 'public',
43
+ 'status' => 'queued',
44
+ 'min_ram' => attributes[:min_ram] || 0,
45
+ 'owner' => attributes[:owner] || Fog::Mock.random_hex(32)
46
+ }
47
+ response.body = image
48
+ response
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,25 @@
1
+ module Fog
2
+ module Image
3
+ class OpenStack
4
+ class V2
5
+ class Real
6
+ def deactivate_image(image_id)
7
+ request(
8
+ :expects => 204,
9
+ :method => 'POST',
10
+ :path => "images/#{image_id}/actions/deactivate"
11
+ )
12
+ end
13
+ end
14
+
15
+ class Mock
16
+ def deactivate_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 delete_image(image_id)
7
+ request(
8
+ :expects => 204,
9
+ :method => 'DELETE',
10
+ :path => "images/#{image_id}"
11
+ )
12
+ end
13
+ end
14
+
15
+ class Mock
16
+ def delete_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,29 @@
1
+ module Fog
2
+ module Image
3
+ class OpenStack
4
+ class V2
5
+ class Real
6
+ def download_image(image_id, content_range=nil, params) # TODO: implement content range handling
7
+ request_hash = {
8
+ :expects => [200, 204],
9
+ :method => 'GET',
10
+ :raw_body => true,
11
+ :path => "images/#{image_id}/file",
12
+ }
13
+ request_hash[:response_block] = params[:response_block] if params[:response_block]
14
+ request(request_hash).body
15
+ end
16
+ end # class Real
17
+
18
+ class Mock
19
+ def download_image(image_id, content_range=nil)
20
+ response = Excon::Response.new
21
+ response.status = [200, 204][rand(1)]
22
+ response.body = ""
23
+ response
24
+ end # def list_tenants
25
+ end # class Mock
26
+ end # class OpenStack
27
+ end
28
+ end # module Identity
29
+ end # module Fog
@@ -0,0 +1,47 @@
1
+ module Fog
2
+ module Image
3
+ class OpenStack
4
+ class V2
5
+ class Real
6
+ def get_image(image_id)
7
+ request(
8
+ :expects => [200, 204],
9
+ :method => 'HEAD',
10
+ :path => "images/#{image_id}"
11
+ )
12
+ end
13
+ end # class Real
14
+
15
+ class Mock
16
+ def get_image(image_id)
17
+ response = Excon::Response.new
18
+ response.status = [200, 204][rand(1)]
19
+ response.headers= {"X-Image-Meta-Is_public" => "True",
20
+ "X-Image-Meta-Min_disk" => "0",
21
+ "X-Image-Meta-Property-Ramdisk_id" => "b45aa128-cd36-4ad9-a026-1a1c2bfd8fdc",
22
+ "X-Image-Meta-Disk_format" => "ami",
23
+ "X-Image-Meta-Created_at" => "2012-02-21T07:32:26",
24
+ "X-Image-Meta-Container_format" => "ami",
25
+ "Etag" => "2f81976cae15c16ef0010c51e3a6c163",
26
+ "Location" => "http://192.168.27.100:9292/v1/images/0e09fbd6-43c5-448a-83e9-0d3d05f9747e",
27
+ "X-Image-Meta-Protected" => "False",
28
+ "Date" => "Fri, 24 Feb 2012 02:14:25 GMT",
29
+ "X-Image-Meta-Name" => "cirros-0.3.0-x86_64-blank",
30
+ "X-Image-Meta-Min_ram" => "0", "Content-Type" => "text/html; charset=UTF-8",
31
+ "X-Image-Meta-Updated_at" => "2012-02-21T07:32:29",
32
+ "X-Image-Meta-Property-Kernel_id" => "cd28951e-e1c2-4bc5-95d3-f0495abbcdc5",
33
+ "X-Image-Meta-Size" => "25165824",
34
+ "X-Image-Meta-Checksum" => "2f81976cae15c16ef0010c51e3a6c163",
35
+ "X-Image-Meta-Deleted" => "False",
36
+ "Content-Length" => "0",
37
+ "X-Image-Meta-Owner" => "ff528b20431645ebb5fa4b0a71ca002f",
38
+ "X-Image-Meta-Status" => "active",
39
+ "X-Image-Meta-Id" => "0e09fbd6-43c5-448a-83e9-0d3d05f9747e"}
40
+ response.body = ""
41
+ response
42
+ end # def list_tenants
43
+ end # class Mock
44
+ end # class OpenStack
45
+ end
46
+ end # module Identity
47
+ end # module Fog
@@ -0,0 +1,34 @@
1
+ module Fog
2
+ module Image
3
+ class OpenStack
4
+ class V2
5
+ class Real
6
+ def get_image_by_id(image_id)
7
+ request(
8
+ :expects => [200],
9
+ :method => 'GET',
10
+ :path => "images/#{image_id}"
11
+ )
12
+ end
13
+ end # class Real
14
+
15
+ class Mock
16
+ def get_image_by_id(image_id)
17
+ response = Excon::Response.new
18
+ response.status = [200][rand(1)]
19
+ response.body = {
20
+ "images" => [{
21
+ "name" => "mock-image-name",
22
+ "size" => 25165824,
23
+ "disk_format" => "ami",
24
+ "container_format" => "ami",
25
+ "id" => "0e09fbd6-43c5-448a-83e9-0d3d05f9747e",
26
+ "checksum" => "2f81976cae15c16ef0010c51e3a6c163"}]
27
+ }
28
+ response
29
+ end # def list_tenants
30
+ end # class Mock
31
+ end # class OpenStack
32
+ end
33
+ end # module Identity
34
+ end # module Fog