ovirt-engine-sdk 4.4.1 → 4.6.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -278,6 +278,9 @@ module OvirtSDK4
278
278
  class ExternalProviderCertificatesService < Service
279
279
  end
280
280
 
281
+ class ExternalTemplateImportsService < Service
282
+ end
283
+
281
284
  class ExternalVmImportsService < Service
282
285
  end
283
286
 
@@ -320,6 +323,9 @@ module OvirtSDK4
320
323
  class GroupsService < Service
321
324
  end
322
325
 
326
+ class HostCpuUnitsService < Service
327
+ end
328
+
323
329
  class HostDeviceService < Service
324
330
  end
325
331
 
@@ -698,6 +704,12 @@ module OvirtSDK4
698
704
  class TemplateGraphicsConsolesService < Service
699
705
  end
700
706
 
707
+ class TemplateMediatedDeviceService < Service
708
+ end
709
+
710
+ class TemplateMediatedDevicesService < Service
711
+ end
712
+
701
713
  class TemplateNicService < Service
702
714
  end
703
715
 
@@ -794,6 +806,12 @@ module OvirtSDK4
794
806
  class VmHostDevicesService < Service
795
807
  end
796
808
 
809
+ class VmMediatedDeviceService < Service
810
+ end
811
+
812
+ class VmMediatedDevicesService < Service
813
+ end
814
+
797
815
  class VmNicService < MeasurableService
798
816
  end
799
817
 
@@ -1330,14 +1348,14 @@ module OvirtSDK4
1330
1348
  end
1331
1349
 
1332
1350
  #
1333
- # Access the service that manages the host assignment to this affinity group.
1351
+ # Access the service that manages the host assignment to this affinity group by host id or name.
1334
1352
  #
1335
- # @param id [String] The identifier of the `host`.
1353
+ # @param id_or_name [String] The identifier of the `host`.
1336
1354
  #
1337
1355
  # @return [AffinityGroupHostService] A reference to the `host` service.
1338
1356
  #
1339
- def host_service(id)
1340
- AffinityGroupHostService.new(self, id)
1357
+ def host_service(id_or_name)
1358
+ AffinityGroupHostService.new(self, id_or_name)
1341
1359
  end
1342
1360
 
1343
1361
  #
@@ -3926,9 +3944,9 @@ module OvirtSDK4
3926
3944
  # Adds or registers a disk.
3927
3945
  #
3928
3946
  # IMPORTANT: Since version 4.2 of the engine this operation is deprecated, and preserved only for backwards
3929
- # compatibility. It will be removed in the future. To add a new disk use the <<services/disks/methods/add, add>>
3947
+ # compatibility. It will be removed in the future. To add a new disk use the xref:services-disks-methods-add[add]
3930
3948
  # operation of the service that manages the disks of the system. To register an unregistered disk use the
3931
- # <<services/attached_storage_domain_disk/methods/register, register>> operation of the service that manages
3949
+ # xref:services-attached_storage_domain_disk-methods-register[register] operation of the service that manages
3932
3950
  # that disk.
3933
3951
  #
3934
3952
  # @param disk [Disk] The disk to add or register.
@@ -4871,14 +4889,16 @@ module OvirtSDK4
4871
4889
 
4872
4890
  UPGRADE = [
4873
4891
  [:async, TrueClass].freeze,
4892
+ [:correlation_id, String].freeze,
4893
+ [:upgrade_percent_complete, Integer].freeze,
4874
4894
  ].freeze
4875
4895
 
4876
4896
  private_constant :UPGRADE
4877
4897
 
4878
4898
  #
4879
- # Start or finish upgrade process for the cluster based on the action value. This action marks the cluster for
4880
- # upgrade or clears the upgrade running flag on the cluster based on the action value which takes values of
4881
- # start or stop.
4899
+ # Start, update or finish upgrade process for the cluster based on the action value. This action marks the
4900
+ # cluster for upgrade, updates the progress, or clears the upgrade running flag on the cluster based on the
4901
+ # action value which takes values of `start`, `stop` or `update_progress`.
4882
4902
  #
4883
4903
  # [source]
4884
4904
  # ----
@@ -4896,12 +4916,32 @@ module OvirtSDK4
4896
4916
  # </action>
4897
4917
  # ----
4898
4918
  #
4919
+ # After starting the upgrade, use a request body like this to update the progress to 15%:
4920
+ #
4921
+ # [source,xml]
4922
+ # ----
4923
+ # <action>
4924
+ # <upgrade_action>
4925
+ # update_progress
4926
+ # </upgrade_action>
4927
+ # <upgrade_percent_complete>
4928
+ # 15
4929
+ # </upgrade_percent_complete>
4930
+ # </action>
4931
+ # ----
4932
+ #
4899
4933
  # @param opts [Hash] Additional options.
4900
4934
  #
4901
4935
  # @option opts [Boolean] :async Indicates if the action should be performed asynchronously.
4902
4936
  #
4937
+ # @option opts [String] :correlation_id Explicitly set the upgrade correlation identifier. Use to correlate events
4938
+ # detailing the cluster upgrade to the upgrade itself. If not specificed, the
4939
+ # correlation id from `Correlation-Id` http header will be used.
4940
+ #
4903
4941
  # @option opts [ClusterUpgradeAction] :upgrade_action The action to be performed.
4904
4942
  #
4943
+ # @option opts [Integer] :upgrade_percent_complete Update the upgrade's progress as a percent complete of the total process.
4944
+ #
4905
4945
  # @option opts [Hash] :headers ({}) Additional HTTP headers.
4906
4946
  #
4907
4947
  # @option opts [Hash] :query ({}) Additional URL query parameters.
@@ -5084,7 +5124,7 @@ module OvirtSDK4
5084
5124
  # GET /ovirt-engine/api/clusters/123/enabledfeatures/456
5085
5125
  # ----
5086
5126
  #
5087
- # That will return a <<types/cluster_feature, ClusterFeature>> object containing the name:
5127
+ # That will return a xref:types-cluster_feature[ClusterFeature] object containing the name:
5088
5128
  #
5089
5129
  # [source,xml]
5090
5130
  # ----
@@ -5349,7 +5389,7 @@ module OvirtSDK4
5349
5389
  # GET /ovirt-engine/api/clusterlevels/4.1/clusterfeatures/456
5350
5390
  # ----
5351
5391
  #
5352
- # That will return a <<types/cluster_feature, ClusterFeature>> object containing the name:
5392
+ # That will return a xref:types-cluster_feature[ClusterFeature] object containing the name:
5353
5393
  #
5354
5394
  # [source,xml]
5355
5395
  # ----
@@ -5491,7 +5531,7 @@ module OvirtSDK4
5491
5531
  # GET /ovirt-engine/api/clusterlevels/3.6
5492
5532
  # ----
5493
5533
  #
5494
- # That will return a <<types/cluster_level, ClusterLevel>> object containing the supported CPU types, and other
5534
+ # That will return a xref:types-cluster_level[ClusterLevel] object containing the supported CPU types, and other
5495
5535
  # information which describes the cluster level:
5496
5536
  #
5497
5537
  # [source,xml]
@@ -7226,7 +7266,7 @@ module OvirtSDK4
7226
7266
  # POST /ovirt-engine/api/vms/345/diskattachments
7227
7267
  # ----
7228
7268
  #
7229
- # IMPORTANT: The server accepts requests that don't contain the `active` attribute, but the effect is
7269
+ # IMPORTANT: The server accepts requests that do not contain the `active` attribute, but the effect is
7230
7270
  # undefined. In some cases the disk will be automatically activated and in other cases it won't. To
7231
7271
  # avoid issues it is strongly recommended to always include the `active` attribute with the desired
7232
7272
  # value.
@@ -7653,6 +7693,7 @@ module OvirtSDK4
7653
7693
  LIST = [
7654
7694
  [:follow, String].freeze,
7655
7695
  [:include_active, TrueClass].freeze,
7696
+ [:include_template, TrueClass].freeze,
7656
7697
  [:max, Integer].freeze,
7657
7698
  ].freeze
7658
7699
 
@@ -7670,6 +7711,8 @@ module OvirtSDK4
7670
7711
  #
7671
7712
  # @option opts [Boolean] :include_active If true return also active snapshots. If not specified active snapshots are not returned.
7672
7713
  #
7714
+ # @option opts [Boolean] :include_template If true return also template snapshots. If not specified template snapshots are not returned.
7715
+ #
7673
7716
  # @option opts [Integer] :max Sets the maximum number of snapshots to return. If not specified all the snapshots are returned.
7674
7717
  #
7675
7718
  # @option opts [Hash] :headers ({}) Additional HTTP headers.
@@ -7728,20 +7771,20 @@ module OvirtSDK4
7728
7771
  #
7729
7772
  # Adds a new floating disk.
7730
7773
  #
7731
- # There are three types of disks that can be added - disk image, direct LUN and
7732
- # https://wiki.openstack.org/wiki/Cinder[Cinder] disk.
7774
+ # There are three types of disks that can be added - disk image, direct LUN and Managed Block disk.
7775
+ # link:https://wiki.openstack.org/wiki/Cinder[Cinder] integration has been replaced by Managed Block Storage.
7733
7776
  #
7734
7777
  # *Adding a new image disk:*
7735
7778
  #
7736
- # When creating a new floating image <<types/disk,Disk>>, the API requires the `storage_domain`, `provisioned_size`
7779
+ # When creating a new floating image xref:types-disk[Disk], the API requires the `storage_domain`, `provisioned_size`
7737
7780
  # and `format` attributes.
7738
7781
  #
7739
- # Note that block storage domains (i.e., storage domains with the <<types/storage_type, storage type>> of iSCSI or
7740
- # FCP) don't support the combination of the raw `format` with `sparse=true`, so `sparse=false` must be stated
7782
+ # Note that block storage domains (i.e. storage domains with the xref:types-storage_type[storage type] of iSCSI or
7783
+ # FCP) do not support the combination of the raw `format` with `sparse=true`, so `sparse=false` must be stated
7741
7784
  # explicitly.
7742
7785
  #
7743
7786
  # To create a new floating image disk with specified `provisioned_size`, `format` and `name` on a storage domain
7744
- # with an id `123`, send a request as follows:
7787
+ # with an id `123` and enabled for incremental backup, send a request as follows:
7745
7788
  #
7746
7789
  # [source]
7747
7790
  # ----
@@ -7759,6 +7802,7 @@ module OvirtSDK4
7759
7802
  # <name>mydisk</name>
7760
7803
  # <provisioned_size>1048576</provisioned_size>
7761
7804
  # <format>cow</format>
7805
+ # <backup>incremental</backup>
7762
7806
  # </disk>
7763
7807
  # ----
7764
7808
  #
@@ -7806,32 +7850,8 @@ module OvirtSDK4
7806
7850
  #
7807
7851
  # *Adding a new Cinder disk:*
7808
7852
  #
7809
- # To create a new floating Cinder disk, send a request as follows:
7810
- #
7811
- # [source]
7812
- # ----
7813
- # POST /ovirt-engine/api/disks
7814
- # ----
7815
- #
7816
- # With a request body as follows:
7817
- #
7818
- # [source,xml]
7819
- # ----
7820
- # <disk>
7821
- # <openstack_volume_type>
7822
- # <name>myceph</name>
7823
- # </openstack_volume_type>
7824
- # <storage_domains>
7825
- # <storage_domain>
7826
- # <name>cinderDomain</name>
7827
- # </storage_domain>
7828
- # </storage_domains>
7829
- # <provisioned_size>1073741824</provisioned_size>
7830
- # <interface>virtio</interface>
7831
- # <format>raw</format>
7832
- # </disk>
7833
- # ----
7834
- #
7853
+ # Cinder integration has been replaced by Managed Block Storage.
7854
+ # //TODO: Add an example for adding an MBS disk
7835
7855
  #
7836
7856
  # *Adding a floating disks in order to upload disk snapshots:*
7837
7857
  #
@@ -10248,6 +10268,73 @@ module OvirtSDK4
10248
10268
 
10249
10269
  end
10250
10270
 
10271
+ class ExternalTemplateImportsService < Service
10272
+
10273
+ ADD = [
10274
+ ].freeze
10275
+
10276
+ private_constant :ADD
10277
+
10278
+ #
10279
+ # This operation is used to import a template from external hypervisor.
10280
+ #
10281
+ # For example import of a template OVA can be facilitated using the following request:
10282
+ #
10283
+ # [source]
10284
+ # ----
10285
+ # POST /externaltemplateimports
10286
+ # ----
10287
+ #
10288
+ # With request body of type xref:types-external_template_import[ExternalTemplateImport], for example:
10289
+ #
10290
+ # [source,xml]
10291
+ # ----
10292
+ # <external_template_import>
10293
+ # <template>
10294
+ # <name>my_template</name>
10295
+ # </template>
10296
+ # <cluster id="2b18aca2-4469-11eb-9449-482ae35a5f83" />
10297
+ # <storage_domain id="8bb5ade5-e988-4000-8b93-dbfc6717fe50" />
10298
+ # <url>ova:///mnt/ova/ova_template.ova</url>
10299
+ # <host id="8bb5ade5-e988-4000-8b93-dbfc6717fe50" />
10300
+ # </external_template_import>
10301
+ # ----
10302
+ #
10303
+ # @param import [ExternalTemplateImport] The `import` to add.
10304
+ #
10305
+ # @param opts [Hash] Additional options.
10306
+ #
10307
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
10308
+ #
10309
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
10310
+ #
10311
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
10312
+ # given then the timeout set globally for the connection will be used.
10313
+ #
10314
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
10315
+ #
10316
+ # @return [ExternalTemplateImport]
10317
+ #
10318
+ def add(import, opts = {})
10319
+ internal_add(import, ExternalTemplateImport, ADD, opts)
10320
+ end
10321
+
10322
+ #
10323
+ # Locates the service corresponding to the given path.
10324
+ #
10325
+ # @param path [String] The path of the service.
10326
+ #
10327
+ # @return [Service] A reference to the service.
10328
+ #
10329
+ def service(path)
10330
+ if path.nil? || path == ''
10331
+ return self
10332
+ end
10333
+ raise Error.new("The path \"#{path}\" doesn't correspond to any service")
10334
+ end
10335
+
10336
+ end
10337
+
10251
10338
  class ExternalVmImportsService < Service
10252
10339
 
10253
10340
  ADD = [
@@ -10265,7 +10352,7 @@ module OvirtSDK4
10265
10352
  # POST /externalvmimports
10266
10353
  # ----
10267
10354
  #
10268
- # With request body of type <<types/external_vm_import,ExternalVmImport>>, for example:
10355
+ # With request body of type xref:types-external_vm_import[ExternalVmImport], for example:
10269
10356
  #
10270
10357
  # [source,xml]
10271
10358
  # ----
@@ -11144,8 +11231,8 @@ module OvirtSDK4
11144
11231
  #
11145
11232
  # Removing bricks is a two-step process, where the data on bricks to be removed, is first migrated to remaining
11146
11233
  # bricks. Once migration is completed the removal of bricks is confirmed via the API
11147
- # <<services/gluster_bricks/methods/remove, remove>>. If at any point, the action needs to be cancelled
11148
- # <<services/gluster_bricks/methods/stop_migrate, stopmigrate>> has to be called.
11234
+ # xref:services-gluster_bricks-methods-remove[remove]. If at any point, the action needs to be cancelled
11235
+ # xref:services-gluster_bricks-methods-stop_migrate[stopmigrate] has to be called.
11149
11236
  #
11150
11237
  # For instance, to delete a brick from a gluster volume with id `123`, send a request:
11151
11238
  #
@@ -11168,7 +11255,7 @@ module OvirtSDK4
11168
11255
  # ----
11169
11256
  #
11170
11257
  # The migration process can be tracked from the job id returned from the API using
11171
- # <<services/job/methods/get, job>> and steps in job using <<services/step/methods/get, step>>
11258
+ # xref:services-job-methods-get[job] and steps in job using xref:services-step-methods-get[step]
11172
11259
  #
11173
11260
  # @param opts [Hash] Additional options.
11174
11261
  #
@@ -11201,7 +11288,7 @@ module OvirtSDK4
11201
11288
  # Removes bricks from gluster volume.
11202
11289
  #
11203
11290
  # The recommended way to remove bricks without data loss is to first migrate the data using
11204
- # <<services/gluster_bricks/methods/stop_migrate, stopmigrate>> and then removing them. If migrate was not called on
11291
+ # xref:services-gluster_bricks-methods-stop_migrate[stopmigrate] and then removing them. If migrate was not called on
11205
11292
  # bricks prior to remove, the bricks are removed without data migration which may lead to data loss.
11206
11293
  #
11207
11294
  # For example, to delete the bricks from gluster volume `123`, send a request like this:
@@ -11277,7 +11364,7 @@ module OvirtSDK4
11277
11364
  # @option opts [Boolean] :async Indicates if the action should be performed asynchronously.
11278
11365
  #
11279
11366
  # @option opts [Array<GlusterBrick>] :bricks List of bricks for which data migration needs to be stopped. This list should match the arguments passed to
11280
- # <<services/gluster_bricks/methods/migrate, migrate>>.
11367
+ # xref:services-gluster_bricks-methods-migrate[migrate].
11281
11368
  #
11282
11369
  # @option opts [Hash] :headers ({}) Additional HTTP headers.
11283
11370
  #
@@ -11996,6 +12083,55 @@ module OvirtSDK4
11996
12083
 
11997
12084
  end
11998
12085
 
12086
+ class HostCpuUnitsService < Service
12087
+
12088
+ LIST = [
12089
+ [:follow, String].freeze,
12090
+ ].freeze
12091
+
12092
+ private_constant :LIST
12093
+
12094
+ #
12095
+ # Returns the List of all host's CPUs with detailed information
12096
+ # about the topology (socket, core) and with information
12097
+ # about the current CPU pinning.
12098
+ #
12099
+ # @param opts [Hash] Additional options.
12100
+ #
12101
+ # @option opts [String] :follow Indicates which inner links should be _followed_. The objects referenced by these links will be fetched as part
12102
+ # of the current request. See <<documents/003_common_concepts/follow, here>> for details.
12103
+ #
12104
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
12105
+ #
12106
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
12107
+ #
12108
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
12109
+ # given then the timeout set globally for the connection will be used.
12110
+ #
12111
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
12112
+ #
12113
+ # @return [Array<HostCpuUnit>]
12114
+ #
12115
+ def list(opts = {})
12116
+ internal_get(LIST, opts)
12117
+ end
12118
+
12119
+ #
12120
+ # Locates the service corresponding to the given path.
12121
+ #
12122
+ # @param path [String] The path of the service.
12123
+ #
12124
+ # @return [Service] A reference to the service.
12125
+ #
12126
+ def service(path)
12127
+ if path.nil? || path == ''
12128
+ return self
12129
+ end
12130
+ raise Error.new("The path \"#{path}\" doesn't correspond to any service")
12131
+ end
12132
+
12133
+ end
12134
+
11999
12135
  class HostDeviceService < Service
12000
12136
 
12001
12137
  GET = [
@@ -15799,9 +15935,9 @@ module OvirtSDK4
15799
15935
  # ----
15800
15936
  #
15801
15937
  # NOTE: To remove an external logical network, the network has to be removed directly from its provider by
15802
- # https://developer.openstack.org/api-ref/network[OpenStack Networking API].
15938
+ # link:https://developer.openstack.org/api-ref/network[OpenStack Networking API].
15803
15939
  # The entity representing the external network inside {product-name} is removed automatically,
15804
- # if <<types/open_stack_network_provider/attributes/auto_sync,`auto_sync`>> is enabled for the provider,
15940
+ # if xref:types-open_stack_network_provider-attributes-auto_sync[`auto_sync`] is enabled for the provider,
15805
15941
  # otherwise the entity has to be removed using this method.
15806
15942
  #
15807
15943
  # @param opts [Hash] Additional options.
@@ -17377,7 +17513,7 @@ module OvirtSDK4
17377
17513
  # using the `id` or `name` attributes. The rest of
17378
17514
  # the attributes will be ignored.
17379
17515
  #
17380
- # NOTE: If <<types/open_stack_network_provider/attributes/auto_sync,`auto_sync`>> is
17516
+ # NOTE: If xref:types-open_stack_network_provider-attributes-auto_sync[`auto_sync`] is
17381
17517
  # enabled for the provider, the network might be imported automatically. To
17382
17518
  # prevent this, automatic import can be disabled by setting the `auto_sync` to false,
17383
17519
  # and enabling it again after importing the network.
@@ -18905,7 +19041,7 @@ module OvirtSDK4
18905
19041
  private_constant :ADD
18906
19042
 
18907
19043
  #
18908
- # Adds a permit to the role. The permit name can be retrieved from the <<services/cluster_levels>> service.
19044
+ # Adds a permit to the role. The permit name can be retrieved from the xref:services-cluster_levels[cluster_levels] service.
18909
19045
  #
18910
19046
  # For example to assign a permit `create_vm` to the role with id `123` send a request like this:
18911
19047
  #
@@ -20065,7 +20201,7 @@ module OvirtSDK4
20065
20201
  #
20066
20202
  # Updates a role. You are allowed to update `name`, `description` and `administrative` attributes after role is
20067
20203
  # created. Within this endpoint you can't add or remove roles permits you need to use
20068
- # <<services/permits, service>> that manages permits of role.
20204
+ # xref:services-permits[service] that manages permits of role.
20069
20205
  #
20070
20206
  # For example to update role's `name`, `description` and `administrative` attributes send a request like this:
20071
20207
  #
@@ -21259,8 +21395,8 @@ module OvirtSDK4
21259
21395
  #
21260
21396
  # [IMPORTANT]
21261
21397
  # ====
21262
- # When a snapshot is created the default value for the <<types/snapshot/attributes/persist_memorystate,
21263
- # persist_memorystate>> attribute is `true`. That means that the content of the memory of the virtual
21398
+ # When a snapshot is created, the default value for the
21399
+ # xref:types-snapshot-attributes-persist_memorystate[persist_memorystate] attribute is `true`. That means that the content of the memory of the virtual
21264
21400
  # machine will be included in the snapshot, and it also means that the virtual machine will be paused
21265
21401
  # for a longer time. That can negatively affect applications that are very sensitive to timing (NTP
21266
21402
  # servers, for example). In those cases make sure that you set the attribute to `false`:
@@ -21433,7 +21569,10 @@ module OvirtSDK4
21433
21569
  private_constant :UPDATE
21434
21570
 
21435
21571
  #
21436
- # Updates the `key`.
21572
+ # Replaces the key with a new resource.
21573
+ #
21574
+ # IMPORTANT: Since version 4.4.8 of the engine this operation is deprecated, and preserved only for backwards
21575
+ # compatibility. It will be removed in the future. Instead please use DELETE followed by xref:services-ssh_public_keys-methods-add[add operation].
21437
21576
  #
21438
21577
  # @param key [SshPublicKey] The `key` to update.
21439
21578
  # @param opts [Hash] Additional options.
@@ -22269,7 +22408,7 @@ module OvirtSDK4
22269
22408
  # ----
22270
22409
  #
22271
22410
  # Note that this operation is only applicable to block storage domains (i.e., storage domains with the
22272
- # <<types/storage_type, storage type> of iSCSI or FCP).
22411
+ # xref:types-storage_type[storage type] of iSCSI or FCP).
22273
22412
  #
22274
22413
  # @param opts [Hash] Additional options.
22275
22414
  #
@@ -22419,7 +22558,7 @@ module OvirtSDK4
22419
22558
  #
22420
22559
  # Updates a storage domain.
22421
22560
  #
22422
- # Not all of the <<types/storage_domain,StorageDomain>>'s attributes are updatable after creation. Those that can be
22561
+ # Not all of the xref:types-storage_domain[StorageDomain]'s attributes are updatable after creation. Those that can be
22423
22562
  # updated are: `name`, `description`, `comment`, `warning_low_space_indicator`, `critical_space_action_blocker` and
22424
22563
  # `wipe_after_delete.` (Note that changing the `wipe_after_delete` attribute will not change the wipe after delete
22425
22564
  # property of disks that already exist).
@@ -22793,7 +22932,7 @@ module OvirtSDK4
22793
22932
  # Copies a disk to the specified storage domain.
22794
22933
  #
22795
22934
  # IMPORTANT: Since version 4.2 of the engine this operation is deprecated, and preserved only for backwards
22796
- # compatibility. It will be removed in the future. To copy a disk use the <<services/disk/methods/copy, copy>>
22935
+ # compatibility. It will be removed in the future. To copy a disk use the xref:services-disk-methods-copy[copy]
22797
22936
  # operation of the service that manages that disk.
22798
22937
  #
22799
22938
  # @param opts [Hash] Additional options.
@@ -22825,7 +22964,7 @@ module OvirtSDK4
22825
22964
  # Exports a disk to an export storage domain.
22826
22965
  #
22827
22966
  # IMPORTANT: Since version 4.2 of the engine this operation is deprecated, and preserved only for backwards
22828
- # compatibility. It will be removed in the future. To export a disk use the <<services/disk/methods/export, export>>
22967
+ # compatibility. It will be removed in the future. To export a disk use the xref:services-disk-methods-export[export]
22829
22968
  # operation of the service that manages that disk.
22830
22969
  #
22831
22970
  # @param opts [Hash] Additional options.
@@ -22886,7 +23025,7 @@ module OvirtSDK4
22886
23025
  # Moves a disk to another storage domain.
22887
23026
  #
22888
23027
  # IMPORTANT: Since version 4.2 of the engine this operation is deprecated, and preserved only for backwards
22889
- # compatibility. It will be removed in the future. To move a disk use the <<services/disk/methods/move, move>>
23028
+ # compatibility. It will be removed in the future. To move a disk use the xref:services-disk-methods-move[move]
22890
23029
  # operation of the service that manages that disk.
22891
23030
  #
22892
23031
  # @param opts [Hash] Additional options.
@@ -22949,7 +23088,7 @@ module OvirtSDK4
22949
23088
  # Removes a disk.
22950
23089
  #
22951
23090
  # IMPORTANT: Since version 4.2 of the engine this operation is deprecated, and preserved only for backwards
22952
- # compatibility. It will be removed in the future. To remove a disk use the <<services/disk/methods/remove, remove>>
23091
+ # compatibility. It will be removed in the future. To remove a disk use the xref:services-disk-methods-remove[remove]
22953
23092
  # operation of the service that manages that disk.
22954
23093
  #
22955
23094
  # @param opts [Hash] Additional options.
@@ -22976,7 +23115,7 @@ module OvirtSDK4
22976
23115
  # Sparsify the disk.
22977
23116
  #
22978
23117
  # IMPORTANT: Since version 4.2 of the engine this operation is deprecated, and preserved only for backwards
22979
- # compatibility. It will be removed in the future. To remove a disk use the <<services/disk/methods/remove, remove>>
23118
+ # compatibility. It will be removed in the future. To remove a disk use the xref:services-disk-methods-remove[remove]
22980
23119
  # operation of the service that manages that disk.
22981
23120
  #
22982
23121
  # @param opts [Hash] Additional options.
@@ -23004,7 +23143,7 @@ module OvirtSDK4
23004
23143
  #
23005
23144
  # IMPORTANT: Since version 4.2 of the engine this operation is deprecated, and preserved only for backwards
23006
23145
  # compatibility. It will be removed in the future. To update a disk use the
23007
- # <<services/disk/methods/update, update>> operation of the service that manages that disk.
23146
+ # xref:services-disk-methods-update[update] operation of the service that manages that disk.
23008
23147
  #
23009
23148
  # @param disk [Disk] The update to apply to the disk.
23010
23149
  # @param opts [Hash] Additional options.
@@ -23082,9 +23221,9 @@ module OvirtSDK4
23082
23221
  # Adds or registers a disk.
23083
23222
  #
23084
23223
  # IMPORTANT: Since version 4.2 of the {engine-name} this operation is deprecated, and preserved only for backwards
23085
- # compatibility. It will be removed in the future. To add a new disk use the <<services/disks/methods/add, add>>
23224
+ # compatibility. It will be removed in the future. To add a new disk use the xref:services-disks-methods-add[add]
23086
23225
  # operation of the service that manages the disks of the system. To register an unregistered disk use the
23087
- # <<services/attached_storage_domain_disk/methods/register, register>> operation of the service that manages
23226
+ # xref:services-attached_storage_domain_disk-methods-register[register] operation of the service that manages
23088
23227
  # that disk.
23089
23228
  #
23090
23229
  # @param disk [Disk] The disk to add or register.
@@ -23537,7 +23676,7 @@ module OvirtSDK4
23537
23676
  #
23538
23677
  # WARNING: Please note that this attribute has been deprecated since version 4.2.1 of the engine, and preserved only for backward
23539
23678
  # compatibility. It will be removed in the future. To specify `vnic_profile_mappings` use the `vnic_profile_mappings`
23540
- # attribute inside the <<types/registration_configuration, RegistrationConfiguration>> type.
23679
+ # attribute inside the xref:types-registration_configuration[RegistrationConfiguration] type.
23541
23680
  #
23542
23681
  # @option opts [Hash] :headers ({}) Additional HTTP headers.
23543
23682
  #
@@ -23887,7 +24026,7 @@ module OvirtSDK4
23887
24026
  #
23888
24027
  # WARNING: Please note that this attribute has been deprecated since version 4.2.1 of the engine, and preserved only for backward
23889
24028
  # compatibility. It will be removed in the future. To specify `vnic_profile_mappings` use the `vnic_profile_mappings`
23890
- # attribute inside the <<types/registration_configuration, RegistrationConfiguration>> type.
24029
+ # attribute inside the xref:types-registration_configuration[RegistrationConfiguration] type.
23891
24030
  #
23892
24031
  # @option opts [Hash] :headers ({}) Additional HTTP headers.
23893
24032
  #
@@ -24182,7 +24321,7 @@ module OvirtSDK4
24182
24321
  #
24183
24322
  # Adds a new storage domain.
24184
24323
  #
24185
- # Creation of a new <<types/storage_domain,StorageDomain>> requires the `name`, `type`, `host`, and `storage`
24324
+ # Creation of a new xref:types-storage_domain[StorageDomain] requires the `name`, `type`, `host`, and `storage`
24186
24325
  # attributes. Identify the `host` attribute with the `id` or `name` attributes. In {product-name} 3.6 and
24187
24326
  # later you can enable the wipe after delete option by default on the storage domain. To configure this, specify
24188
24327
  # `wipe_after_delete` in the POST request. This option can be edited after the domain is created, but doing so will
@@ -25530,6 +25669,15 @@ module OvirtSDK4
25530
25669
  @external_host_providers_service ||= ExternalHostProvidersService.new(self, 'externalhostproviders')
25531
25670
  end
25532
25671
 
25672
+ #
25673
+ # Reference to service facilitating import of external templates.
25674
+ #
25675
+ # @return [ExternalTemplateImportsService] A reference to `external_template_imports` service.
25676
+ #
25677
+ def external_template_imports_service
25678
+ @external_template_imports_service ||= ExternalTemplateImportsService.new(self, 'externaltemplateimports')
25679
+ end
25680
+
25533
25681
  #
25534
25682
  # Reference to service facilitating import of external virtual machines.
25535
25683
  #
@@ -25860,6 +26008,12 @@ module OvirtSDK4
25860
26008
  if path.start_with?('externalhostproviders/')
25861
26009
  return external_host_providers_service.service(path[22..-1])
25862
26010
  end
26011
+ if path == 'externaltemplateimports'
26012
+ return external_template_imports_service
26013
+ end
26014
+ if path.start_with?('externaltemplateimports/')
26015
+ return external_template_imports_service.service(path[24..-1])
26016
+ end
25863
26017
  if path == 'externalvmimports'
25864
26018
  return external_vm_imports_service
25865
26019
  end
@@ -26044,37 +26198,46 @@ module OvirtSDK4
26044
26198
  #
26045
26199
  # Get the values of specific configuration option.
26046
26200
  #
26047
- # For example to retrieve the values of configuration option `MigrationPoliciesSupported` send a request like this:
26201
+ # For example to retrieve the values of configuration option `MigrationPolicies` send a request like this:
26048
26202
  #
26049
26203
  # [source]
26050
26204
  # ----
26051
- # GET /ovirt-engine/api/options/MigrationPoliciesSupported
26205
+ # GET /ovirt-engine/api/options/MigrationPolicies
26052
26206
  # ----
26053
26207
  #
26054
26208
  # The response to that request will be the following:
26055
26209
  #
26056
26210
  # [source,xml]
26057
26211
  # ----
26058
- # <system_option href="/ovirt-engine/api/options/MigrationPoliciesSupported" id="MigrationPoliciesSupported">
26059
- # <name>MigrationPoliciesSupported</name>
26060
- # <values>
26061
- # <system_option_value>
26062
- # <value>true</value>
26063
- # <version>4.0</version>
26064
- # </system_option_value>
26065
- # <system_option_value>
26066
- # <value>true</value>
26067
- # <version>4.1</version>
26068
- # </system_option_value>
26069
- # <system_option_value>
26070
- # <value>true</value>
26071
- # <version>4.2</version>
26072
- # </system_option_value>
26073
- # <system_option_value>
26074
- # <value>false</value>
26075
- # <version>3.6</version>
26076
- # </system_option_value>
26077
- # </values>
26212
+ # <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
26213
+ # <system_option href="/ovirt-engine/api/options/MigrationPolicies" id="MigrationPolicies">
26214
+ # <name>MigrationPolicies</name>
26215
+ # <values>
26216
+ # <system_option_value>
26217
+ # <value>[{"id":{"uuid":"80554327-0569-496b-bdeb-fcbbf52b827b"},...}]</value>
26218
+ # <version>4.2</version>
26219
+ # </system_option_value>
26220
+ # <system_option_value>
26221
+ # <value>[{"id":{"uuid":"80554327-0569-496b-bdeb-fcbbf52b827b"},...}]</value>
26222
+ # <version>4.3</version>
26223
+ # </system_option_value>
26224
+ # <system_option_value>
26225
+ # <value>[{"id":{"uuid":"80554327-0569-496b-bdeb-fcbbf52b827b"},...}]</value>
26226
+ # <version>4.4</version>
26227
+ # </system_option_value>
26228
+ # <system_option_value>
26229
+ # <value>[{"id":{"uuid":"80554327-0569-496b-bdeb-fcbbf52b827b"},...}]</value>
26230
+ # <version>4.5</version>
26231
+ # </system_option_value>
26232
+ # <system_option_value>
26233
+ # <value>[{"id":{"uuid":"80554327-0569-496b-bdeb-fcbbf52b827b"},...}]</value>
26234
+ # <version>4.6</version>
26235
+ # </system_option_value>
26236
+ # <system_option_value>
26237
+ # <value>[{"id":{"uuid":"80554327-0569-496b-bdeb-fcbbf52b827b"},...}]</value>
26238
+ # <version>4.7</version>
26239
+ # </system_option_value>
26240
+ # </values>
26078
26241
  # </system_option>
26079
26242
  # ----
26080
26243
  #
@@ -26097,26 +26260,26 @@ module OvirtSDK4
26097
26260
  # should be returned.
26098
26261
  # If this parameter isn't used then all the versions will be returned.
26099
26262
  #
26100
- # For example, to get the value of the `MigrationPoliciesSupported` option but only for version `4.2` send
26263
+ # For example, to get the value of the `MigrationPolicies` option but only for version `4.2` send
26101
26264
  # a request like this:
26102
26265
  #
26103
26266
  # [source]
26104
26267
  # ----
26105
- # GET /ovirt-engine/api/options/MigrationPoliciesSupported?version=4.2
26268
+ # GET /ovirt-engine/api/options/MigrationPolicies?version=4.2
26106
26269
  # ----
26107
26270
  #
26108
26271
  # The response to that request will be like this:
26109
26272
  #
26110
26273
  # [source,xml]
26111
26274
  # ----
26112
- # <system_option href="/ovirt-engine/api/options/MigrationPoliciesSupported" id="MigrationPoliciesSupported">
26113
- # <name>MigrationPoliciesSupported</name>
26114
- # <values>
26115
- # <system_option_value>
26116
- # <value>true</value>
26117
- # <version>4.2</version>
26118
- # </system_option_value>
26119
- # </values>
26275
+ # <system_option href="/ovirt-engine/api/options/MigrationPolicies" id="MigrationPolicies">
26276
+ # <name>MigrationPolicies</name>
26277
+ # <values>
26278
+ # <system_option_value>
26279
+ # <value>[{"id":{"uuid":"80554327-0569-496b-bdeb-fcbbf52b827b"},...}]</value>
26280
+ # <version>4.2</version>
26281
+ # </system_option_value>
26282
+ # </values>
26120
26283
  # </system_option>
26121
26284
  # ----
26122
26285
  #
@@ -26932,6 +27095,27 @@ module OvirtSDK4
26932
27095
  # </action>
26933
27096
  # ----
26934
27097
  #
27098
+ # Since version 4.2 of the engine it is also possible to export a template as a virtual appliance (OVA).
27099
+ # For example, to export template `123` as an OVA file named `myvm.ova` that is placed in the directory `/home/ovirt/` on host `myhost`:
27100
+ #
27101
+ # [source]
27102
+ # ----
27103
+ # POST /ovirt-engine/api/templates/123/export
27104
+ # ----
27105
+ #
27106
+ # With a request body like this:
27107
+ #
27108
+ # [source,xml]
27109
+ # ----
27110
+ # <action>
27111
+ # <host>
27112
+ # <name>myhost</name>
27113
+ # </host>
27114
+ # <directory>/home/ovirt</directory>
27115
+ # <filename>myvm.ova</filename>
27116
+ # </action>
27117
+ # ----
27118
+ #
26935
27119
  # @param opts [Hash] Additional options.
26936
27120
  #
26937
27121
  # @option opts [Boolean] :exclusive Indicates if the existing templates with the same name should be overwritten.
@@ -27180,6 +27364,15 @@ module OvirtSDK4
27180
27364
  @graphics_consoles_service ||= TemplateGraphicsConsolesService.new(self, 'graphicsconsoles')
27181
27365
  end
27182
27366
 
27367
+ #
27368
+ # Reference to the service that manages mediated devices associated with the template.
27369
+ #
27370
+ # @return [TemplateMediatedDevicesService] A reference to `mediated_devices` service.
27371
+ #
27372
+ def mediated_devices_service
27373
+ @mediated_devices_service ||= TemplateMediatedDevicesService.new(self, 'mediateddevices')
27374
+ end
27375
+
27183
27376
  #
27184
27377
  # Returns a reference to the service that manages the NICs that are associated with the template.
27185
27378
  #
@@ -27245,6 +27438,12 @@ module OvirtSDK4
27245
27438
  if path.start_with?('graphicsconsoles/')
27246
27439
  return graphics_consoles_service.service(path[17..-1])
27247
27440
  end
27441
+ if path == 'mediateddevices'
27442
+ return mediated_devices_service
27443
+ end
27444
+ if path.start_with?('mediateddevices/')
27445
+ return mediated_devices_service.service(path[16..-1])
27446
+ end
27248
27447
  if path == 'nics'
27249
27448
  return nics_service
27250
27449
  end
@@ -27911,6 +28110,238 @@ module OvirtSDK4
27911
28110
 
27912
28111
  end
27913
28112
 
28113
+ class TemplateMediatedDeviceService < Service
28114
+
28115
+ GET = [
28116
+ [:follow, String].freeze,
28117
+ ].freeze
28118
+
28119
+ private_constant :GET
28120
+
28121
+ #
28122
+ # Gets mediated device configuration of the template.
28123
+ #
28124
+ # @param opts [Hash] Additional options.
28125
+ #
28126
+ # @option opts [String] :follow Indicates which inner links should be _followed_. The objects referenced by these links will be fetched as part
28127
+ # of the current request. See <<documents/003_common_concepts/follow, here>> for details.
28128
+ #
28129
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
28130
+ #
28131
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
28132
+ #
28133
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
28134
+ # given then the timeout set globally for the connection will be used.
28135
+ #
28136
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
28137
+ #
28138
+ # @return [VmMediatedDevice]
28139
+ #
28140
+ def get(opts = {})
28141
+ internal_get(GET, opts)
28142
+ end
28143
+
28144
+ REMOVE = [
28145
+ [:async, TrueClass].freeze,
28146
+ ].freeze
28147
+
28148
+ private_constant :REMOVE
28149
+
28150
+ #
28151
+ # Remove the mediated device from the template.
28152
+ #
28153
+ # @param opts [Hash] Additional options.
28154
+ #
28155
+ # @option opts [Boolean] :async Indicates if the remove should be performed asynchronously.
28156
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
28157
+ #
28158
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
28159
+ #
28160
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
28161
+ # given then the timeout set globally for the connection will be used.
28162
+ #
28163
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
28164
+ #
28165
+ def remove(opts = {})
28166
+ internal_remove(REMOVE, opts)
28167
+ end
28168
+
28169
+ UPDATE = [
28170
+ [:async, TrueClass].freeze,
28171
+ ].freeze
28172
+
28173
+ private_constant :UPDATE
28174
+
28175
+ #
28176
+ # Updates the information about the mediated device.
28177
+ #
28178
+ # You can update the information using `specParams` element.
28179
+ #
28180
+ # For example, to update a mediated device, send a request like this:
28181
+ #
28182
+ # [source]
28183
+ # ----
28184
+ # PUT /ovirt-engine/api/templates/123/mediateddevices/00000000-0000-0000-0000-000000000000
28185
+ # <vm_mediated_device>
28186
+ # <spec_params>
28187
+ # <property>
28188
+ # <name>mdevType</name>
28189
+ # <value>nvidia-11</value>
28190
+ # </property>
28191
+ # </spec_params>
28192
+ # </vm_mediated_device>
28193
+ # ----
28194
+ #
28195
+ # with response body:
28196
+ #
28197
+ # [source,xml]
28198
+ # ----
28199
+ # <vm_mediated_device href="/ovirt-engine/api/templates/123/mediateddevices/00000000-0000-0000-0000-000000000000" id="00000000-0000-0000-0000-000000000000">
28200
+ # <template href="/ovirt-engine/api/templates/123" id="123"/>
28201
+ # <spec_params>
28202
+ # <property>
28203
+ # <name>mdevType</name>
28204
+ # <value>nvidia-11</value>
28205
+ # </property>
28206
+ # </spec_params>
28207
+ # </vm_mediated_device>
28208
+ # ----
28209
+ #
28210
+ # @param devices [VmMediatedDevice] The information about the mediated device.
28211
+ #
28212
+ # The request data must contain `specParams` properties.
28213
+ # The response data contains complete information about the
28214
+ # updated mediated device.
28215
+ # @param opts [Hash] Additional options.
28216
+ #
28217
+ # @option opts [Boolean] :async Indicates if the update should be performed asynchronously.
28218
+ #
28219
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
28220
+ #
28221
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
28222
+ #
28223
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
28224
+ # given then the timeout set globally for the connection will be used.
28225
+ #
28226
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
28227
+ #
28228
+ # @return [VmMediatedDevice]
28229
+ #
28230
+ def update(devices, opts = {})
28231
+ internal_update(devices, VmMediatedDevice, UPDATE, opts)
28232
+ end
28233
+
28234
+ #
28235
+ # Locates the service corresponding to the given path.
28236
+ #
28237
+ # @param path [String] The path of the service.
28238
+ #
28239
+ # @return [Service] A reference to the service.
28240
+ #
28241
+ def service(path)
28242
+ if path.nil? || path == ''
28243
+ return self
28244
+ end
28245
+ raise Error.new("The path \"#{path}\" doesn't correspond to any service")
28246
+ end
28247
+
28248
+ end
28249
+
28250
+ class TemplateMediatedDevicesService < Service
28251
+
28252
+ ADD = [
28253
+ ].freeze
28254
+
28255
+ private_constant :ADD
28256
+
28257
+ #
28258
+ # Add new mediated device to the template.
28259
+ #
28260
+ # @param device [VmMediatedDevice] The `device` to add.
28261
+ #
28262
+ # @param opts [Hash] Additional options.
28263
+ #
28264
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
28265
+ #
28266
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
28267
+ #
28268
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
28269
+ # given then the timeout set globally for the connection will be used.
28270
+ #
28271
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
28272
+ #
28273
+ # @return [VmMediatedDevice]
28274
+ #
28275
+ def add(device, opts = {})
28276
+ internal_add(device, VmMediatedDevice, ADD, opts)
28277
+ end
28278
+
28279
+ LIST = [
28280
+ [:follow, String].freeze,
28281
+ [:max, Integer].freeze,
28282
+ ].freeze
28283
+
28284
+ private_constant :LIST
28285
+
28286
+ #
28287
+ # Lists all the configured mediated devices of the template.
28288
+ #
28289
+ # The order of the returned list of mediated devices isn't guaranteed.
28290
+ #
28291
+ # @param opts [Hash] Additional options.
28292
+ #
28293
+ # @option opts [String] :follow Indicates which inner links should be _followed_. The objects referenced by these links will be fetched as part
28294
+ # of the current request. See <<documents/003_common_concepts/follow, here>> for details.
28295
+ #
28296
+ # @option opts [Integer] :max Sets the maximum number of mediated devices to return.
28297
+ # If not specified all the mediated devices are returned.
28298
+ #
28299
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
28300
+ #
28301
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
28302
+ #
28303
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
28304
+ # given then the timeout set globally for the connection will be used.
28305
+ #
28306
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
28307
+ #
28308
+ # @return [Array<VmMediatedDevice>]
28309
+ #
28310
+ def list(opts = {})
28311
+ internal_get(LIST, opts)
28312
+ end
28313
+
28314
+ #
28315
+ # Returns a reference to the service that manages a mediated device of a template.
28316
+ #
28317
+ # @param id [String] The identifier of the `device`.
28318
+ #
28319
+ # @return [TemplateMediatedDeviceService] A reference to the `device` service.
28320
+ #
28321
+ def device_service(id)
28322
+ TemplateMediatedDeviceService.new(self, id)
28323
+ end
28324
+
28325
+ #
28326
+ # Locates the service corresponding to the given path.
28327
+ #
28328
+ # @param path [String] The path of the service.
28329
+ #
28330
+ # @return [Service] A reference to the service.
28331
+ #
28332
+ def service(path)
28333
+ if path.nil? || path == ''
28334
+ return self
28335
+ end
28336
+ index = path.index('/')
28337
+ if index.nil?
28338
+ return device_service(path)
28339
+ end
28340
+ return device_service(path[0..(index - 1)]).service(path[(index + 1)..-1])
28341
+ end
28342
+
28343
+ end
28344
+
27914
28345
  class TemplateNicService < Service
27915
28346
 
27916
28347
  GET = [
@@ -28350,7 +28781,7 @@ module OvirtSDK4
28350
28781
  # original virtual machine. To do so use the `vm.disk_attachments` attribute, specifying the identifier of the disk
28351
28782
  # of the original virtual machine and the characteristics that you want to change. For example, if the original
28352
28783
  # virtual machine has a disk with the identifier `456`, and, for that disk, you want to change the name to `mydisk`
28353
- # the format to <<types/disk_format, _Copy On Write_>> and make it <<types/disk, sparse>>, send a request body like
28784
+ # the format to xref:types-disk_format[_Copy On Write_] and make it xref:types-disk[sparse], send a request body like
28354
28785
  # this:
28355
28786
  #
28356
28787
  # [source,xml]
@@ -29026,6 +29457,10 @@ module OvirtSDK4
29026
29457
  # </user>
29027
29458
  # ----
29028
29459
  #
29460
+ # IMPORTANT: Since version 4.4.5 of the engine this operation is deprecated, and preserved only for backwards
29461
+ # compatibility. It will be removed in the future. Please use the xref:services-user_option[options]
29462
+ # endpoint instead.
29463
+ #
29029
29464
  # @param user [User] The `user` to update.
29030
29465
  # @param opts [Hash] Additional options.
29031
29466
  #
@@ -29240,60 +29675,6 @@ module OvirtSDK4
29240
29675
  internal_remove(REMOVE, opts)
29241
29676
  end
29242
29677
 
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
29678
  #
29298
29679
  # Locates the service corresponding to the given path.
29299
29680
  #
@@ -29463,7 +29844,7 @@ module OvirtSDK4
29463
29844
  # ----
29464
29845
  #
29465
29846
  # In case you are working with Active Directory you have to pass user principal name (UPN) as `username`, followed
29466
- # by authorization provider name. Due to https://bugzilla.redhat.com/1147900[bug 1147900] you need to provide
29847
+ # by authorization provider name. Due to link:https://bugzilla.redhat.com/1147900[bug 1147900] you need to provide
29467
29848
  # also `principal` parameter set to UPN of the user.
29468
29849
  #
29469
29850
  # For example, to add the user with UPN `myuser@mysubdomain.mydomain.com` from the `myextension-authz`
@@ -29778,6 +30159,9 @@ module OvirtSDK4
29778
30159
  #
29779
30160
  # Apply an automatic CPU and NUMA configuration on the VM.
29780
30161
  #
30162
+ # IMPORTANT: Since version 4.5 of the engine this operation is deprecated, and preserved only for backwards
30163
+ # compatibility. It will be removed in the future. Instead please use PUT followed by xref:services-vm-methods-update[update operation].
30164
+ #
29781
30165
  # An example for a request:
29782
30166
  # [source]
29783
30167
  # ----
@@ -29898,7 +30282,7 @@ module OvirtSDK4
29898
30282
  #
29899
30283
  # Permanently restores the virtual machine to the state of the previewed snapshot.
29900
30284
  #
29901
- # See the <<services/vm/methods/preview_snapshot, preview_snapshot>> operation for details.
30285
+ # See the xref:services-vm-methods-preview_snapshot[preview_snapshot] operation for details.
29902
30286
  #
29903
30287
  # @param opts [Hash] Additional options.
29904
30288
  #
@@ -30333,8 +30717,8 @@ module OvirtSDK4
30333
30717
  #
30334
30718
  # The snapshot is indicated with the `snapshot.id` parameter. It is restored temporarily, so that the content can
30335
30719
  # be inspected. Once that inspection is finished, the state of the virtual machine can be made permanent, using the
30336
- # <<services/vm/methods/commit_snapshot, commit_snapshot>> method, or discarded using the
30337
- # <<services/vm/methods/undo_snapshot, undo_snapshot>> method.
30720
+ # xref:services-vm-methods-commit_snapshot[commit_snapshot] method, or discarded using the
30721
+ # xref:services-vm-methods-undo_snapshot[undo_snapshot] method.
30338
30722
  #
30339
30723
  # @param opts [Hash] Additional options.
30340
30724
  #
@@ -30519,6 +30903,87 @@ module OvirtSDK4
30519
30903
  internal_action(:reordermacaddresses, nil, REORDER_MAC_ADDRESSES, opts)
30520
30904
  end
30521
30905
 
30906
+ RESET = [
30907
+ [:async, TrueClass].freeze,
30908
+ ].freeze
30909
+
30910
+ private_constant :RESET
30911
+
30912
+ #
30913
+ # Sends a reset request to a virtual machine.
30914
+ #
30915
+ # For example:
30916
+ #
30917
+ # [source]
30918
+ # ----
30919
+ # POST /ovirt-engine/api/vms/123/reset
30920
+ # ----
30921
+ #
30922
+ # The reset action does not take any action specific parameters; therefore, the request body should contain an
30923
+ # empty `action`:
30924
+ #
30925
+ # [source,xml]
30926
+ # ----
30927
+ # <action/>
30928
+ # ----
30929
+ #
30930
+ # @param opts [Hash] Additional options.
30931
+ #
30932
+ # @option opts [Boolean] :async Indicates if the reset should be performed asynchronously.
30933
+ #
30934
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
30935
+ #
30936
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
30937
+ #
30938
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
30939
+ # given then the timeout set globally for the connection will be used.
30940
+ #
30941
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
30942
+ #
30943
+ def reset(opts = {})
30944
+ internal_action(:reset, nil, RESET, opts)
30945
+ end
30946
+
30947
+ SCREENSHOT = [
30948
+ ].freeze
30949
+
30950
+ private_constant :SCREENSHOT
30951
+
30952
+ #
30953
+ # Captures screenshot of the current state of the VM.
30954
+ #
30955
+ # For example:
30956
+ #
30957
+ # [source]
30958
+ # ----
30959
+ # POST /ovirt-engine/api/vms/123/screenshot
30960
+ # ----
30961
+ #
30962
+ # The screenshot action does not take any action specific parameters; therefore, the request body should contain an
30963
+ # empty `action`:
30964
+ #
30965
+ # [source,xml]
30966
+ # ----
30967
+ # <action/>
30968
+ #
30969
+ #
30970
+ # ----
30971
+ #
30972
+ # @param opts [Hash] Additional options.
30973
+ #
30974
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
30975
+ #
30976
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
30977
+ #
30978
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
30979
+ # given then the timeout set globally for the connection will be used.
30980
+ #
30981
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
30982
+ #
30983
+ def screenshot(opts = {})
30984
+ internal_action(:screenshot, nil, SCREENSHOT, opts)
30985
+ end
30986
+
30522
30987
  SHUTDOWN = [
30523
30988
  [:async, TrueClass].freeze,
30524
30989
  [:force, TrueClass].freeze,
@@ -30630,10 +31095,10 @@ module OvirtSDK4
30630
31095
  # @option opts [Boolean] :pause If set to `true`, start the virtual machine in paused mode. The default is `false`.
30631
31096
  #
30632
31097
  # @option opts [Boolean] :use_cloud_init If set to `true`, the initialization type is set to _cloud-init_. The default value is `false`.
30633
- # See https://cloudinit.readthedocs.io/en/latest[this] for details.
31098
+ # See link:https://cloudinit.readthedocs.io/en/latest[cloud-init documentation] for details.
30634
31099
  #
30635
31100
  # @option opts [Boolean] :use_ignition If set to `true`, the initialization type is set to _Ignition_. The default value is `false`.
30636
- # See https://coreos.com/ignition/docs/latest/[this] for details.
31101
+ # See link:https://coreos.com/ignition/docs/latest/[Ignition documentation] for details.
30637
31102
  #
30638
31103
  # @option opts [Boolean] :use_initialization If set to `true`, the initialization type is set by the VM's OS.
30639
31104
  # Windows will set to _Sysprep_, Linux to _cloud-init_ and RedHat CoreOS to _Ignition_.
@@ -30642,7 +31107,7 @@ module OvirtSDK4
30642
31107
  # The default value is `false`.
30643
31108
  #
30644
31109
  # @option opts [Boolean] :use_sysprep If set to `true`, the initialization type is set to _Sysprep_. The default value is `false`.
30645
- # See https://en.wikipedia.org/wiki/Sysprep[this] for details.
31110
+ # See link:https://en.wikipedia.org/wiki/Sysprep[Sysprep] for details.
30646
31111
  #
30647
31112
  # @option opts [Vm] :vm The definition of the virtual machine for this specific run.
30648
31113
  #
@@ -30871,8 +31336,8 @@ module OvirtSDK4
30871
31336
  # the SPICE protocol.
30872
31337
  #
30873
31338
  # In order to obtain an authentication token for a specific protocol, for
30874
- # example for VNC, use the `ticket` method of the <<services/vm_graphics_console,
30875
- # service>>, which manages the graphics consoles of the virtual machine, by sending
31339
+ # example for VNC, use the `ticket` method of the
31340
+ # xref:services-vm_graphics_console[service], which manages the graphics consoles of the virtual machine, by sending
30876
31341
  # a request:
30877
31342
  #
30878
31343
  # [source]
@@ -30995,7 +31460,7 @@ module OvirtSDK4
30995
31460
  #
30996
31461
  # Restores the virtual machine to the state it had before previewing the snapshot.
30997
31462
  #
30998
- # See the <<services/vm/methods/preview_snapshot, preview_snapshot>> operation for details.
31463
+ # See the xref:services-vm-methods-preview_snapshot[preview_snapshot] operation for details.
30999
31464
  #
31000
31465
  # @param opts [Hash] Additional options.
31001
31466
  #
@@ -31130,6 +31595,15 @@ module OvirtSDK4
31130
31595
  @katello_errata_service ||= KatelloErrataService.new(self, 'katelloerrata')
31131
31596
  end
31132
31597
 
31598
+ #
31599
+ # Reference to the service that manages mediated devices associated with the VM.
31600
+ #
31601
+ # @return [VmMediatedDevicesService] A reference to `mediated_devices` service.
31602
+ #
31603
+ def mediated_devices_service
31604
+ @mediated_devices_service ||= VmMediatedDevicesService.new(self, 'mediateddevices')
31605
+ end
31606
+
31133
31607
  #
31134
31608
  # Locates the `nics` service.
31135
31609
  #
@@ -31276,6 +31750,12 @@ module OvirtSDK4
31276
31750
  if path.start_with?('katelloerrata/')
31277
31751
  return katello_errata_service.service(path[14..-1])
31278
31752
  end
31753
+ if path == 'mediateddevices'
31754
+ return mediated_devices_service
31755
+ end
31756
+ if path.start_with?('mediateddevices/')
31757
+ return mediated_devices_service.service(path[16..-1])
31758
+ end
31279
31759
  if path == 'nics'
31280
31760
  return nics_service
31281
31761
  end
@@ -31466,6 +31946,20 @@ module OvirtSDK4
31466
31946
  # Finalize the virtual machine backup entity.
31467
31947
  #
31468
31948
  # End backup, unlock resources, and perform cleanups.
31949
+ # To finalize a virtual machine with an id '123' and a backup with an id '456'
31950
+ # send a request as follows:
31951
+ #
31952
+ # [source]
31953
+ # ----
31954
+ # POST /ovirt-engine/api/vms/123/backups/456/finalize
31955
+ # ----
31956
+ #
31957
+ # With a request body as follows:
31958
+ #
31959
+ # [source,xml]
31960
+ # ----
31961
+ # <action />
31962
+ # ----
31469
31963
  #
31470
31964
  # @param opts [Hash] Additional options.
31471
31965
  #
@@ -31658,6 +32152,7 @@ module OvirtSDK4
31658
32152
 
31659
32153
  ADD = [
31660
32154
  [:require_consistency, TrueClass].freeze,
32155
+ [:use_active, TrueClass].freeze,
31661
32156
  ].freeze
31662
32157
 
31663
32158
  private_constant :ADD
@@ -31703,6 +32198,26 @@ module OvirtSDK4
31703
32198
  # </backup>
31704
32199
  # ----
31705
32200
  #
32201
+ # To provide the ID of the created backup, send a request like this:
32202
+ #
32203
+ # [source]
32204
+ # ----
32205
+ # POST /ovirt-engine/api/vms/123/backups
32206
+ # ----
32207
+ #
32208
+ # With a request body like this:
32209
+ #
32210
+ # [source,xml]
32211
+ # ----
32212
+ # <backup id="backup-uuid">
32213
+ # <from_checkpoint_id>previous-checkpoint-uuid</from_checkpoint_id>
32214
+ # <disks>
32215
+ # <disk id="disk-uuid" />
32216
+ # ...
32217
+ # </disks>
32218
+ # </backup>
32219
+ # ----
32220
+ #
31706
32221
  # @param backup [Backup] The information about the virtual machine backup entity.
31707
32222
  #
31708
32223
  # @param opts [Hash] Additional options.
@@ -31720,6 +32235,18 @@ module OvirtSDK4
31720
32235
  #
31721
32236
  # The default value of the requireConsistency flag is `false`.
31722
32237
  #
32238
+ # @option opts [Boolean] :use_active Indicate whether to use the active volume for performing the backup.
32239
+ #
32240
+ # If useActive=False a snapshot will be created for the backup operation.
32241
+ #
32242
+ # The REST API call should look like this:
32243
+ #
32244
+ # ....
32245
+ # POST /ovirt-engine/api/vms/123/backups?use_active=false
32246
+ # ....
32247
+ #
32248
+ # The default value of the useActive flag is `false`.
32249
+ #
31723
32250
  # @option opts [Hash] :headers ({}) Additional HTTP headers.
31724
32251
  #
31725
32252
  # @option opts [Hash] :query ({}) Additional URL query parameters.
@@ -31894,7 +32421,7 @@ module OvirtSDK4
31894
32421
  # ----
31895
32422
  #
31896
32423
  # By default the above operations change permanently the disk that will be visible to the virtual machine
31897
- # after the next boot, but they don't have any effect on the currently running virtual machine. If you want
32424
+ # after the next boot, but they do not have any effect on the currently running virtual machine. If you want
31898
32425
  # to change the disk that is visible to the current running virtual machine, add the `current=true` parameter.
31899
32426
  # For example, to eject the current disk send a request like this:
31900
32427
  #
@@ -32260,6 +32787,13 @@ module OvirtSDK4
32260
32787
  #
32261
32788
  # The list of virtual machine checkpoints.
32262
32789
  #
32790
+ # To get a list of checkpoints for a virtual machine with an id '123', send a request as follows:
32791
+ #
32792
+ # [source]
32793
+ # ----
32794
+ # GET /ovirt-engine/api/vms/123/checkpoints
32795
+ # ----
32796
+ #
32263
32797
  # @param opts [Hash] Additional options.
32264
32798
  #
32265
32799
  # @option opts [String] :follow Indicates which inner links should be _followed_. The objects referenced by these links will be fetched as part
@@ -32495,8 +33029,7 @@ module OvirtSDK4
32495
33029
  # Detach the disk from the virtual machine.
32496
33030
  #
32497
33031
  # NOTE: In version 3 of the API this used to also remove the disk completely from the system, but starting with
32498
- # version 4 it doesn't. If you need to remove it completely use the <<services/disk/methods/remove,remove
32499
- # method of the top level disk service>>.
33032
+ # version 4 it doesn't. If you need to remove it completely use the xref:services-disk-methods-remove[remove method of the top level disk service].
32500
33033
  #
32501
33034
  # @param opts [Hash] Additional options.
32502
33035
  #
@@ -33204,7 +33737,7 @@ module OvirtSDK4
33204
33737
  # POST /ovirt-engine/api/vms/123/hostdevices
33205
33738
  # ----
33206
33739
  #
33207
- # With request body of type <<types/host_device,HostDevice>>, for example
33740
+ # With request body of type xref:types-host_device[HostDevice], for example
33208
33741
  #
33209
33742
  # [source,xml]
33210
33743
  # ----
@@ -33216,7 +33749,7 @@ module OvirtSDK4
33216
33749
  #
33217
33750
  # NOTE: Attachment of a PCI device that is part of a bigger IOMMU group will result in attachment of the remaining
33218
33751
  # devices from that IOMMU group as "placeholders". These devices are then identified using the `placeholder`
33219
- # attribute of the <<types/host_device,HostDevice>> type set to `true`.
33752
+ # attribute of the xref:types-host_device[HostDevice] type set to `true`.
33220
33753
  #
33221
33754
  # In case you want attach a device that already serves as an IOMMU placeholder, simply issue an explicit Add operation
33222
33755
  # for it, and its `placeholder` flag will be cleared, and the device will be accessible to the virtual machine.
@@ -33305,6 +33838,238 @@ module OvirtSDK4
33305
33838
 
33306
33839
  end
33307
33840
 
33841
+ class VmMediatedDeviceService < Service
33842
+
33843
+ GET = [
33844
+ [:follow, String].freeze,
33845
+ ].freeze
33846
+
33847
+ private_constant :GET
33848
+
33849
+ #
33850
+ # Retrieves the configuration of mediated devices in the virtual machine.
33851
+ #
33852
+ # @param opts [Hash] Additional options.
33853
+ #
33854
+ # @option opts [String] :follow Indicates which inner links should be _followed_. The objects referenced by these links will be fetched as part
33855
+ # of the current request. See <<documents/003_common_concepts/follow, here>> for details.
33856
+ #
33857
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
33858
+ #
33859
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
33860
+ #
33861
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
33862
+ # given then the timeout set globally for the connection will be used.
33863
+ #
33864
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
33865
+ #
33866
+ # @return [VmMediatedDevice]
33867
+ #
33868
+ def get(opts = {})
33869
+ internal_get(GET, opts)
33870
+ end
33871
+
33872
+ REMOVE = [
33873
+ [:async, TrueClass].freeze,
33874
+ ].freeze
33875
+
33876
+ private_constant :REMOVE
33877
+
33878
+ #
33879
+ # Remove the mediated device from the virtual machine.
33880
+ #
33881
+ # @param opts [Hash] Additional options.
33882
+ #
33883
+ # @option opts [Boolean] :async Indicates if the remove should be performed asynchronously.
33884
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
33885
+ #
33886
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
33887
+ #
33888
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
33889
+ # given then the timeout set globally for the connection will be used.
33890
+ #
33891
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
33892
+ #
33893
+ def remove(opts = {})
33894
+ internal_remove(REMOVE, opts)
33895
+ end
33896
+
33897
+ UPDATE = [
33898
+ [:async, TrueClass].freeze,
33899
+ ].freeze
33900
+
33901
+ private_constant :UPDATE
33902
+
33903
+ #
33904
+ # Updates the information about the mediated device.
33905
+ #
33906
+ # You can update the information using `specParams` element.
33907
+ #
33908
+ # For example, to update a mediated device, send a request like this:
33909
+ #
33910
+ # [source]
33911
+ # ----
33912
+ # PUT /ovirt-engine/api/vms/123/mediateddevices/00000000-0000-0000-0000-000000000000
33913
+ # <vm_mediated_device>
33914
+ # <spec_params>
33915
+ # <property>
33916
+ # <name>mdevType</name>
33917
+ # <value>nvidia-11</value>
33918
+ # </property>
33919
+ # </spec_params>
33920
+ # </vm_mediated_device>
33921
+ # ----
33922
+ #
33923
+ # with response body:
33924
+ #
33925
+ # [source,xml]
33926
+ # ----
33927
+ # <vm_mediated_device href="/ovirt-engine/api/vms/123/mediateddevices/00000000-0000-0000-0000-000000000000" id="00000000-0000-0000-0000-000000000000">
33928
+ # <vm href="/ovirt-engine/api/vms/123" id="123"/>
33929
+ # <spec_params>
33930
+ # <property>
33931
+ # <name>mdevType</name>
33932
+ # <value>nvidia-11</value>
33933
+ # </property>
33934
+ # </spec_params>
33935
+ # </vm_mediated_device>
33936
+ # ----
33937
+ #
33938
+ # @param device [VmMediatedDevice] The information about the mediated device.
33939
+ #
33940
+ # The request data must contain `specParams` properties.
33941
+ # The response data contains complete information about the
33942
+ # updated mediated device.
33943
+ # @param opts [Hash] Additional options.
33944
+ #
33945
+ # @option opts [Boolean] :async Indicates if the update should be performed asynchronously.
33946
+ #
33947
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
33948
+ #
33949
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
33950
+ #
33951
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
33952
+ # given then the timeout set globally for the connection will be used.
33953
+ #
33954
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
33955
+ #
33956
+ # @return [VmMediatedDevice]
33957
+ #
33958
+ def update(device, opts = {})
33959
+ internal_update(device, VmMediatedDevice, UPDATE, opts)
33960
+ end
33961
+
33962
+ #
33963
+ # Locates the service corresponding to the given path.
33964
+ #
33965
+ # @param path [String] The path of the service.
33966
+ #
33967
+ # @return [Service] A reference to the service.
33968
+ #
33969
+ def service(path)
33970
+ if path.nil? || path == ''
33971
+ return self
33972
+ end
33973
+ raise Error.new("The path \"#{path}\" doesn't correspond to any service")
33974
+ end
33975
+
33976
+ end
33977
+
33978
+ class VmMediatedDevicesService < Service
33979
+
33980
+ ADD = [
33981
+ ].freeze
33982
+
33983
+ private_constant :ADD
33984
+
33985
+ #
33986
+ # Add a new mediated device to the virtual machine.
33987
+ #
33988
+ # @param device [VmMediatedDevice] The `device` to add.
33989
+ #
33990
+ # @param opts [Hash] Additional options.
33991
+ #
33992
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
33993
+ #
33994
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
33995
+ #
33996
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
33997
+ # given then the timeout set globally for the connection will be used.
33998
+ #
33999
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
34000
+ #
34001
+ # @return [VmMediatedDevice]
34002
+ #
34003
+ def add(device, opts = {})
34004
+ internal_add(device, VmMediatedDevice, ADD, opts)
34005
+ end
34006
+
34007
+ LIST = [
34008
+ [:follow, String].freeze,
34009
+ [:max, Integer].freeze,
34010
+ ].freeze
34011
+
34012
+ private_constant :LIST
34013
+
34014
+ #
34015
+ # Lists all the configured mediated devices of the virtual machine.
34016
+ #
34017
+ # The order of the returned list of mediated devices is not guaranteed.
34018
+ #
34019
+ # @param opts [Hash] Additional options.
34020
+ #
34021
+ # @option opts [String] :follow Indicates which inner links should be _followed_. The objects referenced by these links will be fetched as part
34022
+ # of the current request. See <<documents/003_common_concepts/follow, here>> for details.
34023
+ #
34024
+ # @option opts [Integer] :max Sets the maximum number of mediated devices to return.
34025
+ # If not specified all the mediated devices are returned.
34026
+ #
34027
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
34028
+ #
34029
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
34030
+ #
34031
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
34032
+ # given then the timeout set globally for the connection will be used.
34033
+ #
34034
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
34035
+ #
34036
+ # @return [Array<VmMediatedDevice>]
34037
+ #
34038
+ def list(opts = {})
34039
+ internal_get(LIST, opts)
34040
+ end
34041
+
34042
+ #
34043
+ # Returns a reference to the service that manages a mediated device of a virtual machine.
34044
+ #
34045
+ # @param id [String] The identifier of the `device`.
34046
+ #
34047
+ # @return [VmMediatedDeviceService] A reference to the `device` service.
34048
+ #
34049
+ def device_service(id)
34050
+ VmMediatedDeviceService.new(self, id)
34051
+ end
34052
+
34053
+ #
34054
+ # Locates the service corresponding to the given path.
34055
+ #
34056
+ # @param path [String] The path of the service.
34057
+ #
34058
+ # @return [Service] A reference to the service.
34059
+ #
34060
+ def service(path)
34061
+ if path.nil? || path == ''
34062
+ return self
34063
+ end
34064
+ index = path.index('/')
34065
+ if index.nil?
34066
+ return device_service(path)
34067
+ end
34068
+ return device_service(path[0..(index - 1)]).service(path[(index + 1)..-1])
34069
+ end
34070
+
34071
+ end
34072
+
33308
34073
  class VmNicService < MeasurableService
33309
34074
 
33310
34075
  ACTIVATE = [
@@ -33493,7 +34258,7 @@ module OvirtSDK4
33493
34258
  #
33494
34259
  # Reference to the service that manages the network filter parameters of the NIC.
33495
34260
  #
33496
- # A single top-level network filter may assigned to the NIC by the NIC's <<types/vnic_profile,vNIC Profile>>.
34261
+ # A single top-level network filter may assigned to the NIC by the NIC's xref:types-vnic_profile[vNIC Profile].
33497
34262
  #
33498
34263
  # @return [NicNetworkFilterParametersService] A reference to `network_filter_parameters` service.
33499
34264
  #
@@ -34077,6 +34842,7 @@ module OvirtSDK4
34077
34842
 
34078
34843
  UPDATE = [
34079
34844
  [:async, TrueClass].freeze,
34845
+ [:seal, TrueClass].freeze,
34080
34846
  ].freeze
34081
34847
 
34082
34848
  private_constant :UPDATE
@@ -34109,6 +34875,33 @@ module OvirtSDK4
34109
34875
  #
34110
34876
  # @option opts [Boolean] :async Indicates if the update should be performed asynchronously.
34111
34877
  #
34878
+ # @option opts [Boolean] :seal Specifies if virtual machines created for the pool should be sealed after creation.
34879
+ #
34880
+ # If this optional parameter is provided, and its value is `true`, virtual machines created for the pool
34881
+ # will be sealed after creation. If the value is 'false', the virtual machines will not be sealed.
34882
+ # If the parameter is not provided, the virtual machines will be sealed, only if they are created from
34883
+ # a sealed template and their guest OS is not set to Windows. This parameter affects only the virtual machines
34884
+ # created when the pool is updated.
34885
+ #
34886
+ # For example, to update a virtual machine pool and to seal the additional virtual machines that are created,
34887
+ # send a request like this:
34888
+ #
34889
+ # [source]
34890
+ # ----
34891
+ # PUT /ovirt-engine/api/vmpools/123?seal=true
34892
+ # ----
34893
+ #
34894
+ # With the following body:
34895
+ #
34896
+ # [source,xml]
34897
+ # ----
34898
+ # <vmpool>
34899
+ # <name>VM_Pool_B</name>
34900
+ # <description>Virtual Machine Pool B</description>
34901
+ # <size>7</size>
34902
+ # </vmpool>
34903
+ # ----
34904
+ #
34112
34905
  # @option opts [Hash] :headers ({}) Additional HTTP headers.
34113
34906
  #
34114
34907
  # @option opts [Hash] :query ({}) Additional URL query parameters.
@@ -34158,6 +34951,7 @@ module OvirtSDK4
34158
34951
  class VmPoolsService < Service
34159
34952
 
34160
34953
  ADD = [
34954
+ [:seal, TrueClass].freeze,
34161
34955
  ].freeze
34162
34956
 
34163
34957
  private_constant :ADD
@@ -34188,6 +34982,34 @@ module OvirtSDK4
34188
34982
  #
34189
34983
  # @param opts [Hash] Additional options.
34190
34984
  #
34985
+ # @option opts [Boolean] :seal Specifies if virtual machines created for the pool should be sealed after creation.
34986
+ #
34987
+ # If this optional parameter is provided, and its value is `true`, virtual machines created for the pool
34988
+ # will be sealed after creation. If the value is 'false', the virtual machines will not be sealed.
34989
+ # If the parameter is not provided, the virtual machines will be sealed, only if they are created from
34990
+ # a sealed template and their guest OS is not set to Windows. This parameter affects only the virtual machines
34991
+ # created when the pool is created.
34992
+ #
34993
+ # For example, to create a virtual machine pool with 5 virtual machines and to seal them, send a request
34994
+ # like this:
34995
+ #
34996
+ # [source]
34997
+ # ----
34998
+ # POST /ovirt-engine/api/vmpools?seal=true
34999
+ # ----
35000
+ #
35001
+ # With the following body:
35002
+ #
35003
+ # [source,xml]
35004
+ # ----
35005
+ # <vmpool>
35006
+ # <name>mypool</name>
35007
+ # <cluster id="123"/>
35008
+ # <template id="456"/>
35009
+ # <size>5</size>
35010
+ # </vmpool>
35011
+ # ----
35012
+ #
34191
35013
  # @option opts [Hash] :headers ({}) Additional HTTP headers.
34192
35014
  #
34193
35015
  # @option opts [Hash] :query ({}) Additional URL query parameters.
@@ -34810,6 +35632,7 @@ module OvirtSDK4
34810
35632
  [:clone, TrueClass].freeze,
34811
35633
  [:clone_permissions, TrueClass].freeze,
34812
35634
  [:filter, TrueClass].freeze,
35635
+ [:seal, TrueClass].freeze,
34813
35636
  ].freeze
34814
35637
 
34815
35638
  private_constant :ADD
@@ -34950,7 +35773,7 @@ module OvirtSDK4
34950
35773
  # ----
34951
35774
  #
34952
35775
  # In order to boot from CDROM, you first need to insert a disk, as described in the
34953
- # <<services/vm_cdrom, CDROM service>>. Then booting from that CDROM can be specified using the `os.boot.devices`
35776
+ # xref:services-vm_cdrom[CDROM service]. Then booting from that CDROM can be specified using the `os.boot.devices`
34954
35777
  # attribute:
34955
35778
  #
34956
35779
  # [source,xml]
@@ -34976,7 +35799,7 @@ module OvirtSDK4
34976
35799
  # @option opts [Boolean] :clone Specifies if the virtual machine should be independent of the template.
34977
35800
  #
34978
35801
  # When a virtual machine is created from a template by default the disks of the virtual machine depend on
34979
- # the disks of the template, they are using the https://en.wikipedia.org/wiki/Copy-on-write[_copy on write_]
35802
+ # the disks of the template, they are using the link:https://en.wikipedia.org/wiki/Copy-on-write[_copy on write_]
34980
35803
  # mechanism so that only the differences from the template take up real storage space. If this parameter is
34981
35804
  # specified and the value is `true` then the disks of the created virtual machine will be _cloned_, and
34982
35805
  # independent of the template. For example, to create an independent virtual machine, send a request like this:
@@ -35039,6 +35862,36 @@ module OvirtSDK4
35039
35862
  # Machine will fail unless the Virtual Machine has been previously created by the admin as
35040
35863
  # a user (meaning with filter=true).
35041
35864
  #
35865
+ # @option opts [Boolean] :seal Specifies if the virtual machine should be sealed after creation.
35866
+ #
35867
+ # If this optional parameter is provided, and its value is `true`, the virtual machine will be sealed after
35868
+ # creation. If the value is 'false', the virtual machine will not be sealed. If the parameter is not provided,
35869
+ # the virtual machine will be sealed, only if it is created from a sealed template and its guest OS is not set
35870
+ # to Windows.
35871
+ #
35872
+ # For example, to create a virtual machine from the `mytemplate` template and to seal it, send a request
35873
+ # like this:
35874
+ #
35875
+ # [source]
35876
+ # ----
35877
+ # POST /ovirt-engine/api/vms?seal=true
35878
+ # ----
35879
+ #
35880
+ # With a request body like this:
35881
+ #
35882
+ # [source,xml]
35883
+ # ----
35884
+ # <vm>
35885
+ # <name>myvm<name>
35886
+ # <template>
35887
+ # <name>mytemplate<name>
35888
+ # </template>
35889
+ # <cluster>
35890
+ # <name>mycluster<name>
35891
+ # </cluster>
35892
+ # </vm>
35893
+ # ----
35894
+ #
35042
35895
  # @option opts [Hash] :headers ({}) Additional HTTP headers.
35043
35896
  #
35044
35897
  # @option opts [Hash] :query ({}) Additional URL query parameters.
@@ -35058,6 +35911,7 @@ module OvirtSDK4
35058
35911
  [:clone, TrueClass].freeze,
35059
35912
  [:clone_permissions, TrueClass].freeze,
35060
35913
  [:filter, TrueClass].freeze,
35914
+ [:seal, TrueClass].freeze,
35061
35915
  ].freeze
35062
35916
 
35063
35917
  private_constant :ADD_FROM_CONFIGURATION
@@ -35072,7 +35926,7 @@ module OvirtSDK4
35072
35926
  # @option opts [Boolean] :clone Specifies if the virtual machine should be independent of the template.
35073
35927
  #
35074
35928
  # When a virtual machine is created from a template by default the disks of the virtual machine depend on
35075
- # the disks of the template, they are using the https://en.wikipedia.org/wiki/Copy-on-write[_copy on write_]
35929
+ # the disks of the template, they are using the link:https://en.wikipedia.org/wiki/Copy-on-write[_copy on write_]
35076
35930
  # mechanism so that only the differences from the template take up real storage space. If this parameter is
35077
35931
  # specified and the value is `true` then the disks of the created virtual machine will be _cloned_, and
35078
35932
  # independent of the template. For example, to create an independent virtual machine, send a request like this:
@@ -35135,6 +35989,36 @@ module OvirtSDK4
35135
35989
  # Machine will fail unless the Virtual Machine has been previously created by the admin as
35136
35990
  # a user (meaning with filter=true).
35137
35991
  #
35992
+ # @option opts [Boolean] :seal Specifies if the virtual machine should be sealed after creation.
35993
+ #
35994
+ # If this optional parameter is provided, and its value is `true`, the virtual machine will be sealed after
35995
+ # creation. If the value is 'false', the virtual machine will not be sealed. If the parameter is not provided,
35996
+ # the virtual machine will be sealed, only if it is created from a sealed template and its guest OS is not set
35997
+ # to Windows.
35998
+ #
35999
+ # For example, to create a virtual machine from the `mytemplate` template and to seal it, send a request
36000
+ # like this:
36001
+ #
36002
+ # [source]
36003
+ # ----
36004
+ # POST /ovirt-engine/api/vms?seal=true
36005
+ # ----
36006
+ #
36007
+ # With a request body like this:
36008
+ #
36009
+ # [source,xml]
36010
+ # ----
36011
+ # <vm>
36012
+ # <name>myvm<name>
36013
+ # <template>
36014
+ # <name>mytemplate<name>
36015
+ # </template>
36016
+ # <cluster>
36017
+ # <name>mycluster<name>
36018
+ # </cluster>
36019
+ # </vm>
36020
+ # ----
36021
+ #
35138
36022
  # @option opts [Hash] :headers ({}) Additional HTTP headers.
35139
36023
  #
35140
36024
  # @option opts [Hash] :query ({}) Additional URL query parameters.
@@ -35154,6 +36038,7 @@ module OvirtSDK4
35154
36038
  [:clone, TrueClass].freeze,
35155
36039
  [:clone_permissions, TrueClass].freeze,
35156
36040
  [:filter, TrueClass].freeze,
36041
+ [:seal, TrueClass].freeze,
35157
36042
  ].freeze
35158
36043
 
35159
36044
  private_constant :ADD_FROM_SCRATCH
@@ -35168,7 +36053,7 @@ module OvirtSDK4
35168
36053
  # @option opts [Boolean] :clone Specifies if the virtual machine should be independent of the template.
35169
36054
  #
35170
36055
  # When a virtual machine is created from a template by default the disks of the virtual machine depend on
35171
- # the disks of the template, they are using the https://en.wikipedia.org/wiki/Copy-on-write[_copy on write_]
36056
+ # the disks of the template, they are using the link:https://en.wikipedia.org/wiki/Copy-on-write[_copy on write_]
35172
36057
  # mechanism so that only the differences from the template take up real storage space. If this parameter is
35173
36058
  # specified and the value is `true` then the disks of the created virtual machine will be _cloned_, and
35174
36059
  # independent of the template. For example, to create an independent virtual machine, send a request like this:
@@ -35231,6 +36116,36 @@ module OvirtSDK4
35231
36116
  # Machine will fail unless the Virtual Machine has been previously created by the admin as
35232
36117
  # a user (meaning with filter=true).
35233
36118
  #
36119
+ # @option opts [Boolean] :seal Specifies if the virtual machine should be sealed after creation.
36120
+ #
36121
+ # If this optional parameter is provided, and its value is `true`, the virtual machine will be sealed after
36122
+ # creation. If the value is 'false', the virtual machine will not be sealed. If the parameter is not provided,
36123
+ # the virtual machine will be sealed, only if it is created from a sealed template and its guest OS is not set
36124
+ # to Windows.
36125
+ #
36126
+ # For example, to create a virtual machine from the `mytemplate` template and to seal it, send a request
36127
+ # like this:
36128
+ #
36129
+ # [source]
36130
+ # ----
36131
+ # POST /ovirt-engine/api/vms?seal=true
36132
+ # ----
36133
+ #
36134
+ # With a request body like this:
36135
+ #
36136
+ # [source,xml]
36137
+ # ----
36138
+ # <vm>
36139
+ # <name>myvm<name>
36140
+ # <template>
36141
+ # <name>mytemplate<name>
36142
+ # </template>
36143
+ # <cluster>
36144
+ # <name>mycluster<name>
36145
+ # </cluster>
36146
+ # </vm>
36147
+ # ----
36148
+ #
35234
36149
  # @option opts [Hash] :headers ({}) Additional HTTP headers.
35235
36150
  #
35236
36151
  # @option opts [Hash] :query ({}) Additional URL query parameters.
@@ -35250,6 +36165,7 @@ module OvirtSDK4
35250
36165
  [:clone, TrueClass].freeze,
35251
36166
  [:clone_permissions, TrueClass].freeze,
35252
36167
  [:filter, TrueClass].freeze,
36168
+ [:seal, TrueClass].freeze,
35253
36169
  ].freeze
35254
36170
 
35255
36171
  private_constant :ADD_FROM_SNAPSHOT
@@ -35264,7 +36180,7 @@ module OvirtSDK4
35264
36180
  # @option opts [Boolean] :clone Specifies if the virtual machine should be independent of the template.
35265
36181
  #
35266
36182
  # When a virtual machine is created from a template by default the disks of the virtual machine depend on
35267
- # the disks of the template, they are using the https://en.wikipedia.org/wiki/Copy-on-write[_copy on write_]
36183
+ # the disks of the template, they are using the link:https://en.wikipedia.org/wiki/Copy-on-write[_copy on write_]
35268
36184
  # mechanism so that only the differences from the template take up real storage space. If this parameter is
35269
36185
  # specified and the value is `true` then the disks of the created virtual machine will be _cloned_, and
35270
36186
  # independent of the template. For example, to create an independent virtual machine, send a request like this:
@@ -35327,6 +36243,36 @@ module OvirtSDK4
35327
36243
  # Machine will fail unless the Virtual Machine has been previously created by the admin as
35328
36244
  # a user (meaning with filter=true).
35329
36245
  #
36246
+ # @option opts [Boolean] :seal Specifies if the virtual machine should be sealed after creation.
36247
+ #
36248
+ # If this optional parameter is provided, and its value is `true`, the virtual machine will be sealed after
36249
+ # creation. If the value is 'false', the virtual machine will not be sealed. If the parameter is not provided,
36250
+ # the virtual machine will be sealed, only if it is created from a sealed template and its guest OS is not set
36251
+ # to Windows.
36252
+ #
36253
+ # For example, to create a virtual machine from the `mytemplate` template and to seal it, send a request
36254
+ # like this:
36255
+ #
36256
+ # [source]
36257
+ # ----
36258
+ # POST /ovirt-engine/api/vms?seal=true
36259
+ # ----
36260
+ #
36261
+ # With a request body like this:
36262
+ #
36263
+ # [source,xml]
36264
+ # ----
36265
+ # <vm>
36266
+ # <name>myvm<name>
36267
+ # <template>
36268
+ # <name>mytemplate<name>
36269
+ # </template>
36270
+ # <cluster>
36271
+ # <name>mycluster<name>
36272
+ # </cluster>
36273
+ # </vm>
36274
+ # ----
36275
+ #
35330
36276
  # @option opts [Hash] :headers ({}) Additional HTTP headers.
35331
36277
  #
35332
36278
  # @option opts [Hash] :query ({}) Additional URL query parameters.
@@ -35598,7 +36544,7 @@ module OvirtSDK4
35598
36544
  #
35599
36545
  # Please note that there is a default network filter to each VNIC profile.
35600
36546
  # For more details of how the default network filter is calculated please refer to
35601
- # the documentation in <<services/network_filters,NetworkFilters>>.
36547
+ # the documentation in xref:services-network_filters[NetworkFilters].
35602
36548
  #
35603
36549
  # NOTE: The automatically created vNIC profile for the external network will be without network filter.
35604
36550
  #
@@ -35910,7 +36856,7 @@ module OvirtSDK4
35910
36856
  # Copies a disk to the specified storage domain.
35911
36857
  #
35912
36858
  # IMPORTANT: Since version 4.2 of the engine this operation is deprecated, and preserved only for backwards
35913
- # compatibility. It will be removed in the future. To copy a disk use the <<services/disk/methods/copy, copy>>
36859
+ # compatibility. It will be removed in the future. To copy a disk use the xref:services-disk-methods-copy[copy]
35914
36860
  # operation of the service that manages that disk.
35915
36861
  #
35916
36862
  # @param opts [Hash] Additional options.
@@ -35942,7 +36888,7 @@ module OvirtSDK4
35942
36888
  # Exports a disk to an export storage domain.
35943
36889
  #
35944
36890
  # IMPORTANT: Since version 4.2 of the engine this operation is deprecated, and preserved only for backwards
35945
- # compatibility. It will be removed in the future. To export a disk use the <<services/disk/methods/export, export>>
36891
+ # compatibility. It will be removed in the future. To export a disk use the xref:services-disk-methods-export[export]
35946
36892
  # operation of the service that manages that disk.
35947
36893
  #
35948
36894
  # @param opts [Hash] Additional options.
@@ -36003,7 +36949,7 @@ module OvirtSDK4
36003
36949
  # Moves a disk to another storage domain.
36004
36950
  #
36005
36951
  # IMPORTANT: Since version 4.2 of the engine this operation is deprecated, and preserved only for backwards
36006
- # compatibility. It will be removed in the future. To move a disk use the <<services/disk/methods/move, move>>
36952
+ # compatibility. It will be removed in the future. To move a disk use the xref:services-disk-methods-move[move]
36007
36953
  # operation of the service that manages that disk.
36008
36954
  #
36009
36955
  # @param opts [Hash] Additional options.
@@ -36059,7 +37005,7 @@ module OvirtSDK4
36059
37005
  # Removes a disk.
36060
37006
  #
36061
37007
  # IMPORTANT: Since version 4.2 of the engine this operation is deprecated, and preserved only for backwards
36062
- # compatibility. It will be removed in the future. To remove a disk use the <<services/disk/methods/remove, remove>>
37008
+ # compatibility. It will be removed in the future. To remove a disk use the xref:services-disk-methods-remove[remove]
36063
37009
  # operation of the service that manages that disk.
36064
37010
  #
36065
37011
  # @param opts [Hash] Additional options.
@@ -36086,7 +37032,7 @@ module OvirtSDK4
36086
37032
  # Sparsify the disk.
36087
37033
  #
36088
37034
  # IMPORTANT: Since version 4.2 of the engine this operation is deprecated, and preserved only for backwards
36089
- # compatibility. It will be removed in the future. To remove a disk use the <<services/disk/methods/remove, remove>>
37035
+ # compatibility. It will be removed in the future. To remove a disk use the xref:services-disk-methods-remove[remove]
36090
37036
  # operation of the service that manages that disk.
36091
37037
  #
36092
37038
  # @param opts [Hash] Additional options.
@@ -36114,7 +37060,7 @@ module OvirtSDK4
36114
37060
  #
36115
37061
  # IMPORTANT: Since version 4.2 of the engine this operation is deprecated, and preserved only for backwards
36116
37062
  # compatibility. It will be removed in the future. To update a disk use the
36117
- # <<services/disk/methods/update, update>> operation of the service that manages that disk.
37063
+ # xref:services-disk-methods-update[update] operation of the service that manages that disk.
36118
37064
  #
36119
37065
  # @param disk [Disk] The update to apply to the disk.
36120
37066
  # @param opts [Hash] Additional options.
@@ -36182,6 +37128,60 @@ module OvirtSDK4
36182
37128
 
36183
37129
  class DiskService < MeasurableService
36184
37130
 
37131
+ CONVERT = [
37132
+ [:disk, Disk].freeze,
37133
+ [:follow, String].freeze,
37134
+ ].freeze
37135
+
37136
+ private_constant :CONVERT
37137
+
37138
+ #
37139
+ # Converts disk format and/or preallocation mode.
37140
+ #
37141
+ # For example, to convert the disk format from preallocated-cow to a sparse-raw image,
37142
+ # send a request like the following:
37143
+ #
37144
+ # [source]
37145
+ # ----
37146
+ # POST /ovirt-engine/api/disks/123/convert
37147
+ # ----
37148
+ #
37149
+ # With the following request body:
37150
+ #
37151
+ # [source,xml]
37152
+ # ----
37153
+ # <action>
37154
+ # <disk>
37155
+ # <sparse>true</sparse>
37156
+ # <format>raw</format>
37157
+ # </disk>
37158
+ # </action>
37159
+ # ----
37160
+ #
37161
+ # Note: In order to sparsify a disk, two conversions might be needed if the disk is on a Block Storage Domain.
37162
+ # For example: If a disk is RAW, converting it to QCOW will result in a larger disk. In order to reduce the size,
37163
+ # it is possible to convert the disk again to QCOW and keep the same allocation policy.
37164
+ #
37165
+ # @param opts [Hash] Additional options.
37166
+ #
37167
+ # @option opts [Disk] :disk The description of the disk.
37168
+ #
37169
+ # @option opts [String] :follow Indicates which inner links should be _followed_. The objects referenced by these links will be fetched as part
37170
+ # of the current request. See <<documents/003_common_concepts/follow, here>> for details.
37171
+ #
37172
+ # @option opts [Hash] :headers ({}) Additional HTTP headers.
37173
+ #
37174
+ # @option opts [Hash] :query ({}) Additional URL query parameters.
37175
+ #
37176
+ # @option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
37177
+ # given then the timeout set globally for the connection will be used.
37178
+ #
37179
+ # @option opts [Boolean] :wait (true) If `true` wait for the response.
37180
+ #
37181
+ def convert(opts = {})
37182
+ internal_action(:convert, nil, CONVERT, opts)
37183
+ end
37184
+
36185
37185
  COPY = [
36186
37186
  [:async, TrueClass].freeze,
36187
37187
  [:disk, Disk].freeze,
@@ -36481,7 +37481,7 @@ module OvirtSDK4
36481
37481
  # Refreshing a direct LUN disk is useful when:
36482
37482
  #
36483
37483
  # - The LUN was added using the API without the host parameter, and therefore does not contain
36484
- # any information from the storage (see <<services/disks/methods/add, DisksService::add>>).
37484
+ # any information from the storage (see xref:services-disks-methods-add[DisksService::add]).
36485
37485
  # - New information about the LUN is available on the storage and you want to update the LUN with it.
36486
37486
  #
36487
37487
  # To refresh direct LUN disk `123` using host `456`, send the following request:
@@ -36585,7 +37585,9 @@ module OvirtSDK4
36585
37585
  #
36586
37586
  # * For LUN disks: `alias`, `description` and `shareable`.
36587
37587
  #
36588
- # * For Cinder and Managed Block disks: `provisioned_size`, `alias` and `description`.
37588
+ # * Cinder integration has been replaced by Managed Block Storage.
37589
+ #
37590
+ # * For Managed Block disks: `provisioned_size`, `alias` and `description`.
36589
37591
  #
36590
37592
  # * For VM attached disks, the `qcow_version` can also be updated.
36591
37593
  #
@@ -37141,7 +38143,7 @@ module OvirtSDK4
37141
38143
  #
37142
38144
  # Removes a brick from the underlying gluster volume and deletes entries from database. This can be used only when
37143
38145
  # removing a single brick without data migration. To remove multiple bricks and with data migration, use
37144
- # <<services/gluster_bricks/methods/migrate, migrate>> instead.
38146
+ # xref:services-gluster_bricks-methods-migrate[migrate] instead.
37145
38147
  #
37146
38148
  # For example, to delete brick `234` from gluster volume `123`, send a request like this:
37147
38149
  #
@@ -37177,8 +38179,8 @@ module OvirtSDK4
37177
38179
  # Replaces this brick with a new one.
37178
38180
  #
37179
38181
  # IMPORTANT: This operation has been deprecated since version 3.5 of the engine and will be removed in the future.
37180
- # Use <<services/gluster_bricks/methods/add, add brick(s)>> and
37181
- # <<services/gluster_bricks/methods/migrate, migrate brick(s)>> instead.
38182
+ # Use xref:services-gluster_bricks-methods-add[add brick(s)] and
38183
+ # xref:services-gluster_bricks-methods-migrate[migrate brick(s)] instead.
37182
38184
  #
37183
38185
  # @param opts [Hash] Additional options.
37184
38186
  #
@@ -37865,10 +38867,10 @@ module OvirtSDK4
37865
38867
  # ----
37866
38868
  #
37867
38869
  # IMPORTANT: Since {engine-name} 4.3, it is possible to also specify `commit_on_success` in
37868
- # the <<services/host/methods/setup_networks, setupnetworks>> request, in which case the new
38870
+ # the xref:services-host-methods-setup_networks[setupnetworks] request, in which case the new
37869
38871
  # configuration is automatically saved in the {hypervisor-name} upon completing the setup and
37870
38872
  # re-establishing connectivity between the {hypervisor-name} and {engine-name}, and without
37871
- # waiting for a separate <<services/host/methods/commit_net_config, commitnetconfig>> request.
38873
+ # waiting for a separate xref:services-host-methods-commit_net_config[commitnetconfig] request.
37872
38874
  #
37873
38875
  # @param opts [Hash] Additional options.
37874
38876
  #
@@ -38012,6 +39014,10 @@ module OvirtSDK4
38012
39014
  # </discovered_targets>
38013
39015
  # ----
38014
39016
  #
39017
+ # IMPORTANT: When using this method to discover iscsi targets, you can use an FQDN or an
39018
+ # IP address, but you must use the iscsi details from the discovered targets results to log in
39019
+ # using the iscsilogin method.
39020
+ #
38015
39021
  # @param opts [Hash] Additional options.
38016
39022
  #
38017
39023
  # @option opts [Boolean] :async Indicates if the discovery should be performed asynchronously.
@@ -38384,6 +39390,10 @@ module OvirtSDK4
38384
39390
  #
38385
39391
  # Login to iSCSI targets on the host, using the target details.
38386
39392
  #
39393
+ #
39394
+ # IMPORTANT: When using this method to log in, you must use the iscsi details from the
39395
+ # discovered targets results in the discoveriscsi method.
39396
+ #
38387
39397
  # @param opts [Hash] Additional options.
38388
39398
  #
38389
39399
  # @option opts [Boolean] :async Indicates if the login should be performed asynchronously.
@@ -38654,13 +39664,13 @@ module OvirtSDK4
38654
39664
  # ----
38655
39665
  #
38656
39666
  # IMPORTANT: To make sure that the network configuration has been saved in the host, and that it will be applied
38657
- # when the host is rebooted, remember to call <<services/host/methods/commit_net_config, commitnetconfig>>.
39667
+ # when the host is rebooted, remember to call xref:services-host-methods-commit_net_config[commitnetconfig].
38658
39668
  #
38659
39669
  # IMPORTANT: Since {engine-name} 4.3, it is possible to also specify `commit_on_success` in
38660
- # the <<services/host/methods/setup_networks, setupnetworks>> request, in which case the new
39670
+ # the xref:services-host-methods-setup_networks[setupnetworks] request, in which case the new
38661
39671
  # configuration is automatically saved in the {hypervisor-name} upon completing the setup and
38662
39672
  # re-establishing connectivity between the {hypervisor-name} and {engine-name}, and without
38663
- # waiting for a separate <<services/host/methods/commit_net_config, commitnetconfig>> request.
39673
+ # waiting for a separate xref:services-host-methods-commit_net_config[commitnetconfig] request.
38664
39674
  #
38665
39675
  # @param opts [Hash] Additional options.
38666
39676
  #
@@ -38670,7 +39680,7 @@ module OvirtSDK4
38670
39680
  #
38671
39681
  # @option opts [Boolean] :commit_on_success Specifies whether to automatically save the configuration in the {hypervisor-name} upon completing
38672
39682
  # the setup and re-establishing connectivity between the {hypervisor-name} and {engine-name},
38673
- # and without waiting for a separate <<services/host/methods/commit_net_config, commitnetconfig>>
39683
+ # and without waiting for a separate xref:services-host-methods-commit_net_config[commitnetconfig]
38674
39684
  # request.
38675
39685
  # The default value is `false`, which means that the configuration will not be
38676
39686
  # saved automatically.
@@ -38871,7 +39881,7 @@ module OvirtSDK4
38871
39881
  # Check if there are upgrades available for the host. If there are upgrades available an icon will be displayed
38872
39882
  # next to host status icon in the Administration Portal. Audit log messages are also added to indicate the
38873
39883
  # availability of upgrades. The upgrade can be started from the webadmin or by using the
38874
- # <<services/host/methods/upgrade, upgrade>> host action.
39884
+ # xref:services-host-methods-upgrade[upgrade] host action.
38875
39885
  #
38876
39886
  # @param opts [Hash] Additional options.
38877
39887
  #
@@ -39152,6 +40162,17 @@ module OvirtSDK4
39152
40162
  @affinity_labels_service ||= AssignedAffinityLabelsService.new(self, 'affinitylabels')
39153
40163
  end
39154
40164
 
40165
+ #
40166
+ # A reference to the list of all host's CPUs with detailed information
40167
+ # about the topology (socket, core) and with information
40168
+ # about the current CPU pinning.
40169
+ #
40170
+ # @return [HostCpuUnitsService] A reference to `cpu_units` service.
40171
+ #
40172
+ def cpu_units_service
40173
+ @cpu_units_service ||= HostCpuUnitsService.new(self, 'cpuunits')
40174
+ end
40175
+
39155
40176
  #
39156
40177
  # A reference to the host devices service. Use this service to view the devices of the host object.
39157
40178
  #
@@ -39299,6 +40320,12 @@ module OvirtSDK4
39299
40320
  if path.start_with?('affinitylabels/')
39300
40321
  return affinity_labels_service.service(path[15..-1])
39301
40322
  end
40323
+ if path == 'cpuunits'
40324
+ return cpu_units_service
40325
+ end
40326
+ if path.start_with?('cpuunits/')
40327
+ return cpu_units_service.service(path[9..-1])
40328
+ end
39302
40329
  if path == 'devices'
39303
40330
  return devices_service
39304
40331
  end