ovirt-engine-sdk 4.4.1 → 4.6.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|