ovirt-engine-sdk 4.4.0 → 4.4.1
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 +5 -0
- data/lib/ovirtsdk4/readers.rb +306 -4
- data/lib/ovirtsdk4/services.rb +967 -25
- data/lib/ovirtsdk4/types.rb +1201 -192
- data/lib/ovirtsdk4/version.rb +1 -1
- data/lib/ovirtsdk4/writers.rb +94 -1
- metadata +2 -2
data/lib/ovirtsdk4/services.rb
CHANGED
@@ -722,6 +722,12 @@ module OvirtSDK4
|
|
722
722
|
class UserService < Service
|
723
723
|
end
|
724
724
|
|
725
|
+
class UserOptionService < Service
|
726
|
+
end
|
727
|
+
|
728
|
+
class UserOptionsService < Service
|
729
|
+
end
|
730
|
+
|
725
731
|
class UsersService < Service
|
726
732
|
end
|
727
733
|
|
@@ -758,6 +764,18 @@ module OvirtSDK4
|
|
758
764
|
class VmCdromsService < Service
|
759
765
|
end
|
760
766
|
|
767
|
+
class VmCheckpointService < Service
|
768
|
+
end
|
769
|
+
|
770
|
+
class VmCheckpointDiskService < Service
|
771
|
+
end
|
772
|
+
|
773
|
+
class VmCheckpointDisksService < Service
|
774
|
+
end
|
775
|
+
|
776
|
+
class VmCheckpointsService < Service
|
777
|
+
end
|
778
|
+
|
761
779
|
class VmDiskService < MeasurableService
|
762
780
|
end
|
763
781
|
|
@@ -6240,6 +6258,48 @@ module OvirtSDK4
|
|
6240
6258
|
|
6241
6259
|
class DataCenterService < Service
|
6242
6260
|
|
6261
|
+
CLEAN_FINISHED_TASKS = [
|
6262
|
+
[:async, TrueClass].freeze,
|
6263
|
+
].freeze
|
6264
|
+
|
6265
|
+
private_constant :CLEAN_FINISHED_TASKS
|
6266
|
+
|
6267
|
+
#
|
6268
|
+
# Currently, the storage pool manager (SPM) fails to
|
6269
|
+
# switch to another host if the SPM has uncleared tasks.
|
6270
|
+
# Clearing all finished tasks enables the SPM switching.
|
6271
|
+
#
|
6272
|
+
# For example, to clean all the finished tasks on a data center with ID `123` send a request like this:
|
6273
|
+
#
|
6274
|
+
# [source]
|
6275
|
+
# ----
|
6276
|
+
# POST /ovirt-engine/api/datacenters/123/cleanfinishedtasks
|
6277
|
+
# ----
|
6278
|
+
#
|
6279
|
+
# With a request body like this:
|
6280
|
+
#
|
6281
|
+
# [source,xml]
|
6282
|
+
# ----
|
6283
|
+
# <action/>
|
6284
|
+
# ----
|
6285
|
+
#
|
6286
|
+
# @param opts [Hash] Additional options.
|
6287
|
+
#
|
6288
|
+
# @option opts [Boolean] :async Indicates if the action should be performed asynchronously.
|
6289
|
+
#
|
6290
|
+
# @option opts [Hash] :headers ({}) Additional HTTP headers.
|
6291
|
+
#
|
6292
|
+
# @option opts [Hash] :query ({}) Additional URL query parameters.
|
6293
|
+
#
|
6294
|
+
# @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
|
6295
|
+
# given then the timeout set globally for the connection will be used.
|
6296
|
+
#
|
6297
|
+
# @option opts [Boolean] :wait (true) If `true` wait for the response.
|
6298
|
+
#
|
6299
|
+
def clean_finished_tasks(opts = {})
|
6300
|
+
internal_action(:cleanfinishedtasks, nil, CLEAN_FINISHED_TASKS, opts)
|
6301
|
+
end
|
6302
|
+
|
6243
6303
|
GET = [
|
6244
6304
|
[:filter, TrueClass].freeze,
|
6245
6305
|
[:follow, String].freeze,
|
@@ -6352,6 +6412,53 @@ module OvirtSDK4
|
|
6352
6412
|
internal_remove(REMOVE, opts)
|
6353
6413
|
end
|
6354
6414
|
|
6415
|
+
SET_MASTER = [
|
6416
|
+
[:async, TrueClass].freeze,
|
6417
|
+
[:storage_domain, StorageDomain].freeze,
|
6418
|
+
].freeze
|
6419
|
+
|
6420
|
+
private_constant :SET_MASTER
|
6421
|
+
|
6422
|
+
#
|
6423
|
+
# Used for manually setting a storage domain in the data center as a master.
|
6424
|
+
# For example, for setting a storage domain with ID '456' as a master on a data center with ID '123',
|
6425
|
+
# send a request like this:
|
6426
|
+
#
|
6427
|
+
# [source]
|
6428
|
+
# ----
|
6429
|
+
# POST /ovirt-engine/api/datacenters/123/setmaster
|
6430
|
+
# ----
|
6431
|
+
#
|
6432
|
+
# With a request body like this:
|
6433
|
+
#
|
6434
|
+
# [source,xml]
|
6435
|
+
# ----
|
6436
|
+
# <action>
|
6437
|
+
# <storage_domain id="456"/>
|
6438
|
+
# </action>
|
6439
|
+
# ----
|
6440
|
+
#
|
6441
|
+
# The new master storage domain can be also specified by its name.
|
6442
|
+
#
|
6443
|
+
# @param opts [Hash] Additional options.
|
6444
|
+
#
|
6445
|
+
# @option opts [Boolean] :async Indicates if the action should be performed asynchronously.
|
6446
|
+
#
|
6447
|
+
# @option opts [StorageDomain] :storage_domain The new master storage domain for the data center.
|
6448
|
+
#
|
6449
|
+
# @option opts [Hash] :headers ({}) Additional HTTP headers.
|
6450
|
+
#
|
6451
|
+
# @option opts [Hash] :query ({}) Additional URL query parameters.
|
6452
|
+
#
|
6453
|
+
# @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
|
6454
|
+
# given then the timeout set globally for the connection will be used.
|
6455
|
+
#
|
6456
|
+
# @option opts [Boolean] :wait (true) If `true` wait for the response.
|
6457
|
+
#
|
6458
|
+
def set_master(opts = {})
|
6459
|
+
internal_action(:setmaster, nil, SET_MASTER, opts)
|
6460
|
+
end
|
6461
|
+
|
6355
6462
|
UPDATE = [
|
6356
6463
|
[:async, TrueClass].freeze,
|
6357
6464
|
].freeze
|
@@ -7545,6 +7652,7 @@ module OvirtSDK4
|
|
7545
7652
|
|
7546
7653
|
LIST = [
|
7547
7654
|
[:follow, String].freeze,
|
7655
|
+
[:include_active, TrueClass].freeze,
|
7548
7656
|
[:max, Integer].freeze,
|
7549
7657
|
].freeze
|
7550
7658
|
|
@@ -7560,6 +7668,8 @@ module OvirtSDK4
|
|
7560
7668
|
# @option opts [String] :follow Indicates which inner links should be _followed_. The objects referenced by these links will be fetched as part
|
7561
7669
|
# of the current request. See <<documents/003_common_concepts/follow, here>> for details.
|
7562
7670
|
#
|
7671
|
+
# @option opts [Boolean] :include_active If true return also active snapshots. If not specified active snapshots are not returned.
|
7672
|
+
#
|
7563
7673
|
# @option opts [Integer] :max Sets the maximum number of snapshots to return. If not specified all the snapshots are returned.
|
7564
7674
|
#
|
7565
7675
|
# @option opts [Hash] :headers ({}) Additional HTTP headers.
|
@@ -12421,6 +12531,7 @@ module OvirtSDK4
|
|
12421
12531
|
ADD = [
|
12422
12532
|
[:activate, TrueClass].freeze,
|
12423
12533
|
[:deploy_hosted_engine, TrueClass].freeze,
|
12534
|
+
[:reboot, TrueClass].freeze,
|
12424
12535
|
[:undeploy_hosted_engine, TrueClass].freeze,
|
12425
12536
|
].freeze
|
12426
12537
|
|
@@ -12504,6 +12615,8 @@ module OvirtSDK4
|
|
12504
12615
|
# as `true`, i.e., deploy the hosted engine components. Omitting this parameter equals `false`, and
|
12505
12616
|
# the host performs no operation in the hosted engine area.
|
12506
12617
|
#
|
12618
|
+
# @option opts [Boolean] :reboot Indicates if the host should be rebooted after successful installation. The default value is `true`.
|
12619
|
+
#
|
12507
12620
|
# @option opts [Boolean] :undeploy_hosted_engine When set to `true`, this host un-deploys the hosted engine components and does not
|
12508
12621
|
# function as part of the High Availability cluster. A missing value is treated as `true`, i.e., un-deploy.
|
12509
12622
|
# Omitting this parameter equals `false` and the host performs no operation in the hosted engine area.
|
@@ -12636,6 +12749,7 @@ module OvirtSDK4
|
|
12636
12749
|
ADD_USING_ROOT_PASSWORD = [
|
12637
12750
|
[:activate, TrueClass].freeze,
|
12638
12751
|
[:deploy_hosted_engine, TrueClass].freeze,
|
12752
|
+
[:reboot, TrueClass].freeze,
|
12639
12753
|
[:undeploy_hosted_engine, TrueClass].freeze,
|
12640
12754
|
].freeze
|
12641
12755
|
|
@@ -12657,6 +12771,8 @@ module OvirtSDK4
|
|
12657
12771
|
# as `true`, i.e., deploy the hosted engine components. Omitting this parameter equals `false`, and
|
12658
12772
|
# the host performs no operation in the hosted engine area.
|
12659
12773
|
#
|
12774
|
+
# @option opts [Boolean] :reboot Indicates if the host should be rebooted after successful installation. The default value is `true`.
|
12775
|
+
#
|
12660
12776
|
# @option opts [Boolean] :undeploy_hosted_engine When set to `true`, this host un-deploys the hosted engine components and does not
|
12661
12777
|
# function as part of the High Availability cluster. A missing value is treated as `true`, i.e., un-deploy.
|
12662
12778
|
# Omitting this parameter equals `false` and the host performs no operation in the hosted engine area.
|
@@ -12679,13 +12795,14 @@ module OvirtSDK4
|
|
12679
12795
|
ADD_USING_SSH = [
|
12680
12796
|
[:activate, TrueClass].freeze,
|
12681
12797
|
[:deploy_hosted_engine, TrueClass].freeze,
|
12798
|
+
[:reboot, TrueClass].freeze,
|
12682
12799
|
[:undeploy_hosted_engine, TrueClass].freeze,
|
12683
12800
|
].freeze
|
12684
12801
|
|
12685
12802
|
private_constant :ADD_USING_SSH
|
12686
12803
|
|
12687
12804
|
#
|
12688
|
-
# Add a new host to the system providing the ssh password or
|
12805
|
+
# Add a new host to the system providing the ssh password, fingerprint or public key.
|
12689
12806
|
#
|
12690
12807
|
# @param host [Host] The host definition with which the new host is created is passed as a parameter, and the newly created host
|
12691
12808
|
# is returned.
|
@@ -12700,6 +12817,8 @@ module OvirtSDK4
|
|
12700
12817
|
# as `true`, i.e., deploy the hosted engine components. Omitting this parameter equals `false`, and
|
12701
12818
|
# the host performs no operation in the hosted engine area.
|
12702
12819
|
#
|
12820
|
+
# @option opts [Boolean] :reboot Indicates if the host should be rebooted after successful installation. The default value is `true`.
|
12821
|
+
#
|
12703
12822
|
# @option opts [Boolean] :undeploy_hosted_engine When set to `true`, this host un-deploys the hosted engine components and does not
|
12704
12823
|
# function as part of the High Availability cluster. A missing value is treated as `true`, i.e., un-deploy.
|
12705
12824
|
# Omitting this parameter equals `false` and the host performs no operation in the hosted engine area.
|
@@ -15366,6 +15485,15 @@ module OvirtSDK4
|
|
15366
15485
|
internal_update(pool, MacPool, UPDATE, opts)
|
15367
15486
|
end
|
15368
15487
|
|
15488
|
+
#
|
15489
|
+
# Returns a reference to the service that manages the permissions that are associated with the MacPool.
|
15490
|
+
#
|
15491
|
+
# @return [AssignedPermissionsService] A reference to `permissions` service.
|
15492
|
+
#
|
15493
|
+
def permissions_service
|
15494
|
+
@permissions_service ||= AssignedPermissionsService.new(self, 'permissions')
|
15495
|
+
end
|
15496
|
+
|
15369
15497
|
#
|
15370
15498
|
# Locates the service corresponding to the given path.
|
15371
15499
|
#
|
@@ -15377,6 +15505,12 @@ module OvirtSDK4
|
|
15377
15505
|
if path.nil? || path == ''
|
15378
15506
|
return self
|
15379
15507
|
end
|
15508
|
+
if path == 'permissions'
|
15509
|
+
return permissions_service
|
15510
|
+
end
|
15511
|
+
if path.start_with?('permissions/')
|
15512
|
+
return permissions_service.service(path[12..-1])
|
15513
|
+
end
|
15380
15514
|
raise Error.new("The path \"#{path}\" doesn't correspond to any service")
|
15381
15515
|
end
|
15382
15516
|
|
@@ -20623,6 +20757,7 @@ module OvirtSDK4
|
|
20623
20757
|
# ----
|
20624
20758
|
# <action/>
|
20625
20759
|
# ----
|
20760
|
+
# NOTE: Confirm that the commit operation is finished and the virtual machine is down before running the virtual machine.
|
20626
20761
|
#
|
20627
20762
|
# @param opts [Hash] Additional options.
|
20628
20763
|
#
|
@@ -28885,7 +29020,7 @@ module OvirtSDK4
|
|
28885
29020
|
# <user_options>
|
28886
29021
|
# <property>
|
28887
29022
|
# <name>test</name>
|
28888
|
-
# <value>
|
29023
|
+
# <value>["any","JSON"]</value>
|
28889
29024
|
# </property>
|
28890
29025
|
# </user_options>
|
28891
29026
|
# </user>
|
@@ -28927,6 +29062,15 @@ module OvirtSDK4
|
|
28927
29062
|
@groups_service ||= DomainUserGroupsService.new(self, 'groups')
|
28928
29063
|
end
|
28929
29064
|
|
29065
|
+
#
|
29066
|
+
# Locates the `options` service.
|
29067
|
+
#
|
29068
|
+
# @return [UserOptionsService] A reference to `options` service.
|
29069
|
+
#
|
29070
|
+
def options_service
|
29071
|
+
@options_service ||= UserOptionsService.new(self, 'options')
|
29072
|
+
end
|
29073
|
+
|
28930
29074
|
#
|
28931
29075
|
# Locates the `permissions` service.
|
28932
29076
|
#
|
@@ -28986,6 +29130,12 @@ module OvirtSDK4
|
|
28986
29130
|
if path.start_with?('groups/')
|
28987
29131
|
return groups_service.service(path[7..-1])
|
28988
29132
|
end
|
29133
|
+
if path == 'options'
|
29134
|
+
return options_service
|
29135
|
+
end
|
29136
|
+
if path.start_with?('options/')
|
29137
|
+
return options_service.service(path[8..-1])
|
29138
|
+
end
|
28989
29139
|
if path == 'permissions'
|
28990
29140
|
return permissions_service
|
28991
29141
|
end
|
@@ -29015,6 +29165,273 @@ module OvirtSDK4
|
|
29015
29165
|
|
29016
29166
|
end
|
29017
29167
|
|
29168
|
+
class UserOptionService < Service
|
29169
|
+
|
29170
|
+
GET = [
|
29171
|
+
].freeze
|
29172
|
+
|
29173
|
+
private_constant :GET
|
29174
|
+
|
29175
|
+
#
|
29176
|
+
# Returns a user profile property of type JSON.
|
29177
|
+
#
|
29178
|
+
# Example request(for user with identifier `123` and option with identifier `456`):
|
29179
|
+
#
|
29180
|
+
# [source]
|
29181
|
+
# ----
|
29182
|
+
# GET /ovirt-engine/api/users/123/options/456
|
29183
|
+
# ----
|
29184
|
+
#
|
29185
|
+
# The result will be the following XML document:
|
29186
|
+
#
|
29187
|
+
# [source,xml]
|
29188
|
+
# ----
|
29189
|
+
# <user_option href="/ovirt-engine/api/users/123/options/456" id="456">
|
29190
|
+
# <name>SomeName</name>
|
29191
|
+
# <content>["any", "JSON"]</content>
|
29192
|
+
# <user href="/ovirt-engine/api/users/123" id="123"/>
|
29193
|
+
# </user_option>
|
29194
|
+
# ----
|
29195
|
+
#
|
29196
|
+
# @param opts [Hash] Additional options.
|
29197
|
+
#
|
29198
|
+
# @option opts [Hash] :headers ({}) Additional HTTP headers.
|
29199
|
+
#
|
29200
|
+
# @option opts [Hash] :query ({}) Additional URL query parameters.
|
29201
|
+
#
|
29202
|
+
# @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
|
29203
|
+
# given then the timeout set globally for the connection will be used.
|
29204
|
+
#
|
29205
|
+
# @option opts [Boolean] :wait (true) If `true` wait for the response.
|
29206
|
+
#
|
29207
|
+
# @return [UserOption]
|
29208
|
+
#
|
29209
|
+
def get(opts = {})
|
29210
|
+
internal_get(GET, opts)
|
29211
|
+
end
|
29212
|
+
|
29213
|
+
REMOVE = [
|
29214
|
+
].freeze
|
29215
|
+
|
29216
|
+
private_constant :REMOVE
|
29217
|
+
|
29218
|
+
#
|
29219
|
+
# Deletes an existing property of type JSON.
|
29220
|
+
#
|
29221
|
+
# Example request(for user with identifier `123` and option with identifier `456`):
|
29222
|
+
#
|
29223
|
+
# [source]
|
29224
|
+
# ----
|
29225
|
+
# DELETE /ovirt-engine/api/users/123/options/456
|
29226
|
+
# ----
|
29227
|
+
#
|
29228
|
+
# @param opts [Hash] Additional options.
|
29229
|
+
#
|
29230
|
+
# @option opts [Hash] :headers ({}) Additional HTTP headers.
|
29231
|
+
#
|
29232
|
+
# @option opts [Hash] :query ({}) Additional URL query parameters.
|
29233
|
+
#
|
29234
|
+
# @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
|
29235
|
+
# given then the timeout set globally for the connection will be used.
|
29236
|
+
#
|
29237
|
+
# @option opts [Boolean] :wait (true) If `true` wait for the response.
|
29238
|
+
#
|
29239
|
+
def remove(opts = {})
|
29240
|
+
internal_remove(REMOVE, opts)
|
29241
|
+
end
|
29242
|
+
|
29243
|
+
UPDATE = [
|
29244
|
+
].freeze
|
29245
|
+
|
29246
|
+
private_constant :UPDATE
|
29247
|
+
|
29248
|
+
#
|
29249
|
+
# Replaces an existing property of type JSON with a new one.
|
29250
|
+
#
|
29251
|
+
# Example request(for user with identifier `123` and option with identifier `456`):
|
29252
|
+
#
|
29253
|
+
# [source]
|
29254
|
+
# ----
|
29255
|
+
# PUT /ovirt-engine/api/users/123/options/456
|
29256
|
+
# ----
|
29257
|
+
#
|
29258
|
+
# Payload:
|
29259
|
+
#
|
29260
|
+
# [source,xml]
|
29261
|
+
# ----
|
29262
|
+
# <user_option>
|
29263
|
+
# <name>SomeName</name>
|
29264
|
+
# <content>{"new" : "JSON"}</content>
|
29265
|
+
# </user_option>
|
29266
|
+
# ----
|
29267
|
+
#
|
29268
|
+
# The result will be the following XML document:
|
29269
|
+
#
|
29270
|
+
# [source,xml]
|
29271
|
+
# ----
|
29272
|
+
# <user_option href="/ovirt-engine/api/users/123/options/789" id="789">
|
29273
|
+
# <name>SomeName</name>
|
29274
|
+
# <content>{"new" : "JSON"}</content>
|
29275
|
+
# <user href="/ovirt-engine/api/users/123" id="123"/>
|
29276
|
+
# </user_option>
|
29277
|
+
# ----
|
29278
|
+
#
|
29279
|
+
# @param option [UserOption] The `option` to update.
|
29280
|
+
# @param opts [Hash] Additional options.
|
29281
|
+
#
|
29282
|
+
# @option opts [Hash] :headers ({}) Additional HTTP headers.
|
29283
|
+
#
|
29284
|
+
# @option opts [Hash] :query ({}) Additional URL query parameters.
|
29285
|
+
#
|
29286
|
+
# @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
|
29287
|
+
# given then the timeout set globally for the connection will be used.
|
29288
|
+
#
|
29289
|
+
# @option opts [Boolean] :wait (true) If `true` wait for the response.
|
29290
|
+
#
|
29291
|
+
# @return [UserOption]
|
29292
|
+
#
|
29293
|
+
def update(option, opts = {})
|
29294
|
+
internal_update(option, UserOption, UPDATE, opts)
|
29295
|
+
end
|
29296
|
+
|
29297
|
+
#
|
29298
|
+
# Locates the service corresponding to the given path.
|
29299
|
+
#
|
29300
|
+
# @param path [String] The path of the service.
|
29301
|
+
#
|
29302
|
+
# @return [Service] A reference to the service.
|
29303
|
+
#
|
29304
|
+
def service(path)
|
29305
|
+
if path.nil? || path == ''
|
29306
|
+
return self
|
29307
|
+
end
|
29308
|
+
raise Error.new("The path \"#{path}\" doesn't correspond to any service")
|
29309
|
+
end
|
29310
|
+
|
29311
|
+
end
|
29312
|
+
|
29313
|
+
class UserOptionsService < Service
|
29314
|
+
|
29315
|
+
ADD = [
|
29316
|
+
].freeze
|
29317
|
+
|
29318
|
+
private_constant :ADD
|
29319
|
+
|
29320
|
+
#
|
29321
|
+
# Adds a new user profile property of type JSON.
|
29322
|
+
#
|
29323
|
+
# Example request(for user with identifier `123`):
|
29324
|
+
#
|
29325
|
+
# [source]
|
29326
|
+
# ----
|
29327
|
+
# POST /ovirt-engine/api/users/123/options
|
29328
|
+
# ----
|
29329
|
+
#
|
29330
|
+
# Payload:
|
29331
|
+
#
|
29332
|
+
# [source,xml]
|
29333
|
+
# ----
|
29334
|
+
# <user_option>
|
29335
|
+
# <name>SomeName</name>
|
29336
|
+
# <content>["any", "JSON"]</content>
|
29337
|
+
# </user_option>
|
29338
|
+
# ----
|
29339
|
+
#
|
29340
|
+
# @param option [UserOption] The `option` to add.
|
29341
|
+
#
|
29342
|
+
# @param opts [Hash] Additional options.
|
29343
|
+
#
|
29344
|
+
# @option opts [Hash] :headers ({}) Additional HTTP headers.
|
29345
|
+
#
|
29346
|
+
# @option opts [Hash] :query ({}) Additional URL query parameters.
|
29347
|
+
#
|
29348
|
+
# @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
|
29349
|
+
# given then the timeout set globally for the connection will be used.
|
29350
|
+
#
|
29351
|
+
# @option opts [Boolean] :wait (true) If `true` wait for the response.
|
29352
|
+
#
|
29353
|
+
# @return [UserOption]
|
29354
|
+
#
|
29355
|
+
def add(option, opts = {})
|
29356
|
+
internal_add(option, UserOption, ADD, opts)
|
29357
|
+
end
|
29358
|
+
|
29359
|
+
LIST = [
|
29360
|
+
].freeze
|
29361
|
+
|
29362
|
+
private_constant :LIST
|
29363
|
+
|
29364
|
+
#
|
29365
|
+
# Returns a list of user profile properties of type JSON.
|
29366
|
+
#
|
29367
|
+
# Example request(for user with identifier `123`):
|
29368
|
+
#
|
29369
|
+
# [source]
|
29370
|
+
# ----
|
29371
|
+
# GET /ovirt-engine/api/users/123/options
|
29372
|
+
# ----
|
29373
|
+
#
|
29374
|
+
# The result will be the following XML document:
|
29375
|
+
#
|
29376
|
+
# [source,xml]
|
29377
|
+
# ----
|
29378
|
+
# <user_options>
|
29379
|
+
# <user_option href="/ovirt-engine/api/users/123/options/456" id="456">
|
29380
|
+
# <name>SomeName</name>
|
29381
|
+
# <content>["any", "JSON"]</content>
|
29382
|
+
# <user href="/ovirt-engine/api/users/123" id="123"/>
|
29383
|
+
# </user_option>
|
29384
|
+
# </user_options>
|
29385
|
+
# ----
|
29386
|
+
#
|
29387
|
+
# @param opts [Hash] Additional options.
|
29388
|
+
#
|
29389
|
+
# @option opts [Hash] :headers ({}) Additional HTTP headers.
|
29390
|
+
#
|
29391
|
+
# @option opts [Hash] :query ({}) Additional URL query parameters.
|
29392
|
+
#
|
29393
|
+
# @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
|
29394
|
+
# given then the timeout set globally for the connection will be used.
|
29395
|
+
#
|
29396
|
+
# @option opts [Boolean] :wait (true) If `true` wait for the response.
|
29397
|
+
#
|
29398
|
+
# @return [Array<UserOption>]
|
29399
|
+
#
|
29400
|
+
def list(opts = {})
|
29401
|
+
internal_get(LIST, opts)
|
29402
|
+
end
|
29403
|
+
|
29404
|
+
#
|
29405
|
+
# Locates the `option` service.
|
29406
|
+
#
|
29407
|
+
# @param id [String] The identifier of the `option`.
|
29408
|
+
#
|
29409
|
+
# @return [UserOptionService] A reference to the `option` service.
|
29410
|
+
#
|
29411
|
+
def option_service(id)
|
29412
|
+
UserOptionService.new(self, id)
|
29413
|
+
end
|
29414
|
+
|
29415
|
+
#
|
29416
|
+
# Locates the service corresponding to the given path.
|
29417
|
+
#
|
29418
|
+
# @param path [String] The path of the service.
|
29419
|
+
#
|
29420
|
+
# @return [Service] A reference to the service.
|
29421
|
+
#
|
29422
|
+
def service(path)
|
29423
|
+
if path.nil? || path == ''
|
29424
|
+
return self
|
29425
|
+
end
|
29426
|
+
index = path.index('/')
|
29427
|
+
if index.nil?
|
29428
|
+
return option_service(path)
|
29429
|
+
end
|
29430
|
+
return option_service(path[0..(index - 1)]).service(path[(index + 1)..-1])
|
29431
|
+
end
|
29432
|
+
|
29433
|
+
end
|
29434
|
+
|
29018
29435
|
class UsersService < Service
|
29019
29436
|
|
29020
29437
|
ADD = [
|
@@ -29351,6 +29768,52 @@ module OvirtSDK4
|
|
29351
29768
|
|
29352
29769
|
class VmService < MeasurableService
|
29353
29770
|
|
29771
|
+
AUTO_PIN_CPU_AND_NUMA_NODES = [
|
29772
|
+
[:async, TrueClass].freeze,
|
29773
|
+
[:optimize_cpu_settings, TrueClass].freeze,
|
29774
|
+
].freeze
|
29775
|
+
|
29776
|
+
private_constant :AUTO_PIN_CPU_AND_NUMA_NODES
|
29777
|
+
|
29778
|
+
#
|
29779
|
+
# Apply an automatic CPU and NUMA configuration on the VM.
|
29780
|
+
#
|
29781
|
+
# An example for a request:
|
29782
|
+
# [source]
|
29783
|
+
# ----
|
29784
|
+
# POST /ovirt-engine/api/vms/123/autopincpuandnumanodes
|
29785
|
+
# ----
|
29786
|
+
#
|
29787
|
+
# With a request body like this:
|
29788
|
+
#
|
29789
|
+
# [source,xml]
|
29790
|
+
# ----
|
29791
|
+
# <action>
|
29792
|
+
# <optimize_cpu_settings>true</optimize_cpu_settings>
|
29793
|
+
# </action>
|
29794
|
+
# ----
|
29795
|
+
#
|
29796
|
+
# @param opts [Hash] Additional options.
|
29797
|
+
#
|
29798
|
+
# @option opts [Boolean] :async Indicates if the detach action should be performed asynchronously.
|
29799
|
+
#
|
29800
|
+
# @option opts [Boolean] :optimize_cpu_settings Specifies how the auto CPU and NUMA configuration is applied.
|
29801
|
+
# If set to true, will adjust the CPU topology to fit the VM pinned host hardware.
|
29802
|
+
# Otherwise, it will use the VM CPU topology.
|
29803
|
+
#
|
29804
|
+
# @option opts [Hash] :headers ({}) Additional HTTP headers.
|
29805
|
+
#
|
29806
|
+
# @option opts [Hash] :query ({}) Additional URL query parameters.
|
29807
|
+
#
|
29808
|
+
# @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
|
29809
|
+
# given then the timeout set globally for the connection will be used.
|
29810
|
+
#
|
29811
|
+
# @option opts [Boolean] :wait (true) If `true` wait for the response.
|
29812
|
+
#
|
29813
|
+
def auto_pin_cpu_and_numa_nodes(opts = {})
|
29814
|
+
internal_action(:autopincpuandnumanodes, nil, AUTO_PIN_CPU_AND_NUMA_NODES, opts)
|
29815
|
+
end
|
29816
|
+
|
29354
29817
|
CANCEL_MIGRATION = [
|
29355
29818
|
[:async, TrueClass].freeze,
|
29356
29819
|
].freeze
|
@@ -29547,6 +30010,8 @@ module OvirtSDK4
|
|
29547
30010
|
# </action>
|
29548
30011
|
# ----
|
29549
30012
|
#
|
30013
|
+
# NOTE: Confirm that the export operation has completed before attempting any actions on the export domain.
|
30014
|
+
#
|
29550
30015
|
# @param opts [Hash] Additional options.
|
29551
30016
|
#
|
29552
30017
|
# @option opts [Boolean] :async Indicates if the export should be performed asynchronously.
|
@@ -29619,6 +30084,7 @@ module OvirtSDK4
|
|
29619
30084
|
[:filter, TrueClass].freeze,
|
29620
30085
|
[:follow, String].freeze,
|
29621
30086
|
[:next_run, TrueClass].freeze,
|
30087
|
+
[:ovf_as_ova, TrueClass].freeze,
|
29622
30088
|
].freeze
|
29623
30089
|
|
29624
30090
|
private_constant :GET
|
@@ -29671,6 +30137,16 @@ module OvirtSDK4
|
|
29671
30137
|
# GET /vms/{vm:id};next_run=true
|
29672
30138
|
# ----
|
29673
30139
|
#
|
30140
|
+
# @option opts [Boolean] :ovf_as_ova Indicates if the results should expose the OVF as it appears in OVA files of that VM. The OVF document
|
30141
|
+
# describing the virtual machine. This parameter will work only when all_content=True is set.
|
30142
|
+
# The OVF will be presented in `initialization.configuration.data`.
|
30143
|
+
#
|
30144
|
+
# For example:
|
30145
|
+
# [source]
|
30146
|
+
# ----
|
30147
|
+
# GET /vms/{vm:id}?all_content=true&ovf_as_ova=true
|
30148
|
+
# ----
|
30149
|
+
#
|
29674
30150
|
# @option opts [Hash] :headers ({}) Additional HTTP headers.
|
29675
30151
|
#
|
29676
30152
|
# @option opts [Hash] :query ({}) Additional URL query parameters.
|
@@ -29919,6 +30395,7 @@ module OvirtSDK4
|
|
29919
30395
|
|
29920
30396
|
REBOOT = [
|
29921
30397
|
[:async, TrueClass].freeze,
|
30398
|
+
[:force, TrueClass].freeze,
|
29922
30399
|
].freeze
|
29923
30400
|
|
29924
30401
|
private_constant :REBOOT
|
@@ -29941,10 +30418,29 @@ module OvirtSDK4
|
|
29941
30418
|
# <action/>
|
29942
30419
|
# ----
|
29943
30420
|
#
|
30421
|
+
# To reboot the VM even if a backup is running for it,
|
30422
|
+
# the action should include the 'force' element.
|
30423
|
+
#
|
30424
|
+
# For example, to force reboot virtual machine `123`:
|
30425
|
+
#
|
30426
|
+
# ----
|
30427
|
+
# POST /ovirt-engine/api/vms/123/reboot
|
30428
|
+
# ----
|
30429
|
+
#
|
30430
|
+
# [source,xml]
|
30431
|
+
# ----
|
30432
|
+
# <action>
|
30433
|
+
# <force>true</force>
|
30434
|
+
# </action>
|
30435
|
+
# ----
|
30436
|
+
#
|
29944
30437
|
# @param opts [Hash] Additional options.
|
29945
30438
|
#
|
29946
30439
|
# @option opts [Boolean] :async Indicates if the reboot should be performed asynchronously.
|
29947
30440
|
#
|
30441
|
+
# @option opts [Boolean] :force Indicates if the VM should be forcibly rebooted even
|
30442
|
+
# if a backup is running for it.
|
30443
|
+
#
|
29948
30444
|
# @option opts [Hash] :headers ({}) Additional HTTP headers.
|
29949
30445
|
#
|
29950
30446
|
# @option opts [Hash] :query ({}) Additional URL query parameters.
|
@@ -30025,6 +30521,7 @@ module OvirtSDK4
|
|
30025
30521
|
|
30026
30522
|
SHUTDOWN = [
|
30027
30523
|
[:async, TrueClass].freeze,
|
30524
|
+
[:force, TrueClass].freeze,
|
30028
30525
|
[:reason, String].freeze,
|
30029
30526
|
].freeze
|
30030
30527
|
|
@@ -30048,10 +30545,29 @@ module OvirtSDK4
|
|
30048
30545
|
# <action/>
|
30049
30546
|
# ----
|
30050
30547
|
#
|
30548
|
+
# To shutdown the VM even if a backup is running for it,
|
30549
|
+
# the action should include the 'force' element.
|
30550
|
+
#
|
30551
|
+
# For example, to force shutdown virtual machine `123`:
|
30552
|
+
#
|
30553
|
+
# ----
|
30554
|
+
# POST /ovirt-engine/api/vms/123/shutdown
|
30555
|
+
# ----
|
30556
|
+
#
|
30557
|
+
# [source,xml]
|
30558
|
+
# ----
|
30559
|
+
# <action>
|
30560
|
+
# <force>true</force>
|
30561
|
+
# </action>
|
30562
|
+
# ----
|
30563
|
+
#
|
30051
30564
|
# @param opts [Hash] Additional options.
|
30052
30565
|
#
|
30053
30566
|
# @option opts [Boolean] :async Indicates if the shutdown should be performed asynchronously.
|
30054
30567
|
#
|
30568
|
+
# @option opts [Boolean] :force Indicates if the VM should be forcibly shutdown even
|
30569
|
+
# if a backup is running for it.
|
30570
|
+
#
|
30055
30571
|
# @option opts [String] :reason The reason the virtual machine was stopped.
|
30056
30572
|
# Optionally set by user when shutting down the virtual machine.
|
30057
30573
|
#
|
@@ -30168,6 +30684,7 @@ module OvirtSDK4
|
|
30168
30684
|
|
30169
30685
|
STOP = [
|
30170
30686
|
[:async, TrueClass].freeze,
|
30687
|
+
[:force, TrueClass].freeze,
|
30171
30688
|
[:reason, String].freeze,
|
30172
30689
|
].freeze
|
30173
30690
|
|
@@ -30191,10 +30708,29 @@ module OvirtSDK4
|
|
30191
30708
|
# <action/>
|
30192
30709
|
# ----
|
30193
30710
|
#
|
30711
|
+
# To stop the VM even if a backup is running for it,
|
30712
|
+
# the action should include the 'force' element.
|
30713
|
+
#
|
30714
|
+
# For example, to force stop virtual machine `123`:
|
30715
|
+
#
|
30716
|
+
# ----
|
30717
|
+
# POST /ovirt-engine/api/vms/123/stop
|
30718
|
+
# ----
|
30719
|
+
#
|
30720
|
+
# [source,xml]
|
30721
|
+
# ----
|
30722
|
+
# <action>
|
30723
|
+
# <force>true</force>
|
30724
|
+
# </action>
|
30725
|
+
# ----
|
30726
|
+
#
|
30194
30727
|
# @param opts [Hash] Additional options.
|
30195
30728
|
#
|
30196
30729
|
# @option opts [Boolean] :async Indicates if the stop action should be performed asynchronously.
|
30197
30730
|
#
|
30731
|
+
# @option opts [Boolean] :force Indicates if the VM should be forcibly stop even
|
30732
|
+
# if a backup is running for it.
|
30733
|
+
#
|
30198
30734
|
# @option opts [String] :reason The reason the virtual machine was stopped.
|
30199
30735
|
# Optionally set by user when shutting down the virtual machine.
|
30200
30736
|
#
|
@@ -30548,6 +31084,15 @@ module OvirtSDK4
|
|
30548
31084
|
@cdroms_service ||= VmCdromsService.new(self, 'cdroms')
|
30549
31085
|
end
|
30550
31086
|
|
31087
|
+
#
|
31088
|
+
# List of checkpoints of this virtual machine.
|
31089
|
+
#
|
31090
|
+
# @return [VmCheckpointsService] A reference to `checkpoints` service.
|
31091
|
+
#
|
31092
|
+
def checkpoints_service
|
31093
|
+
@checkpoints_service ||= VmCheckpointsService.new(self, 'checkpoints')
|
31094
|
+
end
|
31095
|
+
|
30551
31096
|
#
|
30552
31097
|
# List of disks attached to this virtual machine.
|
30553
31098
|
#
|
@@ -30701,6 +31246,12 @@ module OvirtSDK4
|
|
30701
31246
|
if path.start_with?('cdroms/')
|
30702
31247
|
return cdroms_service.service(path[7..-1])
|
30703
31248
|
end
|
31249
|
+
if path == 'checkpoints'
|
31250
|
+
return checkpoints_service
|
31251
|
+
end
|
31252
|
+
if path.start_with?('checkpoints/')
|
31253
|
+
return checkpoints_service.service(path[12..-1])
|
31254
|
+
end
|
30704
31255
|
if path == 'diskattachments'
|
30705
31256
|
return disk_attachments_service
|
30706
31257
|
end
|
@@ -31106,6 +31657,7 @@ module OvirtSDK4
|
|
31106
31657
|
class VmBackupsService < Service
|
31107
31658
|
|
31108
31659
|
ADD = [
|
31660
|
+
[:require_consistency, TrueClass].freeze,
|
31109
31661
|
].freeze
|
31110
31662
|
|
31111
31663
|
private_constant :ADD
|
@@ -31125,7 +31677,6 @@ module OvirtSDK4
|
|
31125
31677
|
#
|
31126
31678
|
# [source,xml]
|
31127
31679
|
# ----
|
31128
|
-
# POST /ovirt-engine/api/vms/123/backups
|
31129
31680
|
# <backup>
|
31130
31681
|
# <from_checkpoint_id>previous-checkpoint-uuid</from_checkpoint_id>
|
31131
31682
|
# <disks>
|
@@ -31156,6 +31707,19 @@ module OvirtSDK4
|
|
31156
31707
|
#
|
31157
31708
|
# @param opts [Hash] Additional options.
|
31158
31709
|
#
|
31710
|
+
# @option opts [Boolean] :require_consistency Indicates if the backup will fail if VM failed to freeze or not.
|
31711
|
+
#
|
31712
|
+
# If requireConsistency=True VM backup will fail in case of a
|
31713
|
+
# failure to freeze the VM.
|
31714
|
+
#
|
31715
|
+
# The REST API call should look like this:
|
31716
|
+
#
|
31717
|
+
# ....
|
31718
|
+
# POST /ovirt-engine/api/vms/123/backups?require_consistency=true
|
31719
|
+
# ....
|
31720
|
+
#
|
31721
|
+
# The default value of the requireConsistency flag is `false`.
|
31722
|
+
#
|
31159
31723
|
# @option opts [Hash] :headers ({}) Additional HTTP headers.
|
31160
31724
|
#
|
31161
31725
|
# @option opts [Hash] :query ({}) Additional URL query parameters.
|
@@ -31483,6 +32047,273 @@ module OvirtSDK4
|
|
31483
32047
|
|
31484
32048
|
end
|
31485
32049
|
|
32050
|
+
class VmCheckpointService < Service
|
32051
|
+
|
32052
|
+
GET = [
|
32053
|
+
[:follow, String].freeze,
|
32054
|
+
].freeze
|
32055
|
+
|
32056
|
+
private_constant :GET
|
32057
|
+
|
32058
|
+
#
|
32059
|
+
# Returns information about the virtual machine checkpoint.
|
32060
|
+
#
|
32061
|
+
# @param opts [Hash] Additional options.
|
32062
|
+
#
|
32063
|
+
# @option opts [String] :follow Indicates which inner links should be _followed_. The objects referenced by these links will be fetched as part
|
32064
|
+
# of the current request. See <<documents/003_common_concepts/follow, here>> for details.
|
32065
|
+
#
|
32066
|
+
# @option opts [Hash] :headers ({}) Additional HTTP headers.
|
32067
|
+
#
|
32068
|
+
# @option opts [Hash] :query ({}) Additional URL query parameters.
|
32069
|
+
#
|
32070
|
+
# @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
|
32071
|
+
# given then the timeout set globally for the connection will be used.
|
32072
|
+
#
|
32073
|
+
# @option opts [Boolean] :wait (true) If `true` wait for the response.
|
32074
|
+
#
|
32075
|
+
# @return [Checkpoint]
|
32076
|
+
#
|
32077
|
+
def get(opts = {})
|
32078
|
+
internal_get(GET, opts)
|
32079
|
+
end
|
32080
|
+
|
32081
|
+
REMOVE = [
|
32082
|
+
[:async, TrueClass].freeze,
|
32083
|
+
].freeze
|
32084
|
+
|
32085
|
+
private_constant :REMOVE
|
32086
|
+
|
32087
|
+
#
|
32088
|
+
# Remove the virtual machine checkpoint entity.
|
32089
|
+
#
|
32090
|
+
# Remove the checkpoint from libvirt and the database.
|
32091
|
+
#
|
32092
|
+
# @param opts [Hash] Additional options.
|
32093
|
+
#
|
32094
|
+
# @option opts [Boolean] :async Indicates if the remove should be performed asynchronously.
|
32095
|
+
# @option opts [Hash] :headers ({}) Additional HTTP headers.
|
32096
|
+
#
|
32097
|
+
# @option opts [Hash] :query ({}) Additional URL query parameters.
|
32098
|
+
#
|
32099
|
+
# @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
|
32100
|
+
# given then the timeout set globally for the connection will be used.
|
32101
|
+
#
|
32102
|
+
# @option opts [Boolean] :wait (true) If `true` wait for the response.
|
32103
|
+
#
|
32104
|
+
def remove(opts = {})
|
32105
|
+
internal_remove(REMOVE, opts)
|
32106
|
+
end
|
32107
|
+
|
32108
|
+
#
|
32109
|
+
# A reference to the service that lists the disks in checkpoint.
|
32110
|
+
#
|
32111
|
+
# @return [VmCheckpointDisksService] A reference to `disks` service.
|
32112
|
+
#
|
32113
|
+
def disks_service
|
32114
|
+
@disks_service ||= VmCheckpointDisksService.new(self, 'disks')
|
32115
|
+
end
|
32116
|
+
|
32117
|
+
#
|
32118
|
+
# Locates the service corresponding to the given path.
|
32119
|
+
#
|
32120
|
+
# @param path [String] The path of the service.
|
32121
|
+
#
|
32122
|
+
# @return [Service] A reference to the service.
|
32123
|
+
#
|
32124
|
+
def service(path)
|
32125
|
+
if path.nil? || path == ''
|
32126
|
+
return self
|
32127
|
+
end
|
32128
|
+
if path == 'disks'
|
32129
|
+
return disks_service
|
32130
|
+
end
|
32131
|
+
if path.start_with?('disks/')
|
32132
|
+
return disks_service.service(path[6..-1])
|
32133
|
+
end
|
32134
|
+
raise Error.new("The path \"#{path}\" doesn't correspond to any service")
|
32135
|
+
end
|
32136
|
+
|
32137
|
+
end
|
32138
|
+
|
32139
|
+
class VmCheckpointDiskService < Service
|
32140
|
+
|
32141
|
+
GET = [
|
32142
|
+
[:follow, String].freeze,
|
32143
|
+
].freeze
|
32144
|
+
|
32145
|
+
private_constant :GET
|
32146
|
+
|
32147
|
+
#
|
32148
|
+
# Retrieves the description of the disk.
|
32149
|
+
#
|
32150
|
+
# @param opts [Hash] Additional options.
|
32151
|
+
#
|
32152
|
+
# @option opts [String] :follow Indicates which inner links should be _followed_. The objects referenced by these links will be fetched as part
|
32153
|
+
# of the current request. See <<documents/003_common_concepts/follow, here>> for details.
|
32154
|
+
#
|
32155
|
+
# @option opts [Hash] :headers ({}) Additional HTTP headers.
|
32156
|
+
#
|
32157
|
+
# @option opts [Hash] :query ({}) Additional URL query parameters.
|
32158
|
+
#
|
32159
|
+
# @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
|
32160
|
+
# given then the timeout set globally for the connection will be used.
|
32161
|
+
#
|
32162
|
+
# @option opts [Boolean] :wait (true) If `true` wait for the response.
|
32163
|
+
#
|
32164
|
+
# @return [Disk]
|
32165
|
+
#
|
32166
|
+
def get(opts = {})
|
32167
|
+
internal_get(GET, opts)
|
32168
|
+
end
|
32169
|
+
|
32170
|
+
#
|
32171
|
+
# Locates the service corresponding to the given path.
|
32172
|
+
#
|
32173
|
+
# @param path [String] The path of the service.
|
32174
|
+
#
|
32175
|
+
# @return [Service] A reference to the service.
|
32176
|
+
#
|
32177
|
+
def service(path)
|
32178
|
+
if path.nil? || path == ''
|
32179
|
+
return self
|
32180
|
+
end
|
32181
|
+
raise Error.new("The path \"#{path}\" doesn't correspond to any service")
|
32182
|
+
end
|
32183
|
+
|
32184
|
+
end
|
32185
|
+
|
32186
|
+
class VmCheckpointDisksService < Service
|
32187
|
+
|
32188
|
+
LIST = [
|
32189
|
+
[:follow, String].freeze,
|
32190
|
+
[:max, Integer].freeze,
|
32191
|
+
].freeze
|
32192
|
+
|
32193
|
+
private_constant :LIST
|
32194
|
+
|
32195
|
+
#
|
32196
|
+
# Returns the list of disks in checkpoint.
|
32197
|
+
#
|
32198
|
+
# @param opts [Hash] Additional options.
|
32199
|
+
#
|
32200
|
+
# @option opts [String] :follow Indicates which inner links should be _followed_. The objects referenced by these links will be fetched as part
|
32201
|
+
# of the current request. See <<documents/003_common_concepts/follow, here>> for details.
|
32202
|
+
#
|
32203
|
+
# @option opts [Integer] :max Sets the maximum number of disks to return. If not specified, all the disks are returned.
|
32204
|
+
#
|
32205
|
+
# @option opts [Hash] :headers ({}) Additional HTTP headers.
|
32206
|
+
#
|
32207
|
+
# @option opts [Hash] :query ({}) Additional URL query parameters.
|
32208
|
+
#
|
32209
|
+
# @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
|
32210
|
+
# given then the timeout set globally for the connection will be used.
|
32211
|
+
#
|
32212
|
+
# @option opts [Boolean] :wait (true) If `true` wait for the response.
|
32213
|
+
#
|
32214
|
+
# @return [Array<Disk>]
|
32215
|
+
#
|
32216
|
+
def list(opts = {})
|
32217
|
+
internal_get(LIST, opts)
|
32218
|
+
end
|
32219
|
+
|
32220
|
+
#
|
32221
|
+
# A reference to the service that manages a specific disk.
|
32222
|
+
#
|
32223
|
+
# @param id [String] The identifier of the `disk`.
|
32224
|
+
#
|
32225
|
+
# @return [VmCheckpointDiskService] A reference to the `disk` service.
|
32226
|
+
#
|
32227
|
+
def disk_service(id)
|
32228
|
+
VmCheckpointDiskService.new(self, id)
|
32229
|
+
end
|
32230
|
+
|
32231
|
+
#
|
32232
|
+
# Locates the service corresponding to the given path.
|
32233
|
+
#
|
32234
|
+
# @param path [String] The path of the service.
|
32235
|
+
#
|
32236
|
+
# @return [Service] A reference to the service.
|
32237
|
+
#
|
32238
|
+
def service(path)
|
32239
|
+
if path.nil? || path == ''
|
32240
|
+
return self
|
32241
|
+
end
|
32242
|
+
index = path.index('/')
|
32243
|
+
if index.nil?
|
32244
|
+
return disk_service(path)
|
32245
|
+
end
|
32246
|
+
return disk_service(path[0..(index - 1)]).service(path[(index + 1)..-1])
|
32247
|
+
end
|
32248
|
+
|
32249
|
+
end
|
32250
|
+
|
32251
|
+
class VmCheckpointsService < Service
|
32252
|
+
|
32253
|
+
LIST = [
|
32254
|
+
[:follow, String].freeze,
|
32255
|
+
[:max, Integer].freeze,
|
32256
|
+
].freeze
|
32257
|
+
|
32258
|
+
private_constant :LIST
|
32259
|
+
|
32260
|
+
#
|
32261
|
+
# The list of virtual machine checkpoints.
|
32262
|
+
#
|
32263
|
+
# @param opts [Hash] Additional options.
|
32264
|
+
#
|
32265
|
+
# @option opts [String] :follow Indicates which inner links should be _followed_. The objects referenced by these links will be fetched as part
|
32266
|
+
# of the current request. See <<documents/003_common_concepts/follow, here>> for details.
|
32267
|
+
#
|
32268
|
+
# @option opts [Integer] :max Sets the maximum number of virtual machine checkpoints to return.
|
32269
|
+
# If not specified, all the virtual machine checkpoints are returned.
|
32270
|
+
#
|
32271
|
+
# @option opts [Hash] :headers ({}) Additional HTTP headers.
|
32272
|
+
#
|
32273
|
+
# @option opts [Hash] :query ({}) Additional URL query parameters.
|
32274
|
+
#
|
32275
|
+
# @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
|
32276
|
+
# given then the timeout set globally for the connection will be used.
|
32277
|
+
#
|
32278
|
+
# @option opts [Boolean] :wait (true) If `true` wait for the response.
|
32279
|
+
#
|
32280
|
+
# @return [Array<Checkpoint>]
|
32281
|
+
#
|
32282
|
+
def list(opts = {})
|
32283
|
+
internal_get(LIST, opts)
|
32284
|
+
end
|
32285
|
+
|
32286
|
+
#
|
32287
|
+
# Returns a reference to the service that manages a specific VM checkpoint.
|
32288
|
+
#
|
32289
|
+
# @param id [String] The identifier of the `checkpoint`.
|
32290
|
+
#
|
32291
|
+
# @return [VmCheckpointService] A reference to the `checkpoint` service.
|
32292
|
+
#
|
32293
|
+
def checkpoint_service(id)
|
32294
|
+
VmCheckpointService.new(self, id)
|
32295
|
+
end
|
32296
|
+
|
32297
|
+
#
|
32298
|
+
# Locates the service corresponding to the given path.
|
32299
|
+
#
|
32300
|
+
# @param path [String] The path of the service.
|
32301
|
+
#
|
32302
|
+
# @return [Service] A reference to the service.
|
32303
|
+
#
|
32304
|
+
def service(path)
|
32305
|
+
if path.nil? || path == ''
|
32306
|
+
return self
|
32307
|
+
end
|
32308
|
+
index = path.index('/')
|
32309
|
+
if index.nil?
|
32310
|
+
return checkpoint_service(path)
|
32311
|
+
end
|
32312
|
+
return checkpoint_service(path[0..(index - 1)]).service(path[(index + 1)..-1])
|
32313
|
+
end
|
32314
|
+
|
32315
|
+
end
|
32316
|
+
|
31486
32317
|
class VmDiskService < MeasurableService
|
31487
32318
|
|
31488
32319
|
ACTIVATE = [
|
@@ -33027,6 +33858,7 @@ module OvirtSDK4
|
|
33027
33858
|
# </cpu>
|
33028
33859
|
# <index>0</index>
|
33029
33860
|
# <memory>1024</memory>
|
33861
|
+
# <numa_tune_mode>strict</numa_tune_mode>
|
33030
33862
|
# </vm_numa_node>
|
33031
33863
|
# ----
|
33032
33864
|
#
|
@@ -34516,6 +35348,7 @@ module OvirtSDK4
|
|
34516
35348
|
[:filter, TrueClass].freeze,
|
34517
35349
|
[:follow, String].freeze,
|
34518
35350
|
[:max, Integer].freeze,
|
35351
|
+
[:ovf_as_ova, TrueClass].freeze,
|
34519
35352
|
[:search, String].freeze,
|
34520
35353
|
].freeze
|
34521
35354
|
|
@@ -34559,6 +35392,16 @@ module OvirtSDK4
|
|
34559
35392
|
#
|
34560
35393
|
# @option opts [Integer] :max The maximum number of results to return.
|
34561
35394
|
#
|
35395
|
+
# @option opts [Boolean] :ovf_as_ova Indicates if the results should expose the OVF as it appears in OVA files of that VM. The OVF document
|
35396
|
+
# describing the virtual machine. This parameter will work only when all_content=True is set.
|
35397
|
+
# The OVF will be presented in `initialization.configuration.data`.
|
35398
|
+
#
|
35399
|
+
# For example:
|
35400
|
+
# [source]
|
35401
|
+
# ----
|
35402
|
+
# GET /vms?all_content=true&ovf_as_ova=true
|
35403
|
+
# ----
|
35404
|
+
#
|
34562
35405
|
# @option opts [String] :search A query string used to restrict the returned virtual machines.
|
34563
35406
|
#
|
34564
35407
|
# @option opts [Hash] :headers ({}) Additional HTTP headers.
|
@@ -35785,6 +36628,26 @@ module OvirtSDK4
|
|
35785
36628
|
internal_update(disk, Disk, UPDATE, opts)
|
35786
36629
|
end
|
35787
36630
|
|
36631
|
+
#
|
36632
|
+
# Reference to the service that manages the DiskSnapshots.
|
36633
|
+
#
|
36634
|
+
# For example, to list all disk snapshots under the disks resource '123':
|
36635
|
+
#
|
36636
|
+
# ....
|
36637
|
+
# GET /ovirt-engine/api/disks/123/disksnapshots
|
36638
|
+
# ....
|
36639
|
+
#
|
36640
|
+
# For example, to retrieve a specific disk snapshot '789' under the disk resource '123':
|
36641
|
+
# ....
|
36642
|
+
# GET /ovirt-engine/api/disks/123/disksnapshots/789
|
36643
|
+
# ....
|
36644
|
+
#
|
36645
|
+
# @return [DiskSnapshotsService] A reference to `disk_snapshots` service.
|
36646
|
+
#
|
36647
|
+
def disk_snapshots_service
|
36648
|
+
@disk_snapshots_service ||= DiskSnapshotsService.new(self, 'disksnapshots')
|
36649
|
+
end
|
36650
|
+
|
35788
36651
|
#
|
35789
36652
|
# Reference to the service that manages the permissions assigned to the disk.
|
35790
36653
|
#
|
@@ -35814,6 +36677,12 @@ module OvirtSDK4
|
|
35814
36677
|
if path.nil? || path == ''
|
35815
36678
|
return self
|
35816
36679
|
end
|
36680
|
+
if path == 'disksnapshots'
|
36681
|
+
return disk_snapshots_service
|
36682
|
+
end
|
36683
|
+
if path.start_with?('disksnapshots/')
|
36684
|
+
return disk_snapshots_service.service(path[14..-1])
|
36685
|
+
end
|
35817
36686
|
if path == 'permissions'
|
35818
36687
|
return permissions_service
|
35819
36688
|
end
|
@@ -36928,6 +37797,7 @@ module OvirtSDK4
|
|
36928
37797
|
[:async, TrueClass].freeze,
|
36929
37798
|
[:cluster, Cluster].freeze,
|
36930
37799
|
[:host, Host].freeze,
|
37800
|
+
[:reboot, TrueClass].freeze,
|
36931
37801
|
].freeze
|
36932
37802
|
|
36933
37803
|
private_constant :APPROVE
|
@@ -36949,6 +37819,8 @@ module OvirtSDK4
|
|
36949
37819
|
#
|
36950
37820
|
# @option opts [Host] :host The host to approve.
|
36951
37821
|
#
|
37822
|
+
# @option opts [Boolean] :reboot Indicates if the host should be rebooted after successful installation. The default value is `true`.
|
37823
|
+
#
|
36952
37824
|
# @option opts [Hash] :headers ({}) Additional HTTP headers.
|
36953
37825
|
#
|
36954
37826
|
# @option opts [Hash] :query ({}) Additional URL query parameters.
|
@@ -37025,6 +37897,9 @@ module OvirtSDK4
|
|
37025
37897
|
#
|
37026
37898
|
# Copy the network configuration of the specified host to current host.
|
37027
37899
|
#
|
37900
|
+
# IMPORTANT: Any network attachments that are not present on the source host will be erased from the target host
|
37901
|
+
# by the copy operation.
|
37902
|
+
#
|
37028
37903
|
# To copy networks from another host, send a request like this:
|
37029
37904
|
#
|
37030
37905
|
# [source]
|
@@ -37037,7 +37912,7 @@ module OvirtSDK4
|
|
37037
37912
|
# [source,xml]
|
37038
37913
|
# ----
|
37039
37914
|
# <action>
|
37040
|
-
# <
|
37915
|
+
# <source_host id="456"/>
|
37041
37916
|
# </action>
|
37042
37917
|
# ----
|
37043
37918
|
#
|
@@ -37093,6 +37968,71 @@ module OvirtSDK4
|
|
37093
37968
|
internal_action(:deactivate, nil, DEACTIVATE, opts)
|
37094
37969
|
end
|
37095
37970
|
|
37971
|
+
DISCOVER_ISCSI = [
|
37972
|
+
[:async, TrueClass].freeze,
|
37973
|
+
[:iscsi, IscsiDetails].freeze,
|
37974
|
+
].freeze
|
37975
|
+
|
37976
|
+
private_constant :DISCOVER_ISCSI
|
37977
|
+
|
37978
|
+
#
|
37979
|
+
# Discovers iSCSI targets on the host, using the initiator details.
|
37980
|
+
# Returns a list of IscsiDetails objects containing the discovered data.
|
37981
|
+
#
|
37982
|
+
# For example, to discover iSCSI targets available in `myiscsi.example.com`,
|
37983
|
+
# from host `123`, send a request like this:
|
37984
|
+
#
|
37985
|
+
# [source]
|
37986
|
+
# ----
|
37987
|
+
# POST /ovirt-engine/api/hosts/123/discoveriscsi
|
37988
|
+
# ----
|
37989
|
+
#
|
37990
|
+
# With a request body like this:
|
37991
|
+
#
|
37992
|
+
# [source,xml]
|
37993
|
+
# ----
|
37994
|
+
# <action>
|
37995
|
+
# <iscsi>
|
37996
|
+
# <address>myiscsi.example.com</address>
|
37997
|
+
# </iscsi>
|
37998
|
+
# </action>
|
37999
|
+
# ----
|
38000
|
+
#
|
38001
|
+
# The result will be like this:
|
38002
|
+
#
|
38003
|
+
# [source,xml]
|
38004
|
+
# ----
|
38005
|
+
# <discovered_targets>
|
38006
|
+
# <iscsi_details>
|
38007
|
+
# <address>10.35.1.72</address>
|
38008
|
+
# <port>3260</port>
|
38009
|
+
# <portal>10.35.1.72:3260,1</portal>
|
38010
|
+
# <target>iqn.2015-08.com.tgt:444</target>
|
38011
|
+
# </iscsi_details>
|
38012
|
+
# </discovered_targets>
|
38013
|
+
# ----
|
38014
|
+
#
|
38015
|
+
# @param opts [Hash] Additional options.
|
38016
|
+
#
|
38017
|
+
# @option opts [Boolean] :async Indicates if the discovery should be performed asynchronously.
|
38018
|
+
#
|
38019
|
+
# @option opts [Array<IscsiDetails>] :discovered_targets The discovered targets including all connection information.
|
38020
|
+
#
|
38021
|
+
# @option opts [IscsiDetails] :iscsi The target iSCSI device.
|
38022
|
+
#
|
38023
|
+
# @option opts [Hash] :headers ({}) Additional HTTP headers.
|
38024
|
+
#
|
38025
|
+
# @option opts [Hash] :query ({}) Additional URL query parameters.
|
38026
|
+
#
|
38027
|
+
# @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
|
38028
|
+
# given then the timeout set globally for the connection will be used.
|
38029
|
+
#
|
38030
|
+
# @option opts [Boolean] :wait (true) If `true` wait for the response.
|
38031
|
+
#
|
38032
|
+
def discover_iscsi(opts = {})
|
38033
|
+
internal_action(:discoveriscsi, :discovered_targets, DISCOVER_ISCSI, opts)
|
38034
|
+
end
|
38035
|
+
|
37096
38036
|
ENROLL_CERTIFICATE = [
|
37097
38037
|
[:async, TrueClass].freeze,
|
37098
38038
|
].freeze
|
@@ -37278,6 +38218,7 @@ module OvirtSDK4
|
|
37278
38218
|
[:deploy_hosted_engine, TrueClass].freeze,
|
37279
38219
|
[:host, Host].freeze,
|
37280
38220
|
[:image, String].freeze,
|
38221
|
+
[:reboot, TrueClass].freeze,
|
37281
38222
|
[:root_password, String].freeze,
|
37282
38223
|
[:ssh, Ssh].freeze,
|
37283
38224
|
[:undeploy_hosted_engine, TrueClass].freeze,
|
@@ -37329,9 +38270,10 @@ module OvirtSDK4
|
|
37329
38270
|
# --data '
|
37330
38271
|
# {
|
37331
38272
|
# "root_password": "myrootpassword"
|
38273
|
+
# "deploy_hosted_engine" : "true"
|
37332
38274
|
# }
|
37333
38275
|
# ' \
|
37334
|
-
# "https://engine.example.com/ovirt-engine/api/hosts/123
|
38276
|
+
# "https://engine.example.com/ovirt-engine/api/hosts/123"
|
37335
38277
|
# ----
|
37336
38278
|
#
|
37337
38279
|
# IMPORTANT: Since version 4.1.2 of the engine, when a host is reinstalled we override the host firewall
|
@@ -37354,6 +38296,8 @@ module OvirtSDK4
|
|
37354
38296
|
#
|
37355
38297
|
# @option opts [String] :image When installing {hypervisor-name}, an ISO image file is required.
|
37356
38298
|
#
|
38299
|
+
# @option opts [Boolean] :reboot Indicates if the host should be rebooted after successful installation. The default value is `true`.
|
38300
|
+
#
|
37357
38301
|
# @option opts [String] :root_password The password of the `root` user used to connect to the host via SSH.
|
37358
38302
|
#
|
37359
38303
|
# @option opts [Ssh] :ssh The SSH details used to connect to the host.
|
@@ -37382,8 +38326,12 @@ module OvirtSDK4
|
|
37382
38326
|
|
37383
38327
|
private_constant :ISCSI_DISCOVER
|
37384
38328
|
|
38329
|
+
#
|
38330
|
+
# This method has been deprecated since Engine version 4.4.6.
|
38331
|
+
# DiscoverIscsi should be used instead.
|
37385
38332
|
#
|
37386
38333
|
# Discovers iSCSI targets on the host, using the initiator details.
|
38334
|
+
# Returns an array of strings containing the discovered data.
|
37387
38335
|
#
|
37388
38336
|
# For example, to discover iSCSI targets available in `myiscsi.example.com`,
|
37389
38337
|
# from host `123`, send a request like this:
|
@@ -37404,32 +38352,14 @@ module OvirtSDK4
|
|
37404
38352
|
# </action>
|
37405
38353
|
# ----
|
37406
38354
|
#
|
37407
|
-
# The result will be like this:
|
37408
|
-
#
|
37409
|
-
# [source,xml]
|
37410
|
-
# ----
|
37411
|
-
# <discovered_targets>
|
37412
|
-
# <iscsi_details>
|
37413
|
-
# <address>10.35.1.72</address>
|
37414
|
-
# <port>3260</port>
|
37415
|
-
# <portal>10.35.1.72:3260,1</portal>
|
37416
|
-
# <target>iqn.2015-08.com.tgt:444</target>
|
37417
|
-
# </iscsi_details>
|
37418
|
-
# </discovered_targets>
|
37419
|
-
# ----
|
37420
|
-
#
|
37421
38355
|
# @param opts [Hash] Additional options.
|
37422
38356
|
#
|
37423
38357
|
# @option opts [Boolean] :async Indicates if the discovery should be performed asynchronously.
|
37424
38358
|
#
|
37425
|
-
# @option opts [Array<IscsiDetails>] :discovered_targets The discovered targets including all connection information.
|
37426
|
-
#
|
37427
38359
|
# @option opts [IscsiDetails] :iscsi The target iSCSI device.
|
37428
38360
|
#
|
37429
38361
|
# @option opts [Array<String>] :iscsi_targets The iSCSI targets.
|
37430
|
-
#
|
37431
|
-
# Since version 4.2 of the engine, this parameter is deprecated, use
|
37432
|
-
# `discovered_targets` instead.
|
38362
|
+
# *
|
37433
38363
|
#
|
37434
38364
|
# @option opts [Hash] :headers ({}) Additional HTTP headers.
|
37435
38365
|
#
|
@@ -37619,8 +38549,8 @@ module OvirtSDK4
|
|
37619
38549
|
# <name>bond0</name>
|
37620
38550
|
# </host_nic>
|
37621
38551
|
# <ip_address_assignments>
|
37622
|
-
# <assignment_method>static</assignment_method>
|
37623
38552
|
# <ip_address_assignment>
|
38553
|
+
# <assignment_method>static</assignment_method>
|
37624
38554
|
# <ip>
|
37625
38555
|
# <address>192.168.122.10</address>
|
37626
38556
|
# <netmask>255.255.255.0</netmask>
|
@@ -37963,6 +38893,7 @@ module OvirtSDK4
|
|
37963
38893
|
[:async, TrueClass].freeze,
|
37964
38894
|
[:cluster, Cluster].freeze,
|
37965
38895
|
[:host, Host].freeze,
|
38896
|
+
[:reboot, TrueClass].freeze,
|
37966
38897
|
].freeze
|
37967
38898
|
|
37968
38899
|
private_constant :APPROVE_USING_ROOT_PASSWORD
|
@@ -37982,6 +38913,8 @@ module OvirtSDK4
|
|
37982
38913
|
#
|
37983
38914
|
# @option opts [Host] :host The host to approve.
|
37984
38915
|
#
|
38916
|
+
# @option opts [Boolean] :reboot Indicates if the host should be rebooted after successful installation. The default value is `true`.
|
38917
|
+
#
|
37985
38918
|
# @option opts [Hash] :headers ({}) Additional HTTP headers.
|
37986
38919
|
#
|
37987
38920
|
# @option opts [Hash] :query ({}) Additional URL query parameters.
|
@@ -38001,6 +38934,7 @@ module OvirtSDK4
|
|
38001
38934
|
[:deploy_hosted_engine, TrueClass].freeze,
|
38002
38935
|
[:host, Host].freeze,
|
38003
38936
|
[:image, String].freeze,
|
38937
|
+
[:reboot, TrueClass].freeze,
|
38004
38938
|
[:root_password, String].freeze,
|
38005
38939
|
[:ssh, Ssh].freeze,
|
38006
38940
|
[:undeploy_hosted_engine, TrueClass].freeze,
|
@@ -38029,6 +38963,8 @@ module OvirtSDK4
|
|
38029
38963
|
#
|
38030
38964
|
# @option opts [String] :image When installing {hypervisor-name}, an ISO image file is required.
|
38031
38965
|
#
|
38966
|
+
# @option opts [Boolean] :reboot Indicates if the host should be rebooted after successful installation. The default value is `true`.
|
38967
|
+
#
|
38032
38968
|
# @option opts [String] :root_password The password of the `root` user used to connect to the host via SSH.
|
38033
38969
|
#
|
38034
38970
|
# @option opts [Ssh] :ssh The SSH details used to connect to the host.
|
@@ -38084,6 +39020,7 @@ module OvirtSDK4
|
|
38084
39020
|
[:async, TrueClass].freeze,
|
38085
39021
|
[:cluster, Cluster].freeze,
|
38086
39022
|
[:host, Host].freeze,
|
39023
|
+
[:reboot, TrueClass].freeze,
|
38087
39024
|
].freeze
|
38088
39025
|
|
38089
39026
|
private_constant :APPROVE_USING_SSH
|
@@ -38104,6 +39041,8 @@ module OvirtSDK4
|
|
38104
39041
|
#
|
38105
39042
|
# @option opts [Host] :host The host to approve.
|
38106
39043
|
#
|
39044
|
+
# @option opts [Boolean] :reboot Indicates if the host should be rebooted after successful installation. The default value is `true`.
|
39045
|
+
#
|
38107
39046
|
# @option opts [Hash] :headers ({}) Additional HTTP headers.
|
38108
39047
|
#
|
38109
39048
|
# @option opts [Hash] :query ({}) Additional URL query parameters.
|
@@ -38123,6 +39062,7 @@ module OvirtSDK4
|
|
38123
39062
|
[:deploy_hosted_engine, TrueClass].freeze,
|
38124
39063
|
[:host, Host].freeze,
|
38125
39064
|
[:image, String].freeze,
|
39065
|
+
[:reboot, TrueClass].freeze,
|
38126
39066
|
[:root_password, String].freeze,
|
38127
39067
|
[:ssh, Ssh].freeze,
|
38128
39068
|
[:undeploy_hosted_engine, TrueClass].freeze,
|
@@ -38151,6 +39091,8 @@ module OvirtSDK4
|
|
38151
39091
|
#
|
38152
39092
|
# @option opts [String] :image When installing {hypervisor-name}, an ISO image file is required.
|
38153
39093
|
#
|
39094
|
+
# @option opts [Boolean] :reboot Indicates if the host should be rebooted after successful installation. The default value is `true`.
|
39095
|
+
#
|
38154
39096
|
# @option opts [String] :root_password The password of the `root` user used to connect to the host via SSH.
|
38155
39097
|
#
|
38156
39098
|
# @option opts [Ssh] :ssh The SSH details used to connect to the host.
|