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
@@ -1,23 +0,0 @@
1
- module Fog
2
- module Image
3
- class OpenStack
4
- class Real
5
- def remove_member_from_image(image_id, member_id)
6
- request(
7
- :expects => [200, 204],
8
- :method => 'DELETE',
9
- :path => "images/#{image_id}/members/#{member_id}"
10
- )
11
- end
12
- end # class Real
13
-
14
- class Mock
15
- def remove_member_from_image(image_id, member_id)
16
- response = Excon::Response.new
17
- response.status = [200, 204][rand(1)]
18
- response
19
- end # def list_tenants
20
- end # class Mock
21
- end # class OpenStack
22
- end # module Identity
23
- end # module Fog
@@ -1,19 +0,0 @@
1
- module Fog
2
- module Image
3
- class OpenStack
4
- class Real
5
- def set_tenant(tenant)
6
- @openstack_must_reauthenticate = true
7
- @openstack_tenant = tenant.to_s
8
- authenticate
9
- end
10
- end
11
-
12
- class Mock
13
- def set_tenant(tenant)
14
- true
15
- end
16
- end
17
- end # class OpenStack
18
- end # module Compute
19
- end # module Fog
@@ -1,64 +0,0 @@
1
- module Fog
2
- module Image
3
- class OpenStack
4
- class Real
5
- def update_image(attributes)
6
- data = {
7
- 'x-image-meta-name' => attributes[:name],
8
- 'x-image-meta-disk-format' => attributes[:disk_format],
9
- 'x-image-meta-container-format' => attributes[:container_format],
10
- 'x-image-meta-size' => attributes[:size],
11
- 'x-image-meta-is-public' => attributes[:is_public],
12
- 'x-image-meta-min-ram' => attributes[:min_ram],
13
- 'x-image-meta-min-disk' => attributes[:min_disk],
14
- 'x-image-meta-checksum' => attributes[:checksum],
15
- 'x-image-meta-owner' => attributes[:owner]
16
- }.reject {|k,v| v.nil? }
17
-
18
- unless attributes[:properties].nil?
19
- attributes[:properties].each do |key,value|
20
- data["x-image-meta-property-#{key}"] = value
21
- end
22
- end
23
-
24
- request(
25
- :headers => data,
26
- :expects => 200,
27
- :method => 'PUT',
28
- :path => "images/#{attributes[:id]}"
29
- )
30
- end
31
- end
32
-
33
- class Mock
34
- def update_image(attributes)
35
- response = Excon::Response.new
36
- response.status = 200
37
- image = self.images.last
38
- response.body = {
39
- 'image'=> {
40
- 'name' => attributes[:name] || image.name,
41
- 'size' => image.size,
42
- 'min_disk' => (attributes[:min_disk] || image.min_disk).to_i,
43
- 'disk_format' => attributes[:disk_format] || image.disk_format,
44
- 'created_at' => image.created_at,
45
- 'container_format' => attributes[:container_format] || image.container_format,
46
- 'deleted_at' => nil,
47
- 'updated_at' => Time.now.to_s,
48
- 'checksum' => image.checksum,
49
- 'id' => attributes[:id],
50
- 'deleted' => false,
51
- 'protected' => false,
52
- 'is_public' => attributes[:is_public] || image.is_public,
53
- 'status' => image.status,
54
- 'min_ram' => (attributes[:min_ram] || image.min_ram).to_i,
55
- 'owner' => attributes[:owner] || image.owner,
56
- 'properties' => attributes[:properties] || image.properties
57
- }
58
- }
59
- response
60
- end
61
- end
62
- end
63
- end
64
- end
@@ -1,37 +0,0 @@
1
- module Fog
2
- module Image
3
- class OpenStack
4
- class Real
5
- def update_image_members(image_id, members)
6
- # Sample members
7
- # [
8
- # {'member_id' => 'tenant1', 'can_share' => true },
9
- # {'member_id' => 'tenant2', 'can_share' => false }
10
- # ]
11
- data = { 'memberships' => members }
12
-
13
- request(
14
- :body => Fog::JSON.encode(data),
15
- :expects => [204],
16
- :method => 'PUT',
17
- :path => "images/#{image_id}/members"
18
- )
19
- end
20
- end # class Real
21
-
22
- class Mock
23
- def update_image_members(image_id, members)
24
- response = Excon::Response.new
25
- response.status = 204
26
- response.body = {
27
- 'members' => [
28
- { 'member_id'=>'ff528b20431645ebb5fa4b0a71ca002f', 'can_share' => false },
29
- { 'member_id'=>'ff528b20431645ebb5fa4b0a71ca002f', 'can_share' => true }
30
- ]
31
- }
32
- response
33
- end
34
- end # class Mock
35
- end # class OpenStack
36
- end # module Identity
37
- end # module Fog
@@ -1 +0,0 @@
1
- require 'fog/xenserver/compute'
@@ -1,77 +0,0 @@
1
- # 1.10.1 2013/04/04
2
-
3
- * It's now possible to manage XS/XCP VLANs and Networks
4
-
5
- See https://github.com/fog/fog/blob/master/lib/fog/xenserver/examples/networks-and-vlans.rb
6
-
7
- # 1.9.0 2013/01/19
8
-
9
- * Added missing HostCpu model
10
-
11
- So you can retrieve things like the CPU model, speed, flags
12
- utilisation, vendor, etc.
13
-
14
- See http://docs.vmd.citrix.com/XenServer/6.0.0/1.0/en_gb/api/?c=host_cpu
15
-
16
- * Host model improvements
17
-
18
- Added missing host attributes:
19
-
20
- - edition
21
- - software_version
22
- - enable
23
- - disable
24
- - shutdown
25
- - reboot
26
-
27
- See http://docs.vmd.citrix.com/XenServer/6.0.0/1.0/en_gb/api/?c=host
28
-
29
- * PBD model improvements
30
-
31
- - Added missing currently_attached attribute
32
- - A PBD can be unplugged now
33
-
34
- See http://docs.vmd.citrix.com/XenServer/6.0.0/1.0/en_gb/api/?c=PBD
35
-
36
- * StorageRepository model improvements
37
-
38
- - Added missing create/destroy/save operations
39
- - Added missing generic set_attribute method
40
-
41
- See http://docs.vmd.citrix.com/XenServer/6.0.0/1.0/en_gb/api/?c=SR
42
-
43
- * Pool model improvements
44
-
45
- - Added missing suspend_image_sr attribute
46
- - Added default_sr getter/setter
47
- - Added suspend_image_sr getter/setter
48
- - Added generic set_attribute method
49
-
50
- See http://docs.vmd.citrix.com/XenServer/6.0.0/1.0/en_gb/api/?c=pool
51
-
52
- * Switch to nokogiri XML parser
53
-
54
- Use Nokogiri instead of slow REXML for parsing, greatly improving
55
- parsing time under some ruby implementations.
56
-
57
- * Greatly improved documentation
58
-
59
- New tutorials included with the provider:
60
-
61
- - Getting started: the compute service
62
- - How To Change the Default Storage Repository to File-based VHD-on-EXT3
63
- - Example that covers a Citrix KB ctx116324 article
64
- - Creating servers (VMs) and templates
65
- - Managing Storage Repositories
66
-
67
- See https://github.com/fog/fog/tree/master/lib/fog/xenserver/examples
68
-
69
- * Added missing HostMetrics model
70
-
71
- Retrieve the metrics associated with a host.
72
-
73
- See http://docs.vmd.citrix.com/XenServer/6.0.0/1.0/en_gb/api/?c=host_metrics
74
-
75
- * Fixed authentication issues when using numeric-only passwords
76
-
77
- * Better test coverage
@@ -1,186 +0,0 @@
1
- require 'fog/xenserver/core'
2
-
3
- module Fog
4
- module Compute
5
- class XenServer < Fog::Service
6
- require 'fog/xenserver/utilities'
7
- require 'fog/xenserver/parser'
8
-
9
- requires :xenserver_username
10
- requires :xenserver_password
11
- requires :xenserver_url
12
- recognizes :xenserver_defaults
13
- recognizes :xenserver_timeout
14
- recognizes :xenserver_redirect_to_master
15
-
16
- model_path 'fog/xenserver/models/compute'
17
- model :blob
18
- collection :blobs
19
- model :bond
20
- collection :bonds
21
- model :crash_dump
22
- collection :crash_dumps
23
- model :dr_task
24
- collection :dr_tasks
25
- model :gpu_group
26
- collection :gpu_groups
27
- model :host_crash_dump
28
- collection :host_crash_dumps
29
- model :host_patch
30
- collection :host_patchs
31
- model :pci
32
- collection :pcis
33
- model :pgpu
34
- collection :pgpus
35
- model :pif_metrics
36
- collection :pifs_metrics
37
- model :pool_patch
38
- collection :pool_patchs
39
- model :role
40
- collection :roles
41
- model :server
42
- collection :servers
43
- model :server_appliance
44
- collection :server_appliances
45
- model :storage_manager
46
- collection :storage_managers
47
- model :tunnel
48
- collection :tunnels
49
- model :vmpp
50
- collection :vmpps
51
- model :vtpm
52
- collection :vtpms
53
- model :host
54
- collection :hosts
55
- collection :vifs
56
- model :vif
57
- collection :storage_repositories
58
- model :storage_repository
59
- collection :pools
60
- model :pool
61
- collection :vbds
62
- model :vbd
63
- collection :vdis
64
- model :vdi
65
- collection :networks
66
- model :network
67
- collection :pifs
68
- model :pif
69
- collection :pbds
70
- model :pbd
71
- model :guest_metrics
72
- model :vbd_metrics
73
- model :host_metrics
74
- model :host_cpu
75
- model :vlan
76
- collection :vlans
77
- model :console
78
- collection :consoles
79
-
80
- request_path 'fog/xenserver/requests/compute'
81
- request :create_server
82
- request :create_vif
83
- request :create_vdi
84
- request :create_vbd
85
- request :destroy_vif
86
- request :clone_server
87
- request :destroy_server
88
- request :destroy_record
89
- request :unplug_vbd
90
- request :eject_vbd
91
- request :insert_vbd
92
- request :destroy_vdi
93
- request :shutdown_server
94
- request :start_vm
95
- request :start_server
96
- request :get_record
97
- request :get_records
98
- request :set_affinity
99
- request :set_attribute
100
- request :reboot_server
101
- request :provision_server
102
- request :scan_sr
103
- request :unplug_pbd
104
- request :destroy_sr
105
- request :create_sr
106
- request :reboot_host
107
- request :disable_host
108
- request :enable_host
109
- request :shutdown_host
110
- request :create_network
111
- request :destroy_network
112
- request :create_vlan
113
- request :destroy_vlan
114
- request :snapshot_server
115
- request :snapshot_revert
116
-
117
- class Real
118
-
119
- attr_reader :connection
120
-
121
- def initialize(options={})
122
- @host = options[:xenserver_url]
123
- @username = options[:xenserver_username]
124
- @password = options[:xenserver_password]
125
- @defaults = options[:xenserver_defaults] || {}
126
- @timeout = options[:xenserver_timeout] || 30
127
- @redirect_to_master = options[:xenserver_redirect_to_master] || false
128
- @connection = Fog::XenServer::Connection.new(@host, @timeout)
129
- begin
130
- @connection.authenticate(@username, @password)
131
- rescue Fog::XenServer::HostIsSlave => e
132
- if @redirect_to_master
133
- Fog::Logger.debug "Redirecting to master #{e.master_ip}"
134
- @host = e.master_ip
135
- @connection = Fog::XenServer::Connection.new(@host, @timeout)
136
- @connection.authenticate(@username, @password)
137
- else
138
- raise e
139
- end
140
- end
141
- end
142
-
143
- def reload
144
- @connection.authenticate(@username, @password)
145
- end
146
-
147
- def default_template=(name)
148
- @defaults[:template] = name
149
- end
150
-
151
- def default_template
152
- return nil if @defaults[:template].nil?
153
- (servers.custom_templates + servers.builtin_templates).find do |s|
154
- (s.name == @defaults[:template]) or (s.uuid == @defaults[:template])
155
- end
156
- end
157
-
158
- def default_network
159
- networks.find { |n| n.name == (@defaults[:network] || "Pool-wide network associated with eth0") }
160
- end
161
- end
162
-
163
- class Mock
164
- def self.data
165
- @data ||= Hash.new do |hash, key|
166
- hash[key] = {}
167
- end
168
- end
169
-
170
- def self.reset_data(keys=data.keys)
171
- for key in [*keys]
172
- data.delete(key)
173
- end
174
- end
175
-
176
- def initialize(options={})
177
- @host = options[:xenserver_pool_master]
178
- @username = options[:xenserver_username]
179
- @password = options[:xenserver_password]
180
- @connection = Fog::XML::Connection.new(@host)
181
- @connection.authenticate(@username, @password)
182
- end
183
- end
184
- end
185
- end
186
- end
@@ -1,94 +0,0 @@
1
- require 'fog/core'
2
- require 'fog/xml'
3
-
4
- module Fog
5
- module XenServer
6
- class InvalidLogin < Fog::Errors::Error; end
7
- class NotFound < Fog::Errors::Error; end
8
- class RequestFailed < Fog::Errors::Error; end
9
- class HostIsSlave < Fog::Errors::Error
10
- attr_reader :master_ip
11
-
12
- def initialize(master_ip)
13
- @master_ip = master_ip
14
- end
15
-
16
- end
17
-
18
- extend Fog::Provider
19
-
20
- service(:compute, 'Compute')
21
-
22
- class Connection
23
- require 'xmlrpc/client'
24
- attr_reader :credentials
25
-
26
- def initialize(host, timeout)
27
- @factory = XMLRPC::Client.new(host, '/')
28
- @factory.set_parser(NokogiriStreamParser.new)
29
- @factory.timeout = timeout
30
- end
31
-
32
- def authenticate( username, password )
33
- response = @factory.call('session.login_with_password', username.to_s, password.to_s)
34
- if response['Status'] == 'Failure'
35
- if response['ErrorDescription'][0] == 'HOST_IS_SLAVE'
36
- master_ip = response['ErrorDescription'][1]
37
- raise Fog::XenServer::HostIsSlave.new(master_ip)
38
- else
39
- raise Fog::XenServer::InvalidLogin.new
40
- end
41
- end
42
- @credentials = response["Value"]
43
- end
44
-
45
- def request(options, *params)
46
- begin
47
- parser = options.delete(:parser)
48
- method = options.delete(:method)
49
-
50
- if params.empty?
51
- response = @factory.call(method, @credentials)
52
- else
53
- if params.length.eql?(1) and params.first.is_a?(Hash)
54
- response = @factory.call(method, @credentials, params.first)
55
- elsif params.length.eql?(2) and params.last.is_a?(Array)
56
- response = @factory.call(method, @credentials, params.first, params.last)
57
- else
58
- response = eval("@factory.call('#{method}', '#{@credentials}', #{params.map {|p| p.is_a?(String) ? "'#{p}'" : p}.join(',')})")
59
- end
60
- end
61
- raise RequestFailed.new("#{method}: " + response["ErrorDescription"].to_s) unless response["Status"].eql? "Success"
62
- if parser
63
- parser.parse( response["Value"] )
64
- response = parser.response
65
- end
66
-
67
- response
68
- end
69
- end
70
- end
71
-
72
- class NokogiriStreamParser < XMLRPC::XMLParser::AbstractStreamParser
73
- def initialize
74
- require 'nokogiri/xml/sax/document'
75
- require 'nokogiri/xml/sax/parser'
76
-
77
- @parser_class = Class.new(Nokogiri::XML::SAX::Document) do
78
-
79
- include XMLRPC::XMLParser::StreamParserMixin
80
-
81
- alias_method :start_element, :startElement
82
- alias_method :end_element, :endElement
83
- alias_method :characters, :character
84
- alias_method :cdata_block, :character
85
-
86
- def parse(str)
87
- Nokogiri::XML::SAX::Parser.new(self).parse(str)
88
- end
89
-
90
- end
91
- end
92
- end
93
- end
94
- end