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.
- checksums.yaml +4 -4
- data/CHANGES.adoc +10 -3
- data/ext/ovirtsdk4c/ov_http_client.c +10 -2
- data/ext/ovirtsdk4c/ov_http_request.c +1 -1
- data/ext/ovirtsdk4c/ov_http_response.c +1 -1
- data/ext/ovirtsdk4c/ov_http_transfer.c +1 -1
- data/ext/ovirtsdk4c/ov_xml_reader.c +1 -1
- data/lib/ovirtsdk4/readers.rb +538 -0
- data/lib/ovirtsdk4/services.rb +1226 -199
- data/lib/ovirtsdk4/types.rb +1996 -49
- data/lib/ovirtsdk4/version.rb +1 -1
- data/lib/ovirtsdk4/writers.rb +182 -0
- metadata +26 -13
data/lib/ovirtsdk4/services.rb
CHANGED
@@ -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
|
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(
|
1340
|
-
AffinityGroupHostService.new(self,
|
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
|
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
|
-
#
|
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
|
4880
|
-
# upgrade or clears the upgrade running flag on the cluster based on the
|
4881
|
-
# start or
|
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
|
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
|
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
|
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
|
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
|
-
#
|
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
|
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
|
7740
|
-
# FCP)
|
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
|
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
|
-
#
|
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
|
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
|
-
#
|
11148
|
-
#
|
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
|
-
#
|
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
|
-
#
|
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
|
-
#
|
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
|
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
|
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
|
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
|
-
#
|
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
|
21263
|
-
# persist_memorystate
|
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
|
-
#
|
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
|
-
#
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
-
#
|
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
|
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
|
-
#
|
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
|
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
|
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
|
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 `
|
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/
|
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
|
-
#
|
26059
|
-
#
|
26060
|
-
#
|
26061
|
-
# <
|
26062
|
-
#
|
26063
|
-
#
|
26064
|
-
#
|
26065
|
-
#
|
26066
|
-
#
|
26067
|
-
#
|
26068
|
-
#
|
26069
|
-
#
|
26070
|
-
#
|
26071
|
-
#
|
26072
|
-
#
|
26073
|
-
#
|
26074
|
-
#
|
26075
|
-
#
|
26076
|
-
#
|
26077
|
-
#
|
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 `
|
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/
|
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/
|
26113
|
-
#
|
26114
|
-
#
|
26115
|
-
#
|
26116
|
-
#
|
26117
|
-
#
|
26118
|
-
#
|
26119
|
-
#
|
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
|
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
|
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
|
-
#
|
30337
|
-
#
|
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[
|
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/[
|
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[
|
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
|
30875
|
-
# service
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
-
#
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
-
#
|
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
|
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
|
-
# *
|
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
|
-
#
|
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
|
37181
|
-
#
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
-
#
|
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
|