ovirt-engine-sdk 4.0.5 → 4.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGES.adoc +43 -0
- data/lib/ovirtsdk4.rb +1 -1
- data/lib/ovirtsdk4/{http.rb → connection.rb} +11 -1
- data/lib/ovirtsdk4/readers.rb +6 -6
- data/lib/ovirtsdk4/services.rb +2473 -251
- data/lib/ovirtsdk4/type.rb +19 -0
- data/lib/ovirtsdk4/types.rb +5137 -768
- data/lib/ovirtsdk4/version.rb +1 -1
- data/lib/ovirtsdk4/writers.rb +3 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8e5bfa1388e71cd3c46306600f1684f33840cab9
|
4
|
+
data.tar.gz: 1aef00ac9898fe1ee30e31d8bde8be4f3b6ec01c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 575ee5fd660bfe4747f22c0dd56bb36ee7ef4f688f30bc92fe1acec76f208d40a31e9d555b274df2afba03dd869a4a516e5ddd1d543ed0304005ae661ff60c76
|
7
|
+
data.tar.gz: 008405cdde7b82e2f07b7cf15a5f6d741d887fe7a64070d4b96bbfa1fc76ecac36ed9dcfc55d579d41533448e945bdac59d92238c77ec8ac061b009dd66dac24
|
data/CHANGES.adoc
CHANGED
@@ -2,6 +2,49 @@
|
|
2
2
|
|
3
3
|
This document describes the relevant changes between releases of the SDK.
|
4
4
|
|
5
|
+
== 4.0.6 / Oct 18 2016
|
6
|
+
|
7
|
+
Update to model 4.0.37.
|
8
|
+
|
9
|
+
New features:
|
10
|
+
|
11
|
+
* Add services to support disk attachments of virtual machines available
|
12
|
+
for import from storage domains.
|
13
|
+
|
14
|
+
* Add `gluster` value to the `NetworkUsage` enum.
|
15
|
+
|
16
|
+
* Add `force` parameter to the operation that updates a storage server
|
17
|
+
connection.
|
18
|
+
|
19
|
+
Bug fixes:
|
20
|
+
|
21
|
+
* Fix the type of the `ticket` parameter of the `VmService.ticket`
|
22
|
+
method.
|
23
|
+
|
24
|
+
* Fix the type of the `authentication_method` attribute of the `Ssh`
|
25
|
+
type.
|
26
|
+
|
27
|
+
* Rename the `AuthenticationMethod` enum type to `SshAuthenticationMethod`.
|
28
|
+
|
29
|
+
* Fix the name of the `exclusive` parameter o the `TemplateService.export`
|
30
|
+
method.
|
31
|
+
|
32
|
+
* Add the missing `cluster` parameter to the `OpenstackImageService.import`
|
33
|
+
method.
|
34
|
+
|
35
|
+
* Move the `quota` link from the `Vm` type to the `VmBase` type.
|
36
|
+
|
37
|
+
* Add missing `template` and `storage_domain` parameters to the
|
38
|
+
operation that imports an image.
|
39
|
+
|
40
|
+
* Add the `next_run` parameter to the operation that updates a virtual
|
41
|
+
machine.
|
42
|
+
|
43
|
+
* Add the `all_content` parameters to the operations that list and
|
44
|
+
retrieve virtual machines.
|
45
|
+
|
46
|
+
* Implement `==` and `eql?` for types https://bugzilla.redhat.com/1383613[#1383613].
|
47
|
+
|
5
48
|
== 4.0.5 / Oct 7 2016
|
6
49
|
|
7
50
|
Bug Fixes:
|
data/lib/ovirtsdk4.rb
CHANGED
@@ -138,7 +138,7 @@ module OvirtSDK4
|
|
138
138
|
request.url = "#{@url}#{request.url}"
|
139
139
|
end
|
140
140
|
|
141
|
-
# Set the headers:
|
141
|
+
# Set the headers common to all requests:
|
142
142
|
request.headers.merge!(
|
143
143
|
'User-Agent' => "RubySDK/#{VERSION}",
|
144
144
|
'Version' => '4',
|
@@ -146,6 +146,16 @@ module OvirtSDK4
|
|
146
146
|
'Accept' => 'application/xml',
|
147
147
|
)
|
148
148
|
|
149
|
+
# Older versions of the engine (before 4.1) required the 'all_content' as an HTTP header instead of a query
|
150
|
+
# parameter. In order to better support those older versions of the engine we need to check if this parameter is
|
151
|
+
# included in the request, and add the corresponding header.
|
152
|
+
unless request.query.nil?
|
153
|
+
all_content = request.query['all_content']
|
154
|
+
unless all_content.nil?
|
155
|
+
request.headers['All-Content'] = all_content
|
156
|
+
end
|
157
|
+
end
|
158
|
+
|
149
159
|
# Set the authentication token:
|
150
160
|
@token ||= get_access_token
|
151
161
|
request.token = @token
|
data/lib/ovirtsdk4/readers.rb
CHANGED
@@ -48,8 +48,6 @@ module OvirtSDK4
|
|
48
48
|
object.discard_snapshots = value if not value.nil?
|
49
49
|
value = reader.get_attribute('exclusive')
|
50
50
|
object.exclusive = value if not value.nil?
|
51
|
-
value = reader.get_attribute('exclussive')
|
52
|
-
object.exclussive = value if not value.nil?
|
53
51
|
value = reader.get_attribute('fence_type')
|
54
52
|
object.fence_type = value if not value.nil?
|
55
53
|
value = reader.get_attribute('filter')
|
@@ -135,8 +133,6 @@ module OvirtSDK4
|
|
135
133
|
object.disks = DiskReader.read_many(reader)
|
136
134
|
when 'exclusive'
|
137
135
|
object.exclusive = Reader.read_boolean(reader)
|
138
|
-
when 'exclussive'
|
139
|
-
object.exclussive = Reader.read_boolean(reader)
|
140
136
|
when 'fault'
|
141
137
|
object.fault = FaultReader.read_one(reader)
|
142
138
|
when 'fence_type'
|
@@ -1922,8 +1918,6 @@ module OvirtSDK4
|
|
1922
1918
|
object.gluster_hooks = GlusterHookReader.read_many(reader)
|
1923
1919
|
when 'gluster_volumes'
|
1924
1920
|
object.gluster_volumes = GlusterVolumeReader.read_many(reader)
|
1925
|
-
when 'mac_pool'
|
1926
|
-
object.mac_pool = MacPoolReader.read_one(reader)
|
1927
1921
|
when 'management_network'
|
1928
1922
|
object.management_network = NetworkReader.read_one(reader)
|
1929
1923
|
when 'network_filters'
|
@@ -8184,6 +8178,8 @@ module OvirtSDK4
|
|
8184
8178
|
object.nics = NicReader.read_many(reader)
|
8185
8179
|
when 'permissions'
|
8186
8180
|
object.permissions = PermissionReader.read_many(reader)
|
8181
|
+
when 'quota'
|
8182
|
+
object.quota = QuotaReader.read_one(reader)
|
8187
8183
|
when 'storage_domain'
|
8188
8184
|
object.storage_domain = StorageDomainReader.read_one(reader)
|
8189
8185
|
when 'tags'
|
@@ -15650,6 +15646,8 @@ module OvirtSDK4
|
|
15650
15646
|
object.nics = NicReader.read_many(reader)
|
15651
15647
|
when 'permissions'
|
15652
15648
|
object.permissions = PermissionReader.read_many(reader)
|
15649
|
+
when 'quota'
|
15650
|
+
object.quota = QuotaReader.read_one(reader)
|
15653
15651
|
when 'storage_domain'
|
15654
15652
|
object.storage_domain = StorageDomainReader.read_one(reader)
|
15655
15653
|
when 'tags'
|
@@ -17272,6 +17270,8 @@ module OvirtSDK4
|
|
17272
17270
|
object.cluster = ClusterReader.read_one(reader)
|
17273
17271
|
when 'cpu_profile'
|
17274
17272
|
object.cpu_profile = CpuProfileReader.read_one(reader)
|
17273
|
+
when 'quota'
|
17274
|
+
object.quota = QuotaReader.read_one(reader)
|
17275
17275
|
when 'storage_domain'
|
17276
17276
|
object.storage_domain = StorageDomainReader.read_one(reader)
|
17277
17277
|
else
|
data/lib/ovirtsdk4/services.rb
CHANGED
@@ -551,6 +551,12 @@ module OvirtSDK4
|
|
551
551
|
class StorageDomainVmService < Service
|
552
552
|
end
|
553
553
|
|
554
|
+
class StorageDomainVmDiskAttachmentService < Service
|
555
|
+
end
|
556
|
+
|
557
|
+
class StorageDomainVmDiskAttachmentsService < Service
|
558
|
+
end
|
559
|
+
|
554
560
|
class StorageDomainVmsService < Service
|
555
561
|
end
|
556
562
|
|
@@ -757,7 +763,17 @@ module OvirtSDK4
|
|
757
763
|
end
|
758
764
|
|
759
765
|
#
|
760
|
-
#
|
766
|
+
# Retrieve the affinity group details.
|
767
|
+
#
|
768
|
+
# [source,xml]
|
769
|
+
# ----
|
770
|
+
# <affinity_group id="00000000-0000-0000-0000-000000000000">
|
771
|
+
# <name>AF_GROUP_001</name>
|
772
|
+
# <cluster id="00000000-0000-0000-0000-000000000000"/>
|
773
|
+
# <positive>true</positive>
|
774
|
+
# <enforcing>true</enforcing>
|
775
|
+
# </affinity_group>
|
776
|
+
# ----
|
761
777
|
#
|
762
778
|
# @param opts [Hash] Additional options.
|
763
779
|
#
|
@@ -781,7 +797,12 @@ module OvirtSDK4
|
|
781
797
|
end
|
782
798
|
|
783
799
|
#
|
784
|
-
#
|
800
|
+
# Remove the affinity group.
|
801
|
+
#
|
802
|
+
# [source]
|
803
|
+
# ----
|
804
|
+
# DELETE /ovirt-engine/api/clusters/000-000/affinitygroups/123-456
|
805
|
+
# ----
|
785
806
|
#
|
786
807
|
# @param opts [Hash] Additional options.
|
787
808
|
#
|
@@ -801,9 +822,9 @@ module OvirtSDK4
|
|
801
822
|
end
|
802
823
|
|
803
824
|
#
|
804
|
-
#
|
825
|
+
# Update the affinity group.
|
805
826
|
#
|
806
|
-
# @param group [AffinityGroup] The
|
827
|
+
# @param group [AffinityGroup] The affinity group.
|
807
828
|
# @param opts [Hash] Additional options.
|
808
829
|
#
|
809
830
|
# @option opts [Boolean] :async Indicates if the update should be performed asynchronously.
|
@@ -844,7 +865,9 @@ module OvirtSDK4
|
|
844
865
|
end
|
845
866
|
|
846
867
|
#
|
847
|
-
#
|
868
|
+
# Returns a reference to the service that manages the
|
869
|
+
# list of all virtual machines attached to this affinity
|
870
|
+
# group.
|
848
871
|
#
|
849
872
|
# @return [AffinityGroupVmsService] A reference to `vms` service.
|
850
873
|
def vms_service
|
@@ -899,7 +922,7 @@ module OvirtSDK4
|
|
899
922
|
end
|
900
923
|
|
901
924
|
#
|
902
|
-
#
|
925
|
+
# Remove this virtual machine from the affinity group.
|
903
926
|
#
|
904
927
|
# @param opts [Hash] Additional options.
|
905
928
|
#
|
@@ -960,7 +983,21 @@ module OvirtSDK4
|
|
960
983
|
end
|
961
984
|
|
962
985
|
#
|
963
|
-
#
|
986
|
+
# Add a virtual machine to the affinity group.
|
987
|
+
#
|
988
|
+
# For example to add the virtual machine 000-000 to affinity group 123-456 send a request to:
|
989
|
+
#
|
990
|
+
# [source]
|
991
|
+
# ----
|
992
|
+
# POST /ovirt-engine/api/clusters/000-000/affinitygroups/123-456/vms
|
993
|
+
# ----
|
994
|
+
#
|
995
|
+
# With the following body:
|
996
|
+
#
|
997
|
+
# [source,xml]
|
998
|
+
# ----
|
999
|
+
# <vm id="000-000"/>
|
1000
|
+
# ----
|
964
1001
|
#
|
965
1002
|
# @param vm [Vm] The `vm` to add.
|
966
1003
|
#
|
@@ -983,7 +1020,7 @@ module OvirtSDK4
|
|
983
1020
|
end
|
984
1021
|
response = @connection.send(request)
|
985
1022
|
case response.code
|
986
|
-
when 201, 202
|
1023
|
+
when 200, 201, 202
|
987
1024
|
begin
|
988
1025
|
reader = XmlReader.new(response.body)
|
989
1026
|
return VmReader.read_one(reader)
|
@@ -996,7 +1033,7 @@ module OvirtSDK4
|
|
996
1033
|
end
|
997
1034
|
|
998
1035
|
#
|
999
|
-
#
|
1036
|
+
# List all virtual machines assigned to this affinity group.
|
1000
1037
|
#
|
1001
1038
|
# @param opts [Hash] Additional options.
|
1002
1039
|
#
|
@@ -1028,7 +1065,7 @@ module OvirtSDK4
|
|
1028
1065
|
end
|
1029
1066
|
|
1030
1067
|
#
|
1031
|
-
#
|
1068
|
+
# Access the service that manages the virtual machine assignment to this affinity group.
|
1032
1069
|
#
|
1033
1070
|
# @param id [String] The identifier of the `vm`.
|
1034
1071
|
#
|
@@ -1084,9 +1121,27 @@ module OvirtSDK4
|
|
1084
1121
|
end
|
1085
1122
|
|
1086
1123
|
#
|
1087
|
-
#
|
1124
|
+
# Create a new affinity group.
|
1125
|
+
#
|
1126
|
+
# Post a request like in the example below to create a new affinity group:
|
1127
|
+
#
|
1128
|
+
# [source]
|
1129
|
+
# ----
|
1130
|
+
# POST /ovirt-engine/api/clusters/000-000/affinitygroups
|
1131
|
+
# ----
|
1132
|
+
#
|
1133
|
+
# And use the following example in its body:
|
1134
|
+
#
|
1135
|
+
# [source,xml]
|
1136
|
+
# ----
|
1137
|
+
# <affinity_group>
|
1138
|
+
# <name>AF_GROUP_001</name>
|
1139
|
+
# <positive>true</positive>
|
1140
|
+
# <enforcing>true</enforcing>
|
1141
|
+
# </affinity_group>
|
1142
|
+
# ----
|
1088
1143
|
#
|
1089
|
-
# @param group [AffinityGroup] The
|
1144
|
+
# @param group [AffinityGroup] The affinity group object to create.
|
1090
1145
|
#
|
1091
1146
|
# @param opts [Hash] Additional options.
|
1092
1147
|
#
|
@@ -1107,7 +1162,7 @@ module OvirtSDK4
|
|
1107
1162
|
end
|
1108
1163
|
response = @connection.send(request)
|
1109
1164
|
case response.code
|
1110
|
-
when 201, 202
|
1165
|
+
when 200, 201, 202
|
1111
1166
|
begin
|
1112
1167
|
reader = XmlReader.new(response.body)
|
1113
1168
|
return AffinityGroupReader.read_one(reader)
|
@@ -1120,7 +1175,7 @@ module OvirtSDK4
|
|
1120
1175
|
end
|
1121
1176
|
|
1122
1177
|
#
|
1123
|
-
#
|
1178
|
+
# List existing affinity groups.
|
1124
1179
|
#
|
1125
1180
|
# @param opts [Hash] Additional options.
|
1126
1181
|
#
|
@@ -1151,7 +1206,7 @@ module OvirtSDK4
|
|
1151
1206
|
end
|
1152
1207
|
|
1153
1208
|
#
|
1154
|
-
#
|
1209
|
+
# Access affinity group service that manages the affinity group specified by an id.
|
1155
1210
|
#
|
1156
1211
|
# @param id [String] The identifier of the `group`.
|
1157
1212
|
#
|
@@ -1456,7 +1511,7 @@ module OvirtSDK4
|
|
1456
1511
|
end
|
1457
1512
|
response = @connection.send(request)
|
1458
1513
|
case response.code
|
1459
|
-
when 201, 202
|
1514
|
+
when 200, 201, 202
|
1460
1515
|
begin
|
1461
1516
|
reader = XmlReader.new(response.body)
|
1462
1517
|
return HostReader.read_one(reader)
|
@@ -1652,7 +1707,7 @@ module OvirtSDK4
|
|
1652
1707
|
end
|
1653
1708
|
response = @connection.send(request)
|
1654
1709
|
case response.code
|
1655
|
-
when 201, 202
|
1710
|
+
when 200, 201, 202
|
1656
1711
|
begin
|
1657
1712
|
reader = XmlReader.new(response.body)
|
1658
1713
|
return VmReader.read_one(reader)
|
@@ -1770,7 +1825,7 @@ module OvirtSDK4
|
|
1770
1825
|
end
|
1771
1826
|
response = @connection.send(request)
|
1772
1827
|
case response.code
|
1773
|
-
when 201, 202
|
1828
|
+
when 200, 201, 202
|
1774
1829
|
begin
|
1775
1830
|
reader = XmlReader.new(response.body)
|
1776
1831
|
return AffinityLabelReader.read_one(reader)
|
@@ -1972,7 +2027,7 @@ module OvirtSDK4
|
|
1972
2027
|
end
|
1973
2028
|
response = @connection.send(request)
|
1974
2029
|
case response.code
|
1975
|
-
when 201, 202
|
2030
|
+
when 200, 201, 202
|
1976
2031
|
begin
|
1977
2032
|
reader = XmlReader.new(response.body)
|
1978
2033
|
return AffinityLabelReader.read_one(reader)
|
@@ -2174,7 +2229,7 @@ module OvirtSDK4
|
|
2174
2229
|
end
|
2175
2230
|
response = @connection.send(request)
|
2176
2231
|
case response.code
|
2177
|
-
when 201, 202
|
2232
|
+
when 200, 201, 202
|
2178
2233
|
begin
|
2179
2234
|
reader = XmlReader.new(response.body)
|
2180
2235
|
return CpuProfileReader.read_one(reader)
|
@@ -2382,7 +2437,7 @@ module OvirtSDK4
|
|
2382
2437
|
end
|
2383
2438
|
response = @connection.send(request)
|
2384
2439
|
case response.code
|
2385
|
-
when 201, 202
|
2440
|
+
when 200, 201, 202
|
2386
2441
|
begin
|
2387
2442
|
reader = XmlReader.new(response.body)
|
2388
2443
|
return DiskProfileReader.read_one(reader)
|
@@ -2633,7 +2688,7 @@ module OvirtSDK4
|
|
2633
2688
|
end
|
2634
2689
|
response = @connection.send(request)
|
2635
2690
|
case response.code
|
2636
|
-
when 201, 202
|
2691
|
+
when 200, 201, 202
|
2637
2692
|
begin
|
2638
2693
|
reader = XmlReader.new(response.body)
|
2639
2694
|
return NetworkReader.read_one(reader)
|
@@ -2756,7 +2811,7 @@ module OvirtSDK4
|
|
2756
2811
|
end
|
2757
2812
|
response = @connection.send(request)
|
2758
2813
|
case response.code
|
2759
|
-
when 201, 202
|
2814
|
+
when 200, 201, 202
|
2760
2815
|
begin
|
2761
2816
|
reader = XmlReader.new(response.body)
|
2762
2817
|
return PermissionReader.read_one(reader)
|
@@ -3045,7 +3100,7 @@ module OvirtSDK4
|
|
3045
3100
|
end
|
3046
3101
|
response = @connection.send(request)
|
3047
3102
|
case response.code
|
3048
|
-
when 201, 202
|
3103
|
+
when 200, 201, 202
|
3049
3104
|
begin
|
3050
3105
|
reader = XmlReader.new(response.body)
|
3051
3106
|
return TagReader.read_one(reader)
|
@@ -3267,7 +3322,7 @@ module OvirtSDK4
|
|
3267
3322
|
end
|
3268
3323
|
response = @connection.send(request)
|
3269
3324
|
case response.code
|
3270
|
-
when 201, 202
|
3325
|
+
when 200, 201, 202
|
3271
3326
|
begin
|
3272
3327
|
reader = XmlReader.new(response.body)
|
3273
3328
|
return VnicProfileReader.read_one(reader)
|
@@ -3367,7 +3422,21 @@ module OvirtSDK4
|
|
3367
3422
|
end
|
3368
3423
|
|
3369
3424
|
#
|
3370
|
-
#
|
3425
|
+
# This operation activates an attached storage domain.
|
3426
|
+
# Once the storage domain is activated it is ready for use with the data center.
|
3427
|
+
#
|
3428
|
+
# [source]
|
3429
|
+
# ----
|
3430
|
+
# POST /ovirt-engine/api/datacenters/123/storagedomains/456/activate
|
3431
|
+
# ----
|
3432
|
+
#
|
3433
|
+
# The activate action does not take any action specific parameters,
|
3434
|
+
# so the request body should contain an empty `action`:
|
3435
|
+
#
|
3436
|
+
# [source,xml]
|
3437
|
+
# ----
|
3438
|
+
# <action/>
|
3439
|
+
# ----
|
3371
3440
|
#
|
3372
3441
|
# @param opts [Hash] Additional options.
|
3373
3442
|
#
|
@@ -3394,7 +3463,21 @@ module OvirtSDK4
|
|
3394
3463
|
end
|
3395
3464
|
|
3396
3465
|
#
|
3397
|
-
#
|
3466
|
+
# This operation deactivates an attached storage domain.
|
3467
|
+
# Once the storage domain is deactivated it will not be used with the data center.
|
3468
|
+
#
|
3469
|
+
# [source]
|
3470
|
+
# ----
|
3471
|
+
# POST /ovirt-engine/api/datacenters/123/storagedomains/456/deactivate
|
3472
|
+
# ----
|
3473
|
+
#
|
3474
|
+
# The deactivate action does not take any action specific parameters,
|
3475
|
+
# so the request body should contain an empty `action`:
|
3476
|
+
#
|
3477
|
+
# [source,xml]
|
3478
|
+
# ----
|
3479
|
+
# <action/>
|
3480
|
+
# ----
|
3398
3481
|
#
|
3399
3482
|
# @param opts [Hash] Additional options.
|
3400
3483
|
#
|
@@ -3543,7 +3626,7 @@ module OvirtSDK4
|
|
3543
3626
|
end
|
3544
3627
|
response = @connection.send(request)
|
3545
3628
|
case response.code
|
3546
|
-
when 201, 202
|
3629
|
+
when 200, 201, 202
|
3547
3630
|
begin
|
3548
3631
|
reader = XmlReader.new(response.body)
|
3549
3632
|
return StorageDomainReader.read_one(reader)
|
@@ -3758,7 +3841,7 @@ module OvirtSDK4
|
|
3758
3841
|
end
|
3759
3842
|
response = @connection.send(request)
|
3760
3843
|
case response.code
|
3761
|
-
when 201, 202
|
3844
|
+
when 200, 201, 202
|
3762
3845
|
begin
|
3763
3846
|
reader = XmlReader.new(response.body)
|
3764
3847
|
return BalanceReader.read_one(reader)
|
@@ -4016,7 +4099,7 @@ module OvirtSDK4
|
|
4016
4099
|
end
|
4017
4100
|
response = @connection.send(request)
|
4018
4101
|
case response.code
|
4019
|
-
when 201, 202
|
4102
|
+
when 200, 201, 202
|
4020
4103
|
begin
|
4021
4104
|
reader = XmlReader.new(response.body)
|
4022
4105
|
return BookmarkReader.read_one(reader)
|
@@ -4147,7 +4230,12 @@ module OvirtSDK4
|
|
4147
4230
|
end
|
4148
4231
|
|
4149
4232
|
#
|
4150
|
-
#
|
4233
|
+
# Removes cluster from the system.
|
4234
|
+
#
|
4235
|
+
# [source]
|
4236
|
+
# ----
|
4237
|
+
# DELETE /ovirt-engine/api/clusters/00000000-0000-0000-0000-000000000000
|
4238
|
+
# ----
|
4151
4239
|
#
|
4152
4240
|
# @param opts [Hash] Additional options.
|
4153
4241
|
#
|
@@ -4194,7 +4282,27 @@ module OvirtSDK4
|
|
4194
4282
|
end
|
4195
4283
|
|
4196
4284
|
#
|
4197
|
-
# Updates the
|
4285
|
+
# Updates information about the cluster.
|
4286
|
+
#
|
4287
|
+
# Only specified fields are updated, others remain unchanged.
|
4288
|
+
#
|
4289
|
+
# E.g. update cluster's CPU:
|
4290
|
+
#
|
4291
|
+
# [source]
|
4292
|
+
# ----
|
4293
|
+
# PUT /ovirt-engine/api/clusters/123
|
4294
|
+
# ----
|
4295
|
+
#
|
4296
|
+
# With request body like:
|
4297
|
+
#
|
4298
|
+
# [source,xml]
|
4299
|
+
# ----
|
4300
|
+
# <cluster>
|
4301
|
+
# <cpu>
|
4302
|
+
# <type>Intel Haswell-noTSX Family</type>
|
4303
|
+
# </cpu>
|
4304
|
+
# </cluster>
|
4305
|
+
# ----
|
4198
4306
|
#
|
4199
4307
|
# @param cluster [Cluster] The `cluster` to update.
|
4200
4308
|
# @param opts [Hash] Additional options.
|
@@ -4521,7 +4629,28 @@ module OvirtSDK4
|
|
4521
4629
|
end
|
4522
4630
|
|
4523
4631
|
#
|
4524
|
-
#
|
4632
|
+
# Creates a new cluster.
|
4633
|
+
#
|
4634
|
+
# This requires the `name`, `cpu.type` and `data_center` attributes. Identify the data center with either the `id`
|
4635
|
+
# or `name` attributes.
|
4636
|
+
#
|
4637
|
+
# [source]
|
4638
|
+
# ----
|
4639
|
+
# POST /ovirt-engine/api/clusters
|
4640
|
+
# ----
|
4641
|
+
#
|
4642
|
+
# With a request body like this:
|
4643
|
+
#
|
4644
|
+
# [source,xml]
|
4645
|
+
# ----
|
4646
|
+
# <cluster>
|
4647
|
+
# <name>mycluster</name>
|
4648
|
+
# <cpu>
|
4649
|
+
# <type>Intel Penryn Family</type>
|
4650
|
+
# </cpu>
|
4651
|
+
# <data_center id="123"/>
|
4652
|
+
# </cluster>
|
4653
|
+
# ----
|
4525
4654
|
#
|
4526
4655
|
# @param cluster [Cluster] The `cluster` to add.
|
4527
4656
|
#
|
@@ -4544,7 +4673,7 @@ module OvirtSDK4
|
|
4544
4673
|
end
|
4545
4674
|
response = @connection.send(request)
|
4546
4675
|
case response.code
|
4547
|
-
when 201, 202
|
4676
|
+
when 200, 201, 202
|
4548
4677
|
begin
|
4549
4678
|
reader = XmlReader.new(response.body)
|
4550
4679
|
return ClusterReader.read_one(reader)
|
@@ -4899,7 +5028,7 @@ module OvirtSDK4
|
|
4899
5028
|
end
|
4900
5029
|
response = @connection.send(request)
|
4901
5030
|
case response.code
|
4902
|
-
when 201, 202
|
5031
|
+
when 200, 201, 202
|
4903
5032
|
begin
|
4904
5033
|
reader = XmlReader.new(response.body)
|
4905
5034
|
return CpuProfileReader.read_one(reader)
|
@@ -5032,6 +5161,11 @@ module OvirtSDK4
|
|
5032
5161
|
#
|
5033
5162
|
# Removes the data center.
|
5034
5163
|
#
|
5164
|
+
# [source]
|
5165
|
+
# ----
|
5166
|
+
# DELETE /ovirt-engine/api/datacenters/123
|
5167
|
+
# ----
|
5168
|
+
#
|
5035
5169
|
# Without any special parameters, the storage domains attached to the data center are detached and then removed
|
5036
5170
|
# from the storage. If something fails when performing this operation, for example if there is no host available to
|
5037
5171
|
# remove the storage domains from the storage, the complete operation will fail.
|
@@ -5067,9 +5201,27 @@ module OvirtSDK4
|
|
5067
5201
|
end
|
5068
5202
|
|
5069
5203
|
#
|
5070
|
-
# Updates the
|
5204
|
+
# Updates the data center.
|
5205
|
+
#
|
5206
|
+
# The `name`, `description`, `storage_type`, `version`, `storage_format` and `mac_pool` elements are updatable
|
5207
|
+
# post-creation. For example, to change the name and description of data center `123` send a request like this:
|
5208
|
+
#
|
5209
|
+
# [source]
|
5210
|
+
# ----
|
5211
|
+
# PUT /ovirt-engine/api/datacenters/123
|
5212
|
+
# ----
|
5213
|
+
#
|
5214
|
+
# With a request body like this:
|
5071
5215
|
#
|
5072
|
-
#
|
5216
|
+
# [source,xml]
|
5217
|
+
# ----
|
5218
|
+
# <data_center>
|
5219
|
+
# <name>myupdatedname</name>
|
5220
|
+
# <description>An updated description for the data center</description>
|
5221
|
+
# </data_center>
|
5222
|
+
# ----
|
5223
|
+
#
|
5224
|
+
# @param data_center [DataCenter] The data center that is being updated.
|
5073
5225
|
# @param opts [Hash] Additional options.
|
5074
5226
|
#
|
5075
5227
|
# @option opts [Boolean] :async Indicates if the update should be performed asynchronously.
|
@@ -5158,7 +5310,30 @@ module OvirtSDK4
|
|
5158
5310
|
end
|
5159
5311
|
|
5160
5312
|
#
|
5161
|
-
#
|
5313
|
+
# Attach and detach storage domains to and from a data center.
|
5314
|
+
#
|
5315
|
+
# For attaching a single storage domain we should use the folowing POST request:
|
5316
|
+
#
|
5317
|
+
# [source]
|
5318
|
+
# ----
|
5319
|
+
# POST /ovirt-engine/api/datacenters/123/storagedomains
|
5320
|
+
# ----
|
5321
|
+
#
|
5322
|
+
# With a request body like this:
|
5323
|
+
#
|
5324
|
+
# [source,xml]
|
5325
|
+
# ----
|
5326
|
+
# <storage_domain>
|
5327
|
+
# <name>data1</name>
|
5328
|
+
# </storage_domain>
|
5329
|
+
# ----
|
5330
|
+
#
|
5331
|
+
# For detaching a single storage domain we should use the folowing DELETE request:
|
5332
|
+
#
|
5333
|
+
# [source]
|
5334
|
+
# ----
|
5335
|
+
# DELETE /ovirt-engine/api/datacenters/123/storagedomains/123
|
5336
|
+
# ----
|
5162
5337
|
#
|
5163
5338
|
# @return [AttachedStorageDomainsService] A reference to `storage_domains` service.
|
5164
5339
|
def storage_domains_service
|
@@ -5249,9 +5424,27 @@ module OvirtSDK4
|
|
5249
5424
|
end
|
5250
5425
|
|
5251
5426
|
#
|
5252
|
-
#
|
5427
|
+
# Creates a new data center.
|
5428
|
+
#
|
5429
|
+
# Creation of a new data center requires the `name` and `local` elements. For example, to create a data center
|
5430
|
+
# named `mydc` that uses shared storage (NFS, iSCSI or fibre channel) send a request like this:
|
5431
|
+
#
|
5432
|
+
# [source]
|
5433
|
+
# ----
|
5434
|
+
# POST /ovirt-engine/api/datacenters
|
5435
|
+
# ----
|
5436
|
+
#
|
5437
|
+
# With a request body like this:
|
5438
|
+
#
|
5439
|
+
# [source,xml]
|
5440
|
+
# ----
|
5441
|
+
# <data_center>
|
5442
|
+
# <name>mydc</name>
|
5443
|
+
# <local>false</local>
|
5444
|
+
# </data_center>
|
5445
|
+
# ----
|
5253
5446
|
#
|
5254
|
-
# @param data_center [DataCenter] The
|
5447
|
+
# @param data_center [DataCenter] The data center that is being added.
|
5255
5448
|
#
|
5256
5449
|
# @param opts [Hash] Additional options.
|
5257
5450
|
#
|
@@ -5272,7 +5465,7 @@ module OvirtSDK4
|
|
5272
5465
|
end
|
5273
5466
|
response = @connection.send(request)
|
5274
5467
|
case response.code
|
5275
|
-
when 201, 202
|
5468
|
+
when 200, 201, 202
|
5276
5469
|
begin
|
5277
5470
|
reader = XmlReader.new(response.body)
|
5278
5471
|
return DataCenterReader.read_one(reader)
|
@@ -5285,7 +5478,63 @@ module OvirtSDK4
|
|
5285
5478
|
end
|
5286
5479
|
|
5287
5480
|
#
|
5288
|
-
#
|
5481
|
+
# Lists the data centers.
|
5482
|
+
#
|
5483
|
+
# The following request retrieves a representation of the data centers:
|
5484
|
+
#
|
5485
|
+
# [source]
|
5486
|
+
# ----
|
5487
|
+
# GET /ovirt-engine/api/datacenters
|
5488
|
+
# ----
|
5489
|
+
#
|
5490
|
+
# The above request performed with `curl`:
|
5491
|
+
#
|
5492
|
+
# [source,bash]
|
5493
|
+
# ----
|
5494
|
+
# curl \
|
5495
|
+
# --request GET \
|
5496
|
+
# --cacert /etc/pki/ovirt-engine/ca.pem \
|
5497
|
+
# --header "Version: 4" \
|
5498
|
+
# --header "Accept: application/xml" \
|
5499
|
+
# --user "admin@internal:mypassword" \
|
5500
|
+
# https://myengine.example.com/ovirt-engine/api/datacenters
|
5501
|
+
# ----
|
5502
|
+
#
|
5503
|
+
# This is what an example response could look like:
|
5504
|
+
#
|
5505
|
+
# [source,xml]
|
5506
|
+
# ----
|
5507
|
+
# <data_center href="/ovirt-engine/api/datacenters/123" id="123">
|
5508
|
+
# <name>Default</name>
|
5509
|
+
# <description>The default Data Center</description>
|
5510
|
+
# <link href="/ovirt-engine/api/datacenters/123/networks" rel="networks"/>
|
5511
|
+
# <link href="/ovirt-engine/api/datacenters/123/storagedomains" rel="storagedomains"/>
|
5512
|
+
# <link href="/ovirt-engine/api/datacenters/123/permissions" rel="permissions"/>
|
5513
|
+
# <link href="/ovirt-engine/api/datacenters/123/clusters" rel="clusters"/>
|
5514
|
+
# <link href="/ovirt-engine/api/datacenters/123/qoss" rel="qoss"/>
|
5515
|
+
# <link href="/ovirt-engine/api/datacenters/123/iscsibonds" rel="iscsibonds"/>
|
5516
|
+
# <link href="/ovirt-engine/api/datacenters/123/quotas" rel="quotas"/>
|
5517
|
+
# <local>false</local>
|
5518
|
+
# <quota_mode>disabled</quota_mode>
|
5519
|
+
# <status>up</status>
|
5520
|
+
# <supported_versions>
|
5521
|
+
# <version>
|
5522
|
+
# <major>4</major>
|
5523
|
+
# <minor>0</minor>
|
5524
|
+
# </version>
|
5525
|
+
# </supported_versions>
|
5526
|
+
# <version>
|
5527
|
+
# <major>4</major>
|
5528
|
+
# <minor>0</minor>
|
5529
|
+
# </version>
|
5530
|
+
# </data_center>
|
5531
|
+
# ----
|
5532
|
+
#
|
5533
|
+
# Note the `id` code of your `Default` data center. This code identifies this data center in relation to other
|
5534
|
+
# resources of your virtual environment.
|
5535
|
+
#
|
5536
|
+
# The data center also contains a link to the storage domains collection. The data center uses this collection to
|
5537
|
+
# attach storage domains from the storage domains main collection.
|
5289
5538
|
#
|
5290
5539
|
# @param opts [Hash] Additional options.
|
5291
5540
|
#
|
@@ -5560,6 +5809,13 @@ module OvirtSDK4
|
|
5560
5809
|
#
|
5561
5810
|
# In this case the disk will be created and then attached to the virtual machine.
|
5562
5811
|
#
|
5812
|
+
# In both cases, use the following URL for a virtual machine with an id `345`:
|
5813
|
+
#
|
5814
|
+
# [source]
|
5815
|
+
# ----
|
5816
|
+
# POST /ovirt-engine/api/vms/345/diskattachments
|
5817
|
+
# ----
|
5818
|
+
#
|
5563
5819
|
# @param attachment [DiskAttachment] The `attachment` to add.
|
5564
5820
|
#
|
5565
5821
|
# @param opts [Hash] Additional options.
|
@@ -5581,7 +5837,7 @@ module OvirtSDK4
|
|
5581
5837
|
end
|
5582
5838
|
response = @connection.send(request)
|
5583
5839
|
case response.code
|
5584
|
-
when 201, 202
|
5840
|
+
when 200, 201, 202
|
5585
5841
|
begin
|
5586
5842
|
reader = XmlReader.new(response.body)
|
5587
5843
|
return DiskAttachmentReader.read_one(reader)
|
@@ -5839,7 +6095,7 @@ module OvirtSDK4
|
|
5839
6095
|
end
|
5840
6096
|
response = @connection.send(request)
|
5841
6097
|
case response.code
|
5842
|
-
when 201, 202
|
6098
|
+
when 200, 201, 202
|
5843
6099
|
begin
|
5844
6100
|
reader = XmlReader.new(response.body)
|
5845
6101
|
return DiskProfileReader.read_one(reader)
|
@@ -6111,7 +6367,31 @@ module OvirtSDK4
|
|
6111
6367
|
end
|
6112
6368
|
|
6113
6369
|
#
|
6114
|
-
# Adds a new
|
6370
|
+
# Adds a new floating disk.
|
6371
|
+
# When creating a new floating <<types/disk,Disk>>, the API requires the `storage_domain`, `provisioned_size` and
|
6372
|
+
# `format` attributes.
|
6373
|
+
#
|
6374
|
+
# To create a new floating disk with specified `provisioned_size`, `format` and `name` on a storage domain with an
|
6375
|
+
# id `e9fedf39-5edc-4e0a-8628-253f1b9c5693`, send a request as follows:
|
6376
|
+
#
|
6377
|
+
# [source]
|
6378
|
+
# ----
|
6379
|
+
# POST /ovirt-engine/api/disks
|
6380
|
+
# ----
|
6381
|
+
#
|
6382
|
+
# With a request body as follows:
|
6383
|
+
#
|
6384
|
+
# [source,xml]
|
6385
|
+
# ----
|
6386
|
+
# <disk>
|
6387
|
+
# <storage_domains>
|
6388
|
+
# <storage_domain id="e9fedf39-5edc-4e0a-8628-253f1b9c5693"/>
|
6389
|
+
# </storage_domains>
|
6390
|
+
# <name>disk1</name>
|
6391
|
+
# <provisioned_size>1048576</provisioned_size>
|
6392
|
+
# <format>cow</format>
|
6393
|
+
# </disk>
|
6394
|
+
# ----
|
6115
6395
|
#
|
6116
6396
|
# @param disk [Disk] The `disk` to add.
|
6117
6397
|
#
|
@@ -6134,7 +6414,7 @@ module OvirtSDK4
|
|
6134
6414
|
end
|
6135
6415
|
response = @connection.send(request)
|
6136
6416
|
case response.code
|
6137
|
-
when 201, 202
|
6417
|
+
when 200, 201, 202
|
6138
6418
|
begin
|
6139
6419
|
reader = XmlReader.new(response.body)
|
6140
6420
|
return DiskReader.read_one(reader)
|
@@ -6787,7 +7067,14 @@ module OvirtSDK4
|
|
6787
7067
|
end
|
6788
7068
|
|
6789
7069
|
#
|
6790
|
-
#
|
7070
|
+
# Removes an event from internal audit log.
|
7071
|
+
#
|
7072
|
+
# An event can be removed by sending following request
|
7073
|
+
#
|
7074
|
+
# [source]
|
7075
|
+
# ----
|
7076
|
+
# DELETE /ovirt-engine/api/events/123
|
7077
|
+
# ----
|
6791
7078
|
#
|
6792
7079
|
# @param opts [Hash] Additional options.
|
6793
7080
|
#
|
@@ -6905,7 +7192,7 @@ module OvirtSDK4
|
|
6905
7192
|
end
|
6906
7193
|
response = @connection.send(request)
|
6907
7194
|
case response.code
|
6908
|
-
when 201, 202
|
7195
|
+
when 200, 201, 202
|
6909
7196
|
begin
|
6910
7197
|
reader = XmlReader.new(response.body)
|
6911
7198
|
return EventReader.read_one(reader)
|
@@ -6918,7 +7205,47 @@ module OvirtSDK4
|
|
6918
7205
|
end
|
6919
7206
|
|
6920
7207
|
#
|
6921
|
-
#
|
7208
|
+
# Get list of events.
|
7209
|
+
#
|
7210
|
+
# [source]
|
7211
|
+
# ----
|
7212
|
+
# GET /ovirt-engine/api/events
|
7213
|
+
# ----
|
7214
|
+
#
|
7215
|
+
# To the above request we get following reponse:
|
7216
|
+
#
|
7217
|
+
# [source,xml]
|
7218
|
+
# ----
|
7219
|
+
# <events>
|
7220
|
+
# <event href="/ovirt-engine/api/events/2" id="2">
|
7221
|
+
# <description>User admin@internal-authz logged out.</description>
|
7222
|
+
# <code>31</code>
|
7223
|
+
# <correlation_id>1e892ea9</correlation_id>
|
7224
|
+
# <custom_id>-1</custom_id>
|
7225
|
+
# <flood_rate>30</flood_rate>
|
7226
|
+
# <origin>oVirt</origin>
|
7227
|
+
# <severity>normal</severity>
|
7228
|
+
# <time>2016-09-14T12:14:34.541+02:00</time>
|
7229
|
+
# <user href="/ovirt-engine/api/users/57d91d48-00da-0137-0138-000000000244" id="57d91d48-00da-0137-0138-000000000244"/>
|
7230
|
+
# </event>
|
7231
|
+
# <event href="/ovirt-engine/api/events/1" id="1">
|
7232
|
+
# <description>User admin logged in.</description>
|
7233
|
+
# <code>30</code>
|
7234
|
+
# <correlation_id>1fbd81f4</correlation_id>
|
7235
|
+
# <custom_id>-1</custom_id>
|
7236
|
+
# <flood_rate>30</flood_rate>
|
7237
|
+
# <origin>oVirt</origin>
|
7238
|
+
# <severity>normal</severity>
|
7239
|
+
# <time>2016-09-14T11:54:35.229+02:00</time>
|
7240
|
+
# <user href="/ovirt-engine/api/users/57d91d48-00da-0137-0138-000000000244" id="57d91d48-00da-0137-0138-000000000244"/>
|
7241
|
+
# </event>
|
7242
|
+
# </events>
|
7243
|
+
# ----
|
7244
|
+
#
|
7245
|
+
# The following events occur:
|
7246
|
+
#
|
7247
|
+
# * id="1" - The API logs in the admin user account.
|
7248
|
+
# * id="2" - The API logs out of the admin user account.
|
6922
7249
|
#
|
6923
7250
|
# @param opts [Hash] Additional options.
|
6924
7251
|
#
|
@@ -6941,7 +7268,68 @@ module OvirtSDK4
|
|
6941
7268
|
#
|
6942
7269
|
# @option opts [Integer] :max Sets the maximum number of events to return. If not specified all the events are returned.
|
6943
7270
|
#
|
6944
|
-
# @option opts [String] :search
|
7271
|
+
# @option opts [String] :search The events service provides search queries similar to other resource services.
|
7272
|
+
#
|
7273
|
+
# We can search by providing specific severity.
|
7274
|
+
#
|
7275
|
+
# [source]
|
7276
|
+
# ----
|
7277
|
+
# GET /ovirt-engine/api/events?search=severity%3Dnormal
|
7278
|
+
# ----
|
7279
|
+
#
|
7280
|
+
# To the above request we get a list of events which severity is equal to `normal`:
|
7281
|
+
#
|
7282
|
+
# [source,xml]
|
7283
|
+
# ----
|
7284
|
+
# <events>
|
7285
|
+
# <event href="/ovirt-engine/api/events/2" id="2">
|
7286
|
+
# <description>User admin@internal-authz logged out.</description>
|
7287
|
+
# <code>31</code>
|
7288
|
+
# <correlation_id>1fbd81f4</correlation_id>
|
7289
|
+
# <custom_id>-1</custom_id>
|
7290
|
+
# <flood_rate>30</flood_rate>
|
7291
|
+
# <origin>oVirt</origin>
|
7292
|
+
# <severity>normal</severity>
|
7293
|
+
# <time>2016-09-14T11:54:35.229+02:00</time>
|
7294
|
+
# <user href="/ovirt-engine/api/users/57d91d48-00da-0137-0138-000000000244" id="57d91d48-00da-0137-0138-000000000244"/>
|
7295
|
+
# </event>
|
7296
|
+
# <event href="/ovirt-engine/api/events/1" id="1">
|
7297
|
+
# <description>Affinity Rules Enforcement Manager started.</description>
|
7298
|
+
# <code>10780</code>
|
7299
|
+
# <custom_id>-1</custom_id>
|
7300
|
+
# <flood_rate>30</flood_rate>
|
7301
|
+
# <origin>oVirt</origin>
|
7302
|
+
# <severity>normal</severity>
|
7303
|
+
# <time>2016-09-14T11:52:18.861+02:00</time>
|
7304
|
+
# </event>
|
7305
|
+
# </events>
|
7306
|
+
# ----
|
7307
|
+
#
|
7308
|
+
# A virtualization environment generates a large amount of events after
|
7309
|
+
# a period of time. However, the API only displays a default number of
|
7310
|
+
# events for one search query. To display more than the default, the API
|
7311
|
+
# separates results into pages with the page command in a search query.
|
7312
|
+
# The following search query tells the API to paginate results using a
|
7313
|
+
# page value in combination with the sortby clause:
|
7314
|
+
#
|
7315
|
+
# [source]
|
7316
|
+
# ----
|
7317
|
+
# sortby time asc page 1
|
7318
|
+
# ----
|
7319
|
+
#
|
7320
|
+
# Below example paginates event resources. The URL-encoded request is:
|
7321
|
+
#
|
7322
|
+
# [source]
|
7323
|
+
# ----
|
7324
|
+
# GET /ovirt-engine/api/events?search=sortby%20time%20asc%20page%201
|
7325
|
+
# ----
|
7326
|
+
#
|
7327
|
+
# Increase the page value to view the next page of results.
|
7328
|
+
#
|
7329
|
+
# [source]
|
7330
|
+
# ----
|
7331
|
+
# GET /ovirt-engine/api/events?search=sortby%20time%20asc%20page%202
|
7332
|
+
# ----
|
6945
7333
|
#
|
6946
7334
|
# @return [Array<Event>]
|
6947
7335
|
#
|
@@ -7609,7 +7997,7 @@ module OvirtSDK4
|
|
7609
7997
|
end
|
7610
7998
|
response = @connection.send(request)
|
7611
7999
|
case response.code
|
7612
|
-
when 201, 202
|
8000
|
+
when 200, 201, 202
|
7613
8001
|
begin
|
7614
8002
|
reader = XmlReader.new(response.body)
|
7615
8003
|
return ExternalHostProviderReader.read_one(reader)
|
@@ -8107,7 +8495,7 @@ module OvirtSDK4
|
|
8107
8495
|
end
|
8108
8496
|
response = @connection.send(request)
|
8109
8497
|
case response.code
|
8110
|
-
when 201, 202
|
8498
|
+
when 200, 201, 202
|
8111
8499
|
begin
|
8112
8500
|
reader = XmlReader.new(response.body)
|
8113
8501
|
return ExternalVmImportReader.read_one(reader)
|
@@ -8312,7 +8700,7 @@ module OvirtSDK4
|
|
8312
8700
|
end
|
8313
8701
|
response = @connection.send(request)
|
8314
8702
|
case response.code
|
8315
|
-
when 201, 202
|
8703
|
+
when 200, 201, 202
|
8316
8704
|
begin
|
8317
8705
|
reader = XmlReader.new(response.body)
|
8318
8706
|
return AgentReader.read_one(reader)
|
@@ -8694,7 +9082,7 @@ module OvirtSDK4
|
|
8694
9082
|
end
|
8695
9083
|
response = @connection.send(request)
|
8696
9084
|
case response.code
|
8697
|
-
when 201, 202
|
9085
|
+
when 200, 201, 202
|
8698
9086
|
begin
|
8699
9087
|
reader = XmlReader.new(response.body)
|
8700
9088
|
return FilterReader.read_one(reader)
|
@@ -8859,7 +9247,7 @@ module OvirtSDK4
|
|
8859
9247
|
end
|
8860
9248
|
response = @connection.send(request)
|
8861
9249
|
case response.code
|
8862
|
-
when 201, 202
|
9250
|
+
when 200, 201, 202
|
8863
9251
|
begin
|
8864
9252
|
reader = XmlReader.new(response.body)
|
8865
9253
|
return GlusterBrickReader.read_many(reader)
|
@@ -9334,7 +9722,7 @@ module OvirtSDK4
|
|
9334
9722
|
end
|
9335
9723
|
response = @connection.send(request)
|
9336
9724
|
case response.code
|
9337
|
-
when 201, 202
|
9725
|
+
when 200, 201, 202
|
9338
9726
|
begin
|
9339
9727
|
reader = XmlReader.new(response.body)
|
9340
9728
|
return GlusterVolumeReader.read_one(reader)
|
@@ -9571,7 +9959,7 @@ module OvirtSDK4
|
|
9571
9959
|
end
|
9572
9960
|
response = @connection.send(request)
|
9573
9961
|
case response.code
|
9574
|
-
when 201, 202
|
9962
|
+
when 200, 201, 202
|
9575
9963
|
begin
|
9576
9964
|
reader = XmlReader.new(response.body)
|
9577
9965
|
return GraphicsConsoleReader.read_one(reader)
|
@@ -9812,7 +10200,27 @@ module OvirtSDK4
|
|
9812
10200
|
end
|
9813
10201
|
|
9814
10202
|
#
|
9815
|
-
#
|
10203
|
+
# Add group from a directory service. Please note that domain name is name of the authorization provider.
|
10204
|
+
#
|
10205
|
+
# For example, to add the `Developers` group from the `internal-authz` authorization provider send a request
|
10206
|
+
# like this:
|
10207
|
+
#
|
10208
|
+
# [source]
|
10209
|
+
# ----
|
10210
|
+
# POST /ovirt-engine/api/groups
|
10211
|
+
# ----
|
10212
|
+
#
|
10213
|
+
# With a request body like this:
|
10214
|
+
#
|
10215
|
+
# [source,xml]
|
10216
|
+
# ----
|
10217
|
+
# <group>
|
10218
|
+
# <name>Developers</name>
|
10219
|
+
# <domain>
|
10220
|
+
# <name>internal-authz</name>
|
10221
|
+
# </domain>
|
10222
|
+
# </group>
|
10223
|
+
# ----
|
9816
10224
|
#
|
9817
10225
|
# @param group [Group] The `group` to add.
|
9818
10226
|
#
|
@@ -9835,7 +10243,7 @@ module OvirtSDK4
|
|
9835
10243
|
end
|
9836
10244
|
response = @connection.send(request)
|
9837
10245
|
case response.code
|
9838
|
-
when 201, 202
|
10246
|
+
when 200, 201, 202
|
9839
10247
|
begin
|
9840
10248
|
reader = XmlReader.new(response.body)
|
9841
10249
|
return GroupReader.read_one(reader)
|
@@ -10563,24 +10971,51 @@ module OvirtSDK4
|
|
10563
10971
|
end
|
10564
10972
|
|
10565
10973
|
#
|
10566
|
-
# Creates a new host
|
10567
|
-
#
|
10974
|
+
# Creates a new host.
|
10975
|
+
#
|
10976
|
+
# The host is created based on the attributes of the `host` parameter. The `name`, `address` and `root_password`
|
10977
|
+
# properties are required.
|
10978
|
+
#
|
10979
|
+
# For example, to add a host send the following request:
|
10980
|
+
#
|
10981
|
+
# [source]
|
10982
|
+
# ----
|
10983
|
+
# POST /ovirt-engine/api/hosts
|
10984
|
+
# ----
|
10985
|
+
#
|
10986
|
+
# With the following request body:
|
10987
|
+
#
|
10988
|
+
# [source,xml]
|
10989
|
+
# ----
|
10990
|
+
# <host>
|
10991
|
+
# <name>myhost</name>
|
10992
|
+
# <address>myhost.example.com</address>
|
10993
|
+
# <root_password>myrootpassword</root_password>
|
10994
|
+
# </host>
|
10995
|
+
# ----
|
10996
|
+
#
|
10997
|
+
# NOTE: The `root_password` element is only included in the client-provided initial representation and is not
|
10998
|
+
# exposed in the representations returned from subsequent requests.
|
10999
|
+
#
|
11000
|
+
# To add a hosted engine host, use the optional `deploy_hosted_engine` parameter:
|
11001
|
+
#
|
11002
|
+
# [source]
|
11003
|
+
# ----
|
11004
|
+
# POST /ovirt-engine/api/hosts?deploy_hosted_engine=true
|
11005
|
+
# ----
|
10568
11006
|
#
|
10569
11007
|
# @param host [Host] The host definition from which to create the new host is passed as parameter, and the newly created host
|
10570
11008
|
# is returned.
|
10571
11009
|
#
|
10572
11010
|
# @param opts [Hash] Additional options.
|
10573
11011
|
#
|
10574
|
-
# @option opts [Boolean] :deploy_hosted_engine When set to `true` it means this host should deploy also hosted
|
10575
|
-
#
|
10576
|
-
#
|
10577
|
-
# in hosted engine area.
|
11012
|
+
# @option opts [Boolean] :deploy_hosted_engine When set to `true` it means this host should deploy also hosted engine components. Missing value is treated
|
11013
|
+
# as `true` i.e deploy. Omitting this parameter means `false` and will perform no operation in hosted engine
|
11014
|
+
# area.
|
10578
11015
|
#
|
10579
|
-
# @option opts [Boolean] :undeploy_hosted_engine When set to `true` it means this host should un-deploy hosted engine
|
10580
|
-
#
|
10581
|
-
#
|
10582
|
-
# Omitting this parameter means `false` and will perform no operation
|
10583
|
-
# in hosted engine area.
|
11016
|
+
# @option opts [Boolean] :undeploy_hosted_engine When set to `true` it means this host should un-deploy hosted engine components and this host will not
|
11017
|
+
# function as part of the High Availability cluster. Missing value is treated as `true` i.e un-deploy.
|
11018
|
+
# Omitting this parameter means `false` and will perform no operation in hosted engine area.
|
10584
11019
|
#
|
10585
11020
|
# @return [Host]
|
10586
11021
|
#
|
@@ -10609,7 +11044,7 @@ module OvirtSDK4
|
|
10609
11044
|
end
|
10610
11045
|
response = @connection.send(request)
|
10611
11046
|
case response.code
|
10612
|
-
when 201, 202
|
11047
|
+
when 200, 201, 202
|
10613
11048
|
begin
|
10614
11049
|
reader = XmlReader.new(response.body)
|
10615
11050
|
return HostReader.read_one(reader)
|
@@ -10913,11 +11348,17 @@ module OvirtSDK4
|
|
10913
11348
|
#
|
10914
11349
|
# @option opts [Boolean] :async Indicates if the import should be performed asynchronously.
|
10915
11350
|
#
|
10916
|
-
# @option opts [Cluster] :cluster
|
11351
|
+
# @option opts [Cluster] :cluster Cluster where the image should be imported. Has effect only in case `import_as_template` parameter
|
11352
|
+
# is set to `true`.
|
10917
11353
|
#
|
10918
|
-
# @option opts [Disk] :disk
|
11354
|
+
# @option opts [Disk] :disk The disk which should be imported.
|
10919
11355
|
#
|
10920
|
-
# @option opts [Boolean] :import_as_template
|
11356
|
+
# @option opts [Boolean] :import_as_template Specify if template should be created from the imported disk.
|
11357
|
+
#
|
11358
|
+
# @option opts [StorageDomain] :storage_domain Storage domain where disk should be imported.
|
11359
|
+
#
|
11360
|
+
# @option opts [Template] :template Name of the template, which should be created. Has effect only in case `import_as_template` parameter
|
11361
|
+
# is set to `true`.
|
10921
11362
|
#
|
10922
11363
|
def import(opts = {})
|
10923
11364
|
action = Action.new(opts)
|
@@ -11187,7 +11628,7 @@ module OvirtSDK4
|
|
11187
11628
|
end
|
11188
11629
|
response = @connection.send(request)
|
11189
11630
|
case response.code
|
11190
|
-
when 201, 202
|
11631
|
+
when 200, 201, 202
|
11191
11632
|
begin
|
11192
11633
|
reader = XmlReader.new(response.body)
|
11193
11634
|
return ImageTransferReader.read_one(reader)
|
@@ -11690,7 +12131,7 @@ module OvirtSDK4
|
|
11690
12131
|
end
|
11691
12132
|
response = @connection.send(request)
|
11692
12133
|
case response.code
|
11693
|
-
when 201, 202
|
12134
|
+
when 200, 201, 202
|
11694
12135
|
begin
|
11695
12136
|
reader = XmlReader.new(response.body)
|
11696
12137
|
return NicReader.read_one(reader)
|
@@ -11941,7 +12382,7 @@ module OvirtSDK4
|
|
11941
12382
|
end
|
11942
12383
|
response = @connection.send(request)
|
11943
12384
|
case response.code
|
11944
|
-
when 201, 202
|
12385
|
+
when 200, 201, 202
|
11945
12386
|
begin
|
11946
12387
|
reader = XmlReader.new(response.body)
|
11947
12388
|
return WatchdogReader.read_one(reader)
|
@@ -12064,7 +12505,7 @@ module OvirtSDK4
|
|
12064
12505
|
end
|
12065
12506
|
response = @connection.send(request)
|
12066
12507
|
case response.code
|
12067
|
-
when 201, 202
|
12508
|
+
when 200, 201, 202
|
12068
12509
|
begin
|
12069
12510
|
reader = XmlReader.new(response.body)
|
12070
12511
|
return InstanceTypeReader.read_one(reader)
|
@@ -12188,7 +12629,14 @@ module OvirtSDK4
|
|
12188
12629
|
end
|
12189
12630
|
|
12190
12631
|
#
|
12191
|
-
#
|
12632
|
+
# Removes of an exisitng iSCSI bond.
|
12633
|
+
#
|
12634
|
+
# For example, to remove the iSCSI bond `456` send a request like this:
|
12635
|
+
#
|
12636
|
+
# [source]
|
12637
|
+
# ----
|
12638
|
+
# DELETE /ovirt-engine/api/datacenters/123/iscsibonds/456
|
12639
|
+
# ----
|
12192
12640
|
#
|
12193
12641
|
# @param opts [Hash] Additional options.
|
12194
12642
|
#
|
@@ -12208,12 +12656,30 @@ module OvirtSDK4
|
|
12208
12656
|
end
|
12209
12657
|
|
12210
12658
|
#
|
12211
|
-
# Updates
|
12659
|
+
# Updates an iSCSI bond.
|
12212
12660
|
#
|
12213
|
-
#
|
12214
|
-
#
|
12215
|
-
#
|
12216
|
-
#
|
12661
|
+
# Updating of an iSCSI bond can be done on the `name` and the `description` attributes only. For example, to
|
12662
|
+
# update the iSCSI bond `456` of data center `123`, send a request like this:
|
12663
|
+
#
|
12664
|
+
# [source]
|
12665
|
+
# ----
|
12666
|
+
# PUT /ovirt-engine/api/datacenters/123/iscsibonds/1234
|
12667
|
+
# ----
|
12668
|
+
#
|
12669
|
+
# The request body should look like this:
|
12670
|
+
#
|
12671
|
+
# [source,xml]
|
12672
|
+
# ----
|
12673
|
+
# <iscsi_bond>
|
12674
|
+
# <name>mybond</name>
|
12675
|
+
# <description>My iSCSI bond</description>
|
12676
|
+
# </iscsi_bond>
|
12677
|
+
# ----
|
12678
|
+
#
|
12679
|
+
# @param bond [IscsiBond] The `bond` to update.
|
12680
|
+
# @param opts [Hash] Additional options.
|
12681
|
+
#
|
12682
|
+
# @option opts [Boolean] :async Indicates if the update should be performed asynchronously.
|
12217
12683
|
#
|
12218
12684
|
# @return [IscsiBond]
|
12219
12685
|
#
|
@@ -12320,7 +12786,31 @@ module OvirtSDK4
|
|
12320
12786
|
end
|
12321
12787
|
|
12322
12788
|
#
|
12323
|
-
#
|
12789
|
+
# Create a new iSCSI bond on a data center.
|
12790
|
+
#
|
12791
|
+
# For example, to create a new iSCSI bond on data center `123` using storage connections `456` and `789`, send a
|
12792
|
+
# request like this:
|
12793
|
+
#
|
12794
|
+
# [source]
|
12795
|
+
# ----
|
12796
|
+
# POST /ovirt-engine/api/datacenters/123/iscsibonds
|
12797
|
+
# ----
|
12798
|
+
#
|
12799
|
+
# The request body should look like this:
|
12800
|
+
#
|
12801
|
+
# [source,xml]
|
12802
|
+
# ----
|
12803
|
+
# <iscsi_bond>
|
12804
|
+
# <name>mybond</name>
|
12805
|
+
# <storage_connections>
|
12806
|
+
# <storage_connection id="456"/>
|
12807
|
+
# <storage_connection id="789"/>
|
12808
|
+
# </storage_connections>
|
12809
|
+
# <networks>
|
12810
|
+
# <network id="abc"/>
|
12811
|
+
# </networks>
|
12812
|
+
# </iscsi_bond>
|
12813
|
+
# ----
|
12324
12814
|
#
|
12325
12815
|
# @param bond [IscsiBond] The `bond` to add.
|
12326
12816
|
#
|
@@ -12343,7 +12833,7 @@ module OvirtSDK4
|
|
12343
12833
|
end
|
12344
12834
|
response = @connection.send(request)
|
12345
12835
|
case response.code
|
12346
|
-
when 201, 202
|
12836
|
+
when 200, 201, 202
|
12347
12837
|
begin
|
12348
12838
|
reader = XmlReader.new(response.body)
|
12349
12839
|
return IscsiBondReader.read_one(reader)
|
@@ -12601,7 +13091,7 @@ module OvirtSDK4
|
|
12601
13091
|
end
|
12602
13092
|
response = @connection.send(request)
|
12603
13093
|
case response.code
|
12604
|
-
when 201, 202
|
13094
|
+
when 200, 201, 202
|
12605
13095
|
begin
|
12606
13096
|
reader = XmlReader.new(response.body)
|
12607
13097
|
return JobReader.read_one(reader)
|
@@ -12877,7 +13367,14 @@ module OvirtSDK4
|
|
12877
13367
|
end
|
12878
13368
|
|
12879
13369
|
#
|
12880
|
-
#
|
13370
|
+
# Removes a MAC address pool.
|
13371
|
+
#
|
13372
|
+
# For example, to remove the MAC address pool having id `123` send a request like this:
|
13373
|
+
#
|
13374
|
+
# [source]
|
13375
|
+
# ----
|
13376
|
+
# DELETE /ovirt-engine/api/macpools/123
|
13377
|
+
# ----
|
12881
13378
|
#
|
12882
13379
|
# @param opts [Hash] Additional options.
|
12883
13380
|
#
|
@@ -12897,7 +13394,37 @@ module OvirtSDK4
|
|
12897
13394
|
end
|
12898
13395
|
|
12899
13396
|
#
|
12900
|
-
# Updates
|
13397
|
+
# Updates a MAC address pool.
|
13398
|
+
#
|
13399
|
+
# The `name`, `description`, `allow_duplicates`, and `ranges` attributes can be updated.
|
13400
|
+
#
|
13401
|
+
# For example, to update the MAC address pool of id `123` send a request like this:
|
13402
|
+
#
|
13403
|
+
# [source]
|
13404
|
+
# ----
|
13405
|
+
# PUT /ovirt-engine/api/macpools/123
|
13406
|
+
# ----
|
13407
|
+
#
|
13408
|
+
# With a request body like this:
|
13409
|
+
#
|
13410
|
+
# [source,xml]
|
13411
|
+
# ----
|
13412
|
+
# <mac_pool>
|
13413
|
+
# <name>UpdatedMACPool</name>
|
13414
|
+
# <description>An updated MAC address pool</description>
|
13415
|
+
# <allow_duplicates>false</allow_duplicates>
|
13416
|
+
# <ranges>
|
13417
|
+
# <range>
|
13418
|
+
# <from>00:1A:4A:16:01:51</from>
|
13419
|
+
# <to>00:1A:4A:16:01:e6</to>
|
13420
|
+
# </range>
|
13421
|
+
# <range>
|
13422
|
+
# <from>02:1A:4A:01:00:00</from>
|
13423
|
+
# <to>02:1A:4A:FF:FF:FF</to>
|
13424
|
+
# </range>
|
13425
|
+
# </ranges>
|
13426
|
+
# </mac_pool>
|
13427
|
+
# ----
|
12901
13428
|
#
|
12902
13429
|
# @param pool [MacPool] The `pool` to update.
|
12903
13430
|
# @param opts [Hash] Additional options.
|
@@ -12981,7 +13508,34 @@ module OvirtSDK4
|
|
12981
13508
|
end
|
12982
13509
|
|
12983
13510
|
#
|
12984
|
-
#
|
13511
|
+
# Creates a new MAC address pool.
|
13512
|
+
#
|
13513
|
+
# Creation of a MAC address pool requires values for the `name` and `ranges` attributes.
|
13514
|
+
#
|
13515
|
+
# For example, to create MAC address pool send a request like this:
|
13516
|
+
#
|
13517
|
+
# [source]
|
13518
|
+
# ----
|
13519
|
+
# POST /ovirt-engine/api/macpools
|
13520
|
+
# ----
|
13521
|
+
#
|
13522
|
+
# With a request body like this:
|
13523
|
+
#
|
13524
|
+
# [source,xml]
|
13525
|
+
# ----
|
13526
|
+
# <mac_pool>
|
13527
|
+
# <name>MACPool</name>
|
13528
|
+
# <description>A MAC address pool</description>
|
13529
|
+
# <allow_duplicates>true</allow_duplicates>
|
13530
|
+
# <default_pool>false</default_pool>
|
13531
|
+
# <ranges>
|
13532
|
+
# <range>
|
13533
|
+
# <from>00:1A:4A:16:01:51</from>
|
13534
|
+
# <to>00:1A:4A:16:01:e6</to>
|
13535
|
+
# </range>
|
13536
|
+
# </ranges>
|
13537
|
+
# </mac_pool>
|
13538
|
+
# ----
|
12985
13539
|
#
|
12986
13540
|
# @param pool [MacPool] The `pool` to add.
|
12987
13541
|
#
|
@@ -13004,7 +13558,7 @@ module OvirtSDK4
|
|
13004
13558
|
end
|
13005
13559
|
response = @connection.send(request)
|
13006
13560
|
case response.code
|
13007
|
-
when 201, 202
|
13561
|
+
when 200, 201, 202
|
13008
13562
|
begin
|
13009
13563
|
reader = XmlReader.new(response.body)
|
13010
13564
|
return MacPoolReader.read_one(reader)
|
@@ -13251,7 +13805,14 @@ module OvirtSDK4
|
|
13251
13805
|
end
|
13252
13806
|
|
13253
13807
|
#
|
13254
|
-
#
|
13808
|
+
# Removes a logical network.
|
13809
|
+
#
|
13810
|
+
# For example, to remove the logical network `123` send a request like this:
|
13811
|
+
#
|
13812
|
+
# [source]
|
13813
|
+
# ----
|
13814
|
+
# DELETE /ovirt-engine/api/networks/123
|
13815
|
+
# ----
|
13255
13816
|
#
|
13256
13817
|
# @param opts [Hash] Additional options.
|
13257
13818
|
#
|
@@ -13271,7 +13832,25 @@ module OvirtSDK4
|
|
13271
13832
|
end
|
13272
13833
|
|
13273
13834
|
#
|
13274
|
-
# Updates
|
13835
|
+
# Updates a logical network.
|
13836
|
+
#
|
13837
|
+
# The `name`, `description`, `ip`, `vlan`, `stp` and `display` attributes can be updated.
|
13838
|
+
#
|
13839
|
+
# For example, to update the description of the logcial network `123` send a request like this:
|
13840
|
+
#
|
13841
|
+
# [source]
|
13842
|
+
# ----
|
13843
|
+
# PUT /ovirt-engine/api/networks/123
|
13844
|
+
# ----
|
13845
|
+
#
|
13846
|
+
# With a request body like this:
|
13847
|
+
#
|
13848
|
+
# [source,xml]
|
13849
|
+
# ----
|
13850
|
+
# <network>
|
13851
|
+
# <description>My updated description</description>
|
13852
|
+
# </network>
|
13853
|
+
# ----
|
13275
13854
|
#
|
13276
13855
|
# @param network [Network] The `network` to update.
|
13277
13856
|
# @param opts [Hash] Additional options.
|
@@ -13548,7 +14127,7 @@ module OvirtSDK4
|
|
13548
14127
|
end
|
13549
14128
|
response = @connection.send(request)
|
13550
14129
|
case response.code
|
13551
|
-
when 201, 202
|
14130
|
+
when 200, 201, 202
|
13552
14131
|
begin
|
13553
14132
|
reader = XmlReader.new(response.body)
|
13554
14133
|
return NetworkAttachmentReader.read_one(reader)
|
@@ -13817,7 +14396,14 @@ module OvirtSDK4
|
|
13817
14396
|
end
|
13818
14397
|
|
13819
14398
|
#
|
13820
|
-
#
|
14399
|
+
# Removes a label from a logical network.
|
14400
|
+
#
|
14401
|
+
# For example, to remove the label `exemplary` from a logical network having id `123` send the following request:
|
14402
|
+
#
|
14403
|
+
# [source]
|
14404
|
+
# ----
|
14405
|
+
# DELETE /ovirt-engine/api/networks/123/labels/exemplary
|
14406
|
+
# ----
|
13821
14407
|
#
|
13822
14408
|
# @param opts [Hash] Additional options.
|
13823
14409
|
#
|
@@ -13878,7 +14464,24 @@ module OvirtSDK4
|
|
13878
14464
|
end
|
13879
14465
|
|
13880
14466
|
#
|
13881
|
-
#
|
14467
|
+
# Attaches label to logical network.
|
14468
|
+
#
|
14469
|
+
# You can attach labels to a logical network to automate the association of that logical network with physical host
|
14470
|
+
# network interfaces to which the same label has been attached.
|
14471
|
+
#
|
14472
|
+
# For example, to attach the label `mylabel` to a logical network having id `123` send a request like this:
|
14473
|
+
#
|
14474
|
+
# [source]
|
14475
|
+
# ----
|
14476
|
+
# POST /ovirt-engine/api/networks/123/labels
|
14477
|
+
# ----
|
14478
|
+
#
|
14479
|
+
# With a request body like this:
|
14480
|
+
#
|
14481
|
+
# [source,xml]
|
14482
|
+
# ----
|
14483
|
+
# <label id="mylabel"/>
|
14484
|
+
# ----
|
13882
14485
|
#
|
13883
14486
|
# @param label [NetworkLabel] The `label` to add.
|
13884
14487
|
#
|
@@ -13901,7 +14504,7 @@ module OvirtSDK4
|
|
13901
14504
|
end
|
13902
14505
|
response = @connection.send(request)
|
13903
14506
|
case response.code
|
13904
|
-
when 201, 202
|
14507
|
+
when 200, 201, 202
|
13905
14508
|
begin
|
13906
14509
|
reader = XmlReader.new(response.body)
|
13907
14510
|
return NetworkLabelReader.read_one(reader)
|
@@ -14001,7 +14604,26 @@ module OvirtSDK4
|
|
14001
14604
|
end
|
14002
14605
|
|
14003
14606
|
#
|
14004
|
-
#
|
14607
|
+
# Creates new logical network.
|
14608
|
+
#
|
14609
|
+
# Creation of a new network requires the `name` and `data_center` elements.
|
14610
|
+
#
|
14611
|
+
# For example, to create a network named `mynetwork` for data center `123` send a request like this:
|
14612
|
+
#
|
14613
|
+
# [source]
|
14614
|
+
# ----
|
14615
|
+
# POST /ovirt-engine/api/networks
|
14616
|
+
# ----
|
14617
|
+
#
|
14618
|
+
# With a request body like this:
|
14619
|
+
#
|
14620
|
+
# [source,xml]
|
14621
|
+
# ----
|
14622
|
+
# <network>
|
14623
|
+
# <name>mynetwork</name>
|
14624
|
+
# <data_center id="123"/>
|
14625
|
+
# </network>
|
14626
|
+
# ----
|
14005
14627
|
#
|
14006
14628
|
# @param network [Network] The `network` to add.
|
14007
14629
|
#
|
@@ -14024,7 +14646,7 @@ module OvirtSDK4
|
|
14024
14646
|
end
|
14025
14647
|
response = @connection.send(request)
|
14026
14648
|
case response.code
|
14027
|
-
when 201, 202
|
14649
|
+
when 200, 201, 202
|
14028
14650
|
begin
|
14029
14651
|
reader = XmlReader.new(response.body)
|
14030
14652
|
return NetworkReader.read_one(reader)
|
@@ -14037,7 +14659,36 @@ module OvirtSDK4
|
|
14037
14659
|
end
|
14038
14660
|
|
14039
14661
|
#
|
14040
|
-
#
|
14662
|
+
# List logical networks.
|
14663
|
+
#
|
14664
|
+
# For example:
|
14665
|
+
#
|
14666
|
+
# [source]
|
14667
|
+
# ----
|
14668
|
+
# GET /ovirt-engine/api/networks
|
14669
|
+
# ----
|
14670
|
+
#
|
14671
|
+
# Will respond:
|
14672
|
+
#
|
14673
|
+
# [source,xml]
|
14674
|
+
# ----
|
14675
|
+
# <networks>
|
14676
|
+
# <network href="/ovirt-engine/api/networks/123" id="123">
|
14677
|
+
# <name>ovirtmgmt</name>
|
14678
|
+
# <description>Default Management Network</description>
|
14679
|
+
# <link href="/ovirt-engine/api/networks/123/permissions" rel="permissions"/>
|
14680
|
+
# <link href="/ovirt-engine/api/networks/123/vnicprofiles" rel="vnicprofiles"/>
|
14681
|
+
# <link href="/ovirt-engine/api/networks/123/networklabels" rel="networklabels"/>
|
14682
|
+
# <mtu>0</mtu>
|
14683
|
+
# <stp>false</stp>
|
14684
|
+
# <usages>
|
14685
|
+
# <usage>vm</usage>
|
14686
|
+
# </usages>
|
14687
|
+
# <data_center href="/ovirt-engine/api/datacenters/456" id="456"/>
|
14688
|
+
# </network>
|
14689
|
+
# ...
|
14690
|
+
# </networks>
|
14691
|
+
# ----
|
14041
14692
|
#
|
14042
14693
|
# @param opts [Hash] Additional options.
|
14043
14694
|
#
|
@@ -14163,15 +14814,40 @@ module OvirtSDK4
|
|
14163
14814
|
end
|
14164
14815
|
|
14165
14816
|
#
|
14166
|
-
#
|
14817
|
+
# Imports a virtual machine from a Glance image storage domain.
|
14818
|
+
#
|
14819
|
+
# For example, to import the image with identifier `456` from the
|
14820
|
+
# storage domain with identifier `123` send a request like this:
|
14821
|
+
#
|
14822
|
+
# [source]
|
14823
|
+
# ----
|
14824
|
+
# POST /ovirt-engine/api/openstackimageproviders/123/images/456/import
|
14825
|
+
# ----
|
14826
|
+
#
|
14827
|
+
# With a request body like this:
|
14828
|
+
#
|
14829
|
+
# [source,xml]
|
14830
|
+
# ----
|
14831
|
+
# <action>
|
14832
|
+
# <storage_domain>
|
14833
|
+
# <name>images0</name>
|
14834
|
+
# </storage_domain>
|
14835
|
+
# <cluster>
|
14836
|
+
# <name>images0</name>
|
14837
|
+
# </cluster>
|
14838
|
+
# </action>
|
14839
|
+
# ----
|
14167
14840
|
#
|
14168
14841
|
# @param opts [Hash] Additional options.
|
14169
14842
|
#
|
14170
14843
|
# @option opts [Boolean] :async Indicates if the import should be performed asynchronously.
|
14171
14844
|
#
|
14845
|
+
# @option opts [Cluster] :cluster This parameter is mandatory in case of using `import_as_template` and indicates which cluster should be used
|
14846
|
+
# for import glance image as template.
|
14847
|
+
#
|
14172
14848
|
# @option opts [Disk] :disk
|
14173
14849
|
#
|
14174
|
-
# @option opts [Boolean] :import_as_template
|
14850
|
+
# @option opts [Boolean] :import_as_template Indicates whether the image should be imported as a template.
|
14175
14851
|
#
|
14176
14852
|
# @option opts [StorageDomain] :storage_domain
|
14177
14853
|
#
|
@@ -14472,7 +15148,7 @@ module OvirtSDK4
|
|
14472
15148
|
end
|
14473
15149
|
response = @connection.send(request)
|
14474
15150
|
case response.code
|
14475
|
-
when 201, 202
|
15151
|
+
when 200, 201, 202
|
14476
15152
|
begin
|
14477
15153
|
reader = XmlReader.new(response.body)
|
14478
15154
|
return OpenStackImageProviderReader.read_one(reader)
|
@@ -14572,7 +15248,7 @@ module OvirtSDK4
|
|
14572
15248
|
end
|
14573
15249
|
|
14574
15250
|
#
|
14575
|
-
#
|
15251
|
+
# Lists the images of a Glance image storage domain.
|
14576
15252
|
#
|
14577
15253
|
# @param opts [Hash] Additional options.
|
14578
15254
|
#
|
@@ -14603,7 +15279,7 @@ module OvirtSDK4
|
|
14603
15279
|
end
|
14604
15280
|
|
14605
15281
|
#
|
14606
|
-
#
|
15282
|
+
# Returns a reference to the service that manages a specific image.
|
14607
15283
|
#
|
14608
15284
|
# @param id [String] The identifier of the `image`.
|
14609
15285
|
#
|
@@ -15005,7 +15681,7 @@ module OvirtSDK4
|
|
15005
15681
|
end
|
15006
15682
|
response = @connection.send(request)
|
15007
15683
|
case response.code
|
15008
|
-
when 201, 202
|
15684
|
+
when 200, 201, 202
|
15009
15685
|
begin
|
15010
15686
|
reader = XmlReader.new(response.body)
|
15011
15687
|
return OpenStackNetworkProviderReader.read_one(reader)
|
@@ -15300,7 +15976,7 @@ module OvirtSDK4
|
|
15300
15976
|
end
|
15301
15977
|
response = @connection.send(request)
|
15302
15978
|
case response.code
|
15303
|
-
when 201, 202
|
15979
|
+
when 200, 201, 202
|
15304
15980
|
begin
|
15305
15981
|
reader = XmlReader.new(response.body)
|
15306
15982
|
return OpenStackSubnetReader.read_one(reader)
|
@@ -15544,7 +16220,7 @@ module OvirtSDK4
|
|
15544
16220
|
end
|
15545
16221
|
response = @connection.send(request)
|
15546
16222
|
case response.code
|
15547
|
-
when 201, 202
|
16223
|
+
when 200, 201, 202
|
15548
16224
|
begin
|
15549
16225
|
reader = XmlReader.new(response.body)
|
15550
16226
|
return OpenstackVolumeAuthenticationKeyReader.read_one(reader)
|
@@ -15868,7 +16544,31 @@ module OvirtSDK4
|
|
15868
16544
|
end
|
15869
16545
|
|
15870
16546
|
#
|
15871
|
-
# Adds a new
|
16547
|
+
# Adds a new volume provider.
|
16548
|
+
#
|
16549
|
+
# For example:
|
16550
|
+
#
|
16551
|
+
# [source]
|
16552
|
+
# ----
|
16553
|
+
# POST /ovirt-engine/api/openstackvolumeproviders
|
16554
|
+
# ----
|
16555
|
+
#
|
16556
|
+
# With a request body like this:
|
16557
|
+
#
|
16558
|
+
# [source,xml]
|
16559
|
+
# ----
|
16560
|
+
# <openstack_volume_provider>
|
16561
|
+
# <name>mycinder</name>
|
16562
|
+
# <url>https://mycinder.example.com:8776</url>
|
16563
|
+
# <data_center>
|
16564
|
+
# <name>mydc</name>
|
16565
|
+
# </data_center>
|
16566
|
+
# <requires_authentication>true</requires_authentication>
|
16567
|
+
# <username>admin</username>
|
16568
|
+
# <password>mypassword</password>
|
16569
|
+
# <tenant_name>mytenant</tenant_name>
|
16570
|
+
# </openstack_volume_provider>
|
16571
|
+
# ----
|
15872
16572
|
#
|
15873
16573
|
# @param provider [OpenStackVolumeProvider] The `provider` to add.
|
15874
16574
|
#
|
@@ -15891,7 +16591,7 @@ module OvirtSDK4
|
|
15891
16591
|
end
|
15892
16592
|
response = @connection.send(request)
|
15893
16593
|
case response.code
|
15894
|
-
when 201, 202
|
16594
|
+
when 200, 201, 202
|
15895
16595
|
begin
|
15896
16596
|
reader = XmlReader.new(response.body)
|
15897
16597
|
return OpenStackVolumeProviderReader.read_one(reader)
|
@@ -15904,7 +16604,7 @@ module OvirtSDK4
|
|
15904
16604
|
end
|
15905
16605
|
|
15906
16606
|
#
|
15907
|
-
#
|
16607
|
+
# Retrieves the list of volume providers.
|
15908
16608
|
#
|
15909
16609
|
# @param opts [Hash] Additional options.
|
15910
16610
|
#
|
@@ -16489,7 +17189,7 @@ module OvirtSDK4
|
|
16489
17189
|
end
|
16490
17190
|
response = @connection.send(request)
|
16491
17191
|
case response.code
|
16492
|
-
when 201, 202
|
17192
|
+
when 200, 201, 202
|
16493
17193
|
begin
|
16494
17194
|
reader = XmlReader.new(response.body)
|
16495
17195
|
return PermitReader.read_one(reader)
|
@@ -16740,7 +17440,7 @@ module OvirtSDK4
|
|
16740
17440
|
end
|
16741
17441
|
response = @connection.send(request)
|
16742
17442
|
case response.code
|
16743
|
-
when 201, 202
|
17443
|
+
when 200, 201, 202
|
16744
17444
|
begin
|
16745
17445
|
reader = XmlReader.new(response.body)
|
16746
17446
|
return QosReader.read_one(reader)
|
@@ -16840,7 +17540,26 @@ module OvirtSDK4
|
|
16840
17540
|
end
|
16841
17541
|
|
16842
17542
|
#
|
16843
|
-
#
|
17543
|
+
# Retrieves a quota.
|
17544
|
+
#
|
17545
|
+
# An example of retrieving a quota:
|
17546
|
+
#
|
17547
|
+
# [source]
|
17548
|
+
# ----
|
17549
|
+
# GET /ovirt-engine/api/datacenters/123/quotas/456
|
17550
|
+
# ----
|
17551
|
+
#
|
17552
|
+
# [source,xml]
|
17553
|
+
# ----
|
17554
|
+
# <quota id="456">
|
17555
|
+
# <name>myquota</name>
|
17556
|
+
# <description>My new quota for virtual machines</description>
|
17557
|
+
# <cluster_hard_limit_pct>20</cluster_hard_limit_pct>
|
17558
|
+
# <cluster_soft_limit_pct>80</cluster_soft_limit_pct>
|
17559
|
+
# <storage_hard_limit_pct>20</storage_hard_limit_pct>
|
17560
|
+
# <storage_soft_limit_pct>80</storage_soft_limit_pct>
|
17561
|
+
# </quota>
|
17562
|
+
# ----
|
16844
17563
|
#
|
16845
17564
|
# @param opts [Hash] Additional options.
|
16846
17565
|
#
|
@@ -16864,7 +17583,17 @@ module OvirtSDK4
|
|
16864
17583
|
end
|
16865
17584
|
|
16866
17585
|
#
|
16867
|
-
#
|
17586
|
+
# Delete a quota.
|
17587
|
+
#
|
17588
|
+
# An example of deleting a quota:
|
17589
|
+
#
|
17590
|
+
# [source]
|
17591
|
+
# ----
|
17592
|
+
# DELETE /ovirt-engine/api/datacenters/123-456/quotas/654-321
|
17593
|
+
# -0472718ab224 HTTP/1.1
|
17594
|
+
# Accept: application/xml
|
17595
|
+
# Content-type: application/xml
|
17596
|
+
# ----
|
16868
17597
|
#
|
16869
17598
|
# @param opts [Hash] Additional options.
|
16870
17599
|
#
|
@@ -16884,7 +17613,24 @@ module OvirtSDK4
|
|
16884
17613
|
end
|
16885
17614
|
|
16886
17615
|
#
|
16887
|
-
# Updates
|
17616
|
+
# Updates a quota.
|
17617
|
+
#
|
17618
|
+
# An example of updating a quota:
|
17619
|
+
#
|
17620
|
+
# [source]
|
17621
|
+
# ----
|
17622
|
+
# PUT /ovirt-engine/api/datacenters/123/quotas/456
|
17623
|
+
# ----
|
17624
|
+
#
|
17625
|
+
# [source,xml]
|
17626
|
+
# ----
|
17627
|
+
# <quota>
|
17628
|
+
# <cluster_hard_limit_pct>30</cluster_hard_limit_pct>
|
17629
|
+
# <cluster_soft_limit_pct>70</cluster_soft_limit_pct>
|
17630
|
+
# <storage_hard_limit_pct>20</storage_hard_limit_pct>
|
17631
|
+
# <storage_soft_limit_pct>80</storage_soft_limit_pct>
|
17632
|
+
# </quota>
|
17633
|
+
# ----
|
16888
17634
|
#
|
16889
17635
|
# @param quota [Quota] The `quota` to update.
|
16890
17636
|
# @param opts [Hash] Additional options.
|
@@ -17118,7 +17864,7 @@ module OvirtSDK4
|
|
17118
17864
|
end
|
17119
17865
|
response = @connection.send(request)
|
17120
17866
|
case response.code
|
17121
|
-
when 201, 202
|
17867
|
+
when 200, 201, 202
|
17122
17868
|
begin
|
17123
17869
|
reader = XmlReader.new(response.body)
|
17124
17870
|
return QuotaClusterLimitReader.read_one(reader)
|
@@ -17326,7 +18072,7 @@ module OvirtSDK4
|
|
17326
18072
|
end
|
17327
18073
|
response = @connection.send(request)
|
17328
18074
|
case response.code
|
17329
|
-
when 201, 202
|
18075
|
+
when 200, 201, 202
|
17330
18076
|
begin
|
17331
18077
|
reader = XmlReader.new(response.body)
|
17332
18078
|
return QuotaStorageLimitReader.read_one(reader)
|
@@ -17426,7 +18172,22 @@ module OvirtSDK4
|
|
17426
18172
|
end
|
17427
18173
|
|
17428
18174
|
#
|
17429
|
-
#
|
18175
|
+
# Creates a new quota.
|
18176
|
+
#
|
18177
|
+
# An example of creating a new quota:
|
18178
|
+
#
|
18179
|
+
# [source]
|
18180
|
+
# ----
|
18181
|
+
# POST /ovirt-engine/api/datacenters/123/quotas
|
18182
|
+
# ----
|
18183
|
+
#
|
18184
|
+
# [source,xml]
|
18185
|
+
# ----
|
18186
|
+
# <quota>
|
18187
|
+
# <name>myquota</name>
|
18188
|
+
# <description>My new quota for virtual machines</description>
|
18189
|
+
# </quota>
|
18190
|
+
# ----
|
17430
18191
|
#
|
17431
18192
|
# @param quota [Quota] The `quota` to add.
|
17432
18193
|
#
|
@@ -17449,7 +18210,7 @@ module OvirtSDK4
|
|
17449
18210
|
end
|
17450
18211
|
response = @connection.send(request)
|
17451
18212
|
case response.code
|
17452
|
-
when 201, 202
|
18213
|
+
when 200, 201, 202
|
17453
18214
|
begin
|
17454
18215
|
reader = XmlReader.new(response.body)
|
17455
18216
|
return QuotaReader.read_one(reader)
|
@@ -17462,7 +18223,7 @@ module OvirtSDK4
|
|
17462
18223
|
end
|
17463
18224
|
|
17464
18225
|
#
|
17465
|
-
#
|
18226
|
+
# Lists quotas of a data center
|
17466
18227
|
#
|
17467
18228
|
# @param opts [Hash] Additional options.
|
17468
18229
|
#
|
@@ -17573,7 +18334,14 @@ module OvirtSDK4
|
|
17573
18334
|
end
|
17574
18335
|
|
17575
18336
|
#
|
17576
|
-
#
|
18337
|
+
# Removes the role.
|
18338
|
+
#
|
18339
|
+
# To remove the role you need to know its id, then send request like this:
|
18340
|
+
#
|
18341
|
+
# [source]
|
18342
|
+
# ----
|
18343
|
+
# DELETE /ovirt-engine/api/roles/{role_id}
|
18344
|
+
# ----
|
17577
18345
|
#
|
17578
18346
|
# @param opts [Hash] Additional options.
|
17579
18347
|
#
|
@@ -17593,7 +18361,27 @@ module OvirtSDK4
|
|
17593
18361
|
end
|
17594
18362
|
|
17595
18363
|
#
|
17596
|
-
# Updates
|
18364
|
+
# Updates a role. You are allowed to update `name`, `description` and `administrative` attributes after role is
|
18365
|
+
# created. Within this endpoint you can't add or remove roles permits you need to use
|
18366
|
+
# <<services/permits, service>> that manages permits of role.
|
18367
|
+
#
|
18368
|
+
# For example to update role's `name`, `description` and `administrative` attributes send a request like this:
|
18369
|
+
#
|
18370
|
+
# [source]
|
18371
|
+
# ----
|
18372
|
+
# PUT /ovirt-engine/api/roles/123
|
18373
|
+
# ----
|
18374
|
+
#
|
18375
|
+
# With a request body like this:
|
18376
|
+
#
|
18377
|
+
# [source,xml]
|
18378
|
+
# ----
|
18379
|
+
# <role>
|
18380
|
+
# <name>MyNewRoleName</name>
|
18381
|
+
# <description>My new description of the role</description>
|
18382
|
+
# <administrative>true</administrative>
|
18383
|
+
# </group>
|
18384
|
+
# ----
|
17597
18385
|
#
|
17598
18386
|
# @param role [Role] The `role` to update.
|
17599
18387
|
# @param opts [Hash] Additional options.
|
@@ -17691,7 +18479,30 @@ module OvirtSDK4
|
|
17691
18479
|
end
|
17692
18480
|
|
17693
18481
|
#
|
17694
|
-
#
|
18482
|
+
# Create a new role. The role can be administrative or non-administrative and can have different permits.
|
18483
|
+
#
|
18484
|
+
# For example, to add the `MyRole` non-administrative role with permits to login and create virtual machines
|
18485
|
+
# send a request like this (note that you have to pass permit id):
|
18486
|
+
#
|
18487
|
+
# [source]
|
18488
|
+
# ----
|
18489
|
+
# POST /ovirt-engine/api/roles
|
18490
|
+
# ----
|
18491
|
+
#
|
18492
|
+
# With a request body like this:
|
18493
|
+
#
|
18494
|
+
# [source,xml]
|
18495
|
+
# ----
|
18496
|
+
# <role>
|
18497
|
+
# <name>MyRole</name>
|
18498
|
+
# <description>My custom role to create virtual machines</description>
|
18499
|
+
# <administrative>false</administrative>
|
18500
|
+
# <permits>
|
18501
|
+
# <permit id="1"/>
|
18502
|
+
# <permit id="1300"/>
|
18503
|
+
# </permits>
|
18504
|
+
# </group>
|
18505
|
+
# ----
|
17695
18506
|
#
|
17696
18507
|
# @param role [Role] The `role` to add.
|
17697
18508
|
#
|
@@ -17714,7 +18525,7 @@ module OvirtSDK4
|
|
17714
18525
|
end
|
17715
18526
|
response = @connection.send(request)
|
17716
18527
|
case response.code
|
17717
|
-
when 201, 202
|
18528
|
+
when 200, 201, 202
|
17718
18529
|
begin
|
17719
18530
|
reader = XmlReader.new(response.body)
|
17720
18531
|
return RoleReader.read_one(reader)
|
@@ -17837,7 +18648,7 @@ module OvirtSDK4
|
|
17837
18648
|
end
|
17838
18649
|
response = @connection.send(request)
|
17839
18650
|
case response.code
|
17840
|
-
when 201, 202
|
18651
|
+
when 200, 201, 202
|
17841
18652
|
begin
|
17842
18653
|
reader = XmlReader.new(response.body)
|
17843
18654
|
return SchedulingPolicyReader.read_one(reader)
|
@@ -18351,7 +19162,22 @@ module OvirtSDK4
|
|
18351
19162
|
end
|
18352
19163
|
|
18353
19164
|
#
|
18354
|
-
#
|
19165
|
+
# Restores a virtual machine snapshot.
|
19166
|
+
#
|
19167
|
+
# For example, to restore the snapshot with identifier `456` of virtual machine with identifier `123` send a
|
19168
|
+
# request like this:
|
19169
|
+
#
|
19170
|
+
# [source]
|
19171
|
+
# ----
|
19172
|
+
# POST /ovirt-engine/api/vms/123/snapshots/456/restore
|
19173
|
+
# ----
|
19174
|
+
#
|
19175
|
+
# With an empty `action` in the body:
|
19176
|
+
#
|
19177
|
+
# [source,xml]
|
19178
|
+
# ----
|
19179
|
+
# <action/>
|
19180
|
+
# ----
|
18355
19181
|
#
|
18356
19182
|
# @param opts [Hash] Additional options.
|
18357
19183
|
#
|
@@ -18921,7 +19747,23 @@ module OvirtSDK4
|
|
18921
19747
|
end
|
18922
19748
|
|
18923
19749
|
#
|
18924
|
-
#
|
19750
|
+
# Creates a virtual machine snapshot.
|
19751
|
+
#
|
19752
|
+
# For example, to create a new snapshot for virtual machine `123` send a request like this:
|
19753
|
+
#
|
19754
|
+
# [source]
|
19755
|
+
# ----
|
19756
|
+
# POST /ovirt-engine/api/vms/123/snapshots
|
19757
|
+
# ----
|
19758
|
+
#
|
19759
|
+
# With a request body like this:
|
19760
|
+
#
|
19761
|
+
# [source,xml]
|
19762
|
+
# ----
|
19763
|
+
# <snapshot>
|
19764
|
+
# <description>My snapshot</description>
|
19765
|
+
# </snapshot>
|
19766
|
+
# ----
|
18925
19767
|
#
|
18926
19768
|
# @param snapshot [Snapshot] The `snapshot` to add.
|
18927
19769
|
#
|
@@ -18944,7 +19786,7 @@ module OvirtSDK4
|
|
18944
19786
|
end
|
18945
19787
|
response = @connection.send(request)
|
18946
19788
|
case response.code
|
18947
|
-
when 201, 202
|
19789
|
+
when 200, 201, 202
|
18948
19790
|
begin
|
18949
19791
|
reader = XmlReader.new(response.body)
|
18950
19792
|
return SnapshotReader.read_one(reader)
|
@@ -19195,7 +20037,7 @@ module OvirtSDK4
|
|
19195
20037
|
end
|
19196
20038
|
response = @connection.send(request)
|
19197
20039
|
case response.code
|
19198
|
-
when 201, 202
|
20040
|
+
when 200, 201, 202
|
19199
20041
|
begin
|
19200
20042
|
reader = XmlReader.new(response.body)
|
19201
20043
|
return SshPublicKeyReader.read_one(reader)
|
@@ -19586,7 +20428,7 @@ module OvirtSDK4
|
|
19586
20428
|
end
|
19587
20429
|
response = @connection.send(request)
|
19588
20430
|
case response.code
|
19589
|
-
when 201, 202
|
20431
|
+
when 200, 201, 202
|
19590
20432
|
begin
|
19591
20433
|
reader = XmlReader.new(response.body)
|
19592
20434
|
return StepReader.read_one(reader)
|
@@ -19869,13 +20711,37 @@ module OvirtSDK4
|
|
19869
20711
|
end
|
19870
20712
|
|
19871
20713
|
#
|
19872
|
-
#
|
20714
|
+
# This operation refreshes the LUN size.
|
20715
|
+
#
|
20716
|
+
# After increasing the size of the underlying LUN on the storage server,
|
20717
|
+
# the user can refresh the LUN size.
|
20718
|
+
# This action forces a rescan of the provided LUNs and
|
20719
|
+
# updates the database with the new size if required.
|
20720
|
+
#
|
20721
|
+
# For example, in order to refresh the size of two LUNs send a request like this:
|
20722
|
+
#
|
20723
|
+
# [source]
|
20724
|
+
# ----
|
20725
|
+
# POST /ovirt-engine/api/storagedomains/262b056b-aede-40f1-9666-b883eff59d40/refreshluns
|
20726
|
+
# ----
|
20727
|
+
#
|
20728
|
+
# With a request body like this:
|
20729
|
+
#
|
20730
|
+
# [source,xml]
|
20731
|
+
# ----
|
20732
|
+
# <action>
|
20733
|
+
# <logical_units>
|
20734
|
+
# <logical_unit id="1IET_00010001"/>
|
20735
|
+
# <logical_unit id="1IET_00010002"/>
|
20736
|
+
# </logical_units>
|
20737
|
+
# </action>
|
20738
|
+
# ----
|
19873
20739
|
#
|
19874
20740
|
# @param opts [Hash] Additional options.
|
19875
20741
|
#
|
19876
20742
|
# @option opts [Boolean] :async Indicates if the refresh should be performed asynchronously.
|
19877
20743
|
#
|
19878
|
-
# @option opts [Array<LogicalUnit>] :logical_units
|
20744
|
+
# @option opts [Array<LogicalUnit>] :logical_units The LUNs that need to be refreshed.
|
19879
20745
|
#
|
19880
20746
|
def refresh_luns(opts = {})
|
19881
20747
|
action = Action.new(opts)
|
@@ -19916,9 +20782,19 @@ module OvirtSDK4
|
|
19916
20782
|
# @option opts [Boolean] :destroy Indicates if the operation should succeed, and the storage domain removed from the database, even if the
|
19917
20783
|
# storage isn't accessible.
|
19918
20784
|
#
|
20785
|
+
# [source]
|
20786
|
+
# ----
|
20787
|
+
# DELETE /ovirt-engine/api/storagedomains/123?destroy=true
|
20788
|
+
# ----
|
20789
|
+
#
|
19919
20790
|
# This parameter is optional, and the default value is `false`.
|
19920
20791
|
# @option opts [Boolean] :format Indicates if the actual storage should be formatted, removing all the metadata from the underlying LUN or
|
19921
|
-
# directory
|
20792
|
+
# directory:
|
20793
|
+
#
|
20794
|
+
# [source]
|
20795
|
+
# ----
|
20796
|
+
# DELETE /ovirt-engine/api/storagedomains/123?format=true
|
20797
|
+
# ----
|
19922
20798
|
#
|
19923
20799
|
# This parameter is optional, and the default value is `false`.
|
19924
20800
|
# @option opts [String] :host Indicates what host should be used to remove the storage domain.
|
@@ -19959,7 +20835,30 @@ module OvirtSDK4
|
|
19959
20835
|
end
|
19960
20836
|
|
19961
20837
|
#
|
19962
|
-
# Updates
|
20838
|
+
# Updates a storage domain.
|
20839
|
+
#
|
20840
|
+
# Not all of the <<types/storage_domain,StorageDomain>>'s attributes are updatable post-creation. Those that can be
|
20841
|
+
# updated are: `name`, `description`, `comment`, `warning_low_space_indicator`, `critical_space_action_blocker` and
|
20842
|
+
# `wipe_after_delete` (note that changing the `wipe_after_delete` attribute will not change the wipe after delete
|
20843
|
+
# property of disks that already exist).
|
20844
|
+
#
|
20845
|
+
# To update the `name` and `wipe_after_delete` attributes of a storage domain with an identifier `123`, send a
|
20846
|
+
# request as follows:
|
20847
|
+
#
|
20848
|
+
# [source]
|
20849
|
+
# ----
|
20850
|
+
# PUT /ovirt-engine/api/storagedomains/123
|
20851
|
+
# ----
|
20852
|
+
#
|
20853
|
+
# With a request body as follows:
|
20854
|
+
#
|
20855
|
+
# [source,xml]
|
20856
|
+
# ----
|
20857
|
+
# <storage_domain>
|
20858
|
+
# <name>data2</name>
|
20859
|
+
# <wipe_after_delete>true</wipe_after_delete>
|
20860
|
+
# </storage_domain>
|
20861
|
+
# ----
|
19963
20862
|
#
|
19964
20863
|
# @param storage_domain [StorageDomain] The `storage_domain` to update.
|
19965
20864
|
# @param opts [Hash] Additional options.
|
@@ -20068,7 +20967,7 @@ module OvirtSDK4
|
|
20068
20967
|
end
|
20069
20968
|
|
20070
20969
|
#
|
20071
|
-
#
|
20970
|
+
# Returns a reference to the service that manages the files available in the storage domain.
|
20072
20971
|
#
|
20073
20972
|
# @return [FilesService] A reference to `files` service.
|
20074
20973
|
def files_service
|
@@ -20092,7 +20991,7 @@ module OvirtSDK4
|
|
20092
20991
|
end
|
20093
20992
|
|
20094
20993
|
#
|
20095
|
-
#
|
20994
|
+
# Returns a reference to the service that manages the storage connections.
|
20096
20995
|
#
|
20097
20996
|
# @return [StorageDomainServerConnectionsService] A reference to `storage_connections` service.
|
20098
20997
|
def storage_connections_service
|
@@ -20409,7 +21308,7 @@ module OvirtSDK4
|
|
20409
21308
|
end
|
20410
21309
|
|
20411
21310
|
#
|
20412
|
-
#
|
21311
|
+
# Detaches a storage connection from storage.
|
20413
21312
|
#
|
20414
21313
|
# @param opts [Hash] Additional options.
|
20415
21314
|
#
|
@@ -20493,7 +21392,7 @@ module OvirtSDK4
|
|
20493
21392
|
end
|
20494
21393
|
response = @connection.send(request)
|
20495
21394
|
case response.code
|
20496
|
-
when 201, 202
|
21395
|
+
when 200, 201, 202
|
20497
21396
|
begin
|
20498
21397
|
reader = XmlReader.new(response.body)
|
20499
21398
|
return StorageConnectionReader.read_one(reader)
|
@@ -20877,11 +21776,69 @@ module OvirtSDK4
|
|
20877
21776
|
end
|
20878
21777
|
|
20879
21778
|
#
|
20880
|
-
#
|
20881
|
-
#
|
20882
|
-
# @param opts [Hash] Additional options.
|
21779
|
+
# Imports a virtual machine from an export storage domain.
|
20883
21780
|
#
|
20884
|
-
#
|
21781
|
+
# For example, send a request like this:
|
21782
|
+
#
|
21783
|
+
# [source]
|
21784
|
+
# ----
|
21785
|
+
# POST /ovirt-engine/api/storagedomains/123/vms/456/import
|
21786
|
+
# ----
|
21787
|
+
#
|
21788
|
+
# With a request body like this:
|
21789
|
+
#
|
21790
|
+
# [source,xml]
|
21791
|
+
# ----
|
21792
|
+
# <action>
|
21793
|
+
# <storage_domain>
|
21794
|
+
# <name>mydata</name>
|
21795
|
+
# </storage_domain>
|
21796
|
+
# <cluster>
|
21797
|
+
# <name>mycluster</name>
|
21798
|
+
# </cluster>
|
21799
|
+
# </action>
|
21800
|
+
# ----
|
21801
|
+
#
|
21802
|
+
# To import a virtual machine as a new entity add the `clone` parameter:
|
21803
|
+
#
|
21804
|
+
# [source,xml]
|
21805
|
+
# ----
|
21806
|
+
# <action>
|
21807
|
+
# <storage_domain>
|
21808
|
+
# <name>mydata</name>
|
21809
|
+
# </storage_domain>
|
21810
|
+
# <cluster>
|
21811
|
+
# <name>mycluster</name>
|
21812
|
+
# </cluster>
|
21813
|
+
# <clone>true</clone>
|
21814
|
+
# <vm>
|
21815
|
+
# <name>myvm</name>
|
21816
|
+
# </vm>
|
21817
|
+
# </action>
|
21818
|
+
# ----
|
21819
|
+
#
|
21820
|
+
# Include an optional `disks` parameter to choose which disks to import. For example, to import the disks
|
21821
|
+
# of the template that have the identifiers `123` and `456` send the following request body:
|
21822
|
+
#
|
21823
|
+
# [source,xml]
|
21824
|
+
# ----
|
21825
|
+
# <action>
|
21826
|
+
# <cluster>
|
21827
|
+
# <name>mycluster</name>
|
21828
|
+
# </cluster>
|
21829
|
+
# <vm>
|
21830
|
+
# <name>myvm</name>
|
21831
|
+
# </vm>
|
21832
|
+
# <disks>
|
21833
|
+
# <disk id="123"/>
|
21834
|
+
# <disk id="456"/>
|
21835
|
+
# </disks>
|
21836
|
+
# </action>
|
21837
|
+
# ----
|
21838
|
+
#
|
21839
|
+
# @param opts [Hash] Additional options.
|
21840
|
+
#
|
21841
|
+
# @option opts [Boolean] :async Indicates if the import should be performed asynchronously.
|
20885
21842
|
#
|
20886
21843
|
# @option opts [Boolean] :clone Indicates if the identifiers of the imported virtual machine
|
20887
21844
|
# should be regenerated.
|
@@ -20898,7 +21855,7 @@ module OvirtSDK4
|
|
20898
21855
|
# should be collapsed, so that the result will be a virtual machine
|
20899
21856
|
# without snapshots.
|
20900
21857
|
#
|
20901
|
-
# This parameter is optional, and if it isn't
|
21858
|
+
# This parameter is optional, and if it isn't explicitly specified the
|
20902
21859
|
# default value is `false`.
|
20903
21860
|
#
|
20904
21861
|
# @option opts [StorageDomain] :storage_domain
|
@@ -20959,7 +21916,14 @@ module OvirtSDK4
|
|
20959
21916
|
end
|
20960
21917
|
|
20961
21918
|
#
|
20962
|
-
# Deletes
|
21919
|
+
# Deletes a virtual machine from an export storage domain.
|
21920
|
+
#
|
21921
|
+
# For example, to delete the virtual machine `456` from the storage domain `123`, send a request like this:
|
21922
|
+
#
|
21923
|
+
# [source]
|
21924
|
+
# ----
|
21925
|
+
# DELETE /ovirt-engine/api/storagedomains/123/vms/456
|
21926
|
+
# ----
|
20963
21927
|
#
|
20964
21928
|
# @param opts [Hash] Additional options.
|
20965
21929
|
#
|
@@ -20978,6 +21942,14 @@ module OvirtSDK4
|
|
20978
21942
|
end
|
20979
21943
|
end
|
20980
21944
|
|
21945
|
+
#
|
21946
|
+
# Returns a reference to the service that manages the disk attachments of the virtual machine.
|
21947
|
+
#
|
21948
|
+
# @return [StorageDomainVmDiskAttachmentsService] A reference to `disk_attachments` service.
|
21949
|
+
def disk_attachments_service
|
21950
|
+
return StorageDomainVmDiskAttachmentsService.new(@connection, "#{@path}/diskattachments")
|
21951
|
+
end
|
21952
|
+
|
20981
21953
|
#
|
20982
21954
|
# Locates the `disks` service.
|
20983
21955
|
#
|
@@ -20997,6 +21969,12 @@ module OvirtSDK4
|
|
20997
21969
|
if path.nil? || path == ''
|
20998
21970
|
return self
|
20999
21971
|
end
|
21972
|
+
if path == 'diskattachments'
|
21973
|
+
return disk_attachments_service
|
21974
|
+
end
|
21975
|
+
if path.start_with?('diskattachments/')
|
21976
|
+
return disk_attachments_service.service(path[16..-1])
|
21977
|
+
end
|
21000
21978
|
if path == 'disks'
|
21001
21979
|
return disks_service
|
21002
21980
|
end
|
@@ -21017,6 +21995,151 @@ module OvirtSDK4
|
|
21017
21995
|
|
21018
21996
|
end
|
21019
21997
|
|
21998
|
+
class StorageDomainVmDiskAttachmentService < Service
|
21999
|
+
|
22000
|
+
#
|
22001
|
+
# Creates a new implementation of the service.
|
22002
|
+
#
|
22003
|
+
# @param connection [Connection] The connection to be used by this service.
|
22004
|
+
#
|
22005
|
+
# @param path [String] The relative path of this service, for example `vms/123/disks`.
|
22006
|
+
#
|
22007
|
+
# @api private
|
22008
|
+
#
|
22009
|
+
def initialize(connection, path)
|
22010
|
+
@connection = connection
|
22011
|
+
@path = path
|
22012
|
+
end
|
22013
|
+
|
22014
|
+
#
|
22015
|
+
# Returns the details of the attachment with all its properties and a link to the disk.
|
22016
|
+
#
|
22017
|
+
# @param opts [Hash] Additional options.
|
22018
|
+
#
|
22019
|
+
# @return [DiskAttachment]
|
22020
|
+
#
|
22021
|
+
def get(opts = {})
|
22022
|
+
query = {}
|
22023
|
+
request = HttpRequest.new(:method => :GET, :url => @path, :query => query)
|
22024
|
+
response = @connection.send(request)
|
22025
|
+
case response.code
|
22026
|
+
when 200
|
22027
|
+
begin
|
22028
|
+
reader = XmlReader.new(response.body)
|
22029
|
+
return DiskAttachmentReader.read_one(reader)
|
22030
|
+
ensure
|
22031
|
+
reader.close
|
22032
|
+
end
|
22033
|
+
else
|
22034
|
+
check_fault(response)
|
22035
|
+
end
|
22036
|
+
end
|
22037
|
+
|
22038
|
+
#
|
22039
|
+
# Locates the service corresponding to the given path.
|
22040
|
+
#
|
22041
|
+
# @param path [String] The path of the service.
|
22042
|
+
#
|
22043
|
+
# @return [Service] A reference to the service.
|
22044
|
+
#
|
22045
|
+
def service(path)
|
22046
|
+
if path.nil? || path == ''
|
22047
|
+
return self
|
22048
|
+
end
|
22049
|
+
raise Error.new("The path \"#{path}\" doesn't correspond to any service")
|
22050
|
+
end
|
22051
|
+
|
22052
|
+
#
|
22053
|
+
# Returns an string representation of this service.
|
22054
|
+
#
|
22055
|
+
# @return [String]
|
22056
|
+
#
|
22057
|
+
def to_s
|
22058
|
+
return "#<#{StorageDomainVmDiskAttachmentService}:#{@path}>"
|
22059
|
+
end
|
22060
|
+
|
22061
|
+
end
|
22062
|
+
|
22063
|
+
class StorageDomainVmDiskAttachmentsService < Service
|
22064
|
+
|
22065
|
+
#
|
22066
|
+
# Creates a new implementation of the service.
|
22067
|
+
#
|
22068
|
+
# @param connection [Connection] The connection to be used by this service.
|
22069
|
+
#
|
22070
|
+
# @param path [String] The relative path of this service, for example `vms/123/disks`.
|
22071
|
+
#
|
22072
|
+
# @api private
|
22073
|
+
#
|
22074
|
+
def initialize(connection, path)
|
22075
|
+
@connection = connection
|
22076
|
+
@path = path
|
22077
|
+
end
|
22078
|
+
|
22079
|
+
#
|
22080
|
+
# List the disks that are attached to the virtual machine.
|
22081
|
+
#
|
22082
|
+
# @param opts [Hash] Additional options.
|
22083
|
+
#
|
22084
|
+
# @return [Array<DiskAttachment>]
|
22085
|
+
#
|
22086
|
+
def list(opts = {})
|
22087
|
+
query = {}
|
22088
|
+
request = HttpRequest.new(:method => :GET, :url => @path, :query => query)
|
22089
|
+
response = @connection.send(request)
|
22090
|
+
case response.code
|
22091
|
+
when 200
|
22092
|
+
begin
|
22093
|
+
reader = XmlReader.new(response.body)
|
22094
|
+
return DiskAttachmentReader.read_many(reader)
|
22095
|
+
ensure
|
22096
|
+
reader.close
|
22097
|
+
end
|
22098
|
+
else
|
22099
|
+
check_fault(response)
|
22100
|
+
end
|
22101
|
+
end
|
22102
|
+
|
22103
|
+
#
|
22104
|
+
# Reference to the service that manages a specific attachment.
|
22105
|
+
#
|
22106
|
+
# @param id [String] The identifier of the `attachment`.
|
22107
|
+
#
|
22108
|
+
# @return [StorageDomainVmDiskAttachmentService] A reference to the `attachment` service.
|
22109
|
+
#
|
22110
|
+
def attachment_service(id)
|
22111
|
+
return StorageDomainVmDiskAttachmentService.new(@connection, "#{@path}/#{id}")
|
22112
|
+
end
|
22113
|
+
|
22114
|
+
#
|
22115
|
+
# Locates the service corresponding to the given path.
|
22116
|
+
#
|
22117
|
+
# @param path [String] The path of the service.
|
22118
|
+
#
|
22119
|
+
# @return [Service] A reference to the service.
|
22120
|
+
#
|
22121
|
+
def service(path)
|
22122
|
+
if path.nil? || path == ''
|
22123
|
+
return self
|
22124
|
+
end
|
22125
|
+
index = path.index('/')
|
22126
|
+
if index.nil?
|
22127
|
+
return attachment_service(path)
|
22128
|
+
end
|
22129
|
+
return attachment_service(path[0..(index - 1)]).service(path[(index +1)..-1])
|
22130
|
+
end
|
22131
|
+
|
22132
|
+
#
|
22133
|
+
# Returns an string representation of this service.
|
22134
|
+
#
|
22135
|
+
# @return [String]
|
22136
|
+
#
|
22137
|
+
def to_s
|
22138
|
+
return "#<#{StorageDomainVmDiskAttachmentsService}:#{@path}>"
|
22139
|
+
end
|
22140
|
+
|
22141
|
+
end
|
22142
|
+
|
21020
22143
|
class StorageDomainVmsService < Service
|
21021
22144
|
|
21022
22145
|
#
|
@@ -21122,7 +22245,57 @@ module OvirtSDK4
|
|
21122
22245
|
end
|
21123
22246
|
|
21124
22247
|
#
|
21125
|
-
# Adds a new
|
22248
|
+
# Adds a new storage domain.
|
22249
|
+
#
|
22250
|
+
# Creation of a new <<types/storage_domain,StorageDomain>> requires the `name`, `type`, `host` and `storage`
|
22251
|
+
# attributes. Identify the `host` attribute with the `id` or `name` attributes. In oVirt 3.6 and later you can
|
22252
|
+
# enable the wipe after delete option by default on the storage domain. To configure this, specify
|
22253
|
+
# `wipe_after_delete` in the POST request. This option can be edited after the domain is created, but doing so will
|
22254
|
+
# not change the wipe after delete property of disks that already exist.
|
22255
|
+
#
|
22256
|
+
# To add a new storage domain with specified `name`, `type`, `storage.type`, `storage.address` and `storage.path`
|
22257
|
+
# and by using a host with an id `123`, send a request as follows:
|
22258
|
+
#
|
22259
|
+
# [source]
|
22260
|
+
# ----
|
22261
|
+
# POST /ovirt-engine/api/storagedomains
|
22262
|
+
# ----
|
22263
|
+
#
|
22264
|
+
# With a request body as follows:
|
22265
|
+
#
|
22266
|
+
# [source,xml]
|
22267
|
+
# ----
|
22268
|
+
# <storage_domain>
|
22269
|
+
# <name>mydata</name>
|
22270
|
+
# <type>data</type>
|
22271
|
+
# <storage>
|
22272
|
+
# <type>nfs</type>
|
22273
|
+
# <address>mynfs.example.com</address>
|
22274
|
+
# <path>/exports/mydata</path>
|
22275
|
+
# </storage>
|
22276
|
+
# <host>
|
22277
|
+
# <name>myhost</name>
|
22278
|
+
# </host>
|
22279
|
+
# </storage_domain>
|
22280
|
+
# ----
|
22281
|
+
#
|
22282
|
+
# To create a new NFS ISO storage domain send a request like this:
|
22283
|
+
#
|
22284
|
+
# [source,xml]
|
22285
|
+
# ----
|
22286
|
+
# <storage_domain>
|
22287
|
+
# <name>myisos</name>
|
22288
|
+
# <type>iso</type>
|
22289
|
+
# <storage>
|
22290
|
+
# <type>nfs</type>
|
22291
|
+
# <address>mynfs.example.com</address>
|
22292
|
+
# <path>/export/myisos</path>
|
22293
|
+
# </storage>
|
22294
|
+
# <host>
|
22295
|
+
# <name>myhost</name>
|
22296
|
+
# </host>
|
22297
|
+
# </storage_domain>
|
22298
|
+
# ----
|
21126
22299
|
#
|
21127
22300
|
# @param storage_domain [StorageDomain] The `storage_domain` to add.
|
21128
22301
|
#
|
@@ -21145,7 +22318,7 @@ module OvirtSDK4
|
|
21145
22318
|
end
|
21146
22319
|
response = @connection.send(request)
|
21147
22320
|
case response.code
|
21148
|
-
when 201, 202
|
22321
|
+
when 200, 201, 202
|
21149
22322
|
begin
|
21150
22323
|
reader = XmlReader.new(response.body)
|
21151
22324
|
return StorageDomainReader.read_one(reader)
|
@@ -21291,11 +22464,24 @@ module OvirtSDK4
|
|
21291
22464
|
end
|
21292
22465
|
|
21293
22466
|
#
|
21294
|
-
#
|
22467
|
+
# Removes a storage connection.
|
22468
|
+
#
|
22469
|
+
# A storage connection can only be deleted if neither storage domain nor LUN disks reference it. The host name or
|
22470
|
+
# id is optional; providing it disconnects (unmounts) the connection from that host.
|
21295
22471
|
#
|
21296
22472
|
# @param opts [Hash] Additional options.
|
21297
22473
|
#
|
21298
22474
|
# @option opts [Boolean] :async Indicates if the remove should be performed asynchronously.
|
22475
|
+
# @option opts [String] :host The name or identifier of the host from which the connection would be unmounted (disconnected). If not
|
22476
|
+
# provided, no host will be disconnected.
|
22477
|
+
#
|
22478
|
+
# For example, to use the host with identifier `456` to delete the storage connection with identifier `123`
|
22479
|
+
# send a request like this:
|
22480
|
+
#
|
22481
|
+
# [source]
|
22482
|
+
# ----
|
22483
|
+
# DELETE /ovirt-engine/api/storageconnections/123?host=456
|
22484
|
+
# ----
|
21299
22485
|
def remove(opts = {})
|
21300
22486
|
query = {}
|
21301
22487
|
value = opts[:async]
|
@@ -21303,6 +22489,10 @@ module OvirtSDK4
|
|
21303
22489
|
value = Writer.render_boolean(value)
|
21304
22490
|
query['async'] = value
|
21305
22491
|
end
|
22492
|
+
value = opts[:host]
|
22493
|
+
unless value.nil?
|
22494
|
+
query['host'] = value
|
22495
|
+
end
|
21306
22496
|
request = HttpRequest.new(:method => :DELETE, :url => @path, :query => query)
|
21307
22497
|
response = @connection.send(request)
|
21308
22498
|
unless response.code == 200
|
@@ -21311,13 +22501,37 @@ module OvirtSDK4
|
|
21311
22501
|
end
|
21312
22502
|
|
21313
22503
|
#
|
21314
|
-
# Updates the
|
22504
|
+
# Updates the storage connection.
|
22505
|
+
#
|
22506
|
+
# For example, to change the address of the storage server send a request like this:
|
22507
|
+
#
|
22508
|
+
# [source,xml]
|
22509
|
+
# ----
|
22510
|
+
# PUT /ovirt-engine/api/storageconnections/123
|
22511
|
+
# ----
|
22512
|
+
#
|
22513
|
+
# With a request body like this:
|
22514
|
+
#
|
22515
|
+
# [source,xml]
|
22516
|
+
# ----
|
22517
|
+
# <storage_connection>
|
22518
|
+
# <address>mynewnfs.example.com</address>
|
22519
|
+
# <host>
|
22520
|
+
# <name>myhost</name>
|
22521
|
+
# </host>
|
22522
|
+
# </storage_connection>
|
22523
|
+
# ----
|
21315
22524
|
#
|
21316
22525
|
# @param connection [StorageConnection] The `connection` to update.
|
21317
22526
|
# @param opts [Hash] Additional options.
|
21318
22527
|
#
|
21319
22528
|
# @option opts [Boolean] :async Indicates if the update should be performed asynchronously.
|
21320
22529
|
#
|
22530
|
+
# @option opts [Boolean] :force Indicates if the operation should succeed regardless to the relevant storage domain's status
|
22531
|
+
# (i.e. updating is also applicable when storage domain's status is not maintenance).
|
22532
|
+
#
|
22533
|
+
# This parameter is optional, and the default value is `false`.
|
22534
|
+
#
|
21321
22535
|
# @return [StorageConnection]
|
21322
22536
|
#
|
21323
22537
|
def update(connection, opts = {})
|
@@ -21330,6 +22544,11 @@ module OvirtSDK4
|
|
21330
22544
|
value = Writer.render_boolean(value)
|
21331
22545
|
query['async'] = value
|
21332
22546
|
end
|
22547
|
+
value = opts[:force]
|
22548
|
+
unless value.nil?
|
22549
|
+
value = Writer.render_boolean(value)
|
22550
|
+
query['force'] = value
|
22551
|
+
end
|
21333
22552
|
request = HttpRequest.new(:method => :PUT, :url => @path, :query => query)
|
21334
22553
|
begin
|
21335
22554
|
writer = XmlWriter.new(nil, true)
|
@@ -21439,7 +22658,25 @@ module OvirtSDK4
|
|
21439
22658
|
end
|
21440
22659
|
|
21441
22660
|
#
|
21442
|
-
#
|
22661
|
+
# Update a storage server connection extension for the given host.
|
22662
|
+
#
|
22663
|
+
# To update the storage connection `456` of host `123` send a request like this:
|
22664
|
+
#
|
22665
|
+
# [source]
|
22666
|
+
# ----
|
22667
|
+
# PUT /ovirt-engine/api/hosts/123/storageconnectionextensions/456
|
22668
|
+
# ----
|
22669
|
+
#
|
22670
|
+
# With a request body like this:
|
22671
|
+
#
|
22672
|
+
# [source,xml]
|
22673
|
+
# ----
|
22674
|
+
# <storage_connection_extension>
|
22675
|
+
# <target>iqn.2016-01.com.example:mytarget</target>
|
22676
|
+
# <username>myuser</username>
|
22677
|
+
# <password>mypassword</password>
|
22678
|
+
# </storage_connection_extension>
|
22679
|
+
# ----
|
21443
22680
|
#
|
21444
22681
|
# @param extension [StorageConnectionExtension] The `extension` to update.
|
21445
22682
|
# @param opts [Hash] Additional options.
|
@@ -21523,7 +22760,27 @@ module OvirtSDK4
|
|
21523
22760
|
end
|
21524
22761
|
|
21525
22762
|
#
|
21526
|
-
#
|
22763
|
+
# Creates a new storage server connection extension for the given host.
|
22764
|
+
#
|
22765
|
+
# The extension lets the user define credentials for an iSCSI target for a specific host. For example to use
|
22766
|
+
# `myuser` and `mypassword` as the credentials when connecting to the iSCSI target from host `123` send a request
|
22767
|
+
# like this:
|
22768
|
+
#
|
22769
|
+
# [source]
|
22770
|
+
# ----
|
22771
|
+
# POST /ovirt-engine/api/hosts/123/storageconnectionextensions
|
22772
|
+
# ----
|
22773
|
+
#
|
22774
|
+
# With a request body like this:
|
22775
|
+
#
|
22776
|
+
# [source,xml]
|
22777
|
+
# ----
|
22778
|
+
# <storage_connection_extension>
|
22779
|
+
# <target>iqn.2016-01.com.example:mytarget</target>
|
22780
|
+
# <username>myuser</username>
|
22781
|
+
# <password>mypassword</password>
|
22782
|
+
# </storage_connection_extension>
|
22783
|
+
# ----
|
21527
22784
|
#
|
21528
22785
|
# @param extension [StorageConnectionExtension] The `extension` to add.
|
21529
22786
|
#
|
@@ -21546,7 +22803,7 @@ module OvirtSDK4
|
|
21546
22803
|
end
|
21547
22804
|
response = @connection.send(request)
|
21548
22805
|
case response.code
|
21549
|
-
when 201, 202
|
22806
|
+
when 200, 201, 202
|
21550
22807
|
begin
|
21551
22808
|
reader = XmlReader.new(response.body)
|
21552
22809
|
return StorageConnectionExtensionReader.read_one(reader)
|
@@ -21646,7 +22903,29 @@ module OvirtSDK4
|
|
21646
22903
|
end
|
21647
22904
|
|
21648
22905
|
#
|
21649
|
-
#
|
22906
|
+
# Creates a new storage connection.
|
22907
|
+
#
|
22908
|
+
# For example, to create a new storage connection for the NFS server `mynfs.example.com` and NFS share
|
22909
|
+
# `/export/mydata` send a request like this:
|
22910
|
+
#
|
22911
|
+
# [source]
|
22912
|
+
# ----
|
22913
|
+
# POST /ovirt-engine/api/storageconnections
|
22914
|
+
# ----
|
22915
|
+
#
|
22916
|
+
# With a request body like this:
|
22917
|
+
#
|
22918
|
+
# [source,xml]
|
22919
|
+
# ----
|
22920
|
+
# <storage_connection>
|
22921
|
+
# <type>nfs</type>
|
22922
|
+
# <address>mynfs.example.com</address>
|
22923
|
+
# <path>/export/mydata</path>
|
22924
|
+
# <host>
|
22925
|
+
# <name>myhost</name>
|
22926
|
+
# </host>
|
22927
|
+
# </storage_connection>
|
22928
|
+
# ----
|
21650
22929
|
#
|
21651
22930
|
# @param connection [StorageConnection] The `connection` to add.
|
21652
22931
|
#
|
@@ -21669,7 +22948,7 @@ module OvirtSDK4
|
|
21669
22948
|
end
|
21670
22949
|
response = @connection.send(request)
|
21671
22950
|
case response.code
|
21672
|
-
when 201, 202
|
22951
|
+
when 200, 201, 202
|
21673
22952
|
begin
|
21674
22953
|
reader = XmlReader.new(response.body)
|
21675
22954
|
return StorageConnectionReader.read_one(reader)
|
@@ -21772,6 +23051,83 @@ module OvirtSDK4
|
|
21772
23051
|
# Returns basic information describing the API, like the product name, the version number and a summary of the
|
21773
23052
|
# number of relevant objects.
|
21774
23053
|
#
|
23054
|
+
# [source]
|
23055
|
+
# ----
|
23056
|
+
# GET /ovirt-engine/api
|
23057
|
+
# ----
|
23058
|
+
#
|
23059
|
+
# We get following response:
|
23060
|
+
#
|
23061
|
+
# [source,xml]
|
23062
|
+
# ----
|
23063
|
+
# <api>
|
23064
|
+
# <link rel="capabilities" href="/api/capabilities"/>
|
23065
|
+
# <link rel="clusters" href="/api/clusters"/>
|
23066
|
+
# <link rel="clusters/search" href="/api/clusters?search={query}"/>
|
23067
|
+
# <link rel="datacenters" href="/api/datacenters"/>
|
23068
|
+
# <link rel="datacenters/search" href="/api/datacenters?search={query}"/>
|
23069
|
+
# <link rel="events" href="/api/events"/>
|
23070
|
+
# <link rel="events/search" href="/api/events?search={query}"/>
|
23071
|
+
# <link rel="hosts" href="/api/hosts"/>
|
23072
|
+
# <link rel="hosts/search" href="/api/hosts?search={query}"/>
|
23073
|
+
# <link rel="networks" href="/api/networks"/>
|
23074
|
+
# <link rel="roles" href="/api/roles"/>
|
23075
|
+
# <link rel="storagedomains" href="/api/storagedomains"/>
|
23076
|
+
# <link rel="storagedomains/search" href="/api/storagedomains?search={query}"/>
|
23077
|
+
# <link rel="tags" href="/api/tags"/>
|
23078
|
+
# <link rel="templates" href="/api/templates"/>
|
23079
|
+
# <link rel="templates/search" href="/api/templates?search={query}"/>
|
23080
|
+
# <link rel="users" href="/api/users"/>
|
23081
|
+
# <link rel="groups" href="/api/groups"/>
|
23082
|
+
# <link rel="domains" href="/api/domains"/>
|
23083
|
+
# <link rel="vmpools" href="/api/vmpools"/>
|
23084
|
+
# <link rel="vmpools/search" href="/api/vmpools?search={query}"/>
|
23085
|
+
# <link rel="vms" href="/api/vms"/>
|
23086
|
+
# <link rel="vms/search" href="/api/vms?search={query}"/>
|
23087
|
+
# <product_info>
|
23088
|
+
# <name>oVirt Engine</name>
|
23089
|
+
# <vendor>ovirt.org</vendor>
|
23090
|
+
# <version>
|
23091
|
+
# <build>4</build>
|
23092
|
+
# <full_version>4.0.4</full_version>
|
23093
|
+
# <major>4</major>
|
23094
|
+
# <minor>0</minor>
|
23095
|
+
# <revision>0</revision>
|
23096
|
+
# </version>
|
23097
|
+
# </product_info>
|
23098
|
+
# <special_objects>
|
23099
|
+
# <blank_template href="/ovirt-engine/api/templates/00000000-0000-0000-0000-000000000000" id="00000000-0000-0000-0000-000000000000"/>
|
23100
|
+
# <root_tag href="/ovirt-engine/api/tags/00000000-0000-0000-0000-000000000000" id="00000000-0000-0000-0000-000000000000"/>
|
23101
|
+
# </special_objects>
|
23102
|
+
# <summary>
|
23103
|
+
# <hosts>
|
23104
|
+
# <active>0</active>
|
23105
|
+
# <total>0</total>
|
23106
|
+
# </hosts>
|
23107
|
+
# <storage_domains>
|
23108
|
+
# <active>0</active>
|
23109
|
+
# <total>1</total>
|
23110
|
+
# </storage_domains>
|
23111
|
+
# <users>
|
23112
|
+
# <active>1</active>
|
23113
|
+
# <total>1</total>
|
23114
|
+
# </users>
|
23115
|
+
# <vms>
|
23116
|
+
# <active>0</active>
|
23117
|
+
# <total>0</total>
|
23118
|
+
# </vms>
|
23119
|
+
# </summary>
|
23120
|
+
# <time>2016-09-14T12:00:48.132+02:00</time>
|
23121
|
+
# </api>
|
23122
|
+
# ----
|
23123
|
+
#
|
23124
|
+
# The entry point provides a user with links to the collections in a
|
23125
|
+
# virtualization environment. The `rel` attribute of each collection link
|
23126
|
+
# provides a reference point for each link.
|
23127
|
+
#
|
23128
|
+
# The entry point also contains other data such as `product_info`,
|
23129
|
+
# `special_objects` and `summary`.
|
23130
|
+
#
|
21775
23131
|
# @param opts [Hash] Additional options.
|
21776
23132
|
#
|
21777
23133
|
# @return [Api]
|
@@ -22418,7 +23774,7 @@ module OvirtSDK4
|
|
22418
23774
|
end
|
22419
23775
|
response = @connection.send(request)
|
22420
23776
|
case response.code
|
22421
|
-
when 201, 202
|
23777
|
+
when 200, 201, 202
|
22422
23778
|
begin
|
22423
23779
|
reader = XmlReader.new(response.body)
|
22424
23780
|
return PermissionReader.read_one(reader)
|
@@ -22663,7 +24019,7 @@ module OvirtSDK4
|
|
22663
24019
|
end
|
22664
24020
|
response = @connection.send(request)
|
22665
24021
|
case response.code
|
22666
|
-
when 201, 202
|
24022
|
+
when 200, 201, 202
|
22667
24023
|
begin
|
22668
24024
|
reader = XmlReader.new(response.body)
|
22669
24025
|
return TagReader.read_one(reader)
|
@@ -22763,13 +24119,33 @@ module OvirtSDK4
|
|
22763
24119
|
end
|
22764
24120
|
|
22765
24121
|
#
|
22766
|
-
#
|
24122
|
+
# Exports a template to the data center export domain.
|
24123
|
+
#
|
24124
|
+
# For example, the operation can be facilitated using the following request:
|
24125
|
+
#
|
24126
|
+
# [source]
|
24127
|
+
# ----
|
24128
|
+
# POST /ovirt-engine/api/templates/123/export
|
24129
|
+
# ----
|
24130
|
+
#
|
24131
|
+
# With a request body like this:
|
24132
|
+
#
|
24133
|
+
# [source,xml]
|
24134
|
+
# ----
|
24135
|
+
# <action>
|
24136
|
+
# <storage_domain id="456"/>
|
24137
|
+
# <exclusive>true<exclusive/>
|
24138
|
+
# </action>
|
24139
|
+
# ----
|
22767
24140
|
#
|
22768
24141
|
# @param opts [Hash] Additional options.
|
22769
24142
|
#
|
22770
|
-
# @option opts [Boolean] :
|
24143
|
+
# @option opts [Boolean] :exclusive Indicates if the existing templates with the same name should be overwritten.
|
24144
|
+
#
|
24145
|
+
# The export action reports a failed action if a template of the same name exists in the destination domain.
|
24146
|
+
# Set this parameter to `true` to change this behavior and overwrite any existing template.
|
22771
24147
|
#
|
22772
|
-
# @option opts [StorageDomain] :storage_domain
|
24148
|
+
# @option opts [StorageDomain] :storage_domain Specifies the destination export storage domain.
|
22773
24149
|
#
|
22774
24150
|
def export(opts = {})
|
22775
24151
|
action = Action.new(opts)
|
@@ -22823,7 +24199,12 @@ module OvirtSDK4
|
|
22823
24199
|
end
|
22824
24200
|
|
22825
24201
|
#
|
22826
|
-
#
|
24202
|
+
# Removas a virtual machine template.
|
24203
|
+
#
|
24204
|
+
# [source]
|
24205
|
+
# ----
|
24206
|
+
# DELETE /ovirt-engine/api/templates/123
|
24207
|
+
# ----
|
22827
24208
|
#
|
22828
24209
|
# @param opts [Hash] Additional options.
|
22829
24210
|
#
|
@@ -22843,7 +24224,38 @@ module OvirtSDK4
|
|
22843
24224
|
end
|
22844
24225
|
|
22845
24226
|
#
|
22846
|
-
# Updates the
|
24227
|
+
# Updates the template.
|
24228
|
+
#
|
24229
|
+
# The `name`, `description`, `type`, `memory`, `cpu`, `topology`, `os`, `high_availability`, `display`,
|
24230
|
+
# `stateless`, `usb` and `timezone` elements can be updated after a template has been created.
|
24231
|
+
#
|
24232
|
+
# For example, to update a template to so that it has 1 GiB of memory send a request like this:
|
24233
|
+
#
|
24234
|
+
# [source]
|
24235
|
+
# ----
|
24236
|
+
# PUT /ovirt-engine/api/templates/123
|
24237
|
+
# ----
|
24238
|
+
#
|
24239
|
+
# With the following request body:
|
24240
|
+
#
|
24241
|
+
# [source,xml]
|
24242
|
+
# ----
|
24243
|
+
# <template>
|
24244
|
+
# <memory>1073741824</memory>
|
24245
|
+
# </template>
|
24246
|
+
# ----
|
24247
|
+
#
|
24248
|
+
# The `version_name` name attribute is the only one that can be updated within the `version` attribute used for
|
24249
|
+
# template versions:
|
24250
|
+
#
|
24251
|
+
# [source,xml]
|
24252
|
+
# ----
|
24253
|
+
# <template>
|
24254
|
+
# <version>
|
24255
|
+
# <version_name>mytemplate_2</version_name>
|
24256
|
+
# </version>
|
24257
|
+
# </template>
|
24258
|
+
# ----
|
22847
24259
|
#
|
22848
24260
|
# @param template [Template] The `template` to update.
|
22849
24261
|
# @param opts [Hash] Additional options.
|
@@ -23738,7 +25150,7 @@ module OvirtSDK4
|
|
23738
25150
|
end
|
23739
25151
|
response = @connection.send(request)
|
23740
25152
|
case response.code
|
23741
|
-
when 201, 202
|
25153
|
+
when 200, 201, 202
|
23742
25154
|
begin
|
23743
25155
|
reader = XmlReader.new(response.body)
|
23744
25156
|
return NicReader.read_one(reader)
|
@@ -23989,7 +25401,7 @@ module OvirtSDK4
|
|
23989
25401
|
end
|
23990
25402
|
response = @connection.send(request)
|
23991
25403
|
case response.code
|
23992
|
-
when 201, 202
|
25404
|
+
when 200, 201, 202
|
23993
25405
|
begin
|
23994
25406
|
reader = XmlReader.new(response.body)
|
23995
25407
|
return WatchdogReader.read_one(reader)
|
@@ -24089,7 +25501,41 @@ module OvirtSDK4
|
|
24089
25501
|
end
|
24090
25502
|
|
24091
25503
|
#
|
24092
|
-
#
|
25504
|
+
# Creates a new template.
|
25505
|
+
#
|
25506
|
+
# This requires the `name` and `vm` elements. Identify the virtual machine with the `id` `name` attributes.
|
25507
|
+
#
|
25508
|
+
# [source]
|
25509
|
+
# ----
|
25510
|
+
# POST /ovirt-engine/api/templates
|
25511
|
+
# ----
|
25512
|
+
#
|
25513
|
+
# With a request body like this:
|
25514
|
+
#
|
25515
|
+
# [source,xml]
|
25516
|
+
# ----
|
25517
|
+
# <template>
|
25518
|
+
# <name>mytemplate</name>
|
25519
|
+
# <vm id="123"/>
|
25520
|
+
# </template>
|
25521
|
+
# ----
|
25522
|
+
#
|
25523
|
+
# The template can be created as a sub version of an existing template.This requires the `name` and `vm` attributes
|
25524
|
+
# for the new template, and the `base_template` and `version_name` attributes for the new template version. The
|
25525
|
+
# `base_template` and `version_name` attributes must be specified within a `version` section enclosed in the
|
25526
|
+
# `template` section. Identify the virtual machine with the `id` or `name` attributes.
|
25527
|
+
#
|
25528
|
+
# [source,xml]
|
25529
|
+
# ----
|
25530
|
+
# <template>
|
25531
|
+
# <name>mytemplate</name>
|
25532
|
+
# <vm id="123"/>
|
25533
|
+
# <version>
|
25534
|
+
# <base_template id="456"/>
|
25535
|
+
# <version_name>mytemplate_001</version_name>
|
25536
|
+
# </version>
|
25537
|
+
# </template>
|
25538
|
+
# ----
|
24093
25539
|
#
|
24094
25540
|
# @param template [Template] The `template` to add.
|
24095
25541
|
#
|
@@ -24140,7 +25586,7 @@ module OvirtSDK4
|
|
24140
25586
|
end
|
24141
25587
|
response = @connection.send(request)
|
24142
25588
|
case response.code
|
24143
|
-
when 201, 202
|
25589
|
+
when 200, 201, 202
|
24144
25590
|
begin
|
24145
25591
|
reader = XmlReader.new(response.body)
|
24146
25592
|
return TemplateReader.read_one(reader)
|
@@ -24575,7 +26021,45 @@ module OvirtSDK4
|
|
24575
26021
|
end
|
24576
26022
|
|
24577
26023
|
#
|
24578
|
-
#
|
26024
|
+
# Add user from a directory service.
|
26025
|
+
#
|
26026
|
+
# For example, to add the `myuser` user from the `myextension-authz` authorization provider send a request
|
26027
|
+
# like this:
|
26028
|
+
#
|
26029
|
+
# [source]
|
26030
|
+
# ----
|
26031
|
+
# POST /ovirt-engine/api/users
|
26032
|
+
# ----
|
26033
|
+
#
|
26034
|
+
# With a request body like this:
|
26035
|
+
#
|
26036
|
+
# [source,xml]
|
26037
|
+
# ----
|
26038
|
+
# <user>
|
26039
|
+
# <user_name>myuser@myextension-authz</user_name>
|
26040
|
+
# <domain>
|
26041
|
+
# <name>myextension-authz</name>
|
26042
|
+
# </domain>
|
26043
|
+
# </user>
|
26044
|
+
# ----
|
26045
|
+
#
|
26046
|
+
# In case you are working with Active Directory you have to pass user principal name (UPN) as `username`, followed
|
26047
|
+
# by authorization provider name. Due to https://bugzilla.redhat.com/1147900[bug 1147900] you need to provide
|
26048
|
+
# also `principal` parameter set to UPN of the user.
|
26049
|
+
#
|
26050
|
+
# For example, to add the user with UPN `myuser@mysubdomain.mydomain.com` from the `myextension-authz`
|
26051
|
+
# authorization provider send a request body like this:
|
26052
|
+
#
|
26053
|
+
# [source,xml]
|
26054
|
+
# ----
|
26055
|
+
# <user>
|
26056
|
+
# <principal>myuser@mysubdomain.mydomain.com</principal>
|
26057
|
+
# <user_name>myuser@mysubdomain.mydomain.com@myextension-authz</user_name>
|
26058
|
+
# <domain>
|
26059
|
+
# <name>myextension-authz</name>
|
26060
|
+
# </domain>
|
26061
|
+
# </user>
|
26062
|
+
# ----
|
24579
26063
|
#
|
24580
26064
|
# @param user [User] The `user` to add.
|
24581
26065
|
#
|
@@ -24598,7 +26082,7 @@ module OvirtSDK4
|
|
24598
26082
|
end
|
24599
26083
|
response = @connection.send(request)
|
24600
26084
|
case response.code
|
24601
|
-
when 201, 202
|
26085
|
+
when 200, 201, 202
|
24602
26086
|
begin
|
24603
26087
|
reader = XmlReader.new(response.body)
|
24604
26088
|
return UserReader.read_one(reader)
|
@@ -24821,7 +26305,7 @@ module OvirtSDK4
|
|
24821
26305
|
end
|
24822
26306
|
response = @connection.send(request)
|
24823
26307
|
case response.code
|
24824
|
-
when 201, 202
|
26308
|
+
when 200, 201, 202
|
24825
26309
|
begin
|
24826
26310
|
reader = XmlReader.new(response.body)
|
24827
26311
|
return NetworkReader.read_one(reader)
|
@@ -24921,7 +26405,20 @@ module OvirtSDK4
|
|
24921
26405
|
end
|
24922
26406
|
|
24923
26407
|
#
|
24924
|
-
#
|
26408
|
+
# This operation stops any migration of a virtual machine to another physical host.
|
26409
|
+
#
|
26410
|
+
# [source]
|
26411
|
+
# ----
|
26412
|
+
# POST /ovirt-engine/api/vms/123/cancelmigration
|
26413
|
+
# ----
|
26414
|
+
#
|
26415
|
+
# The cancel migration action does not take any action specific parameters,
|
26416
|
+
# so the request body should contain an empty `action`:
|
26417
|
+
#
|
26418
|
+
# [source,xml]
|
26419
|
+
# ----
|
26420
|
+
# <action/>
|
26421
|
+
# ----
|
24925
26422
|
#
|
24926
26423
|
# @param opts [Hash] Additional options.
|
24927
26424
|
#
|
@@ -25004,7 +26501,20 @@ module OvirtSDK4
|
|
25004
26501
|
end
|
25005
26502
|
|
25006
26503
|
#
|
25007
|
-
#
|
26504
|
+
# Detaches a virtual machine from a pool.
|
26505
|
+
#
|
26506
|
+
# [source]
|
26507
|
+
# ----
|
26508
|
+
# POST /ovirt-engine/api/vms/123/detach
|
26509
|
+
# ----
|
26510
|
+
#
|
26511
|
+
# The detach action does not take any action specific parameters, so the request body should contain an
|
26512
|
+
# empty `action`:
|
26513
|
+
#
|
26514
|
+
# [source,xml]
|
26515
|
+
# ----
|
26516
|
+
# <action/>
|
26517
|
+
# ----
|
25008
26518
|
#
|
25009
26519
|
# @param opts [Hash] Additional options.
|
25010
26520
|
#
|
@@ -25031,15 +26541,37 @@ module OvirtSDK4
|
|
25031
26541
|
end
|
25032
26542
|
|
25033
26543
|
#
|
25034
|
-
#
|
26544
|
+
# Export a virtual machine to an export domain.
|
26545
|
+
#
|
26546
|
+
# For example to export virtual machine `123` to the export domain `myexport`, send a request like this:
|
26547
|
+
#
|
26548
|
+
# [source]
|
26549
|
+
# ----
|
26550
|
+
# POST /ovirt-engine/api/vms/123/export
|
26551
|
+
# ----
|
26552
|
+
#
|
26553
|
+
# With a request body like this:
|
26554
|
+
#
|
26555
|
+
# [source,xml]
|
26556
|
+
# ----
|
26557
|
+
# <action>
|
26558
|
+
# <storage_domain>
|
26559
|
+
# <name>myexport</name>
|
26560
|
+
# </storage_domain>
|
26561
|
+
# <exclusive>true</exclusive>
|
26562
|
+
# <discard_snapshots>true</discard_snapshots>
|
26563
|
+
# </action>
|
26564
|
+
# ----
|
25035
26565
|
#
|
25036
26566
|
# @param opts [Hash] Additional options.
|
25037
26567
|
#
|
25038
26568
|
# @option opts [Boolean] :async Indicates if the export should be performed asynchronously.
|
25039
26569
|
#
|
25040
|
-
# @option opts [Boolean] :discard_snapshots
|
26570
|
+
# @option opts [Boolean] :discard_snapshots The `discard_snapshots` parameter is to be used when the virtual machine should be exported with all its
|
26571
|
+
# snapshots collapsed.
|
25041
26572
|
#
|
25042
|
-
# @option opts [Boolean] :exclusive
|
26573
|
+
# @option opts [Boolean] :exclusive The `exclusive` parameter is to be used when the virtual machine should be exported even if another copy of
|
26574
|
+
# it already exists in the export domain (override).
|
25043
26575
|
#
|
25044
26576
|
# @option opts [StorageDomain] :storage_domain
|
25045
26577
|
#
|
@@ -25064,7 +26596,23 @@ module OvirtSDK4
|
|
25064
26596
|
end
|
25065
26597
|
|
25066
26598
|
#
|
25067
|
-
#
|
26599
|
+
# Freeze virtual machine file systems.
|
26600
|
+
#
|
26601
|
+
# This operation freezes a virtual machine's file systems using the QEMU guest agent when taking a live snapshot of
|
26602
|
+
# a running virtual machine. Normally, this is done automatically by the manager, but this must be executed
|
26603
|
+
# manually with the API for virtual machines using OpenStack Volume (Cinder) disks.
|
26604
|
+
#
|
26605
|
+
# Example:
|
26606
|
+
#
|
26607
|
+
# [source]
|
26608
|
+
# ----
|
26609
|
+
# POST /ovirt-engine/api/vms/123/freezefilesystems
|
26610
|
+
# ----
|
26611
|
+
#
|
26612
|
+
# [source,xml]
|
26613
|
+
# ----
|
26614
|
+
# <action/>
|
26615
|
+
# ----
|
25068
26616
|
#
|
25069
26617
|
# @param opts [Hash] Additional options.
|
25070
26618
|
#
|
@@ -25093,29 +26641,27 @@ module OvirtSDK4
|
|
25093
26641
|
#
|
25094
26642
|
# Retrieves the description of the virtual machine.
|
25095
26643
|
#
|
25096
|
-
# Note that some elements of the description of the virtual machine won't be returned unless the `All-Content`
|
25097
|
-
# header is present in the request and has the value `true`. The elements that aren't currently returned are
|
25098
|
-
# the following:
|
25099
|
-
#
|
25100
|
-
# - `console`
|
25101
|
-
# - `initialization.configuration.data` - The OVF document describing the virtual machine.
|
25102
|
-
# - `rng_source`
|
25103
|
-
# - `soundcard`
|
25104
|
-
# - `virtio_scsi`
|
25105
|
-
#
|
25106
|
-
# With the Python SDK the `All-Content` header can be set using the `all_content` parameter of the `get`
|
25107
|
-
# method:
|
25108
|
-
#
|
25109
|
-
# [source,python]
|
25110
|
-
# ----
|
25111
|
-
# api.vms.get(name="myvm", all_content=True)
|
25112
|
-
# ----
|
25113
|
-
#
|
25114
|
-
# Note that the reason for not including these elements is performance: they are seldom used and they require
|
25115
|
-
# additional queries in the server. So try to use the `All-Content` header only when it is really needed.
|
25116
|
-
#
|
25117
26644
|
# @param opts [Hash] Additional options.
|
25118
26645
|
#
|
26646
|
+
# @option opts [Boolean] :all_content Indicates if all the attributes of the virtual machine should be included in the response.
|
26647
|
+
#
|
26648
|
+
# By default the following attributes are excluded:
|
26649
|
+
#
|
26650
|
+
# - `console`
|
26651
|
+
# - `initialization.configuration.data` - The OVF document describing the virtual machine.
|
26652
|
+
# - `rng_source`
|
26653
|
+
# - `soundcard`
|
26654
|
+
# - `virtio_scsi`
|
26655
|
+
#
|
26656
|
+
# For example, to retrieve the complete representation of the virtual machine '123' send a request like this:
|
26657
|
+
#
|
26658
|
+
# ....
|
26659
|
+
# GET /ovirt-engine/api/vms/123?all_content=true
|
26660
|
+
# ....
|
26661
|
+
#
|
26662
|
+
# NOTE: The reason for not including these attributes is performance: they are seldom used and they require
|
26663
|
+
# additional queries to the database. So try to use the this parameter only when it is really needed.
|
26664
|
+
#
|
25119
26665
|
# @option opts [Boolean] :filter Indicates if the results should be filtered according to the permissions of the user.
|
25120
26666
|
#
|
25121
26667
|
# @option opts [Boolean] :next_run Indicates if the returned result describes the virtual machine as it is currently running, or if describes
|
@@ -25141,6 +26687,11 @@ module OvirtSDK4
|
|
25141
26687
|
#
|
25142
26688
|
def get(opts = {})
|
25143
26689
|
query = {}
|
26690
|
+
value = opts[:all_content]
|
26691
|
+
unless value.nil?
|
26692
|
+
value = Writer.render_boolean(value)
|
26693
|
+
query['all_content'] = value
|
26694
|
+
end
|
25144
26695
|
value = opts[:filter]
|
25145
26696
|
unless value.nil?
|
25146
26697
|
value = Writer.render_boolean(value)
|
@@ -25167,7 +26718,27 @@ module OvirtSDK4
|
|
25167
26718
|
end
|
25168
26719
|
|
25169
26720
|
#
|
25170
|
-
#
|
26721
|
+
# Initiates the automatic user logon to access a virtual machine from an external console.
|
26722
|
+
#
|
26723
|
+
# This action requires the `ovirt-guest-agent-gdm-plugin` and the `ovirt-guest-agent-pam-module` packages to be
|
26724
|
+
# installed and the `ovirt-guest-agent` service to be running on the virtual machine.
|
26725
|
+
#
|
26726
|
+
# Users require the appropriate user permissions for the virtual machine in order to access the virtual machine
|
26727
|
+
# from an external console.
|
26728
|
+
#
|
26729
|
+
# This is how an example request would look like:
|
26730
|
+
#
|
26731
|
+
# [source]
|
26732
|
+
# ----
|
26733
|
+
# POST /ovirt-engine/api/vms/123/logon
|
26734
|
+
# ----
|
26735
|
+
#
|
26736
|
+
# Request body:
|
26737
|
+
#
|
26738
|
+
# [source,xml]
|
26739
|
+
# ----
|
26740
|
+
# <action/>
|
26741
|
+
# ----
|
25171
26742
|
#
|
25172
26743
|
# @param opts [Hash] Additional options.
|
25173
26744
|
#
|
@@ -25223,17 +26794,35 @@ module OvirtSDK4
|
|
25223
26794
|
end
|
25224
26795
|
|
25225
26796
|
#
|
25226
|
-
#
|
26797
|
+
# This operation migrates a virtual machine to another physical host.
|
26798
|
+
#
|
26799
|
+
# [source]
|
26800
|
+
# ----
|
26801
|
+
# POST /ovirt-engine/api/vms/123/migrate
|
26802
|
+
# ----
|
26803
|
+
#
|
26804
|
+
# One can specify a specific host to migrate the virtual machine to:
|
26805
|
+
#
|
26806
|
+
# [source,xml]
|
26807
|
+
# ----
|
26808
|
+
# <action>
|
26809
|
+
# <host id="2ab5e1da-b726-4274-bbf7-0a42b16a0fc3"/>
|
26810
|
+
# </action>
|
26811
|
+
# ----
|
25227
26812
|
#
|
25228
26813
|
# @param opts [Hash] Additional options.
|
25229
26814
|
#
|
25230
26815
|
# @option opts [Boolean] :async Indicates if the migration should be performed asynchronously.
|
25231
26816
|
#
|
25232
|
-
# @option opts [Cluster] :cluster
|
26817
|
+
# @option opts [Cluster] :cluster Specifies the cluster the virtual machine should migrate to. This is an optional parameter. By default, the
|
26818
|
+
# virtual machine is migrated to another host within the same cluster.
|
25233
26819
|
#
|
25234
|
-
# @option opts [Boolean] :force
|
26820
|
+
# @option opts [Boolean] :force Specifies the virtual machine should migrate although it might be defined as non migratable. This is an
|
26821
|
+
# optional parameter. By default, it is set to `false`.
|
25235
26822
|
#
|
25236
|
-
# @option opts [Host] :host
|
26823
|
+
# @option opts [Host] :host Specifies a specific host the virtual machine should migrate to. This is an optional parameters. By default,
|
26824
|
+
# the oVirt Engine automatically selects a default host for migration within the same cluster. If an API user
|
26825
|
+
# requires a specific host, the user can specify the host with either an `id` or `name` parameter.
|
25237
26826
|
#
|
25238
26827
|
def migrate(opts = {})
|
25239
26828
|
action = Action.new(opts)
|
@@ -25291,7 +26880,20 @@ module OvirtSDK4
|
|
25291
26880
|
end
|
25292
26881
|
|
25293
26882
|
#
|
25294
|
-
#
|
26883
|
+
# This operation sends a reboot request to a virtual machine.
|
26884
|
+
#
|
26885
|
+
# [source]
|
26886
|
+
# ----
|
26887
|
+
# POST /ovirt-engine/api/vms/123/reboot
|
26888
|
+
# ----
|
26889
|
+
#
|
26890
|
+
# The reboot action does not take any action specific parameters, so the request body should contain an
|
26891
|
+
# empty `action`:
|
26892
|
+
#
|
26893
|
+
# [source,xml]
|
26894
|
+
# ----
|
26895
|
+
# <action/>
|
26896
|
+
# ----
|
25295
26897
|
#
|
25296
26898
|
# @param opts [Hash] Additional options.
|
25297
26899
|
#
|
@@ -25318,11 +26920,23 @@ module OvirtSDK4
|
|
25318
26920
|
end
|
25319
26921
|
|
25320
26922
|
#
|
25321
|
-
#
|
26923
|
+
# Removes the virtual machine, including the virtual disks attached to it.
|
26924
|
+
#
|
26925
|
+
# For example, to remove the virtual machine with identifier `123` send a request like this:
|
26926
|
+
#
|
26927
|
+
# [source]
|
26928
|
+
# ----
|
26929
|
+
# DELETE /ovirt-engine/api/vms/123
|
26930
|
+
# ----
|
25322
26931
|
#
|
25323
26932
|
# @param opts [Hash] Additional options.
|
25324
26933
|
#
|
25325
26934
|
# @option opts [Boolean] :async Indicates if the remove should be performed asynchronously.
|
26935
|
+
# @option opts [Boolean] :detach_only Indicates if the attached virtual disks should be detached first and preserved instead of being removed.
|
26936
|
+
# @option opts [Boolean] :force Indicates if the virtual machine should be forcibly removed.
|
26937
|
+
#
|
26938
|
+
# Locked virtual machines and virtual machines with locked disk images
|
26939
|
+
# cannot be removed without this flag set to true.
|
25326
26940
|
def remove(opts = {})
|
25327
26941
|
query = {}
|
25328
26942
|
value = opts[:async]
|
@@ -25330,6 +26944,16 @@ module OvirtSDK4
|
|
25330
26944
|
value = Writer.render_boolean(value)
|
25331
26945
|
query['async'] = value
|
25332
26946
|
end
|
26947
|
+
value = opts[:detach_only]
|
26948
|
+
unless value.nil?
|
26949
|
+
value = Writer.render_boolean(value)
|
26950
|
+
query['detach_only'] = value
|
26951
|
+
end
|
26952
|
+
value = opts[:force]
|
26953
|
+
unless value.nil?
|
26954
|
+
value = Writer.render_boolean(value)
|
26955
|
+
query['force'] = value
|
26956
|
+
end
|
25333
26957
|
request = HttpRequest.new(:method => :DELETE, :url => @path, :query => query)
|
25334
26958
|
response = @connection.send(request)
|
25335
26959
|
unless response.code == 200
|
@@ -25365,7 +26989,20 @@ module OvirtSDK4
|
|
25365
26989
|
end
|
25366
26990
|
|
25367
26991
|
#
|
25368
|
-
#
|
26992
|
+
# This operation sends a shutdown request to a virtual machine.
|
26993
|
+
#
|
26994
|
+
# [source]
|
26995
|
+
# ----
|
26996
|
+
# POST /ovirt-engine/api/vms/123/shutdown
|
26997
|
+
# ----
|
26998
|
+
#
|
26999
|
+
# The shutdown action does not take any action specific parameters,
|
27000
|
+
# so the request body should contain an empty `action`:
|
27001
|
+
#
|
27002
|
+
# [source,xml]
|
27003
|
+
# ----
|
27004
|
+
# <action/>
|
27005
|
+
# ----
|
25369
27006
|
#
|
25370
27007
|
# @param opts [Hash] Additional options.
|
25371
27008
|
#
|
@@ -25392,7 +27029,24 @@ module OvirtSDK4
|
|
25392
27029
|
end
|
25393
27030
|
|
25394
27031
|
#
|
25395
|
-
#
|
27032
|
+
# Starts the virtual machine.
|
27033
|
+
#
|
27034
|
+
# If the virtual environment is complete and the virtual machine contains all necessary components to function,
|
27035
|
+
# it can be started.
|
27036
|
+
#
|
27037
|
+
# This example starts the virtual machine:
|
27038
|
+
#
|
27039
|
+
# [source]
|
27040
|
+
# ----
|
27041
|
+
# POST /ovirt-engine/api/vms/123/start
|
27042
|
+
# ----
|
27043
|
+
#
|
27044
|
+
# With a request body:
|
27045
|
+
#
|
27046
|
+
# [source,xml]
|
27047
|
+
# ----
|
27048
|
+
# <action/>
|
27049
|
+
# ----
|
25396
27050
|
#
|
25397
27051
|
# @param opts [Hash] Additional options.
|
25398
27052
|
#
|
@@ -25400,13 +27054,35 @@ module OvirtSDK4
|
|
25400
27054
|
#
|
25401
27055
|
# @option opts [Boolean] :filter Indicates if the results should be filtered according to the permissions of the user.
|
25402
27056
|
#
|
25403
|
-
# @option opts [Boolean] :pause
|
27057
|
+
# @option opts [Boolean] :pause If set to `true`, start the virtual machine in paused mode. Default is `false`.
|
25404
27058
|
#
|
25405
|
-
# @option opts [Boolean] :use_cloud_init
|
27059
|
+
# @option opts [Boolean] :use_cloud_init If set to `true`, the initialization type is set to _cloud-init_. The default value is `false`.
|
27060
|
+
# See https://cloudinit.readthedocs.io/en/latest[this] for details.
|
25406
27061
|
#
|
25407
|
-
# @option opts [Boolean] :use_sysprep
|
27062
|
+
# @option opts [Boolean] :use_sysprep If set to `true`, the initialization type is set to _Sysprep_. The default value is `false`.
|
27063
|
+
# See https://en.wikipedia.org/wiki/Sysprep[this] for details.
|
25408
27064
|
#
|
25409
|
-
# @option opts [Vm] :vm
|
27065
|
+
# @option opts [Vm] :vm The definition of the virtual machine for this specific run.
|
27066
|
+
#
|
27067
|
+
# For example:
|
27068
|
+
#
|
27069
|
+
# [source,xml]
|
27070
|
+
# ----
|
27071
|
+
# <action>
|
27072
|
+
# <vm>
|
27073
|
+
# <os>
|
27074
|
+
# <boot>
|
27075
|
+
# <devices>
|
27076
|
+
# <device>cdrom</device>
|
27077
|
+
# </devices>
|
27078
|
+
# </boot>
|
27079
|
+
# </os>
|
27080
|
+
# </vm>
|
27081
|
+
# </action>
|
27082
|
+
# ----
|
27083
|
+
#
|
27084
|
+
# This will set the boot device to the CDROM only for this specific start. After the virtual machine will be
|
27085
|
+
# powered off, this definition will be reverted.
|
25410
27086
|
#
|
25411
27087
|
def start(opts = {})
|
25412
27088
|
action = Action.new(opts)
|
@@ -25429,7 +27105,20 @@ module OvirtSDK4
|
|
25429
27105
|
end
|
25430
27106
|
|
25431
27107
|
#
|
25432
|
-
#
|
27108
|
+
# This operation forces a virtual machine to power-off.
|
27109
|
+
#
|
27110
|
+
# [source]
|
27111
|
+
# ----
|
27112
|
+
# POST /ovirt-engine/api/vms/123/stop
|
27113
|
+
# ----
|
27114
|
+
#
|
27115
|
+
# The stop action does not take any action specific parameters,
|
27116
|
+
# so the request body should contain an empty `action`:
|
27117
|
+
#
|
27118
|
+
# [source,xml]
|
27119
|
+
# ----
|
27120
|
+
# <action/>
|
27121
|
+
# ----
|
25433
27122
|
#
|
25434
27123
|
# @param opts [Hash] Additional options.
|
25435
27124
|
#
|
@@ -25456,7 +27145,21 @@ module OvirtSDK4
|
|
25456
27145
|
end
|
25457
27146
|
|
25458
27147
|
#
|
25459
|
-
#
|
27148
|
+
# This operation saves the virtual machine state to disk and stops it.
|
27149
|
+
# Start a suspended virtual machine and restore the virtual machine state with the start action.
|
27150
|
+
#
|
27151
|
+
# [source]
|
27152
|
+
# ----
|
27153
|
+
# POST /ovirt-engine/api/vms/123/suspend
|
27154
|
+
# ----
|
27155
|
+
#
|
27156
|
+
# The suspend action does not take any action specific parameters,
|
27157
|
+
# so the request body should contain an empty `action`:
|
27158
|
+
#
|
27159
|
+
# [source,xml]
|
27160
|
+
# ----
|
27161
|
+
# <action/>
|
27162
|
+
# ----
|
25460
27163
|
#
|
25461
27164
|
# @param opts [Hash] Additional options.
|
25462
27165
|
#
|
@@ -25483,7 +27186,23 @@ module OvirtSDK4
|
|
25483
27186
|
end
|
25484
27187
|
|
25485
27188
|
#
|
25486
|
-
#
|
27189
|
+
# Thaw virtual machine file systems.
|
27190
|
+
#
|
27191
|
+
# This operation thaws a virtual machine's file systems using the QEMU guest agent when taking a live snapshot of a
|
27192
|
+
# running virtual machine. Normally, this is done automatically by the manager, but this must be executed manually
|
27193
|
+
# with the API for virtual machines using OpenStack Volume (Cinder) disks.
|
27194
|
+
#
|
27195
|
+
# Example:
|
27196
|
+
#
|
27197
|
+
# [source]
|
27198
|
+
# ----
|
27199
|
+
# POST /api/vms/123/thawfilesystems
|
27200
|
+
# ----
|
27201
|
+
#
|
27202
|
+
# [source,xml]
|
27203
|
+
# ----
|
27204
|
+
# <action/>
|
27205
|
+
# ----
|
25487
27206
|
#
|
25488
27207
|
# @param opts [Hash] Additional options.
|
25489
27208
|
#
|
@@ -25510,7 +27229,26 @@ module OvirtSDK4
|
|
25510
27229
|
end
|
25511
27230
|
|
25512
27231
|
#
|
25513
|
-
#
|
27232
|
+
# Generates a time-sensitive authentication token for accessing a virtual machine's display.
|
27233
|
+
#
|
27234
|
+
# [source]
|
27235
|
+
# ----
|
27236
|
+
# POST /ovirt-engine/api/vms/123/ticket
|
27237
|
+
# ----
|
27238
|
+
#
|
27239
|
+
# The client-provided action optionally includes a desired ticket value and/or an expiry time in seconds.
|
27240
|
+
#
|
27241
|
+
# In any case, the response specifies the actual ticket value and expiry used.
|
27242
|
+
#
|
27243
|
+
# [source,xml]
|
27244
|
+
# ----
|
27245
|
+
# <action>
|
27246
|
+
# <ticket>
|
27247
|
+
# <value>abcd12345</value>
|
27248
|
+
# <expiry>120</expiry>
|
27249
|
+
# </ticket>
|
27250
|
+
# </action>
|
27251
|
+
# ----
|
25514
27252
|
#
|
25515
27253
|
# @param opts [Hash] Additional options.
|
25516
27254
|
#
|
@@ -25574,6 +27312,10 @@ module OvirtSDK4
|
|
25574
27312
|
#
|
25575
27313
|
# @option opts [Boolean] :async Indicates if the update should be performed asynchronously.
|
25576
27314
|
#
|
27315
|
+
# @option opts [Boolean] :next_run Indicates if the update should be applied to the virtual machine immediately, or if it should be applied only
|
27316
|
+
# when the virtual machine is restarted. The default value is `false`, so by default changes are applied
|
27317
|
+
# immediately.
|
27318
|
+
#
|
25577
27319
|
# @return [Vm]
|
25578
27320
|
#
|
25579
27321
|
def update(vm, opts = {})
|
@@ -25586,6 +27328,11 @@ module OvirtSDK4
|
|
25586
27328
|
value = Writer.render_boolean(value)
|
25587
27329
|
query['async'] = value
|
25588
27330
|
end
|
27331
|
+
value = opts[:next_run]
|
27332
|
+
unless value.nil?
|
27333
|
+
value = Writer.render_boolean(value)
|
27334
|
+
query['next_run'] = value
|
27335
|
+
end
|
25589
27336
|
request = HttpRequest.new(:method => :PUT, :url => @path, :query => query)
|
25590
27337
|
begin
|
25591
27338
|
writer = XmlWriter.new(nil, true)
|
@@ -25698,7 +27445,7 @@ module OvirtSDK4
|
|
25698
27445
|
end
|
25699
27446
|
|
25700
27447
|
#
|
25701
|
-
#
|
27448
|
+
# Reference to the service that provides information about virtual machine user sessions.
|
25702
27449
|
#
|
25703
27450
|
# @return [VmSessionsService] A reference to `sessions` service.
|
25704
27451
|
def sessions_service
|
@@ -26541,7 +28288,7 @@ module OvirtSDK4
|
|
26541
28288
|
end
|
26542
28289
|
response = @connection.send(request)
|
26543
28290
|
case response.code
|
26544
|
-
when 201, 202
|
28291
|
+
when 200, 201, 202
|
26545
28292
|
begin
|
26546
28293
|
reader = XmlReader.new(response.body)
|
26547
28294
|
return DiskReader.read_one(reader)
|
@@ -26878,7 +28625,7 @@ module OvirtSDK4
|
|
26878
28625
|
end
|
26879
28626
|
response = @connection.send(request)
|
26880
28627
|
case response.code
|
26881
|
-
when 201, 202
|
28628
|
+
when 200, 201, 202
|
26882
28629
|
begin
|
26883
28630
|
reader = XmlReader.new(response.body)
|
26884
28631
|
return HostDeviceReader.read_one(reader)
|
@@ -27056,7 +28803,25 @@ module OvirtSDK4
|
|
27056
28803
|
end
|
27057
28804
|
|
27058
28805
|
#
|
27059
|
-
#
|
28806
|
+
# Removes the NIC.
|
28807
|
+
#
|
28808
|
+
# For example, to remove the NIC with id `456` from the virtual machine with id `123` send a request like this:
|
28809
|
+
#
|
28810
|
+
# [source]
|
28811
|
+
# ----
|
28812
|
+
# DELETE /ovirt-engine/api/vms/123/nics/456
|
28813
|
+
# ----
|
28814
|
+
#
|
28815
|
+
# [IMPORTANT]
|
28816
|
+
# ====
|
28817
|
+
# The hotplugging feature only supports virtual machine operating systems with hotplugging operations.
|
28818
|
+
# Example operating systems include:
|
28819
|
+
#
|
28820
|
+
# - Red Hat Enterprise Linux 6
|
28821
|
+
# - Red Hat Enterprise Linux 5
|
28822
|
+
# - Windows Server 2008 and
|
28823
|
+
# - Windows Server 2003
|
28824
|
+
# ====
|
27060
28825
|
#
|
27061
28826
|
# @param opts [Hash] Additional options.
|
27062
28827
|
#
|
@@ -27076,7 +28841,36 @@ module OvirtSDK4
|
|
27076
28841
|
end
|
27077
28842
|
|
27078
28843
|
#
|
27079
|
-
# Updates the
|
28844
|
+
# Updates the NIC.
|
28845
|
+
#
|
28846
|
+
# For example, to update the NIC having with `456` belonging to virtual the machine with id `123` send a request
|
28847
|
+
# like this:
|
28848
|
+
#
|
28849
|
+
# [source]
|
28850
|
+
# ----
|
28851
|
+
# PUT /ovirt-engine/api/vms/123/nics/456
|
28852
|
+
# ----
|
28853
|
+
#
|
28854
|
+
# With a request body like this:
|
28855
|
+
#
|
28856
|
+
# [source,xml]
|
28857
|
+
# ----
|
28858
|
+
# <nic>
|
28859
|
+
# <name>mynic</name>
|
28860
|
+
# <interface>e1000</interface>
|
28861
|
+
# </nic>
|
28862
|
+
# ----
|
28863
|
+
#
|
28864
|
+
# [IMPORTANT]
|
28865
|
+
# ====
|
28866
|
+
# The hotplugging feature only supports virtual machine operating systems with hotplugging operations.
|
28867
|
+
# Example operating systems include:
|
28868
|
+
#
|
28869
|
+
# - Red Hat Enterprise Linux 6
|
28870
|
+
# - Red Hat Enterprise Linux 5
|
28871
|
+
# - Windows Server 2008 and
|
28872
|
+
# - Windows Server 2003
|
28873
|
+
# ====
|
27080
28874
|
#
|
27081
28875
|
# @param nic [Nic] The `nic` to update.
|
27082
28876
|
# @param opts [Hash] Additional options.
|
@@ -27188,7 +28982,59 @@ module OvirtSDK4
|
|
27188
28982
|
end
|
27189
28983
|
|
27190
28984
|
#
|
27191
|
-
# Adds a
|
28985
|
+
# Adds a NIC to the virtual machine.
|
28986
|
+
#
|
28987
|
+
# The following example adds a network interface named `mynic` using `virtio` and the `ovirtmgmt` network to the
|
28988
|
+
# virtual machine.
|
28989
|
+
#
|
28990
|
+
# [source]
|
28991
|
+
# ----
|
28992
|
+
# POST /ovirt-engine/api/vms/123/nics
|
28993
|
+
# ----
|
28994
|
+
#
|
28995
|
+
# [source,xml]
|
28996
|
+
# ----
|
28997
|
+
# <nic>
|
28998
|
+
# <interface>virtio</interface>
|
28999
|
+
# <name>mynic</name>
|
29000
|
+
# <network>
|
29001
|
+
# <name>ovirtmgmt</name>
|
29002
|
+
# </network>
|
29003
|
+
# </nic>
|
29004
|
+
# ----
|
29005
|
+
#
|
29006
|
+
# The following example sends that request using `curl`:
|
29007
|
+
#
|
29008
|
+
# [source,bash]
|
29009
|
+
# ----
|
29010
|
+
# curl \
|
29011
|
+
# --request POST \
|
29012
|
+
# --header "Version: 4" \
|
29013
|
+
# --header "Content-Type: application/xml" \
|
29014
|
+
# --header "Accept: application/xml" \
|
29015
|
+
# --user "admin@internal:mypassword" \
|
29016
|
+
# --cacert /etc/pki/ovirt-engine/ca.pem \
|
29017
|
+
# --data '
|
29018
|
+
# <nic>
|
29019
|
+
# <name>mynic</name>
|
29020
|
+
# <network>
|
29021
|
+
# <name>ovirtmgmt</name>
|
29022
|
+
# </network>
|
29023
|
+
# </nic>
|
29024
|
+
# ' \
|
29025
|
+
# https://myengine.example.com/ovirt-engine/api/vms/123/nics
|
29026
|
+
# ----
|
29027
|
+
#
|
29028
|
+
# [IMPORTANT]
|
29029
|
+
# ====
|
29030
|
+
# The hotplugging feature only supports virtual machine operating systems with hotplugging operations.
|
29031
|
+
# Example operating systems include:
|
29032
|
+
#
|
29033
|
+
# - Red Hat Enterprise Linux 6
|
29034
|
+
# - Red Hat Enterprise Linux 5
|
29035
|
+
# - Windows Server 2008 and
|
29036
|
+
# - Windows Server 2003
|
29037
|
+
# ====
|
27192
29038
|
#
|
27193
29039
|
# @param nic [Nic] The `nic` to add.
|
27194
29040
|
#
|
@@ -27211,7 +29057,7 @@ module OvirtSDK4
|
|
27211
29057
|
end
|
27212
29058
|
response = @connection.send(request)
|
27213
29059
|
case response.code
|
27214
|
-
when 201, 202
|
29060
|
+
when 200, 201, 202
|
27215
29061
|
begin
|
27216
29062
|
reader = XmlReader.new(response.body)
|
27217
29063
|
return NicReader.read_one(reader)
|
@@ -27335,7 +29181,14 @@ module OvirtSDK4
|
|
27335
29181
|
end
|
27336
29182
|
|
27337
29183
|
#
|
27338
|
-
#
|
29184
|
+
# Removes a virtual NUMA node.
|
29185
|
+
#
|
29186
|
+
# An example of removing a virtual NUMA node:
|
29187
|
+
#
|
29188
|
+
# [source]
|
29189
|
+
# ----
|
29190
|
+
# DELETE /ovirt-engine/api/vms/123/numanodes/456
|
29191
|
+
# ----
|
27339
29192
|
#
|
27340
29193
|
# @param opts [Hash] Additional options.
|
27341
29194
|
#
|
@@ -27355,7 +29208,29 @@ module OvirtSDK4
|
|
27355
29208
|
end
|
27356
29209
|
|
27357
29210
|
#
|
27358
|
-
# Updates
|
29211
|
+
# Updates a virtual NUMA node.
|
29212
|
+
#
|
29213
|
+
# An example of pinning a virtual NUMA node to a physical NUMA node on the host:
|
29214
|
+
#
|
29215
|
+
# [source]
|
29216
|
+
# ----
|
29217
|
+
# PUT /ovirt-engine/api/vms/123/numanodes/456
|
29218
|
+
# ----
|
29219
|
+
#
|
29220
|
+
# The request body should contain the following:
|
29221
|
+
#
|
29222
|
+
# [source,xml]
|
29223
|
+
# ----
|
29224
|
+
# <vm_numa_node>
|
29225
|
+
# <numa_node_pins>
|
29226
|
+
# <numa_node_pin>
|
29227
|
+
# <host_numa_node id="789"/>
|
29228
|
+
# <index>0</index>
|
29229
|
+
# <pinned>true</pinned>
|
29230
|
+
# </numa_node_pin>
|
29231
|
+
# </numa_node_pins>
|
29232
|
+
# </vm_numa_node>
|
29233
|
+
# ----
|
27359
29234
|
#
|
27360
29235
|
# @param node [VirtualNumaNode] The `node` to update.
|
27361
29236
|
# @param opts [Hash] Additional options.
|
@@ -27439,7 +29314,31 @@ module OvirtSDK4
|
|
27439
29314
|
end
|
27440
29315
|
|
27441
29316
|
#
|
27442
|
-
#
|
29317
|
+
# Creates a new virtual NUMA node for the virtual machine.
|
29318
|
+
#
|
29319
|
+
# An example of creating a NUMA node:
|
29320
|
+
#
|
29321
|
+
# [source]
|
29322
|
+
# ----
|
29323
|
+
# POST /ovirt-engine/api/vms/c7ecd2dc/numanodes
|
29324
|
+
# Accept: application/xml
|
29325
|
+
# Content-type: application/xml
|
29326
|
+
# ----
|
29327
|
+
# The request body can contain the following:
|
29328
|
+
# [source,xml]
|
29329
|
+
# ----
|
29330
|
+
# <vm_numa_node>
|
29331
|
+
# <cpu>
|
29332
|
+
# <cores>
|
29333
|
+
# <core>
|
29334
|
+
# <index>0</index>
|
29335
|
+
# </core>
|
29336
|
+
# </cores>
|
29337
|
+
# </cpu>
|
29338
|
+
# <index>0</index>
|
29339
|
+
# <memory>1024</memory>
|
29340
|
+
# </vm_numa_node>
|
29341
|
+
# ----
|
27443
29342
|
#
|
27444
29343
|
# @param node [VirtualNumaNode] The `node` to add.
|
27445
29344
|
#
|
@@ -27462,7 +29361,7 @@ module OvirtSDK4
|
|
27462
29361
|
end
|
27463
29362
|
response = @connection.send(request)
|
27464
29363
|
case response.code
|
27465
|
-
when 201, 202
|
29364
|
+
when 200, 201, 202
|
27466
29365
|
begin
|
27467
29366
|
reader = XmlReader.new(response.body)
|
27468
29367
|
return VirtualNumaNodeReader.read_one(reader)
|
@@ -27475,7 +29374,7 @@ module OvirtSDK4
|
|
27475
29374
|
end
|
27476
29375
|
|
27477
29376
|
#
|
27478
|
-
#
|
29377
|
+
# Lists virtual NUMA nodes of a virtual machine.
|
27479
29378
|
#
|
27480
29379
|
# @param opts [Hash] Additional options.
|
27481
29380
|
#
|
@@ -27562,7 +29461,20 @@ module OvirtSDK4
|
|
27562
29461
|
end
|
27563
29462
|
|
27564
29463
|
#
|
27565
|
-
#
|
29464
|
+
# This operation allocates a virtual machine in the virtual machine pool.
|
29465
|
+
#
|
29466
|
+
# [source]
|
29467
|
+
# ----
|
29468
|
+
# POST /ovirt-engine/api/vmpools/123/allocatevm
|
29469
|
+
# ----
|
29470
|
+
#
|
29471
|
+
# The allocate virtual machine action does not take any action specific parameters, so the request body should
|
29472
|
+
# contain an empty `action`:
|
29473
|
+
#
|
29474
|
+
# [source,xml]
|
29475
|
+
# ----
|
29476
|
+
# <action/>
|
29477
|
+
# ----
|
27566
29478
|
#
|
27567
29479
|
# @param opts [Hash] Additional options.
|
27568
29480
|
#
|
@@ -27620,7 +29532,12 @@ module OvirtSDK4
|
|
27620
29532
|
end
|
27621
29533
|
|
27622
29534
|
#
|
27623
|
-
#
|
29535
|
+
# Removes a virtual machine pool.
|
29536
|
+
#
|
29537
|
+
# [source]
|
29538
|
+
# ----
|
29539
|
+
# DELETE /ovirt-engine/api/vmpools/123
|
29540
|
+
# ----
|
27624
29541
|
#
|
27625
29542
|
# @param opts [Hash] Additional options.
|
27626
29543
|
#
|
@@ -27640,9 +29557,29 @@ module OvirtSDK4
|
|
27640
29557
|
end
|
27641
29558
|
|
27642
29559
|
#
|
27643
|
-
#
|
29560
|
+
# Update the virtual machine pool.
|
29561
|
+
#
|
29562
|
+
# [source]
|
29563
|
+
# ----
|
29564
|
+
# PUT /ovirt-engine/api/vmpools/123
|
29565
|
+
# ----
|
29566
|
+
#
|
29567
|
+
# The `name`, `description`, `size`, `prestarted_vms` and `max_user_vms`
|
29568
|
+
# attributes can be updated after the virtual machine pool has been
|
29569
|
+
# created.
|
29570
|
+
#
|
29571
|
+
# [source,xml]
|
29572
|
+
# ----
|
29573
|
+
# <vmpool>
|
29574
|
+
# <name>VM_Pool_B</name>
|
29575
|
+
# <description>Virtual Machine Pool B</description>
|
29576
|
+
# <size>3</size>
|
29577
|
+
# <prestarted_vms>1</size>
|
29578
|
+
# <max_user_vms>2</size>
|
29579
|
+
# </vmpool>
|
29580
|
+
# ----
|
27644
29581
|
#
|
27645
|
-
# @param pool [VmPool] The
|
29582
|
+
# @param pool [VmPool] The virtual machine pool that is being updated.
|
27646
29583
|
# @param opts [Hash] Additional options.
|
27647
29584
|
#
|
27648
29585
|
# @option opts [Boolean] :async Indicates if the update should be performed asynchronously.
|
@@ -27738,7 +29675,26 @@ module OvirtSDK4
|
|
27738
29675
|
end
|
27739
29676
|
|
27740
29677
|
#
|
27741
|
-
#
|
29678
|
+
# Creates a new virtual machine pool.
|
29679
|
+
#
|
29680
|
+
# A new pool requires the `name`, `cluster` and `template` attributes. Identify the cluster and template with the
|
29681
|
+
# `id` or `name` nested attributes:
|
29682
|
+
#
|
29683
|
+
# [source]
|
29684
|
+
# ----
|
29685
|
+
# POST /ovirt-engine/api/vmpools
|
29686
|
+
# ----
|
29687
|
+
#
|
29688
|
+
# With the following body:
|
29689
|
+
#
|
29690
|
+
# [source,xml]
|
29691
|
+
# ----
|
29692
|
+
# <vmpool>
|
29693
|
+
# <name>mypool</name>
|
29694
|
+
# <cluster id="123"/>
|
29695
|
+
# <template id="456"/>
|
29696
|
+
# </vmpool>
|
29697
|
+
# ----
|
27742
29698
|
#
|
27743
29699
|
# @param pool [VmPool] The `pool` to add.
|
27744
29700
|
#
|
@@ -27761,7 +29717,7 @@ module OvirtSDK4
|
|
27761
29717
|
end
|
27762
29718
|
response = @connection.send(request)
|
27763
29719
|
case response.code
|
27764
|
-
when 201, 202
|
29720
|
+
when 200, 201, 202
|
27765
29721
|
begin
|
27766
29722
|
reader = XmlReader.new(response.body)
|
27767
29723
|
return VmPoolReader.read_one(reader)
|
@@ -28100,7 +30056,31 @@ module OvirtSDK4
|
|
28100
30056
|
end
|
28101
30057
|
|
28102
30058
|
#
|
28103
|
-
#
|
30059
|
+
# Lists all user sessions for this virtual machine.
|
30060
|
+
#
|
30061
|
+
# For example, to retrieve the session information for virtual machine `123` send a request like this:
|
30062
|
+
#
|
30063
|
+
# [source]
|
30064
|
+
# ----
|
30065
|
+
# GET /ovirt-engine/api/vms/123/sessions
|
30066
|
+
# ----
|
30067
|
+
#
|
30068
|
+
# The response body will contain something like this:
|
30069
|
+
#
|
30070
|
+
# [source,xml]
|
30071
|
+
# ----
|
30072
|
+
# <sessions>
|
30073
|
+
# <session href="/ovirt-engine/api/vms/123/sessions/456" id="456">
|
30074
|
+
# <console_user>true</console_user>
|
30075
|
+
# <ip>
|
30076
|
+
# <address>192.168.122.1</address>
|
30077
|
+
# </ip>
|
30078
|
+
# <user href="/ovirt-engine/api/users/789" id="789"/>
|
30079
|
+
# <vm href="/ovirt-engine/api/vms/123" id="123"/>
|
30080
|
+
# </session>
|
30081
|
+
# ...
|
30082
|
+
# </sessions>
|
30083
|
+
# ----
|
28104
30084
|
#
|
28105
30085
|
# @param opts [Hash] Additional options.
|
28106
30086
|
#
|
@@ -28131,7 +30111,7 @@ module OvirtSDK4
|
|
28131
30111
|
end
|
28132
30112
|
|
28133
30113
|
#
|
28134
|
-
#
|
30114
|
+
# Reference to the service that manages a specific session.
|
28135
30115
|
#
|
28136
30116
|
# @param id [String] The identifier of the `session`.
|
28137
30117
|
#
|
@@ -28338,7 +30318,7 @@ module OvirtSDK4
|
|
28338
30318
|
end
|
28339
30319
|
response = @connection.send(request)
|
28340
30320
|
case response.code
|
28341
|
-
when 201, 202
|
30321
|
+
when 200, 201, 202
|
28342
30322
|
begin
|
28343
30323
|
reader = XmlReader.new(response.body)
|
28344
30324
|
return WatchdogReader.read_one(reader)
|
@@ -28545,6 +30525,51 @@ module OvirtSDK4
|
|
28545
30525
|
# </vm>
|
28546
30526
|
# ----
|
28547
30527
|
#
|
30528
|
+
# It is possible to specify additional virtual machine parameters in the XML description, e.g. a virtual machine
|
30529
|
+
# of `desktop` type, with 2 GiB of RAM and additional description can be added sending a request body like the
|
30530
|
+
# following:
|
30531
|
+
#
|
30532
|
+
# [source,xml]
|
30533
|
+
# ----
|
30534
|
+
# <vm>
|
30535
|
+
# <name>myvm</name>
|
30536
|
+
# <description>My Desktop Virtual Machine</description>
|
30537
|
+
# <type>desktop</type>
|
30538
|
+
# <memory>2147483648</memory>
|
30539
|
+
# ...
|
30540
|
+
# </vm>
|
30541
|
+
# ----
|
30542
|
+
#
|
30543
|
+
# A bootable CDROM device can be set like this:
|
30544
|
+
#
|
30545
|
+
# [source,xml]
|
30546
|
+
# ----
|
30547
|
+
# <vm>
|
30548
|
+
# ...
|
30549
|
+
# <os>
|
30550
|
+
# <boot dev="cdrom"/>
|
30551
|
+
# </os>
|
30552
|
+
# </vm>
|
30553
|
+
# ----
|
30554
|
+
#
|
30555
|
+
# In order to boot from CDROM, you first need to insert a disk, as described in the
|
30556
|
+
# <<services/vm_cdrom, CDROM service>>. Then booting from that CDROM can be specified using the `os.boot.devices`
|
30557
|
+
# attribute:
|
30558
|
+
#
|
30559
|
+
# [source,xml]
|
30560
|
+
# ----
|
30561
|
+
# <vm>
|
30562
|
+
# ...
|
30563
|
+
# <os>
|
30564
|
+
# <boot>
|
30565
|
+
# <devices>
|
30566
|
+
# <device>cdrom</device>
|
30567
|
+
# </devices>
|
30568
|
+
# </boot>
|
30569
|
+
# </os>
|
30570
|
+
# </vm>
|
30571
|
+
# ----
|
30572
|
+
#
|
28548
30573
|
# In all cases the name or identifier of the cluster where the virtual machine will be created is mandatory.
|
28549
30574
|
#
|
28550
30575
|
# @param vm [Vm] The `vm` to add.
|
@@ -28635,7 +30660,7 @@ module OvirtSDK4
|
|
28635
30660
|
end
|
28636
30661
|
response = @connection.send(request)
|
28637
30662
|
case response.code
|
28638
|
-
when 201, 202
|
30663
|
+
when 200, 201, 202
|
28639
30664
|
begin
|
28640
30665
|
reader = XmlReader.new(response.body)
|
28641
30666
|
return VmReader.read_one(reader)
|
@@ -28652,6 +30677,25 @@ module OvirtSDK4
|
|
28652
30677
|
#
|
28653
30678
|
# @param opts [Hash] Additional options.
|
28654
30679
|
#
|
30680
|
+
# @option opts [Boolean] :all_content Indicates if all the attributes of the virtual machines should be included in the response.
|
30681
|
+
#
|
30682
|
+
# By default the following attributes are excluded:
|
30683
|
+
#
|
30684
|
+
# - `console`
|
30685
|
+
# - `initialization.configuration.data` - The OVF document describing the virtual machine.
|
30686
|
+
# - `rng_source`
|
30687
|
+
# - `soundcard`
|
30688
|
+
# - `virtio_scsi`
|
30689
|
+
#
|
30690
|
+
# For example, to retrieve the complete representation of the virtual machines send a request like this:
|
30691
|
+
#
|
30692
|
+
# ....
|
30693
|
+
# GET /ovirt-engine/api/vms?all_content=true
|
30694
|
+
# ....
|
30695
|
+
#
|
30696
|
+
# NOTE: The reason for not including these attributes is performance: they are seldom used and they require
|
30697
|
+
# additional queries to the database. So try to use the this parameter only when it is really needed.
|
30698
|
+
#
|
28655
30699
|
# @option opts [Boolean] :case_sensitive Indicates if the search performed using the `search` parameter should be performed taking case into
|
28656
30700
|
# account. The default value is `true`, which means that case is taken into account. If you want to search
|
28657
30701
|
# ignoring case set it to `false`.
|
@@ -28666,6 +30710,11 @@ module OvirtSDK4
|
|
28666
30710
|
#
|
28667
30711
|
def list(opts = {})
|
28668
30712
|
query = {}
|
30713
|
+
value = opts[:all_content]
|
30714
|
+
unless value.nil?
|
30715
|
+
value = Writer.render_boolean(value)
|
30716
|
+
query['all_content'] = value
|
30717
|
+
end
|
28669
30718
|
value = opts[:case_sensitive]
|
28670
30719
|
unless value.nil?
|
28671
30720
|
value = Writer.render_boolean(value)
|
@@ -28922,7 +30971,7 @@ module OvirtSDK4
|
|
28922
30971
|
end
|
28923
30972
|
response = @connection.send(request)
|
28924
30973
|
case response.code
|
28925
|
-
when 201, 202
|
30974
|
+
when 200, 201, 202
|
28926
30975
|
begin
|
28927
30976
|
reader = XmlReader.new(response.body)
|
28928
30977
|
return VnicProfileReader.read_one(reader)
|
@@ -29137,7 +31186,7 @@ module OvirtSDK4
|
|
29137
31186
|
end
|
29138
31187
|
response = @connection.send(request)
|
29139
31188
|
case response.code
|
29140
|
-
when 201, 202
|
31189
|
+
when 200, 201, 202
|
29141
31190
|
begin
|
29142
31191
|
reader = XmlReader.new(response.body)
|
29143
31192
|
return WeightReader.read_one(reader)
|
@@ -29244,7 +31293,26 @@ module OvirtSDK4
|
|
29244
31293
|
end
|
29245
31294
|
|
29246
31295
|
#
|
29247
|
-
#
|
31296
|
+
# This operation copies a disk to the specified storage domain.
|
31297
|
+
#
|
31298
|
+
# For example, copy of a disk can be facilitated using the following request:
|
31299
|
+
#
|
31300
|
+
# [source]
|
31301
|
+
# ----
|
31302
|
+
# POST /ovirt-engine/api/disks/123/copy
|
31303
|
+
# ----
|
31304
|
+
#
|
31305
|
+
# With a request body like this:
|
31306
|
+
#
|
31307
|
+
# [source,xml]
|
31308
|
+
# ----
|
31309
|
+
# <action>
|
31310
|
+
# <storage_domain id="456"/>
|
31311
|
+
# <disk>
|
31312
|
+
# <name>mydisk</name>
|
31313
|
+
# </disk>
|
31314
|
+
# </action>
|
31315
|
+
# ----
|
29248
31316
|
#
|
29249
31317
|
# @param opts [Hash] Additional options.
|
29250
31318
|
#
|
@@ -29332,7 +31400,24 @@ module OvirtSDK4
|
|
29332
31400
|
end
|
29333
31401
|
|
29334
31402
|
#
|
29335
|
-
#
|
31403
|
+
# Moves a disk to another storage domain.
|
31404
|
+
#
|
31405
|
+
# For example, to move the disk with identifier `123` to a storage domain with identifier `456` send the following
|
31406
|
+
# request:
|
31407
|
+
#
|
31408
|
+
# [source]
|
31409
|
+
# ----
|
31410
|
+
# POST /ovirt-engine/api/disks/123/move
|
31411
|
+
# ----
|
31412
|
+
#
|
31413
|
+
# With the following request body:
|
31414
|
+
#
|
31415
|
+
# [source,xml]
|
31416
|
+
# ----
|
31417
|
+
# <action>
|
31418
|
+
# <storage_domain id="456"/>
|
31419
|
+
# </action>
|
31420
|
+
# ----
|
29336
31421
|
#
|
29337
31422
|
# @param opts [Hash] Additional options.
|
29338
31423
|
#
|
@@ -30317,7 +32402,7 @@ module OvirtSDK4
|
|
30317
32402
|
end
|
30318
32403
|
|
30319
32404
|
#
|
30320
|
-
#
|
32405
|
+
# Activate the host for use, such as running virtual machines.
|
30321
32406
|
#
|
30322
32407
|
# @param opts [Hash] Additional options.
|
30323
32408
|
#
|
@@ -30344,7 +32429,9 @@ module OvirtSDK4
|
|
30344
32429
|
end
|
30345
32430
|
|
30346
32431
|
#
|
30347
|
-
#
|
32432
|
+
# Approve a pre-installed Hypervisor host for usage in the virtualization environment.
|
32433
|
+
#
|
32434
|
+
# This action also accepts an optional cluster element to define the target cluster for this host.
|
30348
32435
|
#
|
30349
32436
|
# @param opts [Hash] Additional options.
|
30350
32437
|
#
|
@@ -30375,6 +32462,27 @@ module OvirtSDK4
|
|
30375
32462
|
#
|
30376
32463
|
# Marks the network configuration as good and persists it inside the host.
|
30377
32464
|
#
|
32465
|
+
# An API user commits the network configuration to persist a host network interface attachment or detachment, or
|
32466
|
+
# persist the creation and deletion of a bonded interface.
|
32467
|
+
#
|
32468
|
+
# IMPORTANT: Networking configuration is only committed after the engine has established that host connectivity is
|
32469
|
+
# not lost as a result of the configuration changes. If host connectivity is lost, the host requires a reboot and
|
32470
|
+
# automatically reverts to the previous networking configuration.
|
32471
|
+
#
|
32472
|
+
# For example, to commit the network configuration of host with id `123` send a request like this:
|
32473
|
+
#
|
32474
|
+
# [source]
|
32475
|
+
# ----
|
32476
|
+
# POST /ovirt-engine/api/hosts/123/commitnetconfig
|
32477
|
+
# ----
|
32478
|
+
#
|
32479
|
+
# With a request body like this:
|
32480
|
+
#
|
32481
|
+
# [source,xml]
|
32482
|
+
# ----
|
32483
|
+
# <action/>
|
32484
|
+
# ----
|
32485
|
+
#
|
30378
32486
|
# @param opts [Hash] Additional options.
|
30379
32487
|
#
|
30380
32488
|
# @option opts [Boolean] :async Indicates if the action should be performed asynchronously.
|
@@ -30400,7 +32508,7 @@ module OvirtSDK4
|
|
30400
32508
|
end
|
30401
32509
|
|
30402
32510
|
#
|
30403
|
-
#
|
32511
|
+
# Deactivate the host to perform maintenance tasks.
|
30404
32512
|
#
|
30405
32513
|
# @param opts [Hash] Additional options.
|
30406
32514
|
#
|
@@ -30432,7 +32540,7 @@ module OvirtSDK4
|
|
30432
32540
|
end
|
30433
32541
|
|
30434
32542
|
#
|
30435
|
-
#
|
32543
|
+
# Enroll certificate of the host. Useful in case you get a warning that it is about to, or already expired.
|
30436
32544
|
#
|
30437
32545
|
# @param opts [Hash] Additional options.
|
30438
32546
|
#
|
@@ -30459,7 +32567,33 @@ module OvirtSDK4
|
|
30459
32567
|
end
|
30460
32568
|
|
30461
32569
|
#
|
30462
|
-
#
|
32570
|
+
# Controls host's power management device.
|
32571
|
+
#
|
32572
|
+
# For example, let's assume you want to start the host. This can be done via:
|
32573
|
+
#
|
32574
|
+
# [source]
|
32575
|
+
# ----
|
32576
|
+
# #!/bin/sh -ex
|
32577
|
+
#
|
32578
|
+
# url="https://engine.example.com/ovirt-engine/api"
|
32579
|
+
# user="admin@internal"
|
32580
|
+
# password="..."
|
32581
|
+
#
|
32582
|
+
# curl \
|
32583
|
+
# --verbose \
|
32584
|
+
# --cacert /etc/pki/ovirt-engine/ca.pem \
|
32585
|
+
# --user "${user}:${password}" \
|
32586
|
+
# --request POST \
|
32587
|
+
# --header "Version: 4" \
|
32588
|
+
# --header "Content-Type: application/xml" \
|
32589
|
+
# --header "Accept: application/xml" \
|
32590
|
+
# --data '
|
32591
|
+
# <action>
|
32592
|
+
# <fence_type>start</fence_type>
|
32593
|
+
# </action>
|
32594
|
+
# ' \
|
32595
|
+
# "${url}/hosts/123/fence"
|
32596
|
+
# ----
|
30463
32597
|
#
|
30464
32598
|
# @param opts [Hash] Additional options.
|
30465
32599
|
#
|
@@ -30491,7 +32625,19 @@ module OvirtSDK4
|
|
30491
32625
|
end
|
30492
32626
|
|
30493
32627
|
#
|
30494
|
-
#
|
32628
|
+
# Manually set a host as the storage pool manager (SPM).
|
32629
|
+
#
|
32630
|
+
# [source]
|
32631
|
+
# ----
|
32632
|
+
# POST /ovirt-engine/api/hosts/123/forceselectspm
|
32633
|
+
# ----
|
32634
|
+
#
|
32635
|
+
# With a request body like this:
|
32636
|
+
#
|
32637
|
+
# [source,xml]
|
32638
|
+
# ----
|
32639
|
+
# <action/>
|
32640
|
+
# ----
|
30495
32641
|
#
|
30496
32642
|
# @param opts [Hash] Additional options.
|
30497
32643
|
#
|
@@ -30518,7 +32664,7 @@ module OvirtSDK4
|
|
30518
32664
|
end
|
30519
32665
|
|
30520
32666
|
#
|
30521
|
-
#
|
32667
|
+
# Get the host details.
|
30522
32668
|
#
|
30523
32669
|
# @param opts [Hash] Additional options.
|
30524
32670
|
#
|
@@ -30549,7 +32695,48 @@ module OvirtSDK4
|
|
30549
32695
|
end
|
30550
32696
|
|
30551
32697
|
#
|
30552
|
-
#
|
32698
|
+
# Install VDSM and related software on the host. The host type defines additional parameters for the action.
|
32699
|
+
#
|
32700
|
+
# Example of installing a host, using `curl` and JSON, plain:
|
32701
|
+
#
|
32702
|
+
# [source,bash]
|
32703
|
+
# ----
|
32704
|
+
# curl \
|
32705
|
+
# --verbose \
|
32706
|
+
# --cacert /etc/pki/ovirt-engine/ca.pem \
|
32707
|
+
# --request PUT \
|
32708
|
+
# --header "Content-Type: application/json" \
|
32709
|
+
# --header "Accept: application/json" \
|
32710
|
+
# --header "Version: 4" \
|
32711
|
+
# --user "admin@internal:..." \
|
32712
|
+
# --data '
|
32713
|
+
# {
|
32714
|
+
# "root_password": "myrootpassword"
|
32715
|
+
# }
|
32716
|
+
# ' \
|
32717
|
+
# "https://engine.example.com/ovirt-engine/api/hosts/123"
|
32718
|
+
# ----
|
32719
|
+
#
|
32720
|
+
# Example of installing a host, using `curl` and JSON, with hosted engine components:
|
32721
|
+
#
|
32722
|
+
# [source,bash]
|
32723
|
+
# ----
|
32724
|
+
# curl \
|
32725
|
+
# curl \
|
32726
|
+
# --verbose \
|
32727
|
+
# --cacert /etc/pki/ovirt-engine/ca.pem \
|
32728
|
+
# --request PUT \
|
32729
|
+
# --header "Content-Type: application/json" \
|
32730
|
+
# --header "Accept: application/json" \
|
32731
|
+
# --header "Version: 4" \
|
32732
|
+
# --user "admin@internal:..." \
|
32733
|
+
# --data '
|
32734
|
+
# {
|
32735
|
+
# "root_password": "myrootpassword"
|
32736
|
+
# }
|
32737
|
+
# ' \
|
32738
|
+
# "https://engine.example.com/ovirt-engine/api/hosts/123?deploy_hosted_engine=true"
|
32739
|
+
# ----
|
30553
32740
|
#
|
30554
32741
|
# @param opts [Hash] Additional options.
|
30555
32742
|
#
|
@@ -30684,7 +32871,24 @@ module OvirtSDK4
|
|
30684
32871
|
end
|
30685
32872
|
|
30686
32873
|
#
|
30687
|
-
#
|
32874
|
+
# Remove the host from the system.
|
32875
|
+
#
|
32876
|
+
# [source]
|
32877
|
+
# ----
|
32878
|
+
# #!/bin/sh -ex
|
32879
|
+
#
|
32880
|
+
# url="https://engine.example.com/ovirt-engine/api"
|
32881
|
+
# user="admin@internal"
|
32882
|
+
# password="..."
|
32883
|
+
#
|
32884
|
+
# curl \
|
32885
|
+
# --verbose \
|
32886
|
+
# --cacert /etc/pki/ovirt-engine/ca.pem \
|
32887
|
+
# --user "${user}:${password}" \
|
32888
|
+
# --request DELETE \
|
32889
|
+
# --header "Version: 4" \
|
32890
|
+
# "${url}/hosts/1ff7a191-2f3b-4eff-812b-9f91a30c3acc"
|
32891
|
+
# ----
|
30688
32892
|
#
|
30689
32893
|
# @param opts [Hash] Additional options.
|
30690
32894
|
#
|
@@ -30838,7 +33042,7 @@ module OvirtSDK4
|
|
30838
33042
|
# ----
|
30839
33043
|
#
|
30840
33044
|
# IMPORTANT: To make sure that the network configuration has been saved in the host, and that it will be applied
|
30841
|
-
# when the host is rebooted, remember to call <<services/host/methods/
|
33045
|
+
# when the host is rebooted, remember to call <<services/host/methods/commit_net_config, commitnetconfig>>.
|
30842
33046
|
#
|
30843
33047
|
# @param opts [Hash] Additional options.
|
30844
33048
|
#
|
@@ -30915,7 +33119,25 @@ module OvirtSDK4
|
|
30915
33119
|
end
|
30916
33120
|
|
30917
33121
|
#
|
30918
|
-
#
|
33122
|
+
# Update the host properties.
|
33123
|
+
#
|
33124
|
+
# For example, to update a the kernel command line of a host send a request like this:
|
33125
|
+
#
|
33126
|
+
# [source]
|
33127
|
+
# ----
|
33128
|
+
# PUT /ovirt-engine/api/hosts/123
|
33129
|
+
# ----
|
33130
|
+
#
|
33131
|
+
# With request body like this:
|
33132
|
+
#
|
33133
|
+
# [source, xml]
|
33134
|
+
# ----
|
33135
|
+
# <host>
|
33136
|
+
# <os>
|
33137
|
+
# <custom_kernel_cmdline>vfio_iommu_type1.allow_unsafe_interrupts=1</custom_kernel_cmdline>
|
33138
|
+
# </os>
|
33139
|
+
# </host>
|
33140
|
+
# ----
|
30919
33141
|
#
|
30920
33142
|
# @param host [Host] The `host` to update.
|
30921
33143
|
# @param opts [Hash] Additional options.
|
@@ -30958,7 +33180,7 @@ module OvirtSDK4
|
|
30958
33180
|
end
|
30959
33181
|
|
30960
33182
|
#
|
30961
|
-
#
|
33183
|
+
# Upgrade VDSM and selected software on the host.
|
30962
33184
|
#
|
30963
33185
|
# @param opts [Hash] Additional options.
|
30964
33186
|
#
|
@@ -31033,7 +33255,7 @@ module OvirtSDK4
|
|
31033
33255
|
end
|
31034
33256
|
|
31035
33257
|
#
|
31036
|
-
#
|
33258
|
+
# Reference to the service that manages the network interface devices on the host.
|
31037
33259
|
#
|
31038
33260
|
# @return [HostNicsService] A reference to `nics` service.
|
31039
33261
|
def nics_service
|