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.
@@ -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 fingerprint.
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>test1</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
- # <sourceHost id="456" />
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?deploy_hosted_engine=true"
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.