fog-ovirt 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop_todo.yml +1 -1
  3. data/fog-ovirt.gemspec +1 -0
  4. data/lib/fog/ovirt/compute/v3.rb +1 -1
  5. data/lib/fog/ovirt/compute/v4.rb +163 -0
  6. data/lib/fog/ovirt/compute.rb +32 -11
  7. data/lib/fog/ovirt/requests/compute/v4/add_interface.rb +41 -0
  8. data/lib/fog/ovirt/requests/compute/v4/add_volume.rb +54 -0
  9. data/lib/fog/ovirt/requests/compute/v4/create_vm.rb +62 -0
  10. data/lib/fog/ovirt/requests/compute/v4/datacenters.rb +22 -0
  11. data/lib/fog/ovirt/requests/compute/v4/destroy_interface.rb +24 -0
  12. data/lib/fog/ovirt/requests/compute/v4/destroy_vm.rb +23 -0
  13. data/lib/fog/ovirt/requests/compute/v4/destroy_volume.rb +25 -0
  14. data/lib/fog/ovirt/requests/compute/v4/get_api_version.rb +18 -0
  15. data/lib/fog/ovirt/requests/compute/v4/get_cluster.rb +19 -0
  16. data/lib/fog/ovirt/requests/compute/v4/get_instance_type.rb +19 -0
  17. data/lib/fog/ovirt/requests/compute/v4/get_quota.rb +20 -0
  18. data/lib/fog/ovirt/requests/compute/v4/get_template.rb +19 -0
  19. data/lib/fog/ovirt/requests/compute/v4/get_virtual_machine.rb +19 -0
  20. data/lib/fog/ovirt/requests/compute/v4/list_clusters.rb +21 -0
  21. data/lib/fog/ovirt/requests/compute/v4/list_instance_types.rb +21 -0
  22. data/lib/fog/ovirt/requests/compute/v4/list_networks.rb +18 -0
  23. data/lib/fog/ovirt/requests/compute/v4/list_operating_systems.rb +21 -0
  24. data/lib/fog/ovirt/requests/compute/v4/list_quotas.rb +22 -0
  25. data/lib/fog/ovirt/requests/compute/v4/list_template_interfaces.rb +21 -0
  26. data/lib/fog/ovirt/requests/compute/v4/list_template_volumes.rb +27 -0
  27. data/lib/fog/ovirt/requests/compute/v4/list_templates.rb +21 -0
  28. data/lib/fog/ovirt/requests/compute/v4/list_virtual_machines.rb +28 -0
  29. data/lib/fog/ovirt/requests/compute/v4/list_vm_interfaces.rb +21 -0
  30. data/lib/fog/ovirt/requests/compute/v4/list_vm_volumes.rb +30 -0
  31. data/lib/fog/ovirt/requests/compute/v4/list_volumes.rb +21 -0
  32. data/lib/fog/ovirt/requests/compute/v4/mock_files/affinitygroup.xml +8 -0
  33. data/lib/fog/ovirt/requests/compute/v4/mock_files/affinitygroup_vms.xml +9 -0
  34. data/lib/fog/ovirt/requests/compute/v4/mock_files/affinitygroups.xml +17 -0
  35. data/lib/fog/ovirt/requests/compute/v4/mock_files/cluster.xml +27 -0
  36. data/lib/fog/ovirt/requests/compute/v4/mock_files/clusters.xml +53 -0
  37. data/lib/fog/ovirt/requests/compute/v4/mock_files/data_centers.xml +21 -0
  38. data/lib/fog/ovirt/requests/compute/v4/mock_files/disks.xml +54 -0
  39. data/lib/fog/ovirt/requests/compute/v4/mock_files/instance_type.xml +50 -0
  40. data/lib/fog/ovirt/requests/compute/v4/mock_files/instance_types.xml +233 -0
  41. data/lib/fog/ovirt/requests/compute/v4/mock_files/nics.xml +12 -0
  42. data/lib/fog/ovirt/requests/compute/v4/mock_files/operating_systems.xml +10 -0
  43. data/lib/fog/ovirt/requests/compute/v4/mock_files/quotas.xml +7 -0
  44. data/lib/fog/ovirt/requests/compute/v4/mock_files/storage_domains.xml +34 -0
  45. data/lib/fog/ovirt/requests/compute/v4/mock_files/template.xml +45 -0
  46. data/lib/fog/ovirt/requests/compute/v4/mock_files/templates.xml +128 -0
  47. data/lib/fog/ovirt/requests/compute/v4/mock_files/vm.xml +58 -0
  48. data/lib/fog/ovirt/requests/compute/v4/mock_files/vms.xml +170 -0
  49. data/lib/fog/ovirt/requests/compute/v4/mock_files/volumes.xml +36 -0
  50. data/lib/fog/ovirt/requests/compute/v4/storage_domains.rb +27 -0
  51. data/lib/fog/ovirt/requests/compute/v4/update_interface.rb +35 -0
  52. data/lib/fog/ovirt/requests/compute/v4/update_volume.rb +36 -0
  53. data/lib/fog/ovirt/requests/compute/v4/vm_action.rb +26 -0
  54. data/lib/fog/ovirt/requests/compute/v4/vm_ticket.rb +19 -0
  55. data/lib/fog/ovirt/version.rb +1 -1
  56. data/tests/ovirt/requests/compute/{client_tests.rb → v3/client_tests.rb} +0 -0
  57. data/tests/ovirt/requests/compute/{create_vm_tests.rb → v3/create_vm_tests.rb} +0 -0
  58. data/tests/ovirt/requests/compute/{destroy_vm_tests.rb → v3/destroy_vm_tests.rb} +0 -0
  59. data/tests/ovirt/requests/compute/{list_datacenters_tests.rb → v3/list_datacenters_tests.rb} +0 -0
  60. data/tests/ovirt/requests/compute/{list_quotas_tests.rb → v3/list_quotas_tests.rb} +0 -0
  61. data/tests/ovirt/requests/compute/{list_storage_domains_tests.rb → v3/list_storage_domains_tests.rb} +0 -0
  62. data/tests/ovirt/requests/compute/{update_vm_tests.rb → v3/update_vm_tests.rb} +0 -0
  63. data/tests/ovirt/requests/compute/{update_volume_tests.rb → v3/update_volume_tests.rb} +0 -0
  64. data/tests/ovirt/requests/compute/v4/client_tests.rb +31 -0
  65. data/tests/ovirt/requests/compute/v4/create_vm_tests.rb +17 -0
  66. data/tests/ovirt/requests/compute/v4/destroy_vm_tests.rb +16 -0
  67. data/tests/ovirt/requests/compute/v4/list_datacenters_tests.rb +11 -0
  68. data/tests/ovirt/requests/compute/v4/list_quotas_tests.rb +10 -0
  69. data/tests/ovirt/requests/compute/v4/list_storage_domains_tests.rb +11 -0
  70. data/tests/ovirt/requests/compute/v4/update_volume_tests.rb +17 -0
  71. metadata +96 -19
@@ -0,0 +1,21 @@
1
+ module Fog
2
+ module Compute
3
+ class Ovirt
4
+ class V4
5
+ class Real
6
+ def list_clusters(filters = {})
7
+ client.system_service.clusters_service.list(filters).map { |ovirt_obj| ovirt_attrs ovirt_obj }
8
+ end
9
+ end
10
+ class Mock
11
+ def list_clusters(_filters = {})
12
+ xml = read_xml "clusters.xml"
13
+ Nokogiri::XML(xml).xpath("/clusters/cluster").map do |cl|
14
+ ovirt_attrs OvirtSDK4::Reader.read(cl.to_s)
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ module Fog
2
+ module Compute
3
+ class Ovirt
4
+ class V4
5
+ class Real
6
+ def list_instance_types(filters = {})
7
+ client.system_service.instance_types_service.list(filters).map { |ovirt_obj| ovirt_attrs ovirt_obj }
8
+ end
9
+ end
10
+ class Mock
11
+ def list_instance_types(_filters = {})
12
+ xml = read_xml "instance_types.xml"
13
+ Nokogiri::XML(xml).xpath("/instance_types/instance_type").map do |t|
14
+ ovirt_attrs OvirtSDK4::Reader.read(t.to_s)
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,18 @@
1
+ module Fog
2
+ module Compute
3
+ class Ovirt
4
+ class V4
5
+ class Real
6
+ def list_networks(cluster_id)
7
+ client.system_service.clusters_service.cluster_service(cluster_id).networks_service.list
8
+ end
9
+ end
10
+ class Mock
11
+ def list_networks(_cluster_id)
12
+ []
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,21 @@
1
+ module Fog
2
+ module Compute
3
+ class Ovirt
4
+ class V4
5
+ class Real
6
+ def list_operating_systems
7
+ client.system_service.operating_systems_service.list.map { |ovirt_obj| ovirt_attrs ovirt_obj }
8
+ end
9
+ end
10
+ class Mock
11
+ def list_operating_systems
12
+ xml = read_xml "operating_systems.xml"
13
+ Nokogiri::XML(xml).xpath("/operating_systems/operating_system").map do |os|
14
+ ovirt_attrs OvirtSDK4::Reader.read(os.to_s)
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,22 @@
1
+ module Fog
2
+ module Compute
3
+ class Ovirt
4
+ class V4
5
+ class Real
6
+ def list_quotas(filters = {})
7
+ data_center = client.system_service.data_centers_service.data_center_service(datacenter)
8
+ data_center.quotas_service.list(filters).map { |ovirt_obj| ovirt_attrs ovirt_obj }
9
+ end
10
+ end
11
+ class Mock
12
+ def list_quotas(_filters = {})
13
+ xml = read_xml "quotas.xml"
14
+ Nokogiri::XML(xml).xpath("/quotas/quota").map do |q|
15
+ ovirt_attrs OvirtSDK4::Reader.read(q.to_s)
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,21 @@
1
+ module Fog
2
+ module Compute
3
+ class Ovirt
4
+ class V4
5
+ class Real
6
+ def list_template_interfaces(vm_id)
7
+ client.system_service.templates_service.template_service(vm_id).nics_service.list.map { |ovirt_obj| ovirt_attrs ovirt_obj }
8
+ end
9
+ end
10
+ class Mock
11
+ def list_template_interfaces(_vm_id)
12
+ xml = read_xml "nics.xml"
13
+ Nokogiri::XML(xml).xpath("/nics/nic").map do |nic|
14
+ ovirt_attrs OvirtSDK4::Reader.read(nic.to_s)
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,27 @@
1
+ module Fog
2
+ module Compute
3
+ class Ovirt
4
+ class V4
5
+ class Real
6
+ def list_template_volumes(template_id)
7
+ template = client.system_service.templates_service.template_service(template_id).get
8
+
9
+ attachments = client.follow_link(template.disk_attachments)
10
+
11
+ attachments.map do |attachment|
12
+ ovirt_attrs client.follow_link(attachment.disk)
13
+ end
14
+ end
15
+ end
16
+ class Mock
17
+ def list_template_volumes(_template_id)
18
+ xml = read_xml "volumes.xml"
19
+ Nokogiri::XML(xml).xpath("/disks/disk").map do |vol|
20
+ ovirt_attrs OvirtSDK4::Reader.read(vol.to_s)
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,21 @@
1
+ module Fog
2
+ module Compute
3
+ class Ovirt
4
+ class V4
5
+ class Real
6
+ def list_templates(filters = {})
7
+ client.system_service.templates_service.list(filters).map { |ovirt_obj| ovirt_attrs ovirt_obj }
8
+ end
9
+ end
10
+ class Mock
11
+ def list_templates(_filters = {})
12
+ xml = read_xml "templates.xml"
13
+ Nokogiri::XML(xml).xpath("/templates/template").map do |t|
14
+ ovirt_attrs OvirtSDK4::Reader.read(t.to_s)
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,28 @@
1
+ module Fog
2
+ module Compute
3
+ class Ovirt
4
+ class V4
5
+ class Real
6
+ def list_virtual_machines(filters = {})
7
+ filters = filters.dup
8
+ page = filters.delete(:page)
9
+ without_details = filters.delete(:without_details)
10
+
11
+ filters[:all_content] = true unless without_details
12
+ filters[:search] ||= ""
13
+ filters[:search] += " page #{page}"
14
+ client.system_service.vms_service.list(filters).map { |ovirt_obj| ovirt_attrs ovirt_obj }
15
+ end
16
+ end
17
+ class Mock
18
+ def list_virtual_machines(_filters = {})
19
+ xml = read_xml "vms.xml"
20
+ Nokogiri::XML(xml).xpath("/vms/vm").map do |vm|
21
+ ovirt_attrs OvirtSDK4::Reader.read(vm.to_s)
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,21 @@
1
+ module Fog
2
+ module Compute
3
+ class Ovirt
4
+ class V4
5
+ class Real
6
+ def list_vm_interfaces(vm_id)
7
+ client.system_service.vms_service.vm_service(vm_id).nics_service.list.map { |ovirt_obj| ovirt_attrs ovirt_obj }
8
+ end
9
+ end
10
+ class Mock
11
+ def list_vm_interfaces(_vm_id)
12
+ xml = read_xml "nics.xml"
13
+ Nokogiri::XML(xml).xpath("/nics/nic").map do |nic|
14
+ ovirt_attrs OvirtSDK4::Reader.read(nic.to_s)
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,30 @@
1
+ module Fog
2
+ module Compute
3
+ class Ovirt
4
+ class V4
5
+ class Real
6
+ def list_vm_volumes(vm_id)
7
+ # disk_attachments_service = client.system_service.vms_service.vm_service(vm_id).disk_attachments_service
8
+ # disk_attachments_service.list.map {|ovirt_obj| ovirt_attrs client.system_service.disks_service.disk_service(ovirt_obj.id).get}
9
+
10
+ vm = client.system_service.vms_service.vm_service(vm_id).get
11
+
12
+ attachments = client.follow_link(vm.disk_attachments)
13
+
14
+ attachments.map do |attachment|
15
+ ovirt_attrs client.follow_link(attachment.disk)
16
+ end
17
+ end
18
+ end
19
+ class Mock
20
+ def list_vm_volumes(_vm_id)
21
+ xml = read_xml "volumes.xml"
22
+ Nokogiri::XML(xml).xpath("/disks/disk").map do |vol|
23
+ ovirt_attrs OvirtSDK4::Reader.read(vol.to_s)
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,21 @@
1
+ module Fog
2
+ module Compute
3
+ class Ovirt
4
+ class V4
5
+ class Real
6
+ def list_volumes
7
+ client.system_service.disks_service.list.map { |ovirt_obj| ovirt_attrs ovirt_obj }
8
+ end
9
+ end
10
+ class Mock
11
+ def list_volumes
12
+ xml = read_xml "disks.xml"
13
+ Nokogiri::XML(xml).xpath("/disks/disk").map do |vol|
14
+ ovirt_attrs OvirtSDK4::Reader.read(vol.to_s)
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2
+ <affinity_group href="/api/clusters/a240aac1-d03a-4c69-923e-a295200539fa/affinitygroups/9aaec56b-e24d-4fce-82a1-21a7b642ab0f" id="9aaec56b-e24d-4fce-82a1-21a7b642ab0f">
3
+ <name>test1_ag</name>
4
+ <link href="/api/clusters/a240aac1-d03a-4c69-923e-a295200539fa/affinitygroups/9aaec56b-e24d-4fce-82a1-21a7b642ab0f/vms" rel="vms"/>
5
+ <cluster href="/api/clusters/a240aac1-d03a-4c69-923e-a295200539fa" id="a240aac1-d03a-4c69-923e-a295200539fa"/>
6
+ <positive>true</positive>
7
+ <enforcing>false</enforcing>
8
+ </affinity_group>
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2
+ <vms>
3
+ <vm href="/api/vms/5ee86332-7b19-465b-8801-2a12ed0d6c1b" id="5ee86332-7b19-465b-8801-2a12ed0d6c1b">
4
+ <name>test-vm1</name>
5
+ </vm>
6
+ <vm href="/api/vms/349764bb-eba3-4466-abef-f18f4c40c9f1" id="349764bb-eba3-4466-abef-f18f4c40c9f1">
7
+ <name>fosdem</name>
8
+ </vm>
9
+ </vms>
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2
+ <affinity_groups>
3
+ <affinity_group href="/api/clusters/a240aac1-d03a-4c69-923e-a295200539fa/affinitygroups/ff73a83f-10b2-44ae-8c98-a29b13ae0c19" id="ff73a83f-10b2-44ae-8c98-a29b13ae0c19">
4
+ <name>test2_ag</name>
5
+ <link href="/api/clusters/a240aac1-d03a-4c69-923e-a295200539fa/affinitygroups/ff73a83f-10b2-44ae-8c98-a29b13ae0c19/vms" rel="vms"/>
6
+ <cluster href="/api/clusters/a240aac1-d03a-4c69-923e-a295200539fa" id="a240aac1-d03a-4c69-923e-a295200539fa"/>
7
+ <positive>true</positive>
8
+ <enforcing>true</enforcing>
9
+ </affinity_group>
10
+ <affinity_group href="/api/clusters/a240aac1-d03a-4c69-923e-a295200539fa/affinitygroups/9aaec56b-e24d-4fce-82a1-21a7b642ab0f" id="9aaec56b-e24d-4fce-82a1-21a7b642ab0f">
11
+ <name>test1_ag</name>
12
+ <link href="/api/clusters/a240aac1-d03a-4c69-923e-a295200539fa/affinitygroups/9aaec56b-e24d-4fce-82a1-21a7b642ab0f/vms" rel="vms"/>
13
+ <cluster href="/api/clusters/a240aac1-d03a-4c69-923e-a295200539fa" id="a240aac1-d03a-4c69-923e-a295200539fa"/>
14
+ <positive>true</positive>
15
+ <enforcing>false</enforcing>
16
+ </affinity_group>
17
+ </affinity_groups>
@@ -0,0 +1,27 @@
1
+ <clusters>
2
+ <cluster href="/api/clusters/9ce445e8-4c03-11e1-b3c8-5254009970cc" id="9ce445e8-4c03-11e1-b3c8-5254009970cc">
3
+ <name>cluster1</name>
4
+ <link href="/api/clusters/9ce445e8-4c03-11e1-b3c8-5254009970cc/networks" rel="networks"/>
5
+ <link href="/api/clusters/9ce445e8-4c03-11e1-b3c8-5254009970cc/permissions" rel="permissions"/>
6
+ <cpu>
7
+ <type>Intel Conroe Family</type>
8
+ </cpu>
9
+ <data_center href="/api/datacenters/c0645886-4b4b-11e1-a0ae-5254009970cc" id="c0645886-4b4b-11e1-a0ae-5254009970cc"/>
10
+ <memory_policy>
11
+ <over_commit>
12
+ <percent>200</percent>
13
+ </over_commit>
14
+ <transparent_hugepages>
15
+ <enabled>true</enabled>
16
+ </transparent_hugepages>
17
+ </memory_policy>
18
+ <scheduling_policy/>
19
+ <version>
20
+ <major>4</major>
21
+ <minor>1</minor>
22
+ </version>
23
+ <error_handling>
24
+ <on_error>migrate_highly_available</on_error>
25
+ </error_handling>
26
+ </cluster>
27
+ </clusters>
@@ -0,0 +1,53 @@
1
+ <clusters>
2
+ <cluster href="/api/clusters/99408929-82cf-4dc7-a532-9d998063fa95" id="99408929-82cf-4dc7-a532-9d998063fa95">
3
+ <name>Cluster1</name>
4
+ <description>The default server cluster</description>
5
+ <link href="/api/clusters/99408929-82cf-4dc7-a532-9d998063fa95/networks" rel="networks"/>
6
+ <link href="/api/clusters/99408929-82cf-4dc7-a532-9d998063fa95/permissions" rel="permissions"/>
7
+ <cpu>
8
+ <type>Intel Conroe Family</type>
9
+ </cpu>
10
+ <data_center href="/api/datacenters/c0645886-4b4b-11e1-a0ae-5254009970cc" id="c0645886-4b4b-11e1-a0ae-5254009970cc"/>
11
+ <memory_policy>
12
+ <over_commit>
13
+ <percent>100</percent>
14
+ </over_commit>
15
+ <transparent_hugepages>
16
+ <enabled>true</enabled>
17
+ </transparent_hugepages>
18
+ </memory_policy>
19
+ <scheduling_policy/>
20
+ <version>
21
+ <major>4</major>
22
+ <minor>1</minor>
23
+ </version>
24
+ <error_handling>
25
+ <on_error>migrate</on_error>
26
+ </error_handling>
27
+ </cluster>
28
+ <cluster href="/api/clusters/9ce445e8-4c03-11e1-b3c8-5254009970cc" id="9ce445e8-4c03-11e1-b3c8-5254009970cc">
29
+ <name>Cluster2</name>
30
+ <link href="/api/clusters/9ce445e8-4c03-11e1-b3c8-5254009970cc/networks" rel="networks"/>
31
+ <link href="/api/clusters/9ce445e8-4c03-11e1-b3c8-5254009970cc/permissions" rel="permissions"/>
32
+ <cpu>
33
+ <type>Intel Conroe Family</type>
34
+ </cpu>
35
+ <data_center href="/api/datacenters/c0645886-4b4b-11e1-a0ae-5254009970cc" id="c0645886-4b4b-11e1-a0ae-5254009970cc"/>
36
+ <memory_policy>
37
+ <over_commit>
38
+ <percent>100</percent>
39
+ </over_commit>
40
+ <transparent_hugepages>
41
+ <enabled>true</enabled>
42
+ </transparent_hugepages>
43
+ </memory_policy>
44
+ <scheduling_policy/>
45
+ <version>
46
+ <major>4</major>
47
+ <minor>1</minor>
48
+ </version>
49
+ <error_handling>
50
+ <on_error>migrate_highly_available</on_error>
51
+ </error_handling>
52
+ </cluster>
53
+ </clusters>
@@ -0,0 +1,21 @@
1
+ <data_centers>
2
+ <data_center href="/api/datacenters/c0645886-4b4b-11e1-a0ae-5254009970cc" id="c0645886-4b4b-11e1-a0ae-5254009970cc">
3
+ <name>Datacenter1</name>
4
+ <description>The first Data Center</description>
5
+ <link href="/api/datacenters/c0645886-4b4b-11e1-a0ae-5254009970cc/storagedomains" rel="storagedomains"/>
6
+ <link href="/api/datacenters/c0645886-4b4b-11e1-a0ae-5254009970cc/permissions" rel="permissions"/>
7
+ <local>false</local>
8
+ <storage_format>v1</storage_format>
9
+ <version>
10
+ <major>4</major>
11
+ <minor>1</minor>
12
+ </version>
13
+ <supported_versions>
14
+ <version>
15
+ <major>4</major>
16
+ <minor>1</minor>
17
+ </version>
18
+ </supported_versions>
19
+ <status>up</status>
20
+ </data_center>
21
+ </data_centers>
@@ -0,0 +1,54 @@
1
+ <disks>
2
+ <disk href="/api/disks/4d1abf9a-da81-4de2-bf20-f5f060018e05" id="4d1abf9a-da81-4de2-bf20-f5f060018e05">
3
+ <actions>
4
+ <link href="/api/disks/4d1abf9a-da81-4de2-bf20-f5f060018e05/export" rel="export"/>
5
+ <link href="/api/disks/4d1abf9a-da81-4de2-bf20-f5f060018e05/move" rel="move"/>
6
+ <link href="/api/disks/4d1abf9a-da81-4de2-bf20-f5f060018e05/copy" rel="copy"/>
7
+ </actions>
8
+ <name>Disk 2</name>
9
+ <link href="/api/disks/4d1abf9a-da81-4de2-bf20-f5f060018e05/permissions" rel="permissions"/>
10
+ <link href="/api/disks/4d1abf9a-da81-4de2-bf20-f5f060018e05/statistics" rel="statistics"/>
11
+ <alias>Disk 2</alias>
12
+ <image_id>d6034a90-39fa-46ee-888f-208a76f3baa4</image_id>
13
+ <storage_domains>
14
+ <storage_domain id="a23a4329-33b9-4246-a393-4f91071825b6"/>
15
+ </storage_domains>
16
+ <provisioned_size>4294967296</provisioned_size>
17
+ <actual_size>1073741824</actual_size>
18
+ <status>ok</status>
19
+ <interface>virtio</interface>
20
+ <format>cow</format>
21
+ <qcow_version>qcow2_v3</qcow_version>
22
+ <sparse>true</sparse>
23
+ <bootable>false</bootable>
24
+ <shareable>false</shareable>
25
+ <wipe_after_delete>false</wipe_after_delete>
26
+ <propagate_errors>false</propagate_errors>
27
+ </disk>
28
+ <disk href="/api/disks/cfebdac5-cefb-488a-8b55-f5f273a1e863" id="cfebdac5-cefb-488a-8b55-f5f273a1e863">
29
+ <actions>
30
+ <link href="/api/disks/cfebdac5-cefb-488a-8b55-f5f273a1e863/export" rel="export"/>
31
+ <link href="/api/disks/cfebdac5-cefb-488a-8b55-f5f273a1e863/move" rel="move"/>
32
+ <link href="/api/disks/cfebdac5-cefb-488a-8b55-f5f273a1e863/copy" rel="copy"/>
33
+ </actions>
34
+ <name>Disk 3</name>
35
+ <link href="/api/disks/cfebdac5-cefb-488a-8b55-f5f273a1e863/permissions" rel="permissions"/>
36
+ <link href="/api/disks/cfebdac5-cefb-488a-8b55-f5f273a1e863/statistics" rel="statistics"/>
37
+ <alias>Disk 3</alias>
38
+ <image_id>3d7edbe9-54e1-484c-a77c-3d170f1906bb</image_id>
39
+ <storage_domains>
40
+ <storage_domain id="c8431bb5-f57b-4ce8-8ba0-17c1859bc767"/>
41
+ </storage_domains>
42
+ <provisioned_size>21474836480</provisioned_size>
43
+ <actual_size>1073741824</actual_size>
44
+ <status>ok</status>
45
+ <interface>virtio</interface>
46
+ <format>cow</format>
47
+ <qcow_version>qcow2_v3</qcow_version>
48
+ <sparse>true</sparse>
49
+ <bootable>false</bootable>
50
+ <shareable>false</shareable>
51
+ <wipe_after_delete>false</wipe_after_delete>
52
+ <propagate_errors>false</propagate_errors>
53
+ </disk>
54
+ </disks>
@@ -0,0 +1,50 @@
1
+ <instance_types>
2
+ <instance_type href="/api/instancetypes/00000009-0009-0009-0009-0000000002fa" id="00000009-0009-0009-0009-0000000002fa">
3
+ <name>Large</name>
4
+ <description>Large instance type</description>
5
+ <link href="/api/instancetypes/00000009-0009-0009-0009-0000000002fa/nics" rel="nics"/>
6
+ <link href="/api/instancetypes/00000009-0009-0009-0009-0000000002fa/watchdogs" rel="watchdogs"/>
7
+ <link href="/api/instancetypes/00000009-0009-0009-0009-0000000002fa/graphicsconsoles" rel="graphicsconsoles"/>
8
+ <memory>8589934592</memory>
9
+ <cpu>
10
+ <topology>
11
+ <cores>1</cores>
12
+ <sockets>2</sockets>
13
+ <threads>1</threads>
14
+ </topology>
15
+ </cpu>
16
+ <os>
17
+ <boot>
18
+ <devices>
19
+ <device>hd</device>
20
+ </devices>
21
+ </boot>
22
+ </os>
23
+ <creation_time>2014-05-05T02:30:00.000+05:30</creation_time>
24
+ <high_availability>
25
+ <enabled>false</enabled>
26
+ <priority>0</priority>
27
+ </high_availability>
28
+ <display>
29
+ <monitors>1</monitors>
30
+ <single_qxl_pci>false</single_qxl_pci>
31
+ <smartcard_enabled>false</smartcard_enabled>
32
+ <type>spice</type>
33
+ </display>
34
+ <usb>
35
+ <enabled>false</enabled>
36
+ </usb>
37
+ <migration_downtime>-1</migration_downtime>
38
+ <migration>
39
+ <auto_converge>inherit</auto_converge>
40
+ <compressed>inherit</compressed>
41
+ </migration>
42
+ <io>
43
+ <threads>0</threads>
44
+ </io>
45
+ <memory_policy>
46
+ <guaranteed>8589934592</guaranteed>
47
+ <ballooning>false</ballooning>
48
+ </memory_policy>
49
+ </instance_type>
50
+ </instance_types>