ovirt-engine-sdk 4.4.1 → 4.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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