fog 1.31.0 → 1.37.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (890) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +12 -24
  3. data/CHANGELOG.md +354 -0
  4. data/CONTRIBUTING.md +1 -1
  5. data/Gemfile +1 -0
  6. data/README.md +4 -20
  7. data/Rakefile +7 -7
  8. data/fog.gemspec +14 -9
  9. data/lib/fog/bin.rb +1 -0
  10. data/lib/fog/cloudstack/models/compute/network.rb +1 -0
  11. data/lib/fog/digitalocean/compute_v2.rb +109 -0
  12. data/lib/fog/digitalocean/examples/getting_started.md +24 -48
  13. data/lib/fog/digitalocean/models/compute/server.rb +0 -1
  14. data/lib/fog/digitalocean/models/compute_v2/flavor.rb +17 -0
  15. data/lib/fog/digitalocean/models/compute_v2/flavors.rb +21 -0
  16. data/lib/fog/digitalocean/models/compute_v2/image.rb +25 -0
  17. data/lib/fog/digitalocean/models/compute_v2/images.rb +36 -0
  18. data/lib/fog/digitalocean/models/compute_v2/region.rb +13 -0
  19. data/lib/fog/digitalocean/models/compute_v2/regions.rb +21 -0
  20. data/lib/fog/digitalocean/models/compute_v2/server.rb +170 -0
  21. data/lib/fog/digitalocean/models/compute_v2/servers.rb +39 -0
  22. data/lib/fog/digitalocean/models/compute_v2/ssh_key.rb +31 -0
  23. data/lib/fog/digitalocean/models/compute_v2/ssh_keys.rb +35 -0
  24. data/lib/fog/digitalocean/requests/compute_v2/change_kernel.rb +44 -0
  25. data/lib/fog/digitalocean/requests/compute_v2/convert_to_snapshot.rb +44 -0
  26. data/lib/fog/digitalocean/requests/compute_v2/create_server.rb +93 -0
  27. data/lib/fog/digitalocean/requests/compute_v2/create_ssh_key.rb +49 -0
  28. data/lib/fog/digitalocean/requests/compute_v2/delete_server.rb +28 -0
  29. data/lib/fog/digitalocean/requests/compute_v2/delete_ssh_key.rb +32 -0
  30. data/lib/fog/digitalocean/requests/compute_v2/disable_backups.rb +45 -0
  31. data/lib/fog/digitalocean/requests/compute_v2/enable_ipv6.rb +44 -0
  32. data/lib/fog/digitalocean/requests/compute_v2/enable_private_networking.rb +44 -0
  33. data/lib/fog/digitalocean/requests/compute_v2/get_droplet_action.rb +36 -0
  34. data/lib/fog/digitalocean/requests/compute_v2/get_image_details.rb +42 -0
  35. data/lib/fog/digitalocean/requests/compute_v2/get_server_details.rb +84 -0
  36. data/lib/fog/digitalocean/requests/compute_v2/get_ssh_key.rb +34 -0
  37. data/lib/fog/digitalocean/requests/compute_v2/list_droplet_actions.rb +38 -0
  38. data/lib/fog/digitalocean/requests/compute_v2/list_flavors.rb +131 -0
  39. data/lib/fog/digitalocean/requests/compute_v2/list_images.rb +50 -0
  40. data/lib/fog/digitalocean/requests/compute_v2/list_regions.rb +94 -0
  41. data/lib/fog/digitalocean/requests/compute_v2/list_servers.rb +28 -0
  42. data/lib/fog/digitalocean/requests/compute_v2/list_ssh_keys.rb +31 -0
  43. data/lib/fog/digitalocean/requests/compute_v2/password_reset.rb +44 -0
  44. data/lib/fog/digitalocean/requests/compute_v2/power_cycle.rb +44 -0
  45. data/lib/fog/digitalocean/requests/compute_v2/power_off.rb +44 -0
  46. data/lib/fog/digitalocean/requests/compute_v2/power_on.rb +44 -0
  47. data/lib/fog/digitalocean/requests/compute_v2/reboot_server.rb +44 -0
  48. data/lib/fog/digitalocean/requests/compute_v2/rebuild.rb +44 -0
  49. data/lib/fog/digitalocean/requests/compute_v2/rename.rb +44 -0
  50. data/lib/fog/digitalocean/requests/compute_v2/resize.rb +48 -0
  51. data/lib/fog/digitalocean/requests/compute_v2/restore.rb +44 -0
  52. data/lib/fog/digitalocean/requests/compute_v2/shutdown.rb +44 -0
  53. data/lib/fog/digitalocean/requests/compute_v2/snapshot.rb +44 -0
  54. data/lib/fog/digitalocean/requests/compute_v2/transfer_image.rb +44 -0
  55. data/lib/fog/digitalocean/requests/compute_v2/update_ssh_key.rb +46 -0
  56. data/lib/fog/digitalocean/requests/compute_v2/upgrade.rb +44 -0
  57. data/lib/fog/digitalocean/service.rb +51 -0
  58. data/lib/fog/glesys/models/compute/server.rb +0 -1
  59. data/lib/fog/joyent/compute.rb +6 -1
  60. data/lib/fog/linode/compute.rb +3 -0
  61. data/lib/fog/linode/models/compute/data_center.rb +1 -0
  62. data/lib/fog/linode/models/compute/flavor.rb +3 -0
  63. data/lib/fog/linode/models/compute/flavors.rb +8 -1
  64. data/lib/fog/linode/models/compute/image.rb +2 -0
  65. data/lib/fog/linode/models/compute/images.rb +2 -1
  66. data/lib/fog/linode/models/compute/kernel.rb +3 -0
  67. data/lib/fog/linode/models/compute/kernels.rb +14 -8
  68. data/lib/fog/linode/models/compute/node_balancer_flavor.rb +13 -0
  69. data/lib/fog/linode/models/compute/node_balancer_flavors.rb +27 -0
  70. data/lib/fog/linode/requests/compute/avail_datacenters.rb +8 -7
  71. data/lib/fog/linode/requests/compute/avail_kernels.rb +17 -18
  72. data/lib/fog/linode/requests/compute/avail_linodeplans.rb +4 -2
  73. data/lib/fog/linode/requests/compute/avail_nodebalancers.rb +42 -0
  74. data/lib/fog/linode/requests/compute/avail_stackscripts.rb +6 -11
  75. data/lib/fog/opennebula/models/compute/flavor.rb +13 -13
  76. data/lib/fog/opennebula/requests/compute/template_pool.rb +14 -11
  77. data/lib/fog/openstack/baremetal.rb +20 -82
  78. data/lib/fog/openstack/common.rb +46 -0
  79. data/lib/fog/openstack/compute.rb +50 -122
  80. data/lib/fog/openstack/core.rb +304 -124
  81. data/lib/fog/openstack/docs/compute.md +1 -1
  82. data/lib/fog/openstack/identity.rb +6 -48
  83. data/lib/fog/openstack/identity_v2.rb +22 -86
  84. data/lib/fog/openstack/identity_v3.rb +21 -92
  85. data/lib/fog/openstack/image.rb +11 -207
  86. data/lib/fog/openstack/image_v1.rb +148 -0
  87. data/lib/fog/openstack/image_v2.rb +142 -0
  88. data/lib/fog/openstack/metering.rb +16 -76
  89. data/lib/fog/openstack/models/baremetal/chassis.rb +3 -14
  90. data/lib/fog/openstack/models/baremetal/chassis_collection.rb +12 -6
  91. data/lib/fog/openstack/models/baremetal/driver.rb +2 -8
  92. data/lib/fog/openstack/models/baremetal/drivers.rb +4 -4
  93. data/lib/fog/openstack/models/baremetal/node.rb +3 -14
  94. data/lib/fog/openstack/models/baremetal/nodes.rb +13 -7
  95. data/lib/fog/openstack/models/baremetal/port.rb +3 -14
  96. data/lib/fog/openstack/models/baremetal/ports.rb +12 -6
  97. data/lib/fog/openstack/models/collection.rb +45 -0
  98. data/lib/fog/openstack/models/compute/address.rb +2 -2
  99. data/lib/fog/openstack/models/compute/addresses.rb +4 -4
  100. data/lib/fog/openstack/models/compute/aggregate.rb +58 -0
  101. data/lib/fog/openstack/models/compute/aggregates.rb +26 -0
  102. data/lib/fog/openstack/models/compute/availability_zone.rb +14 -0
  103. data/lib/fog/openstack/models/compute/availability_zones.rb +22 -0
  104. data/lib/fog/openstack/models/compute/flavor.rb +2 -8
  105. data/lib/fog/openstack/models/compute/flavors.rb +9 -4
  106. data/lib/fog/openstack/models/compute/host.rb +1 -1
  107. data/lib/fog/openstack/models/compute/hosts.rb +5 -5
  108. data/lib/fog/openstack/models/compute/image.rb +2 -8
  109. data/lib/fog/openstack/models/compute/images.rb +4 -4
  110. data/lib/fog/openstack/models/compute/key_pair.rb +2 -2
  111. data/lib/fog/openstack/models/compute/key_pairs.rb +5 -4
  112. data/lib/fog/openstack/models/compute/metadata.rb +3 -2
  113. data/lib/fog/openstack/models/compute/metadatum.rb +2 -2
  114. data/lib/fog/openstack/models/compute/network.rb +2 -2
  115. data/lib/fog/openstack/models/compute/networks.rb +3 -2
  116. data/lib/fog/openstack/models/compute/security_group.rb +2 -2
  117. data/lib/fog/openstack/models/compute/security_group_rule.rb +2 -2
  118. data/lib/fog/openstack/models/compute/security_group_rules.rb +2 -2
  119. data/lib/fog/openstack/models/compute/security_groups.rb +4 -4
  120. data/lib/fog/openstack/models/compute/server.rb +26 -2
  121. data/lib/fog/openstack/models/compute/servers.rb +10 -4
  122. data/lib/fog/openstack/models/compute/service.rb +2 -8
  123. data/lib/fog/openstack/models/compute/services.rb +9 -6
  124. data/lib/fog/openstack/models/compute/snapshot.rb +2 -8
  125. data/lib/fog/openstack/models/compute/snapshots.rb +17 -4
  126. data/lib/fog/openstack/models/compute/tenant.rb +2 -2
  127. data/lib/fog/openstack/models/compute/tenants.rb +3 -4
  128. data/lib/fog/openstack/models/compute/volume.rb +2 -8
  129. data/lib/fog/openstack/models/compute/volumes.rb +17 -4
  130. data/lib/fog/openstack/models/identity_v2/ec2_credential.rb +3 -9
  131. data/lib/fog/openstack/models/identity_v2/ec2_credentials.rb +7 -6
  132. data/lib/fog/openstack/models/identity_v2/role.rb +3 -3
  133. data/lib/fog/openstack/models/identity_v2/roles.rb +5 -5
  134. data/lib/fog/openstack/models/identity_v2/tenant.rb +5 -9
  135. data/lib/fog/openstack/models/identity_v2/tenants.rb +5 -5
  136. data/lib/fog/openstack/models/identity_v2/user.rb +8 -10
  137. data/lib/fog/openstack/models/identity_v2/users.rb +7 -5
  138. data/lib/fog/openstack/models/identity_v3/domain.rb +11 -9
  139. data/lib/fog/openstack/models/identity_v3/domains.rb +24 -10
  140. data/lib/fog/openstack/models/identity_v3/endpoint.rb +5 -9
  141. data/lib/fog/openstack/models/identity_v3/endpoints.rb +5 -6
  142. data/lib/fog/openstack/models/identity_v3/group.rb +5 -9
  143. data/lib/fog/openstack/models/identity_v3/groups.rb +5 -5
  144. data/lib/fog/openstack/models/identity_v3/os_credential.rb +3 -3
  145. data/lib/fog/openstack/models/identity_v3/os_credentials.rb +5 -5
  146. data/lib/fog/openstack/models/identity_v3/policies.rb +5 -5
  147. data/lib/fog/openstack/models/identity_v3/policy.rb +5 -9
  148. data/lib/fog/openstack/models/identity_v3/project.rb +16 -8
  149. data/lib/fog/openstack/models/identity_v3/projects.rb +39 -13
  150. data/lib/fog/openstack/models/identity_v3/role.rb +3 -8
  151. data/lib/fog/openstack/models/identity_v3/role_assignment.rb +3 -3
  152. data/lib/fog/openstack/models/identity_v3/role_assignments.rb +10 -7
  153. data/lib/fog/openstack/models/identity_v3/roles.rb +11 -7
  154. data/lib/fog/openstack/models/identity_v3/service.rb +3 -3
  155. data/lib/fog/openstack/models/identity_v3/services.rb +5 -5
  156. data/lib/fog/openstack/models/identity_v3/token.rb +3 -3
  157. data/lib/fog/openstack/models/identity_v3/tokens.rb +4 -3
  158. data/lib/fog/openstack/models/identity_v3/user.rb +3 -9
  159. data/lib/fog/openstack/models/identity_v3/users.rb +4 -4
  160. data/lib/fog/openstack/models/image_v1/image.rb +78 -0
  161. data/lib/fog/openstack/models/image_v1/images.rb +70 -0
  162. data/lib/fog/openstack/models/image_v2/image.rb +149 -0
  163. data/lib/fog/openstack/models/image_v2/images.rb +67 -0
  164. data/lib/fog/openstack/models/metering/resource.rb +2 -7
  165. data/lib/fog/openstack/models/metering/resources.rb +3 -3
  166. data/lib/fog/openstack/models/model.rb +44 -0
  167. data/lib/fog/openstack/models/network/floating_ip.rb +2 -7
  168. data/lib/fog/openstack/models/network/floating_ips.rb +3 -3
  169. data/lib/fog/openstack/models/network/lb_health_monitor.rb +2 -12
  170. data/lib/fog/openstack/models/network/lb_health_monitors.rb +3 -3
  171. data/lib/fog/openstack/models/network/lb_member.rb +2 -12
  172. data/lib/fog/openstack/models/network/lb_members.rb +3 -3
  173. data/lib/fog/openstack/models/network/lb_pool.rb +2 -12
  174. data/lib/fog/openstack/models/network/lb_pools.rb +3 -3
  175. data/lib/fog/openstack/models/network/lb_vip.rb +2 -12
  176. data/lib/fog/openstack/models/network/lb_vips.rb +3 -3
  177. data/lib/fog/openstack/models/network/network.rb +2 -12
  178. data/lib/fog/openstack/models/network/networks.rb +3 -3
  179. data/lib/fog/openstack/models/network/port.rb +3 -13
  180. data/lib/fog/openstack/models/network/ports.rb +3 -3
  181. data/lib/fog/openstack/models/network/router.rb +2 -13
  182. data/lib/fog/openstack/models/network/routers.rb +3 -3
  183. data/lib/fog/openstack/models/network/security_group.rb +2 -2
  184. data/lib/fog/openstack/models/network/security_group_rule.rb +2 -2
  185. data/lib/fog/openstack/models/network/security_group_rules.rb +3 -3
  186. data/lib/fog/openstack/models/network/security_groups.rb +3 -3
  187. data/lib/fog/openstack/models/network/subnet.rb +3 -14
  188. data/lib/fog/openstack/models/network/subnets.rb +3 -3
  189. data/lib/fog/openstack/models/orchestration/event.rb +2 -2
  190. data/lib/fog/openstack/models/orchestration/events.rb +11 -8
  191. data/lib/fog/openstack/models/orchestration/resource.rb +2 -2
  192. data/lib/fog/openstack/models/orchestration/resource_schemas.rb +2 -2
  193. data/lib/fog/openstack/models/orchestration/resources.rb +5 -4
  194. data/lib/fog/openstack/models/orchestration/stack.rb +10 -9
  195. data/lib/fog/openstack/models/orchestration/stacks.rb +13 -4
  196. data/lib/fog/openstack/models/orchestration/template.rb +2 -2
  197. data/lib/fog/openstack/models/orchestration/templates.rb +2 -1
  198. data/lib/fog/openstack/models/planning/plan.rb +2 -13
  199. data/lib/fog/openstack/models/planning/plans.rb +4 -4
  200. data/lib/fog/openstack/models/planning/role.rb +2 -8
  201. data/lib/fog/openstack/models/planning/roles.rb +4 -4
  202. data/lib/fog/openstack/models/storage/directories.rb +5 -5
  203. data/lib/fog/openstack/models/storage/directory.rb +2 -2
  204. data/lib/fog/openstack/models/storage/file.rb +24 -2
  205. data/lib/fog/openstack/models/storage/files.rb +7 -6
  206. data/lib/fog/openstack/models/volume/availability_zone.rb +10 -0
  207. data/lib/fog/openstack/models/volume/availability_zones.rb +14 -0
  208. data/lib/fog/openstack/models/volume/transfer.rb +28 -0
  209. data/lib/fog/openstack/models/volume/transfers.rb +35 -0
  210. data/lib/fog/openstack/models/volume/volume.rb +14 -24
  211. data/lib/fog/openstack/models/volume/volume_type.rb +25 -9
  212. data/lib/fog/openstack/models/volume/volume_types.rb +3 -7
  213. data/lib/fog/openstack/models/volume/volumes.rb +15 -8
  214. data/lib/fog/openstack/models/volume_v1/availability_zone.rb +15 -0
  215. data/lib/fog/openstack/models/volume_v1/availability_zones.rb +16 -0
  216. data/lib/fog/openstack/models/volume_v1/transfer.rb +18 -0
  217. data/lib/fog/openstack/models/volume_v1/transfers.rb +16 -0
  218. data/lib/fog/openstack/models/volume_v1/volume.rb +26 -0
  219. data/lib/fog/openstack/models/volume_v1/volume_type.rb +16 -0
  220. data/lib/fog/openstack/models/volume_v1/volume_types.rb +16 -0
  221. data/lib/fog/openstack/models/volume_v1/volumes.rb +16 -0
  222. data/lib/fog/openstack/models/volume_v2/availability_zone.rb +15 -0
  223. data/lib/fog/openstack/models/volume_v2/availability_zones.rb +16 -0
  224. data/lib/fog/openstack/models/volume_v2/transfer.rb +19 -0
  225. data/lib/fog/openstack/models/volume_v2/transfers.rb +16 -0
  226. data/lib/fog/openstack/models/volume_v2/volume.rb +27 -0
  227. data/lib/fog/openstack/models/volume_v2/volume_type.rb +16 -0
  228. data/lib/fog/openstack/models/volume_v2/volume_types.rb +16 -0
  229. data/lib/fog/openstack/models/volume_v2/volumes.rb +16 -0
  230. data/lib/fog/openstack/network.rb +24 -102
  231. data/lib/fog/openstack/orchestration.rb +15 -91
  232. data/lib/fog/openstack/planning.rb +20 -81
  233. data/lib/fog/openstack/requests/baremetal/delete_node.rb +1 -1
  234. data/lib/fog/openstack/requests/baremetal/list_chassis.rb +2 -8
  235. data/lib/fog/openstack/requests/baremetal/list_chassis_detailed.rb +3 -9
  236. data/lib/fog/openstack/requests/baremetal/list_drivers.rb +4 -3
  237. data/lib/fog/openstack/requests/baremetal/list_nodes.rb +3 -9
  238. data/lib/fog/openstack/requests/baremetal/list_nodes_detailed.rb +3 -9
  239. data/lib/fog/openstack/requests/baremetal/list_ports.rb +3 -9
  240. data/lib/fog/openstack/requests/baremetal/list_ports_detailed.rb +3 -9
  241. data/lib/fog/openstack/requests/compute/add_aggregate_host.rb +30 -0
  242. data/lib/fog/openstack/requests/compute/create_aggregate.rb +42 -0
  243. data/lib/fog/openstack/requests/compute/delete_aggregate.rb +28 -0
  244. data/lib/fog/openstack/requests/compute/evacuate_server.rb +26 -0
  245. data/lib/fog/openstack/requests/compute/get_aggregate.rb +26 -0
  246. data/lib/fog/openstack/requests/compute/list_aggregates.rb +36 -0
  247. data/lib/fog/openstack/requests/compute/list_all_addresses.rb +4 -3
  248. data/lib/fog/openstack/requests/compute/list_flavors.rb +6 -5
  249. data/lib/fog/openstack/requests/compute/list_hosts.rb +4 -3
  250. data/lib/fog/openstack/requests/compute/list_key_pairs.rb +4 -3
  251. data/lib/fog/openstack/requests/compute/list_security_groups.rb +24 -3
  252. data/lib/fog/openstack/requests/compute/list_servers.rb +8 -5
  253. data/lib/fog/openstack/requests/compute/list_servers_detail.rb +9 -6
  254. data/lib/fog/openstack/requests/compute/list_snapshots.rb +18 -4
  255. data/lib/fog/openstack/requests/compute/list_snapshots_detail.rb +27 -0
  256. data/lib/fog/openstack/requests/compute/list_volumes.rb +18 -4
  257. data/lib/fog/openstack/requests/compute/list_volumes_detail.rb +25 -0
  258. data/lib/fog/openstack/requests/compute/list_zones.rb +6 -5
  259. data/lib/fog/openstack/requests/compute/list_zones_detailed.rb +55 -0
  260. data/lib/fog/openstack/requests/compute/remove_aggregate_host.rb +30 -0
  261. data/lib/fog/openstack/requests/compute/server_actions.rb +14 -3
  262. data/lib/fog/openstack/requests/compute/shelve_offload_server.rb +24 -0
  263. data/lib/fog/openstack/requests/compute/shelve_server.rb +24 -0
  264. data/lib/fog/openstack/requests/compute/unshelve_server.rb +24 -0
  265. data/lib/fog/openstack/requests/compute/update_aggregate.rb +37 -0
  266. data/lib/fog/openstack/requests/compute/update_aggregate_metadata.rb +30 -0
  267. data/lib/fog/openstack/requests/identity_v2/list_ec2_credentials.rb +23 -7
  268. data/lib/fog/openstack/requests/identity_v2/list_roles.rb +5 -4
  269. data/lib/fog/openstack/requests/identity_v2/list_tenants.rb +14 -8
  270. data/lib/fog/openstack/requests/identity_v2/list_users.rb +16 -4
  271. data/lib/fog/openstack/requests/identity_v3/auth_domains.rb +2 -7
  272. data/lib/fog/openstack/requests/identity_v3/auth_projects.rb +6 -11
  273. data/lib/fog/openstack/requests/identity_v3/get_project.rb +2 -2
  274. data/lib/fog/openstack/requests/identity_v3/list_domains.rb +7 -14
  275. data/lib/fog/openstack/requests/identity_v3/list_endpoints.rb +7 -14
  276. data/lib/fog/openstack/requests/identity_v3/list_group_users.rb +5 -13
  277. data/lib/fog/openstack/requests/identity_v3/list_groups.rb +14 -24
  278. data/lib/fog/openstack/requests/identity_v3/list_os_credentials.rb +7 -12
  279. data/lib/fog/openstack/requests/identity_v3/list_policies.rb +7 -11
  280. data/lib/fog/openstack/requests/identity_v3/list_projects.rb +14 -25
  281. data/lib/fog/openstack/requests/identity_v3/list_role_assignments.rb +21 -17
  282. data/lib/fog/openstack/requests/identity_v3/list_roles.rb +7 -25
  283. data/lib/fog/openstack/requests/identity_v3/list_services.rb +7 -13
  284. data/lib/fog/openstack/requests/identity_v3/list_users.rb +7 -15
  285. data/lib/fog/openstack/requests/{image → image_v1}/add_member_to_image.rb +2 -0
  286. data/lib/fog/openstack/requests/image_v1/create_image.rb +78 -0
  287. data/lib/fog/openstack/requests/image_v1/delete_image.rb +25 -0
  288. data/lib/fog/openstack/requests/image_v1/get_image.rb +47 -0
  289. data/lib/fog/openstack/requests/image_v1/get_image_by_id.rb +34 -0
  290. data/lib/fog/openstack/requests/image_v1/get_image_members.rb +31 -0
  291. data/lib/fog/openstack/requests/image_v1/get_shared_images.rb +31 -0
  292. data/lib/fog/openstack/requests/image_v1/list_public_images.rb +35 -0
  293. data/lib/fog/openstack/requests/image_v1/list_public_images_detailed.rb +37 -0
  294. data/lib/fog/openstack/requests/image_v1/remove_member_from_image.rb +25 -0
  295. data/lib/fog/openstack/requests/image_v1/set_tenant.rb +21 -0
  296. data/lib/fog/openstack/requests/image_v1/update_image.rb +66 -0
  297. data/lib/fog/openstack/requests/image_v1/update_image_members.rb +39 -0
  298. data/lib/fog/openstack/requests/image_v2/add_member_to_image.rb +26 -0
  299. data/lib/fog/openstack/requests/image_v2/add_tag_to_image.rb +25 -0
  300. data/lib/fog/openstack/requests/image_v2/create_image.rb +54 -0
  301. data/lib/fog/openstack/requests/image_v2/deactivate_image.rb +25 -0
  302. data/lib/fog/openstack/requests/image_v2/delete_image.rb +25 -0
  303. data/lib/fog/openstack/requests/image_v2/download_image.rb +29 -0
  304. data/lib/fog/openstack/requests/image_v2/get_image.rb +47 -0
  305. data/lib/fog/openstack/requests/image_v2/get_image_by_id.rb +34 -0
  306. data/lib/fog/openstack/requests/image_v2/get_image_members.rb +31 -0
  307. data/lib/fog/openstack/requests/image_v2/get_member_details.rb +33 -0
  308. data/lib/fog/openstack/requests/image_v2/get_shared_images.rb +31 -0
  309. data/lib/fog/openstack/requests/image_v2/list_images.rb +35 -0
  310. data/lib/fog/openstack/requests/image_v2/reactivate_image.rb +25 -0
  311. data/lib/fog/openstack/requests/image_v2/remove_member_from_image.rb +25 -0
  312. data/lib/fog/openstack/requests/image_v2/remove_tag_from_image.rb +25 -0
  313. data/lib/fog/openstack/requests/image_v2/set_tenant.rb +21 -0
  314. data/lib/fog/openstack/requests/image_v2/update_image.rb +49 -0
  315. data/lib/fog/openstack/requests/image_v2/update_image_member.rb +34 -0
  316. data/lib/fog/openstack/requests/image_v2/upload_image.rb +30 -0
  317. data/lib/fog/openstack/requests/network/add_router_interface.rb +12 -4
  318. data/lib/fog/openstack/requests/network/create_port.rb +14 -11
  319. data/lib/fog/openstack/requests/network/create_subnet.rb +7 -7
  320. data/lib/fog/openstack/requests/network/get_port.rb +5 -0
  321. data/lib/fog/openstack/requests/network/set_tenant.rb +1 -0
  322. data/lib/fog/openstack/requests/network/update_port.rb +7 -6
  323. data/lib/fog/openstack/requests/network/update_subnet.rb +8 -7
  324. data/lib/fog/openstack/requests/orchestration/list_events.rb +46 -0
  325. data/lib/fog/openstack/requests/orchestration/list_resource_events.rb +7 -2
  326. data/lib/fog/openstack/requests/orchestration/list_resource_types.rb +3 -2
  327. data/lib/fog/openstack/requests/orchestration/list_resources.rb +27 -4
  328. data/lib/fog/openstack/requests/orchestration/list_stack_data.rb +2 -2
  329. data/lib/fog/openstack/requests/orchestration/list_stack_data_detailed.rb +49 -0
  330. data/lib/fog/openstack/requests/orchestration/list_stack_events.rb +6 -2
  331. data/lib/fog/openstack/requests/orchestration/patch_stack.rb +37 -0
  332. data/lib/fog/openstack/requests/planning/list_plans.rb +4 -3
  333. data/lib/fog/openstack/requests/planning/list_roles.rb +3 -9
  334. data/lib/fog/openstack/requests/volume/accept_transfer.rb +22 -0
  335. data/lib/fog/openstack/requests/volume/create_transfer.rb +25 -0
  336. data/lib/fog/openstack/requests/volume/create_volume.rb +9 -39
  337. data/lib/fog/openstack/requests/volume/create_volume_snapshot.rb +13 -31
  338. data/lib/fog/openstack/requests/volume/create_volume_type.rb +41 -0
  339. data/lib/fog/openstack/requests/volume/delete_snapshot.rb +2 -2
  340. data/lib/fog/openstack/requests/volume/delete_transfer.rb +15 -0
  341. data/lib/fog/openstack/requests/volume/delete_volume.rb +2 -2
  342. data/lib/fog/openstack/requests/volume/delete_volume_type.rb +23 -0
  343. data/lib/fog/openstack/requests/volume/extend_volume.rb +25 -0
  344. data/lib/fog/openstack/requests/volume/get_quota.rb +2 -2
  345. data/lib/fog/openstack/requests/volume/get_quota_defaults.rb +7 -7
  346. data/lib/fog/openstack/requests/volume/get_quota_usage.rb +44 -0
  347. data/lib/fog/openstack/requests/volume/get_snapshot_details.rb +1 -20
  348. data/lib/fog/openstack/requests/volume/get_transfer_details.rb +17 -0
  349. data/lib/fog/openstack/requests/volume/get_volume_details.rb +1 -22
  350. data/lib/fog/openstack/requests/volume/get_volume_type_details.rb +3 -3
  351. data/lib/fog/openstack/requests/volume/list_snapshots.rb +18 -5
  352. data/lib/fog/openstack/requests/volume/list_snapshots_detailed.rb +27 -0
  353. data/lib/fog/openstack/requests/volume/list_transfers.rb +18 -0
  354. data/lib/fog/openstack/requests/volume/list_transfers_detailed.rb +18 -0
  355. data/lib/fog/openstack/requests/volume/list_volume_types.rb +8 -8
  356. data/lib/fog/openstack/requests/volume/list_volumes.rb +20 -40
  357. data/lib/fog/openstack/requests/volume/list_volumes_detailed.rb +16 -0
  358. data/lib/fog/openstack/requests/volume/list_zones.rb +32 -0
  359. data/lib/fog/openstack/requests/volume/set_tenant.rb +2 -2
  360. data/lib/fog/openstack/requests/volume/update_quota.rb +2 -2
  361. data/lib/fog/openstack/requests/volume/update_volume_type.rb +41 -0
  362. data/lib/fog/openstack/requests/volume_v1/accept_transfer.rb +2 -0
  363. data/lib/fog/openstack/requests/volume_v1/create_transfer.rb +2 -0
  364. data/lib/fog/openstack/requests/volume_v1/create_volume.rb +49 -0
  365. data/lib/fog/openstack/requests/volume_v1/create_volume_snapshot.rb +44 -0
  366. data/lib/fog/openstack/requests/volume_v1/create_volume_type.rb +2 -0
  367. data/lib/fog/openstack/requests/volume_v1/delete_snapshot.rb +2 -0
  368. data/lib/fog/openstack/requests/volume_v1/delete_transfer.rb +2 -0
  369. data/lib/fog/openstack/requests/volume_v1/delete_volume.rb +2 -0
  370. data/lib/fog/openstack/requests/volume_v1/delete_volume_type.rb +2 -0
  371. data/lib/fog/openstack/requests/volume_v1/extend_volume.rb +2 -0
  372. data/lib/fog/openstack/requests/volume_v1/get_quota.rb +2 -0
  373. data/lib/fog/openstack/requests/volume_v1/get_quota_defaults.rb +2 -0
  374. data/lib/fog/openstack/requests/volume_v1/get_quota_usage.rb +2 -0
  375. data/lib/fog/openstack/requests/volume_v1/get_snapshot_details.rb +32 -0
  376. data/lib/fog/openstack/requests/volume_v1/get_transfer_details.rb +2 -0
  377. data/lib/fog/openstack/requests/volume_v1/get_volume_details.rb +35 -0
  378. data/lib/fog/openstack/requests/volume_v1/get_volume_type_details.rb +2 -0
  379. data/lib/fog/openstack/requests/volume_v1/list_snapshots.rb +2 -0
  380. data/lib/fog/openstack/requests/volume_v1/list_snapshots_detailed.rb +2 -0
  381. data/lib/fog/openstack/requests/volume_v1/list_transfers.rb +2 -0
  382. data/lib/fog/openstack/requests/volume_v1/list_transfers_detailed.rb +2 -0
  383. data/lib/fog/openstack/requests/volume_v1/list_volume_types.rb +2 -0
  384. data/lib/fog/openstack/requests/volume_v1/list_volumes.rb +46 -0
  385. data/lib/fog/openstack/requests/volume_v1/list_volumes_detailed.rb +46 -0
  386. data/lib/fog/openstack/requests/volume_v1/list_zones.rb +2 -0
  387. data/lib/fog/openstack/requests/volume_v1/real.rb +11 -0
  388. data/lib/fog/openstack/requests/volume_v1/real_mock.rb +14 -0
  389. data/lib/fog/openstack/requests/volume_v1/set_tenant.rb +2 -0
  390. data/lib/fog/openstack/requests/volume_v1/update_quota.rb +2 -0
  391. data/lib/fog/openstack/requests/volume_v2/accept_transfer.rb +2 -0
  392. data/lib/fog/openstack/requests/volume_v2/create_transfer.rb +2 -0
  393. data/lib/fog/openstack/requests/volume_v2/create_volume.rb +49 -0
  394. data/lib/fog/openstack/requests/volume_v2/create_volume_snapshot.rb +43 -0
  395. data/lib/fog/openstack/requests/volume_v2/create_volume_type.rb +2 -0
  396. data/lib/fog/openstack/requests/volume_v2/delete_snapshot.rb +2 -0
  397. data/lib/fog/openstack/requests/volume_v2/delete_transfer.rb +2 -0
  398. data/lib/fog/openstack/requests/volume_v2/delete_volume.rb +2 -0
  399. data/lib/fog/openstack/requests/volume_v2/delete_volume_type.rb +2 -0
  400. data/lib/fog/openstack/requests/volume_v2/extend_volume.rb +2 -0
  401. data/lib/fog/openstack/requests/volume_v2/get_quota.rb +2 -0
  402. data/lib/fog/openstack/requests/volume_v2/get_quota_defaults.rb +2 -0
  403. data/lib/fog/openstack/requests/volume_v2/get_quota_usage.rb +2 -0
  404. data/lib/fog/openstack/requests/volume_v2/get_snapshot_details.rb +32 -0
  405. data/lib/fog/openstack/requests/volume_v2/get_transfer_details.rb +2 -0
  406. data/lib/fog/openstack/requests/volume_v2/get_volume_details.rb +35 -0
  407. data/lib/fog/openstack/requests/volume_v2/get_volume_type_details.rb +2 -0
  408. data/lib/fog/openstack/requests/volume_v2/list_snapshots.rb +2 -0
  409. data/lib/fog/openstack/requests/volume_v2/list_snapshots_detailed.rb +2 -0
  410. data/lib/fog/openstack/requests/volume_v2/list_transfers.rb +2 -0
  411. data/lib/fog/openstack/requests/volume_v2/list_transfers_detailed.rb +2 -0
  412. data/lib/fog/openstack/requests/volume_v2/list_volume_types.rb +2 -0
  413. data/lib/fog/openstack/requests/volume_v2/list_volumes.rb +46 -0
  414. data/lib/fog/openstack/requests/volume_v2/list_volumes_detailed.rb +46 -0
  415. data/lib/fog/openstack/requests/volume_v2/list_zones.rb +2 -0
  416. data/lib/fog/openstack/requests/volume_v2/real.rb +11 -0
  417. data/lib/fog/openstack/requests/volume_v2/real_mock.rb +14 -0
  418. data/lib/fog/openstack/requests/volume_v2/set_tenant.rb +2 -0
  419. data/lib/fog/openstack/requests/volume_v2/update_quota.rb +2 -0
  420. data/lib/fog/openstack/requests/volume_v2/update_volume_type.rb +2 -0
  421. data/lib/fog/openstack/storage.rb +19 -55
  422. data/lib/fog/openstack/volume.rb +21 -216
  423. data/lib/fog/openstack/volume_v1.rb +163 -0
  424. data/lib/fog/openstack/volume_v2.rb +164 -0
  425. data/lib/fog/openstack.rb +5 -0
  426. data/lib/fog/ovirt/models/compute/server.rb +1 -0
  427. data/lib/fog/ovirt/models/compute/template.rb +1 -0
  428. data/lib/fog/rackspace/compute_v2.rb +1 -0
  429. data/lib/fog/rackspace/docs/compute_v2.md +1 -1
  430. data/lib/fog/rackspace/docs/queues.md +2 -2
  431. data/lib/fog/rackspace/examples/compute_v2/create_network.rb +1 -1
  432. data/lib/fog/rackspace/models/block_storage/snapshot.rb +5 -1
  433. data/lib/fog/rackspace/models/compute_v2/server.rb +25 -1
  434. data/lib/fog/rackspace/models/compute_v2/servers.rb +2 -2
  435. data/lib/fog/rackspace/requests/compute_v2/create_server.rb +7 -2
  436. data/lib/fog/rackspace/requests/compute_v2/get_vnc_console.rb +45 -0
  437. data/lib/fog/rackspace/requests/load_balancers/create_node.rb +1 -1
  438. data/lib/fog/rackspace/requests/storage/get_object_https_url.rb +13 -2
  439. data/lib/fog/rackspace/requests/storage/put_container.rb +10 -6
  440. data/lib/fog/vcloud_director/compute.rb +18 -2
  441. data/lib/fog/vcloud_director/generators/compute/edge_gateway_service_configuration.rb +32 -30
  442. data/lib/fog/vcloud_director/models/compute/disks.rb +6 -0
  443. data/lib/fog/vcloud_director/models/compute/networks.rb +7 -2
  444. data/lib/fog/vcloud_director/models/compute/task.rb +2 -2
  445. data/lib/fog/vcloud_director/models/compute/vdc.rb +5 -0
  446. data/lib/fog/vcloud_director/models/compute/vm.rb +15 -1
  447. data/lib/fog/vcloud_director/models/compute/vm_customizations.rb +15 -0
  448. data/lib/fog/vcloud_director/parsers/compute/vm.rb +4 -0
  449. data/lib/fog/vcloud_director/parsers/compute/vms.rb +4 -0
  450. data/lib/fog/vcloud_director/requests/compute/delete_vapp.rb +30 -0
  451. data/lib/fog/vcloud_director/requests/compute/get_catalog.rb +24 -3
  452. data/lib/fog/vcloud_director/requests/compute/get_catalog_item.rb +23 -0
  453. data/lib/fog/vcloud_director/requests/compute/get_execute_query.rb +13 -10
  454. data/lib/fog/vcloud_director/requests/compute/get_metadata.rb +11 -0
  455. data/lib/fog/vcloud_director/requests/compute/get_vapp.rb +1 -0
  456. data/lib/fog/vcloud_director/requests/compute/get_vm.rb +46 -0
  457. data/lib/fog/vcloud_director/requests/compute/get_vm_disks.rb +20 -0
  458. data/lib/fog/vcloud_director/requests/compute/get_vm_network.rb +25 -0
  459. data/lib/fog/vcloud_director/requests/compute/get_vms.rb +13 -0
  460. data/lib/fog/vcloud_director/requests/compute/instantiate_vapp_template.rb +70 -0
  461. data/lib/fog/vcloud_director/requests/compute/post_power_on_vapp.rb +35 -0
  462. data/lib/fog/vcloud_director/requests/compute/post_reconfigure_vm.rb +118 -0
  463. data/lib/fog/vcloud_director/requests/compute/post_update_vapp_metadata.rb +34 -0
  464. data/lib/fog/vcloud_director/requests/compute/put_guest_customization_section_vapp.rb +2 -1
  465. data/lib/fog/vcloud_director/requests/compute/put_network_connection_system_section_vapp.rb +31 -0
  466. data/lib/fog/version.rb +1 -1
  467. data/lib/fog.rb +1 -0
  468. data/lib/tasks/changelog_task.rb +6 -0
  469. data/spec/fog/openstack/identity_v3/authv3_a.yml +50 -37
  470. data/spec/fog/openstack/identity_v3/authv3_b.yml +50 -37
  471. data/spec/fog/openstack/identity_v3/authv3_c.yml +393 -35
  472. data/spec/fog/openstack/identity_v3/authv3_token.yml +421 -82
  473. data/spec/fog/openstack/identity_v3/authv3_unscoped.yml +471 -213
  474. data/spec/fog/openstack/identity_v3/authv3_unscoped_reauth.yml +835 -0
  475. data/spec/fog/openstack/identity_v3/common_setup.yml +98 -0
  476. data/spec/fog/openstack/identity_v3/idv3_credential.yml +71 -35
  477. data/spec/fog/openstack/identity_v3/idv3_credential_crud.yml +620 -210
  478. data/spec/fog/openstack/identity_v3/idv3_domain.yml +78 -117
  479. data/spec/fog/openstack/identity_v3/idv3_domain_crud.yml +277 -427
  480. data/spec/fog/openstack/identity_v3/idv3_domain_group_roles_mutation.yml +511 -404
  481. data/spec/fog/openstack/identity_v3/idv3_domain_roles_mutation.yml +555 -219
  482. data/spec/fog/openstack/identity_v3/idv3_endpoint.yml +499 -179
  483. data/spec/fog/openstack/identity_v3/idv3_endpoints_crud.yml +734 -447
  484. data/spec/fog/openstack/identity_v3/idv3_group_crud_mutation.yml +682 -332
  485. data/spec/fog/openstack/identity_v3/idv3_policy.yml +99 -51
  486. data/spec/fog/openstack/identity_v3/idv3_policy_crud.yml +249 -129
  487. data/spec/fog/openstack/identity_v3/idv3_project.yml +322 -136
  488. data/spec/fog/openstack/identity_v3/idv3_project_crud.yml +250 -423
  489. data/spec/fog/openstack/identity_v3/idv3_project_group_user_roles_mutation.yml +757 -616
  490. data/spec/fog/openstack/identity_v3/idv3_project_hier_crud_list.yml +1405 -0
  491. data/spec/fog/openstack/identity_v3/idv3_role.yml +159 -79
  492. data/spec/fog/openstack/identity_v3/idv3_role_crud.yml +329 -343
  493. data/spec/fog/openstack/identity_v3/idv3_service.yml +208 -100
  494. data/spec/fog/openstack/identity_v3/idv3_services_crud.yml +359 -321
  495. data/spec/fog/openstack/identity_v3/idv3_token.yml +246 -116
  496. data/spec/fog/openstack/identity_v3/idv3_user_crud.yml +465 -210
  497. data/spec/fog/openstack/identity_v3/idv3_users.yml +244 -228
  498. data/spec/fog/openstack/identity_v3_spec.rb +673 -568
  499. data/spec/fog/openstack/image_v1/common_setup.yml +144 -0
  500. data/spec/fog/openstack/image_v1/list_images.yml +54 -0
  501. data/spec/fog/openstack/image_v1_spec.rb +24 -0
  502. data/spec/fog/openstack/image_v2/common_setup.yml +144 -0
  503. data/spec/fog/openstack/image_v2/image_schema.json +190 -0
  504. data/spec/fog/openstack/image_v2/image_v2_activation.yml +3988 -0
  505. data/spec/fog/openstack/image_v2/image_v2_create_id.yml +291 -0
  506. data/spec/fog/openstack/image_v2/image_v2_crud.yml +437 -0
  507. data/spec/fog/openstack/image_v2/image_v2_member_crudl.yml +451 -0
  508. data/spec/fog/openstack/image_v2/image_v2_tags.yml +532 -0
  509. data/spec/fog/openstack/image_v2/image_v2_upload_download.yml +3966 -0
  510. data/spec/fog/openstack/image_v2/minimal.ova +0 -0
  511. data/spec/fog/openstack/image_v2_spec.rb +285 -0
  512. data/spec/fog/openstack/image_v2_upload_spec.rb +74 -0
  513. data/spec/fog/openstack/network/common_setup.yml +140 -0
  514. data/spec/fog/openstack/network/subnets_crud.yml +180 -0
  515. data/spec/fog/openstack/network_spec.rb +43 -0
  516. data/spec/fog/openstack/shared_context.rb +115 -0
  517. data/spec/fog/openstack/volume/common_setup.yml +100 -0
  518. data/spec/fog/openstack/volume/volume_crud.yml +611 -0
  519. data/spec/fog/openstack/volume/volume_extend.yml +669 -0
  520. data/spec/fog/openstack/volume/volume_transfer_and_accept.yml +1072 -0
  521. data/spec/fog/openstack/volume/volume_transfer_and_delete.yml +666 -0
  522. data/spec/fog/openstack/volume/volume_type_read.yml +114 -0
  523. data/spec/fog/openstack/volume_spec.rb +362 -0
  524. data/spec/fog/openstack/volume_v1/common_setup.yml +100 -0
  525. data/spec/fog/openstack/volume_v1/volume_crud.yml +535 -0
  526. data/spec/fog/openstack/volume_v1/volume_extend.yml +596 -0
  527. data/spec/fog/openstack/volume_v1/volume_transfer_and_accept.yml +1010 -0
  528. data/spec/fog/openstack/volume_v1/volume_transfer_and_delete.yml +645 -0
  529. data/spec/fog/openstack/volume_v1/volume_type_read.yml +114 -0
  530. data/spec/fog/openstack/volume_v2/common_setup.yml +100 -0
  531. data/spec/fog/openstack/volume_v2/volume_crud.yml +611 -0
  532. data/spec/fog/openstack/volume_v2/volume_extend.yml +669 -0
  533. data/spec/fog/openstack/volume_v2/volume_transfer_and_accept.yml +1072 -0
  534. data/spec/fog/openstack/volume_v2/volume_transfer_and_delete.yml +666 -0
  535. data/spec/fog/openstack/volume_v2/volume_type_read.yml +114 -0
  536. data/tests/compute/helper.rb +0 -9
  537. data/tests/digitalocean/requests/compute_v2/list_flavors_tests.rb +25 -0
  538. data/tests/digitalocean/requests/compute_v2/list_images_tests.rb +25 -0
  539. data/tests/digitalocean/requests/compute_v2/list_regions_tests.rb +21 -0
  540. data/tests/digitalocean/requests/compute_v2/server_tests.rb +77 -0
  541. data/tests/helper.rb +1 -0
  542. data/tests/helpers/mock_helper.rb +1 -4
  543. data/tests/linode/requests/compute/datacenter_tests.rb +2 -1
  544. data/tests/linode/requests/compute/kernel_tests.rb +2 -10
  545. data/tests/linode/requests/compute/linodeplans_tests.rb +10 -7
  546. data/tests/linode/requests/compute/nodebalancers_tests.rb +20 -0
  547. data/tests/opennebula/models/compute/flavor_tests.rb +1 -1
  548. data/tests/openstack/authenticate_tests.rb +4 -0
  549. data/tests/openstack/models/storage/file_tests.rb +55 -0
  550. data/tests/openstack/requests/compute/aggregate_tests.rb +59 -0
  551. data/tests/openstack/requests/compute/availability_zone_tests.rb +18 -0
  552. data/tests/openstack/requests/compute/server_tests.rb +12 -0
  553. data/tests/openstack/requests/network/port_tests.rb +14 -11
  554. data/tests/openstack/requests/network/subnet_tests.rb +2 -2
  555. data/tests/openstack/requests/orchestration/stack_tests.rb +30 -1
  556. data/tests/openstack/requests/volume/availability_zone_tests.rb +13 -0
  557. data/tests/openstack/requests/volume/volume_type_tests.rb +32 -0
  558. data/tests/openstack/volume_tests.rb +4 -0
  559. data/tests/rackspace/models/compute_v2/server_tests.rb +7 -7
  560. data/tests/rackspace/requests/compute_v2/server_tests.rb +4 -0
  561. data/tests/rackspace/requests/load_balancers/node_tests.rb +7 -0
  562. data/tests/rackspace/requests/storage/object_tests.rb +46 -4
  563. data/tests/vcloud_director/requests/compute/edge_gateway_tests.rb +4 -4
  564. metadata +403 -457
  565. data/gemfiles/Gemfile-ruby-1.8.7 +0 -17
  566. data/lib/fog/bin/dynect.rb +0 -28
  567. data/lib/fog/bin/vsphere.rb +0 -28
  568. data/lib/fog/bin/xenserver.rb +0 -29
  569. data/lib/fog/dynect/core.rb +0 -26
  570. data/lib/fog/dynect/dns.rb +0 -157
  571. data/lib/fog/dynect/models/dns/record.rb +0 -67
  572. data/lib/fog/dynect/models/dns/records.rb +0 -48
  573. data/lib/fog/dynect/models/dns/zone.rb +0 -56
  574. data/lib/fog/dynect/models/dns/zones.rb +0 -25
  575. data/lib/fog/dynect/requests/dns/delete_record.rb +0 -55
  576. data/lib/fog/dynect/requests/dns/delete_zone.rb +0 -41
  577. data/lib/fog/dynect/requests/dns/get_all_records.rb +0 -56
  578. data/lib/fog/dynect/requests/dns/get_node_list.rb +0 -55
  579. data/lib/fog/dynect/requests/dns/get_record.rb +0 -83
  580. data/lib/fog/dynect/requests/dns/get_zone.rb +0 -57
  581. data/lib/fog/dynect/requests/dns/post_record.rb +0 -71
  582. data/lib/fog/dynect/requests/dns/post_session.rb +0 -43
  583. data/lib/fog/dynect/requests/dns/post_zone.rb +0 -70
  584. data/lib/fog/dynect/requests/dns/put_record.rb +0 -76
  585. data/lib/fog/dynect/requests/dns/put_zone.rb +0 -76
  586. data/lib/fog/dynect.rb +0 -1
  587. data/lib/fog/openstack/models/image/image.rb +0 -87
  588. data/lib/fog/openstack/models/image/images.rb +0 -61
  589. data/lib/fog/openstack/requests/image/create_image.rb +0 -76
  590. data/lib/fog/openstack/requests/image/delete_image.rb +0 -23
  591. data/lib/fog/openstack/requests/image/get_image.rb +0 -45
  592. data/lib/fog/openstack/requests/image/get_image_by_id.rb +0 -32
  593. data/lib/fog/openstack/requests/image/get_image_members.rb +0 -29
  594. data/lib/fog/openstack/requests/image/get_shared_images.rb +0 -29
  595. data/lib/fog/openstack/requests/image/list_public_images.rb +0 -32
  596. data/lib/fog/openstack/requests/image/list_public_images_detailed.rb +0 -32
  597. data/lib/fog/openstack/requests/image/remove_member_from_image.rb +0 -23
  598. data/lib/fog/openstack/requests/image/set_tenant.rb +0 -19
  599. data/lib/fog/openstack/requests/image/update_image.rb +0 -64
  600. data/lib/fog/openstack/requests/image/update_image_members.rb +0 -37
  601. data/lib/fog/vsphere/compute.rb +0 -465
  602. data/lib/fog/vsphere/core.rb +0 -39
  603. data/lib/fog/vsphere/models/compute/cluster.rb +0 -28
  604. data/lib/fog/vsphere/models/compute/clusters.rb +0 -23
  605. data/lib/fog/vsphere/models/compute/customfield.rb +0 -16
  606. data/lib/fog/vsphere/models/compute/customfields.rb +0 -24
  607. data/lib/fog/vsphere/models/compute/customvalue.rb +0 -14
  608. data/lib/fog/vsphere/models/compute/customvalues.rb +0 -34
  609. data/lib/fog/vsphere/models/compute/datacenter.rb +0 -44
  610. data/lib/fog/vsphere/models/compute/datacenters.rb +0 -20
  611. data/lib/fog/vsphere/models/compute/datastore.rb +0 -21
  612. data/lib/fog/vsphere/models/compute/datastores.rb +0 -22
  613. data/lib/fog/vsphere/models/compute/folder.rb +0 -24
  614. data/lib/fog/vsphere/models/compute/folders.rb +0 -24
  615. data/lib/fog/vsphere/models/compute/interface.rb +0 -91
  616. data/lib/fog/vsphere/models/compute/interfaces.rb +0 -67
  617. data/lib/fog/vsphere/models/compute/interfacetype.rb +0 -22
  618. data/lib/fog/vsphere/models/compute/interfacetypes.rb +0 -35
  619. data/lib/fog/vsphere/models/compute/network.rb +0 -17
  620. data/lib/fog/vsphere/models/compute/networks.rb +0 -23
  621. data/lib/fog/vsphere/models/compute/resource_pool.rb +0 -19
  622. data/lib/fog/vsphere/models/compute/resource_pools.rb +0 -23
  623. data/lib/fog/vsphere/models/compute/scsicontroller.rb +0 -16
  624. data/lib/fog/vsphere/models/compute/server.rb +0 -296
  625. data/lib/fog/vsphere/models/compute/servers.rb +0 -37
  626. data/lib/fog/vsphere/models/compute/servertype.rb +0 -36
  627. data/lib/fog/vsphere/models/compute/servertypes.rb +0 -24
  628. data/lib/fog/vsphere/models/compute/template.rb +0 -11
  629. data/lib/fog/vsphere/models/compute/templates.rb +0 -20
  630. data/lib/fog/vsphere/models/compute/volume.rb +0 -99
  631. data/lib/fog/vsphere/models/compute/volumes.rb +0 -54
  632. data/lib/fog/vsphere/requests/compute/cloudinit_to_customspec.rb +0 -65
  633. data/lib/fog/vsphere/requests/compute/create_folder.rb +0 -22
  634. data/lib/fog/vsphere/requests/compute/create_vm.rb +0 -164
  635. data/lib/fog/vsphere/requests/compute/current_time.rb +0 -18
  636. data/lib/fog/vsphere/requests/compute/get_cluster.rb +0 -25
  637. data/lib/fog/vsphere/requests/compute/get_compute_resource.rb +0 -41
  638. data/lib/fog/vsphere/requests/compute/get_datacenter.rb +0 -31
  639. data/lib/fog/vsphere/requests/compute/get_datastore.rb +0 -30
  640. data/lib/fog/vsphere/requests/compute/get_folder.rb +0 -74
  641. data/lib/fog/vsphere/requests/compute/get_interface_type.rb +0 -15
  642. data/lib/fog/vsphere/requests/compute/get_network.rb +0 -59
  643. data/lib/fog/vsphere/requests/compute/get_resource_pool.rb +0 -26
  644. data/lib/fog/vsphere/requests/compute/get_server_type.rb +0 -32
  645. data/lib/fog/vsphere/requests/compute/get_template.rb +0 -16
  646. data/lib/fog/vsphere/requests/compute/get_virtual_machine.rb +0 -56
  647. data/lib/fog/vsphere/requests/compute/get_vm_first_scsi_controller.rb +0 -26
  648. data/lib/fog/vsphere/requests/compute/list_clusters.rb +0 -72
  649. data/lib/fog/vsphere/requests/compute/list_compute_resources.rb +0 -92
  650. data/lib/fog/vsphere/requests/compute/list_customfields.rb +0 -21
  651. data/lib/fog/vsphere/requests/compute/list_datacenters.rb +0 -53
  652. data/lib/fog/vsphere/requests/compute/list_datastores.rb +0 -40
  653. data/lib/fog/vsphere/requests/compute/list_folders.rb +0 -44
  654. data/lib/fog/vsphere/requests/compute/list_interface_types.rb +0 -25
  655. data/lib/fog/vsphere/requests/compute/list_networks.rb +0 -37
  656. data/lib/fog/vsphere/requests/compute/list_resource_pools.rb +0 -38
  657. data/lib/fog/vsphere/requests/compute/list_server_types.rb +0 -54
  658. data/lib/fog/vsphere/requests/compute/list_templates.rb +0 -48
  659. data/lib/fog/vsphere/requests/compute/list_virtual_machines.rb +0 -80
  660. data/lib/fog/vsphere/requests/compute/list_vm_customvalues.rb +0 -20
  661. data/lib/fog/vsphere/requests/compute/list_vm_interfaces.rb +0 -63
  662. data/lib/fog/vsphere/requests/compute/list_vm_volumes.rb +0 -52
  663. data/lib/fog/vsphere/requests/compute/modify_vm_interface.rb +0 -59
  664. data/lib/fog/vsphere/requests/compute/modify_vm_volume.rb +0 -25
  665. data/lib/fog/vsphere/requests/compute/set_vm_customvalue.rb +0 -17
  666. data/lib/fog/vsphere/requests/compute/vm_clone.rb +0 -659
  667. data/lib/fog/vsphere/requests/compute/vm_config_vnc.rb +0 -45
  668. data/lib/fog/vsphere/requests/compute/vm_destroy.rb +0 -23
  669. data/lib/fog/vsphere/requests/compute/vm_migrate.rb +0 -33
  670. data/lib/fog/vsphere/requests/compute/vm_power_off.rb +0 -39
  671. data/lib/fog/vsphere/requests/compute/vm_power_on.rb +0 -26
  672. data/lib/fog/vsphere/requests/compute/vm_reboot.rb +0 -31
  673. data/lib/fog/vsphere/requests/compute/vm_reconfig_cpus.rb +0 -23
  674. data/lib/fog/vsphere/requests/compute/vm_reconfig_hardware.rb +0 -24
  675. data/lib/fog/vsphere/requests/compute/vm_reconfig_memory.rb +0 -23
  676. data/lib/fog/vsphere.rb +0 -1
  677. data/lib/fog/xenserver/CHANGELOG.md +0 -77
  678. data/lib/fog/xenserver/compute.rb +0 -186
  679. data/lib/fog/xenserver/core.rb +0 -94
  680. data/lib/fog/xenserver/examples/README.md +0 -11
  681. data/lib/fog/xenserver/examples/chage_default_storage_repository.md +0 -99
  682. data/lib/fog/xenserver/examples/creating_servers.md +0 -168
  683. data/lib/fog/xenserver/examples/getting_started.md +0 -163
  684. data/lib/fog/xenserver/examples/networks-and-vlans.rb +0 -44
  685. data/lib/fog/xenserver/examples/storage_repositories.md +0 -94
  686. data/lib/fog/xenserver/models/compute/blob.rb +0 -22
  687. data/lib/fog/xenserver/models/compute/blobs.rb +0 -25
  688. data/lib/fog/xenserver/models/compute/bond.rb +0 -23
  689. data/lib/fog/xenserver/models/compute/bonds.rb +0 -25
  690. data/lib/fog/xenserver/models/compute/console.rb +0 -29
  691. data/lib/fog/xenserver/models/compute/consoles.rb +0 -25
  692. data/lib/fog/xenserver/models/compute/crash_dump.rb +0 -19
  693. data/lib/fog/xenserver/models/compute/crash_dumps.rb +0 -25
  694. data/lib/fog/xenserver/models/compute/dr_task.rb +0 -17
  695. data/lib/fog/xenserver/models/compute/dr_tasks.rb +0 -25
  696. data/lib/fog/xenserver/models/compute/gpu_group.rb +0 -22
  697. data/lib/fog/xenserver/models/compute/gpu_groups.rb +0 -25
  698. data/lib/fog/xenserver/models/compute/guest_metrics.rb +0 -26
  699. data/lib/fog/xenserver/models/compute/host.rb +0 -156
  700. data/lib/fog/xenserver/models/compute/host_cpu.rb +0 -34
  701. data/lib/fog/xenserver/models/compute/host_crash_dump.rb +0 -20
  702. data/lib/fog/xenserver/models/compute/host_crash_dumps.rb +0 -25
  703. data/lib/fog/xenserver/models/compute/host_metrics.rb +0 -26
  704. data/lib/fog/xenserver/models/compute/host_patch.rb +0 -25
  705. data/lib/fog/xenserver/models/compute/host_patchs.rb +0 -25
  706. data/lib/fog/xenserver/models/compute/hosts.rb +0 -25
  707. data/lib/fog/xenserver/models/compute/network.rb +0 -93
  708. data/lib/fog/xenserver/models/compute/networks.rb +0 -29
  709. data/lib/fog/xenserver/models/compute/pbd.rb +0 -37
  710. data/lib/fog/xenserver/models/compute/pbds.rb +0 -29
  711. data/lib/fog/xenserver/models/compute/pci.rb +0 -22
  712. data/lib/fog/xenserver/models/compute/pcis.rb +0 -25
  713. data/lib/fog/xenserver/models/compute/pgpu.rb +0 -20
  714. data/lib/fog/xenserver/models/compute/pgpus.rb +0 -25
  715. data/lib/fog/xenserver/models/compute/pif.rb +0 -54
  716. data/lib/fog/xenserver/models/compute/pif_metrics.rb +0 -28
  717. data/lib/fog/xenserver/models/compute/pifs.rb +0 -29
  718. data/lib/fog/xenserver/models/compute/pifs_metrics.rb +0 -25
  719. data/lib/fog/xenserver/models/compute/pool.rb +0 -75
  720. data/lib/fog/xenserver/models/compute/pool_patch.rb +0 -24
  721. data/lib/fog/xenserver/models/compute/pool_patchs.rb +0 -25
  722. data/lib/fog/xenserver/models/compute/pools.rb +0 -29
  723. data/lib/fog/xenserver/models/compute/role.rb +0 -19
  724. data/lib/fog/xenserver/models/compute/roles.rb +0 -25
  725. data/lib/fog/xenserver/models/compute/server.rb +0 -251
  726. data/lib/fog/xenserver/models/compute/server_appliance.rb +0 -21
  727. data/lib/fog/xenserver/models/compute/server_appliances.rb +0 -25
  728. data/lib/fog/xenserver/models/compute/servers.rb +0 -64
  729. data/lib/fog/xenserver/models/compute/storage_manager.rb +0 -28
  730. data/lib/fog/xenserver/models/compute/storage_managers.rb +0 -25
  731. data/lib/fog/xenserver/models/compute/storage_repositories.rb +0 -27
  732. data/lib/fog/xenserver/models/compute/storage_repository.rb +0 -90
  733. data/lib/fog/xenserver/models/compute/tunnel.rb +0 -20
  734. data/lib/fog/xenserver/models/compute/tunnels.rb +0 -25
  735. data/lib/fog/xenserver/models/compute/vbd.rb +0 -88
  736. data/lib/fog/xenserver/models/compute/vbd_metrics.rb +0 -25
  737. data/lib/fog/xenserver/models/compute/vbds.rb +0 -29
  738. data/lib/fog/xenserver/models/compute/vdi.rb +0 -102
  739. data/lib/fog/xenserver/models/compute/vdis.rb +0 -25
  740. data/lib/fog/xenserver/models/compute/vif.rb +0 -56
  741. data/lib/fog/xenserver/models/compute/vifs.rb +0 -25
  742. data/lib/fog/xenserver/models/compute/vlan.rb +0 -78
  743. data/lib/fog/xenserver/models/compute/vlans.rb +0 -35
  744. data/lib/fog/xenserver/models/compute/vmpp.rb +0 -35
  745. data/lib/fog/xenserver/models/compute/vmpps.rb +0 -25
  746. data/lib/fog/xenserver/models/compute/vtpm.rb +0 -18
  747. data/lib/fog/xenserver/models/compute/vtpms.rb +0 -25
  748. data/lib/fog/xenserver/parser.rb +0 -34
  749. data/lib/fog/xenserver/parsers/get_hosts.rb +0 -16
  750. data/lib/fog/xenserver/parsers/get_networks.rb +0 -16
  751. data/lib/fog/xenserver/parsers/get_pools.rb +0 -16
  752. data/lib/fog/xenserver/parsers/get_records.rb +0 -16
  753. data/lib/fog/xenserver/parsers/get_storage_repositories.rb +0 -16
  754. data/lib/fog/xenserver/parsers/get_vbds.rb +0 -16
  755. data/lib/fog/xenserver/parsers/get_vifs.rb +0 -16
  756. data/lib/fog/xenserver/parsers/get_vms.rb +0 -16
  757. data/lib/fog/xenserver/requests/compute/clone_server.rb +0 -30
  758. data/lib/fog/xenserver/requests/compute/create_network.rb +0 -46
  759. data/lib/fog/xenserver/requests/compute/create_server.rb +0 -144
  760. data/lib/fog/xenserver/requests/compute/create_sr.rb +0 -88
  761. data/lib/fog/xenserver/requests/compute/create_vbd.rb +0 -43
  762. data/lib/fog/xenserver/requests/compute/create_vdi.rb +0 -57
  763. data/lib/fog/xenserver/requests/compute/create_vif.rb +0 -62
  764. data/lib/fog/xenserver/requests/compute/create_vlan.rb +0 -43
  765. data/lib/fog/xenserver/requests/compute/destroy_network.rb +0 -31
  766. data/lib/fog/xenserver/requests/compute/destroy_record.rb +0 -11
  767. data/lib/fog/xenserver/requests/compute/destroy_server.rb +0 -20
  768. data/lib/fog/xenserver/requests/compute/destroy_sr.rb +0 -28
  769. data/lib/fog/xenserver/requests/compute/destroy_vdi.rb +0 -20
  770. data/lib/fog/xenserver/requests/compute/destroy_vif.rb +0 -20
  771. data/lib/fog/xenserver/requests/compute/destroy_vlan.rb +0 -30
  772. data/lib/fog/xenserver/requests/compute/disable_host.rb +0 -23
  773. data/lib/fog/xenserver/requests/compute/eject_vbd.rb +0 -17
  774. data/lib/fog/xenserver/requests/compute/enable_host.rb +0 -22
  775. data/lib/fog/xenserver/requests/compute/get_record.rb +0 -31
  776. data/lib/fog/xenserver/requests/compute/get_records.rb +0 -24
  777. data/lib/fog/xenserver/requests/compute/insert_vbd.rb +0 -17
  778. data/lib/fog/xenserver/requests/compute/provision_server.rb +0 -17
  779. data/lib/fog/xenserver/requests/compute/reboot_host.rb +0 -17
  780. data/lib/fog/xenserver/requests/compute/reboot_server.rb +0 -17
  781. data/lib/fog/xenserver/requests/compute/scan_sr.rb +0 -17
  782. data/lib/fog/xenserver/requests/compute/set_affinity.rb +0 -19
  783. data/lib/fog/xenserver/requests/compute/set_attribute.rb +0 -19
  784. data/lib/fog/xenserver/requests/compute/shutdown_host.rb +0 -17
  785. data/lib/fog/xenserver/requests/compute/shutdown_server.rb +0 -17
  786. data/lib/fog/xenserver/requests/compute/snapshot_revert.rb +0 -24
  787. data/lib/fog/xenserver/requests/compute/snapshot_server.rb +0 -17
  788. data/lib/fog/xenserver/requests/compute/start_server.rb +0 -17
  789. data/lib/fog/xenserver/requests/compute/start_vm.rb +0 -19
  790. data/lib/fog/xenserver/requests/compute/unplug_pbd.rb +0 -20
  791. data/lib/fog/xenserver/requests/compute/unplug_vbd.rb +0 -25
  792. data/lib/fog/xenserver/utilities.rb +0 -8
  793. data/lib/fog/xenserver.rb +0 -1
  794. data/spec/fog/openstack/identity_v3/authv3_project.yml +0 -61
  795. data/spec/fog/openstack/identity_v3/idv2_unscoped_token_v3.yml +0 -467
  796. data/spec/fog/openstack/identity_v3/idv3.yml +0 -61
  797. data/tests/brightbox/compute/helper.rb +0 -1
  798. data/tests/brightbox/compute/schema.rb +0 -799
  799. data/tests/brightbox/compute_tests.rb +0 -101
  800. data/tests/brightbox/helper.rb +0 -1
  801. data/tests/brightbox/models/compute/account_tests.rb +0 -17
  802. data/tests/brightbox/models/compute/cloud_ip_tests.rb +0 -32
  803. data/tests/brightbox/models/compute/database_server_tests.rb +0 -78
  804. data/tests/brightbox/models/compute/database_snapshot_tests.rb +0 -26
  805. data/tests/brightbox/models/compute/database_type_tests.rb +0 -27
  806. data/tests/brightbox/models/compute/server_tests.rb +0 -19
  807. data/tests/brightbox/oauth2_tests.rb +0 -110
  808. data/tests/brightbox/requests/compute/account_tests.rb +0 -65
  809. data/tests/brightbox/requests/compute/api_client_tests.rb +0 -64
  810. data/tests/brightbox/requests/compute/application_test.rb +0 -63
  811. data/tests/brightbox/requests/compute/cloud_ip_tests.rb +0 -85
  812. data/tests/brightbox/requests/compute/collaboration_tests.rb +0 -39
  813. data/tests/brightbox/requests/compute/database_server_tests.rb +0 -54
  814. data/tests/brightbox/requests/compute/database_snapsnot_tests.rb +0 -47
  815. data/tests/brightbox/requests/compute/database_type_tests.rb +0 -17
  816. data/tests/brightbox/requests/compute/firewall_policy_tests.rb +0 -40
  817. data/tests/brightbox/requests/compute/firewall_rule_tests.rb +0 -43
  818. data/tests/brightbox/requests/compute/helper.rb +0 -41
  819. data/tests/brightbox/requests/compute/image_tests.rb +0 -60
  820. data/tests/brightbox/requests/compute/interface_tests.rb +0 -33
  821. data/tests/brightbox/requests/compute/load_balancer_tests.rb +0 -121
  822. data/tests/brightbox/requests/compute/server_group_tests.rb +0 -96
  823. data/tests/brightbox/requests/compute/server_tests.rb +0 -99
  824. data/tests/brightbox/requests/compute/server_type_tests.rb +0 -34
  825. data/tests/brightbox/requests/compute/user_collaboration_tests.rb +0 -67
  826. data/tests/brightbox/requests/compute/user_tests.rb +0 -38
  827. data/tests/brightbox/requests/compute/zone_tests.rb +0 -34
  828. data/tests/dynect/requests/dns/dns_tests.rb +0 -258
  829. data/tests/vsphere/compute_tests.rb +0 -53
  830. data/tests/vsphere/models/compute/server_tests.rb +0 -44
  831. data/tests/vsphere/models/compute/servers_tests.rb +0 -15
  832. data/tests/vsphere/requests/compute/current_time_tests.rb +0 -12
  833. data/tests/vsphere/requests/compute/get_network_tests.rb +0 -48
  834. data/tests/vsphere/requests/compute/list_clusters_tests.rb +0 -11
  835. data/tests/vsphere/requests/compute/list_virtual_machines_tests.rb +0 -38
  836. data/tests/vsphere/requests/compute/set_vm_customvalue_tests.rb +0 -20
  837. data/tests/vsphere/requests/compute/vm_clone_tests.rb +0 -50
  838. data/tests/vsphere/requests/compute/vm_config_vnc_tests.rb +0 -19
  839. data/tests/vsphere/requests/compute/vm_destroy_tests.rb +0 -17
  840. data/tests/vsphere/requests/compute/vm_migrate_tests.rb +0 -16
  841. data/tests/vsphere/requests/compute/vm_power_off_tests.rb +0 -26
  842. data/tests/vsphere/requests/compute/vm_power_on_tests.rb +0 -17
  843. data/tests/vsphere/requests/compute/vm_reboot_tests.rb +0 -26
  844. data/tests/vsphere/requests/compute/vm_reconfig_cpus_tests.rb +0 -19
  845. data/tests/vsphere/requests/compute/vm_reconfig_hardware_tests.rb +0 -19
  846. data/tests/vsphere/requests/compute/vm_reconfig_memory_tests.rb +0 -19
  847. data/tests/xenserver/README +0 -21
  848. data/tests/xenserver/compute_tests.rb +0 -51
  849. data/tests/xenserver/helper.rb +0 -36
  850. data/tests/xenserver/models/compute/console_test.rb +0 -35
  851. data/tests/xenserver/models/compute/consoles_test.rb +0 -19
  852. data/tests/xenserver/models/compute/host_cpu_tests.rb +0 -58
  853. data/tests/xenserver/models/compute/host_metrics_tests.rb +0 -48
  854. data/tests/xenserver/models/compute/host_tests.rb +0 -98
  855. data/tests/xenserver/models/compute/hosts_tests.rb +0 -22
  856. data/tests/xenserver/models/compute/network_tests.rb +0 -79
  857. data/tests/xenserver/models/compute/networks_tests.rb +0 -22
  858. data/tests/xenserver/models/compute/pbd_tests.rb +0 -76
  859. data/tests/xenserver/models/compute/pbds_tests.rb +0 -22
  860. data/tests/xenserver/models/compute/pif_tests.rb +0 -58
  861. data/tests/xenserver/models/compute/pifs_tests.rb +0 -22
  862. data/tests/xenserver/models/compute/pool_tests.rb +0 -56
  863. data/tests/xenserver/models/compute/pools_tests.rb +0 -30
  864. data/tests/xenserver/models/compute/server_tests.rb +0 -184
  865. data/tests/xenserver/models/compute/servers_tests.rb +0 -89
  866. data/tests/xenserver/models/compute/storage_repositories_tests.rb +0 -30
  867. data/tests/xenserver/models/compute/storage_repository_tests.rb +0 -114
  868. data/tests/xenserver/models/compute/vbd_tests.rb +0 -115
  869. data/tests/xenserver/models/compute/vbds_tests.rb +0 -22
  870. data/tests/xenserver/models/compute/vif_tests.rb +0 -53
  871. data/tests/xenserver/models/compute/vifs_tests.rb +0 -22
  872. data/tests/xenserver/models/compute/vlan_tests.rb +0 -76
  873. data/tests/xenserver/models/compute/vlans_tests.rb +0 -36
  874. data/tests/xenserver/requests/compute/clone_server_tests.rb +0 -32
  875. data/tests/xenserver/requests/compute/create_network_tests.rb +0 -20
  876. data/tests/xenserver/requests/compute/create_server_tests.rb +0 -129
  877. data/tests/xenserver/requests/compute/create_sr_tests.rb +0 -54
  878. data/tests/xenserver/requests/compute/create_vdi_tests.rb +0 -80
  879. data/tests/xenserver/requests/compute/create_vif_tests.rb +0 -88
  880. data/tests/xenserver/requests/compute/create_vlan_tests.rb +0 -36
  881. data/tests/xenserver/requests/compute/destroy_network_tests.rb +0 -13
  882. data/tests/xenserver/requests/compute/destroy_sr_tests.rb +0 -46
  883. data/tests/xenserver/requests/compute/destroy_vdi_tests.rb +0 -25
  884. data/tests/xenserver/requests/compute/destroy_vlan_tests.rb +0 -36
  885. data/tests/xenserver/requests/compute/disable_host_tests.rb +0 -16
  886. data/tests/xenserver/requests/compute/enable_host_tests.rb +0 -16
  887. data/tests/xenserver/requests/compute/get_record_tests.rb +0 -15
  888. data/tests/xenserver/requests/compute/set_attribute_tests.rb +0 -66
  889. data/tests/xenserver/requests/compute/unplug_pbd_tests.rb +0 -48
  890. data/tests/xenserver/xenserver_tests.rb +0 -33
@@ -1,296 +0,0 @@
1
- require 'fog/compute/models/server'
2
-
3
- module Fog
4
- module Compute
5
- class Vsphere
6
- class Server < Fog::Compute::Server
7
- extend Fog::Deprecation
8
- deprecate(:ipaddress, :public_ip_address)
9
-
10
- # This will be the instance uuid which is globally unique across
11
- # a vSphere deployment.
12
- identity :id
13
-
14
- # JJM REVISIT (Extend the model of a vmware server)
15
- # SEE: http://www.vmware.com/support/developer/vc-sdk/visdk41pubs/ApiReference/vim.VirtualMachine.html
16
- # (Take note of the See also section.)
17
- # In particular:
18
- # GuestInfo: information about the guest operating system
19
- # VirtualMachineConfigInfo: Access to the VMX file and configuration
20
-
21
- attribute :name
22
- # UUID may be the same from VM to VM if the user does not select (I copied it)
23
- attribute :uuid
24
- attribute :hostname
25
- attribute :operatingsystem
26
- attribute :public_ip_address, :aliases => 'ipaddress'
27
- attribute :power_state, :aliases => 'power'
28
- attribute :tools_state, :aliases => 'tools'
29
- attribute :tools_version
30
- attribute :mac_addresses, :aliases => 'macs'
31
- attribute :hypervisor, :aliases => 'host'
32
- attribute :connection_state
33
- attribute :mo_ref
34
- attribute :path
35
- attribute :memory_mb
36
- attribute :cpus
37
- attribute :corespersocket
38
- attribute :interfaces
39
- attribute :volumes
40
- attribute :customvalues
41
- attribute :overall_status, :aliases => 'status'
42
- attribute :cluster
43
- attribute :datacenter
44
- attribute :resource_pool
45
- attribute :instance_uuid # move this --> id
46
- attribute :guest_id
47
- attribute :hardware_version
48
- attribute :scsi_controller # this is the first scsi controller. Right now no more of them can be used.
49
- attribute :cpuHotAddEnabled
50
- attribute :memoryHotAddEnabled
51
- attribute :firmware
52
-
53
- def initialize(attributes={} )
54
- super defaults.merge(attributes)
55
- self.instance_uuid ||= id # TODO: remvoe instance_uuid as it can be replaced with simple id
56
- initialize_interfaces
57
- initialize_volumes
58
- initialize_customvalues
59
- initialize_scsi_controller
60
- end
61
-
62
- # Lazy Loaded Attributes
63
- [:datacenter, :cluster, :hypervisor, :resource_pool, :mac_addresses].each do |attr|
64
- define_method attr do
65
- attributes[attr] = attributes[attr].call if attributes[attr].is_a?(Proc)
66
- attributes[attr]
67
- end
68
- end
69
- # End Lazy Loaded Attributes
70
-
71
- def vm_reconfig_memory(options = {})
72
- requires :instance_uuid, :memory
73
- service.vm_reconfig_memory('instance_uuid' => instance_uuid, 'memory' => memory_mb)
74
- end
75
-
76
- def vm_reconfig_cpus(options = {})
77
- requires :instance_uuid, :cpus, :corespersocket
78
- service.vm_reconfig_cpus('instance_uuid' => instance_uuid, 'cpus' => cpus, 'corespersocket' => corespersocket)
79
- end
80
-
81
- def vm_reconfig_hardware(hardware_spec, options = {})
82
- requires :instance_uuid
83
- service.vm_reconfig_hardware('instance_uuid' => instance_uuid, 'hardware_spec' => hardware_spec)
84
- end
85
-
86
- def start(options = {})
87
- requires :instance_uuid
88
- service.vm_power_on('instance_uuid' => instance_uuid)
89
- end
90
-
91
- def stop(options = {})
92
- options = { :force => !tools_installed? || !tools_running? }.merge(options)
93
- requires :instance_uuid
94
- service.vm_power_off('instance_uuid' => instance_uuid, 'force' => options[:force])
95
- end
96
-
97
- def reboot(options = {})
98
- options = { :force => false }.merge(options)
99
- requires :instance_uuid
100
- service.vm_reboot('instance_uuid' => instance_uuid, 'force' => options[:force])
101
- end
102
-
103
- def destroy(options = {})
104
- requires :instance_uuid
105
- if ready?
106
- # need to turn it off before destroying
107
- stop(options)
108
- wait_for { !ready? }
109
- end
110
- service.vm_destroy('instance_uuid' => instance_uuid)
111
- end
112
-
113
- def migrate(options = {})
114
- options = { :priority => 'defaultPriority' }.merge(options)
115
- requires :instance_uuid
116
- service.vm_migrate('instance_uuid' => instance_uuid, 'priority' => options[:priority])
117
- end
118
-
119
- # Clone from a server object
120
- #
121
- # ==== Parameters
122
- # *<~Hash>:
123
- # * 'name'<~String> - *REQUIRED* Name of the _new_ VirtualMachine
124
- # * See more options in vm_clone request/compute/vm_clone.rb
125
- #
126
- def clone(options = {})
127
- requires :name, :datacenter, :path
128
-
129
- # Convert symbols to strings
130
- req_options = options.reduce({}) { |hsh, (k,v)| hsh[k.to_s] = v; hsh }
131
-
132
- # Give our path to the request
133
- req_options['template_path'] ="#{relative_path}/#{name}"
134
- req_options['datacenter'] = "#{datacenter}"
135
-
136
- # Perform the actual clone
137
- clone_results = service.vm_clone(req_options)
138
-
139
- # We need to assign the service, otherwise we can't reload the model
140
- # Create the new VM model. TODO This only works when "wait=true"
141
- new_vm = self.class.new(clone_results['new_vm'].merge(:service => self.service))
142
-
143
- # We need to assign the collection otherwise we
144
- # cannot reload the model.
145
- new_vm.collection = self.collection
146
-
147
- # Return the new VM model.
148
- new_vm
149
- end
150
-
151
- def ready?
152
- power_state == "poweredOn"
153
- end
154
-
155
- def tools_installed?
156
- tools_state != "toolsNotInstalled"
157
- end
158
-
159
- def tools_running?
160
- tools_state == "toolsOk"
161
- end
162
-
163
- # defines VNC attributes on the hypervisor
164
- def config_vnc(options = {})
165
- requires :instance_uuid
166
- service.vm_config_vnc(options.merge('instance_uuid' => instance_uuid))
167
- end
168
-
169
- # returns a hash of VNC attributes required for service
170
- def vnc
171
- requires :instance_uuid
172
- service.vm_get_vnc(instance_uuid)
173
- end
174
-
175
- def memory
176
- memory_mb * 1024 * 1024
177
- end
178
-
179
- def sockets
180
- cpus / corespersocket
181
- end
182
-
183
- def mac
184
- interfaces.first.mac unless interfaces.empty?
185
- end
186
-
187
- def interfaces
188
- attributes[:interfaces] ||= id.nil? ? [] : service.interfaces( :server_id => self.id )
189
- end
190
-
191
- def interface_ready? attrs
192
- (attrs.is_a? Hash and attrs[:blocking]) or attrs.is_a? Fog::Compute::Vsphere::Interface
193
- end
194
-
195
- def add_interface attrs
196
- Fog::Logger.deprecation("<server>.add_interface is deprecated. Call <server>.interfaces.create instead.")
197
-
198
- interfaces.create(attrs)
199
- end
200
-
201
- def update_interface attrs
202
- wait_for { not ready? } if interface_ready? attrs
203
- service.update_vm_interface(id, attrs)
204
- end
205
-
206
- def destroy_interface attrs
207
- Fog::Logger.deprecation("<server>.destroy_vm_interface is deprecated. Call <server>.interfaces.get(:key => <nic_key>).destroy instead.")
208
-
209
- interfaces.get(attrs[:key] || attrs['key']).destroy
210
- end
211
-
212
- def volumes
213
- attributes[:volumes] ||= id.nil? ? [] : service.volumes(:server_id => self.id)
214
- end
215
-
216
- def customvalues
217
- attributes[:customvalues] ||= id.nil? ? [] : service.customvalues( :vm => self )
218
- end
219
-
220
- def scsi_controller
221
- self.attributes[:scsi_controller] ||= service.get_vm_first_scsi_controller(id)
222
- end
223
-
224
- def folder
225
- return nil unless datacenter and path
226
- attributes[:folder] ||= service.folders(:datacenter => datacenter, :type => :vm).get(path)
227
- end
228
-
229
- def save
230
- requires :name, :cluster, :datacenter
231
- if persisted?
232
- raise "update is not supported yet"
233
- # service.update_vm(attributes)
234
- else
235
- self.id = service.create_vm(attributes)
236
- end
237
- reload
238
- end
239
-
240
- def new?
241
- id.nil?
242
- end
243
-
244
- def reload
245
- # reload does not re-read assoiciated attributes, so we clear it manually
246
- [:interfaces, :volumes].each do |attr|
247
- self.attributes.delete(attr)
248
- end
249
- super
250
- end
251
-
252
- def relative_path
253
- requires :path, :datacenter
254
-
255
- (path.split('/').reject {|e| e.empty?} - ["Datacenters", datacenter, "vm"]).join("/")
256
- end
257
-
258
- private
259
-
260
- def defaults
261
- {
262
- :cpus => 1,
263
- # :corespersocket => 1,
264
- :memory_mb => 512,
265
- :guest_id => 'otherGuest',
266
- :path => '/'
267
- }
268
- end
269
-
270
- def initialize_interfaces
271
- if attributes[:interfaces] and attributes[:interfaces].is_a?(Array)
272
- self.attributes[:interfaces].map! { |nic| nic.is_a?(Hash) ? service.interfaces.new(nic) : nic }
273
- end
274
- end
275
-
276
- def initialize_volumes
277
- if attributes[:volumes] and attributes[:volumes].is_a?(Array)
278
- self.attributes[:volumes].map! { |vol| vol.is_a?(Hash) ? service.volumes.new(vol) : vol }
279
- end
280
- end
281
-
282
- def initialize_customvalues
283
- if attributes[:customvalues] and attributes[:customvalues].is_a?(Array)
284
- self.attributes[:customvalues].map { |cfield| cfield.is_a?(Hash) ? service.customvalue.new(cfield) : cfield}
285
- end
286
- end
287
-
288
- def initialize_scsi_controller
289
- if attributes[:scsi_controller] and attributes[:scsi_controller].is_a?(Hash)
290
- Fog::Compute::Vsphere::SCSIController.new(self.attributes[:scsi_controller])
291
- end
292
- end
293
- end
294
- end
295
- end
296
- end
@@ -1,37 +0,0 @@
1
- require 'fog/core/collection'
2
- require 'fog/vsphere/models/compute/server'
3
-
4
- module Fog
5
- module Compute
6
- class Vsphere
7
- class Servers < Fog::Collection
8
- model Fog::Compute::Vsphere::Server
9
- attr_accessor :datacenter
10
- attr_accessor :network
11
- attr_accessor :cluster
12
- attr_accessor :resource_pool
13
- attr_accessor :folder
14
-
15
- # 'folder' => '/Datacenters/vm/Jeff/Templates' will be MUCH faster.
16
- # than simply listing everything.
17
- def all(filters = { })
18
- f = {
19
- :datacenter => datacenter,
20
- :cluster => cluster,
21
- :network => network,
22
- :resource_pool => resource_pool,
23
- :folder => folder
24
- }.merge(filters)
25
-
26
- load service.list_virtual_machines(f)
27
- end
28
-
29
- def get(id, datacenter = nil)
30
- new service.get_virtual_machine id, datacenter
31
- rescue Fog::Compute::Vsphere::NotFound
32
- nil
33
- end
34
- end
35
- end
36
- end
37
- end
@@ -1,36 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Vsphere
4
- class Servertype < Fog::Model
5
- identity :id
6
-
7
- attribute :family
8
- attribute :fullname
9
- attribute :datacenter
10
- attribute :interfacetypes
11
-
12
- def initialize(attributes={} )
13
- super defaults.merge(attributes)
14
- end
15
-
16
- def to_s
17
- id
18
- end
19
-
20
- def interfacetypes filters={}
21
- attributes[:interfacetypes] ||= service.interfacetypes({ :datacenter => datacenter, :servertype => self }.merge(filters))
22
- end
23
-
24
- private
25
-
26
- def defaults
27
- {
28
- :id=>"otherGuest64",
29
- :family=>"otherGuestFamily",
30
- :interfacetypes => nil,
31
- }
32
- end
33
- end
34
- end
35
- end
36
- end
@@ -1,24 +0,0 @@
1
- require 'fog/core/collection'
2
- require 'fog/vsphere/models/compute/servertype'
3
-
4
- module Fog
5
- module Compute
6
- class Vsphere
7
- class Servertypes < Fog::Collection
8
- model Fog::Compute::Vsphere::Servertype
9
- attr_accessor :datacenter, :id, :fullname
10
-
11
- def all(filters = { })
12
- load service.list_server_types(filters.merge({:datacenter => datacenter}))
13
- end
14
-
15
- def get(id)
16
- requires :datacenter
17
- new service.get_server_type(id, datacenter)
18
- rescue Fog::Compute::Vsphere::NotFound
19
- nil
20
- end
21
- end
22
- end
23
- end
24
- end
@@ -1,11 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Vsphere
4
- class Template < Fog::Model
5
- identity :id
6
- attribute :name
7
- attribute :uuid
8
- end
9
- end
10
- end
11
- end
@@ -1,20 +0,0 @@
1
- require 'fog/core/collection'
2
- require 'fog/vsphere/models/compute/template'
3
-
4
- module Fog
5
- module Compute
6
- class Vsphere
7
- class Templates < Fog::Collection
8
- model Fog::Compute::Vsphere::Template
9
-
10
- def all(filters = {})
11
- load service.list_templates(filters)
12
- end
13
-
14
- def get(id)
15
- new service.get_template(id)
16
- end
17
- end
18
- end
19
- end
20
- end
@@ -1,99 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Vsphere
4
- class Volume < Fog::Model
5
- DISK_SIZE_TO_GB = 1048576
6
- identity :id
7
-
8
- attribute :datastore
9
- attribute :mode
10
- attribute :size
11
- attribute :thin
12
- attribute :eager_zero
13
- attribute :name
14
- attribute :filename
15
- attribute :size_gb
16
- attribute :key
17
- attribute :unit_number
18
- attribute :server_id
19
-
20
- def initialize(attributes={} )
21
- # Assign server first to prevent race condition with persisted?
22
- self.server_id = attributes.delete(:server_id)
23
-
24
- super defaults.merge(attributes)
25
- end
26
-
27
- def size_gb
28
- attributes[:size_gb] ||= attributes[:size].to_i / DISK_SIZE_TO_GB if attributes[:size]
29
- end
30
-
31
- def size_gb= s
32
- attributes[:size] = s.to_i * DISK_SIZE_TO_GB if s
33
- end
34
-
35
- def to_s
36
- name
37
- end
38
-
39
- def destroy
40
- requires :server_id, :key, :unit_number
41
-
42
- service.destroy_vm_volume(self)
43
- true
44
- end
45
-
46
- def save
47
- raise Fog::Errors::Error.new('Resaving an existing object may create a duplicate') if persisted?
48
- requires :server_id, :size, :datastore
49
-
50
- if unit_number.nil?
51
- used_unit_numbers = server.volumes.map { |volume| volume.unit_number }
52
- max_unit_number = used_unit_numbers.max
53
-
54
- if max_unit_number > server.volumes.size
55
- # If the max ID exceeds the number of volumes, there must be a hole in the range. Find a hole and use it.
56
- self.unit_number = max_unit_number.times.to_a.find { |i| used_unit_numbers.exclude?(i) }
57
- else
58
- self.unit_number = max_unit_number + 1
59
- end
60
- else
61
- if server.volumes.any? { |volume| volume.unit_number == self.unit_number && volume.id != self.id }
62
- raise "A volume already exists with that unit_number, so we can't save the new volume"
63
- end
64
- end
65
-
66
- data = service.add_vm_volume(self)
67
-
68
- if data['task_state'] == 'success'
69
- # We have to query vSphere to get the volume attributes since the task handle doesn't include that info.
70
- created = server.volumes.all.find { |volume| volume.unit_number == self.unit_number }
71
-
72
- self.id = created.id
73
- self.key = created.key
74
- self.filename = created.filename
75
-
76
- true
77
- else
78
- false
79
- end
80
- end
81
-
82
- def server
83
- requires :server_id
84
- service.servers.get(server_id)
85
- end
86
-
87
- private
88
-
89
- def defaults
90
- {
91
- :thin => true,
92
- :name => "Hard disk",
93
- :mode => "persistent"
94
- }
95
- end
96
- end
97
- end
98
- end
99
- end
@@ -1,54 +0,0 @@
1
- require 'fog/core/collection'
2
- require 'fog/vsphere/models/compute/volume'
3
-
4
- module Fog
5
- module Compute
6
- class Vsphere
7
- class Volumes < Fog::Collection
8
- attribute :server_id
9
-
10
- model Fog::Compute::Vsphere::Volume
11
-
12
- def all(filters = {})
13
- requires :server_id
14
-
15
- case server
16
- when Fog::Compute::Vsphere::Server
17
- load service.list_vm_volumes(server.id)
18
- when Fog::Compute::Vsphere::Template
19
- load service.list_template_volumes(server.id)
20
- else
21
- raise 'volumes should have vm or template'
22
- end
23
-
24
- self.each { |volume| volume.server_id = server.id }
25
- self
26
- end
27
-
28
- def get(id)
29
- new service.get_volume(id)
30
- end
31
-
32
- def new(attributes = {})
33
- if server_id
34
- # Default to the root volume datastore if one is not configured.
35
- datastore = ! attributes.key?(:datastore) && self.any? ? self.first.datastore : nil
36
-
37
- super({ :server_id => server_id, :datastore => datastore }.merge!(attributes))
38
- else
39
- super
40
- end
41
- end
42
-
43
- def server
44
- return nil if server_id.nil?
45
- service.servers.get(server_id)
46
- end
47
-
48
- def server=(new_server)
49
- server_id = new_server.id
50
- end
51
- end
52
- end
53
- end
54
- end
@@ -1,65 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Vsphere
4
- class Real
5
- def cloudinit_to_customspec(user_data)
6
- raise ArgumentError, "user_data can't be nil" if user_data.nil?
7
- custom_spec = { 'customization_spec' => Hash.new }
8
- user_data = YAML.load(user_data)
9
- # https://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.wssdk.apiref.doc/vim.vm.customization.Specification.html
10
- # encryptionKey expects an array
11
- # globalIPSettings expects a hash, REQUIRED
12
- # identity expects an hash, REQUIRED
13
- # nicSettingMap expects an array
14
- # options expects an hash
15
-
16
- custom_spec['encryptionKey'] = user_data['encryptionKey'] if user_data.key?('encryptionKey')
17
- custom_spec['globalIPSettings'] = user_data['globalIPSettings'] if user_data.key?('globalIPSettings')
18
- custom_spec['identity'] = user_data['identity'] if user_data.key?('identity')
19
- custom_spec['nicSettingMap'] = user_data['nicSettingMap'] if user_data.key?('nicSettingMap')
20
- custom_spec['options'] = user_data['options'] if user_data.key?('options')
21
-
22
- # for backwards compatability
23
- # hostname expects a string, REQUIRED
24
- # netmask expects a string
25
- # dns expects an array
26
- # gateway expects an array
27
- # domain expects a string, REQUIRED
28
- # domainsuffixlist expects an array, REQUIRED
29
- # timezone expects a string, for example Europe/Copenhagen, REQUIRED
30
- custom_spec['hostname'] = user_data['hostname'] if user_data.key?('hostname')
31
- custom_spec['ipsettings'] = { 'ip' => user_data['ip'] } if user_data.key?('ip')
32
- custom_spec['ipsettings']['subnetMask'] = user_data['netmask'] if user_data.key?('netmask')
33
- custom_spec['ipsettings']['dnsServerList'] = user_data['dns'] if user_data.key?('dns')
34
- custom_spec['ipsettings']['gateway'] = user_data['gateway'] if user_data.key?('gateway')
35
- custom_spec['domain'] = user_data['domain'] if user_data.key?('domain')
36
- custom_spec['dnsSuffixList'] = user_data['domainsuffixlist'] if user_data.key?('domainsuffixlist')
37
- custom_spec['time_zone'] = user_data['timezone'] if user_data.key?('timezone')
38
- custom_spec
39
- end
40
- end
41
-
42
- class Mock
43
- def cloudinit_to_customspec(user_data)
44
- raise ArgumentError, "user_data can't be nil" if user_data.nil?
45
- custom_spec = { 'customization_spec' => Hash.new }
46
- user_data = YAML.load(user_data)
47
- custom_spec['encryptionKey'] = user_data['encryptionKey'] if user_data.key?('encryptionKey')
48
- custom_spec['globalIPSettings'] = user_data['globalIPSettings'] if user_data.key?('globalIPSettings')
49
- custom_spec['identity'] = user_data['identity'] if user_data.key?('identity')
50
- custom_spec['nicSettingMap'] = user_data['nicSettingMap'] if user_data.key?('nicSettingMap')
51
- custom_spec['options'] = user_data['options'] if user_data.key?('options')
52
- custom_spec['hostname'] = user_data['hostname'] if user_data.key?('hostname')
53
- custom_spec['ipsettings'] = { 'ip' => user_data['ip'] } if user_data.key?('ip')
54
- custom_spec['ipsettings']['subnetMask'] = user_data['netmask'] if user_data.key?('netmask')
55
- custom_spec['ipsettings']['dnsServerList'] = user_data['dns'] if user_data.key?('dns')
56
- custom_spec['ipsettings']['gateway'] = user_data['gateway'] if user_data.key?('gateway')
57
- custom_spec['domain'] = user_data['domain'] if user_data.key?('domain')
58
- custom_spec['dnsSuffixList'] = user_data['domainsuffixlist'] if user_data.key?('domainsuffixlist')
59
- custom_spec['time_zone'] = user_data['timezone'] if user_data.key?('timezone')
60
- custom_spec
61
- end
62
- end
63
- end
64
- end
65
- end
@@ -1,22 +0,0 @@
1
- module Fog
2
- module Compute
3
- class Vsphere
4
- class Real
5
- def create_folder(datacenter, path, name)
6
- #Path cannot be nil but it can be an empty string
7
- raise ArgumentError, "Path cannot be nil" if path.nil?
8
-
9
- parent_folder = get_raw_vmfolder(path, datacenter)
10
- begin
11
- new_folder = parent_folder.CreateFolder(:name => name)
12
- # output is cleaned up to return the new path
13
- # new path will be path/name, example: "Production/Pool1"
14
- new_folder.path.reject { |a| a.first.class == "Folder" }.map { |a| a.first.name }.join("/").sub(/^\/?Datacenters\/#{datacenter}\/vm\/?/, '')
15
- rescue => e
16
- raise e, "failed to create folder: #{e}"
17
- end
18
- end
19
- end
20
- end
21
- end
22
- end