ovirt-engine-sdk 4.0.1 → 4.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGES.adoc +21 -0
- data/lib/ovirtsdk4.rb +1 -0
- data/lib/ovirtsdk4/http.rb +31 -14
- data/lib/ovirtsdk4/probe.rb +244 -0
- data/lib/ovirtsdk4/services.rb +43 -43
- data/lib/ovirtsdk4/version.rb +1 -1
- data/lib/ovirtsdk4/writer.rb +84 -0
- data/lib/ovirtsdk4/writers.rb +251 -59
- metadata +25 -24
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ecdf7ff085e2d14fdca2923dc0b77b35597c2af9
|
4
|
+
data.tar.gz: 620d7620903f1c24346b49e6b36c334e9b18ec29
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7f9d24ced354d42aa6f9e63b2122c59a898331d442742363f81345ecd3b96f02d3c5ac02de08e4d5534fe2651c6dea28dba7e5424c4047d20845dbb0d018e7dc
|
7
|
+
data.tar.gz: 8a14c4b538b101f78eee8f36e1862777f9574bb2c1bcf29664cb5b65b506fff966f3bfa10392968cf4b9c665d746a20d802532b79c8696aa67833c013d647dd9
|
data/CHANGES.adoc
CHANGED
@@ -2,6 +2,27 @@
|
|
2
2
|
|
3
3
|
This document describes the relevant changes between releases of the SDK.
|
4
4
|
|
5
|
+
== 4.0.2 / Sep 29 2016
|
6
|
+
|
7
|
+
New features:
|
8
|
+
|
9
|
+
* Add generic `Writer.write` method to support generating XML from
|
10
|
+
objects of unknown types.
|
11
|
+
|
12
|
+
* Add new `Probe.probe` method to detect the versions of the API
|
13
|
+
supported by the server.
|
14
|
+
|
15
|
+
Bug fixes:
|
16
|
+
|
17
|
+
* Add support for optional parameters to update methods.
|
18
|
+
|
19
|
+
* Use XML schema naming exceptions to correctly generate tag names like
|
20
|
+
`openstack_image_provider`.
|
21
|
+
|
22
|
+
* Write correctly lists of enum values https://bugzilla.redhat.com/1378066[#1378066].
|
23
|
+
|
24
|
+
* Write correctly empty lists of enum values.
|
25
|
+
|
5
26
|
== 4.0.1 / Sep 6 2016
|
6
27
|
|
7
28
|
Update to model 4.0.33.
|
data/lib/ovirtsdk4.rb
CHANGED
data/lib/ovirtsdk4/http.rb
CHANGED
@@ -137,6 +137,7 @@ module OvirtSDK4
|
|
137
137
|
@kerberos = opts[:kerberos] || false
|
138
138
|
@timeout = opts[:timeout] || 0
|
139
139
|
@compress = opts[:compress] || false
|
140
|
+
@auth = opts[:auth] || :oauth
|
140
141
|
|
141
142
|
# Check mandatory parameters:
|
142
143
|
if url.nil?
|
@@ -179,7 +180,6 @@ module OvirtSDK4
|
|
179
180
|
end
|
180
181
|
end
|
181
182
|
end
|
182
|
-
|
183
183
|
end
|
184
184
|
|
185
185
|
#
|
@@ -223,27 +223,16 @@ module OvirtSDK4
|
|
223
223
|
# @api private
|
224
224
|
#
|
225
225
|
def send(request)
|
226
|
-
# Check if we already have an SSO access token:
|
227
|
-
@token ||= get_access_token
|
228
|
-
|
229
226
|
# Build the URL:
|
230
227
|
@curl.url = build_url({
|
231
228
|
:path => request.path,
|
232
229
|
:query => request.query,
|
233
230
|
})
|
234
231
|
|
235
|
-
|
236
|
-
|
237
|
-
@curl.headers.merge!(request.headers)
|
238
|
-
@curl.headers['User-Agent'] = "RubySDK/#{VERSION}"
|
239
|
-
@curl.headers['Version'] = '4'
|
240
|
-
@curl.headers['Content-Type'] = 'application/xml'
|
241
|
-
@curl.headers['Accept'] = 'application/xml'
|
242
|
-
@curl.headers['Authorization'] = "Bearer #{@token}"
|
243
|
-
|
232
|
+
set_headers!(request)
|
233
|
+
set_authentication!
|
244
234
|
# Clear any data that may be in the buffers:
|
245
235
|
@curl.post_body = nil
|
246
|
-
|
247
236
|
# Send the request and wait for the response:
|
248
237
|
case request.method
|
249
238
|
when :DELETE
|
@@ -543,6 +532,34 @@ module OvirtSDK4
|
|
543
532
|
return url
|
544
533
|
end
|
545
534
|
|
535
|
+
private
|
536
|
+
|
537
|
+
# @api private
|
538
|
+
def set_authentication!
|
539
|
+
case @auth
|
540
|
+
when :oauth
|
541
|
+
# Check if we already have an SSO access token:
|
542
|
+
@token ||= get_access_token
|
543
|
+
@curl.headers['Authorization'] = "Bearer #{@token}"
|
544
|
+
when :basic
|
545
|
+
@curl.http_auth_types = :basic
|
546
|
+
@curl.username = @username
|
547
|
+
@curl.password = @password
|
548
|
+
end
|
549
|
+
end
|
550
|
+
|
551
|
+
# @api private
|
552
|
+
def set_headers!(request)
|
553
|
+
# Add headers, avoiding those that have no value:
|
554
|
+
@curl.headers.clear
|
555
|
+
@curl.headers['user-agent'] = "RubySDK/#{VERSION}"
|
556
|
+
@curl.headers['content-type'] = 'application/xml'
|
557
|
+
@curl.headers['accept'] = 'application/xml'
|
558
|
+
@curl.headers['version'] = 4
|
559
|
+
request.headers.each do |k,v|
|
560
|
+
@curl.headers[k.to_s.downcase] = v
|
561
|
+
end
|
562
|
+
end
|
546
563
|
end
|
547
564
|
|
548
565
|
end
|
@@ -0,0 +1,244 @@
|
|
1
|
+
#
|
2
|
+
# Copyright (c) 2016 Red Hat, Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
#
|
16
|
+
|
17
|
+
module OvirtSDK4
|
18
|
+
#
|
19
|
+
# This class is used to probe the engine to find which API versions it supports.
|
20
|
+
#
|
21
|
+
class Probe
|
22
|
+
attr_reader :path_detector,
|
23
|
+
:version_detector
|
24
|
+
|
25
|
+
#
|
26
|
+
# This class method receives a set of options that define the server to probe and returns an arrays of objects of
|
27
|
+
# the OvirtSDK4::ProbeResult class containing the results of the probe.
|
28
|
+
#
|
29
|
+
# @options opts [Hash] The options used to create the probe.
|
30
|
+
#
|
31
|
+
# @option opts [String] :host The name or IP address of the host to probe.
|
32
|
+
#
|
33
|
+
# @option opts [Integer] :port (443) The port number to probe.
|
34
|
+
#
|
35
|
+
# @option opts [String] :username The name of the user, something like `admin@internal`.
|
36
|
+
#
|
37
|
+
# @option opts [String] :password The password of the user.
|
38
|
+
#
|
39
|
+
# @option opts [Boolean] :insecure (false) A boolean flag that indicates if the server TLS certificate and host
|
40
|
+
# name should be checked.
|
41
|
+
#
|
42
|
+
# @option opts [String] :ca_file The name of a PEM file containing the trusted CA certificates. The certificate
|
43
|
+
# presented by the server will be verified using these CA certificates. If not set then the system wide CA
|
44
|
+
# certificates store is used.
|
45
|
+
#
|
46
|
+
# @option opts [String] :log The logger where the log messages will be written.
|
47
|
+
#
|
48
|
+
# @option opts [Boolean] :debug (false) (false) A boolean flag indicating if debug output should be generated. If
|
49
|
+
# the values is `true` and the `log` parameter isn't `nil` then the data sent to and received from the server
|
50
|
+
# will be written to the log. Be aware that user names and passwords will also be written, so handle with care.
|
51
|
+
#
|
52
|
+
def self.probe(opts)
|
53
|
+
new(path_detector: PathDetector.new,
|
54
|
+
version_detector: VersionDetector.new)
|
55
|
+
.probe(opts)
|
56
|
+
end
|
57
|
+
|
58
|
+
#
|
59
|
+
# Creates a new probe instance.
|
60
|
+
#
|
61
|
+
# @param opts [Hash] The options for the initalization for the probe instance.
|
62
|
+
#
|
63
|
+
# @option opts [PathDetector] :path_detector An instance of a class that can recevie a connection and return the
|
64
|
+
# servers API path.
|
65
|
+
#
|
66
|
+
# @options opts [VersionDetector] :version_detector An instance of a class that can receive a connection and an
|
67
|
+
# API path and return the API versions the server supports.
|
68
|
+
#
|
69
|
+
# @api private
|
70
|
+
#
|
71
|
+
def initialize(opts)
|
72
|
+
@path_detector = opts[:path_detector]
|
73
|
+
@version_detector = opts[:version_detector]
|
74
|
+
end
|
75
|
+
|
76
|
+
#
|
77
|
+
# This instance method receives a set of options that define the server to probe and returns the API versions that
|
78
|
+
# the server supports.
|
79
|
+
#
|
80
|
+
# @param opts [Hash] The options to base the probing on. See the `probe` class method for details.
|
81
|
+
#
|
82
|
+
# @api private
|
83
|
+
#
|
84
|
+
def probe(opts)
|
85
|
+
path = path_detector.detect(opts)
|
86
|
+
raise OvirtSDK4::Error.new('API path not found') unless path
|
87
|
+
version_detector.detect(opts, path).map { |version| ProbeResult.new(version: version) }
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
#
|
92
|
+
# This class is responsible for detecting the API path an oVirt server.
|
93
|
+
#
|
94
|
+
# @api private
|
95
|
+
#
|
96
|
+
class PathDetector
|
97
|
+
PATH_CANDIDATES = [
|
98
|
+
'/api',
|
99
|
+
'/ovirt-engine/api'
|
100
|
+
].freeze
|
101
|
+
|
102
|
+
def detect(opts)
|
103
|
+
PATH_CANDIDATES.each do |path|
|
104
|
+
begin
|
105
|
+
connection = ConnectionBuilder.build(opts.merge(path: path))
|
106
|
+
res = connection.send(request)
|
107
|
+
return path if res.code == 200
|
108
|
+
raise OvirtSDK4::Error.new('Unauthorized') if res.code == 401
|
109
|
+
ensure
|
110
|
+
connection.close if connection
|
111
|
+
end
|
112
|
+
end
|
113
|
+
nil
|
114
|
+
end
|
115
|
+
|
116
|
+
def request
|
117
|
+
Request.new(path: '')
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
#
|
122
|
+
# Class contains class methods to build connections from options.
|
123
|
+
#
|
124
|
+
# @api private
|
125
|
+
#
|
126
|
+
class ConnectionBuilder
|
127
|
+
DEFAULT_PORT = 443
|
128
|
+
|
129
|
+
def self.build(opts)
|
130
|
+
Connection.new(
|
131
|
+
url: build_url(opts),
|
132
|
+
username: opts[:username],
|
133
|
+
password: opts[:password],
|
134
|
+
insecure: opts[:insecure],
|
135
|
+
ca_file: opts[:ca_file],
|
136
|
+
log: opts[:log],
|
137
|
+
debug: opts[:debug],
|
138
|
+
auth: :basic
|
139
|
+
)
|
140
|
+
end
|
141
|
+
|
142
|
+
def self.build_url(opts)
|
143
|
+
host = opts[:host]
|
144
|
+
path = opts[:path]
|
145
|
+
port = opts[:port] || DEFAULT_PORT
|
146
|
+
"https://#{host}:#{port}#{path}"
|
147
|
+
end
|
148
|
+
end
|
149
|
+
|
150
|
+
#
|
151
|
+
# This class is responsible for detecting the API versions an oVirt server engine supports.
|
152
|
+
#
|
153
|
+
# @api private
|
154
|
+
#
|
155
|
+
class VersionDetector
|
156
|
+
attr_accessor :supported_versions,
|
157
|
+
:path,
|
158
|
+
:connection
|
159
|
+
|
160
|
+
def detect(connection_opts, path)
|
161
|
+
@connection = ConnectionBuilder.build(connection_opts.merge(path: path))
|
162
|
+
self.path = path
|
163
|
+
supported_versions = []
|
164
|
+
supported_versions << '3' if detect_v3
|
165
|
+
supported_versions << '4' if detect_v4
|
166
|
+
supported_versions
|
167
|
+
ensure
|
168
|
+
@connection.close if @connection
|
169
|
+
end
|
170
|
+
|
171
|
+
private
|
172
|
+
|
173
|
+
def detect_v3
|
174
|
+
res = connection.send(request_for_v3_detection)
|
175
|
+
special_response_regexp_in_api3 =~ res.body
|
176
|
+
end
|
177
|
+
|
178
|
+
def detect_v4
|
179
|
+
res = connection.send(request_for_v4_detection)
|
180
|
+
special_response_regexp_in_api4 =~ res.body
|
181
|
+
end
|
182
|
+
|
183
|
+
def request_for_v3_detection
|
184
|
+
OvirtSDK4::Request.new(
|
185
|
+
path: '',
|
186
|
+
headers: { version: 3 },
|
187
|
+
)
|
188
|
+
end
|
189
|
+
|
190
|
+
def request_for_v4_detection
|
191
|
+
OvirtSDK4::Request.new(
|
192
|
+
path: '',
|
193
|
+
headers: { version: 4 },
|
194
|
+
)
|
195
|
+
end
|
196
|
+
|
197
|
+
# The methods below are based on headers oVirt returns depending on the API
|
198
|
+
# version it supports when queried with <version: 3> or <version: 4> header.
|
199
|
+
# Refer to spec to see the return values.
|
200
|
+
def special_response_regexp_in_api3
|
201
|
+
/major=/
|
202
|
+
end
|
203
|
+
|
204
|
+
def special_response_regexp_in_api4
|
205
|
+
/<major>/
|
206
|
+
end
|
207
|
+
end
|
208
|
+
|
209
|
+
#
|
210
|
+
# The probe returns an array of instances of this class.
|
211
|
+
#
|
212
|
+
class ProbeResult
|
213
|
+
attr_reader :version
|
214
|
+
|
215
|
+
#
|
216
|
+
# This method is used to initialize a class instance,
|
217
|
+
#
|
218
|
+
# @param opts [Hash] The attributes of the result.
|
219
|
+
#
|
220
|
+
# @option opts [String] :version The version obtained as the result of the probe.
|
221
|
+
#
|
222
|
+
def initialize(opts)
|
223
|
+
@version = opts[:version]
|
224
|
+
end
|
225
|
+
|
226
|
+
# Override the comparison method.
|
227
|
+
def ==(o)
|
228
|
+
o.class == self.class && o.state == state
|
229
|
+
end
|
230
|
+
|
231
|
+
alias_method :eql?, :==
|
232
|
+
|
233
|
+
# Should always be overriden if one overrides ==, used to get a hash value
|
234
|
+
# for the object.
|
235
|
+
def hash
|
236
|
+
state.hash
|
237
|
+
end
|
238
|
+
|
239
|
+
#@api private
|
240
|
+
def state
|
241
|
+
[version]
|
242
|
+
end
|
243
|
+
end
|
244
|
+
end
|
data/lib/ovirtsdk4/services.rb
CHANGED
@@ -810,7 +810,7 @@ module OvirtSDK4
|
|
810
810
|
#
|
811
811
|
# @return [AffinityGroup]
|
812
812
|
#
|
813
|
-
def update(group)
|
813
|
+
def update(group, opts = {})
|
814
814
|
if group.is_a?(Hash)
|
815
815
|
group = OvirtSDK4::AffinityGroup.new(group)
|
816
816
|
end
|
@@ -1256,7 +1256,7 @@ module OvirtSDK4
|
|
1256
1256
|
#
|
1257
1257
|
# @return [AffinityLabel]
|
1258
1258
|
#
|
1259
|
-
def update(label)
|
1259
|
+
def update(label, opts = {})
|
1260
1260
|
if label.is_a?(Hash)
|
1261
1261
|
label = OvirtSDK4::AffinityLabel.new(label)
|
1262
1262
|
end
|
@@ -2535,7 +2535,7 @@ module OvirtSDK4
|
|
2535
2535
|
#
|
2536
2536
|
# @return [Network]
|
2537
2537
|
#
|
2538
|
-
def update(network)
|
2538
|
+
def update(network, opts = {})
|
2539
2539
|
if network.is_a?(Hash)
|
2540
2540
|
network = OvirtSDK4::Network.new(network)
|
2541
2541
|
end
|
@@ -3918,7 +3918,7 @@ module OvirtSDK4
|
|
3918
3918
|
#
|
3919
3919
|
# @return [Bookmark]
|
3920
3920
|
#
|
3921
|
-
def update(bookmark)
|
3921
|
+
def update(bookmark, opts = {})
|
3922
3922
|
if bookmark.is_a?(Hash)
|
3923
3923
|
bookmark = OvirtSDK4::Bookmark.new(bookmark)
|
3924
3924
|
end
|
@@ -4203,7 +4203,7 @@ module OvirtSDK4
|
|
4203
4203
|
#
|
4204
4204
|
# @return [Cluster]
|
4205
4205
|
#
|
4206
|
-
def update(cluster)
|
4206
|
+
def update(cluster, opts = {})
|
4207
4207
|
if cluster.is_a?(Hash)
|
4208
4208
|
cluster = OvirtSDK4::Cluster.new(cluster)
|
4209
4209
|
end
|
@@ -4787,7 +4787,7 @@ module OvirtSDK4
|
|
4787
4787
|
#
|
4788
4788
|
# @return [CpuProfile]
|
4789
4789
|
#
|
4790
|
-
def update(profile)
|
4790
|
+
def update(profile, opts = {})
|
4791
4791
|
if profile.is_a?(Hash)
|
4792
4792
|
profile = OvirtSDK4::CpuProfile.new(profile)
|
4793
4793
|
end
|
@@ -5076,7 +5076,7 @@ module OvirtSDK4
|
|
5076
5076
|
#
|
5077
5077
|
# @return [DataCenter]
|
5078
5078
|
#
|
5079
|
-
def update(data_center)
|
5079
|
+
def update(data_center, opts = {})
|
5080
5080
|
if data_center.is_a?(Hash)
|
5081
5081
|
data_center = OvirtSDK4::DataCenter.new(data_center)
|
5082
5082
|
end
|
@@ -5461,7 +5461,7 @@ module OvirtSDK4
|
|
5461
5461
|
#
|
5462
5462
|
# @return [DiskAttachment]
|
5463
5463
|
#
|
5464
|
-
def update(disk_attachment)
|
5464
|
+
def update(disk_attachment, opts = {})
|
5465
5465
|
if disk_attachment.is_a?(Hash)
|
5466
5466
|
disk_attachment = OvirtSDK4::DiskAttachment.new(disk_attachment)
|
5467
5467
|
end
|
@@ -5727,7 +5727,7 @@ module OvirtSDK4
|
|
5727
5727
|
#
|
5728
5728
|
# @return [DiskProfile]
|
5729
5729
|
#
|
5730
|
-
def update(profile)
|
5730
|
+
def update(profile, opts = {})
|
5731
5731
|
if profile.is_a?(Hash)
|
5732
5732
|
profile = OvirtSDK4::DiskProfile.new(profile)
|
5733
5733
|
end
|
@@ -8214,7 +8214,7 @@ module OvirtSDK4
|
|
8214
8214
|
#
|
8215
8215
|
# @return [Agent]
|
8216
8216
|
#
|
8217
|
-
def update(agent)
|
8217
|
+
def update(agent, opts = {})
|
8218
8218
|
if agent.is_a?(Hash)
|
8219
8219
|
agent = OvirtSDK4::Agent.new(agent)
|
8220
8220
|
end
|
@@ -11422,7 +11422,7 @@ module OvirtSDK4
|
|
11422
11422
|
#
|
11423
11423
|
# @return [InstanceType]
|
11424
11424
|
#
|
11425
|
-
def update(instance_type)
|
11425
|
+
def update(instance_type, opts = {})
|
11426
11426
|
if instance_type.is_a?(Hash)
|
11427
11427
|
instance_type = OvirtSDK4::InstanceType.new(instance_type)
|
11428
11428
|
end
|
@@ -11592,7 +11592,7 @@ module OvirtSDK4
|
|
11592
11592
|
#
|
11593
11593
|
# @return [Nic]
|
11594
11594
|
#
|
11595
|
-
def update(nic)
|
11595
|
+
def update(nic, opts = {})
|
11596
11596
|
if nic.is_a?(Hash)
|
11597
11597
|
nic = OvirtSDK4::Nic.new(nic)
|
11598
11598
|
end
|
@@ -11843,7 +11843,7 @@ module OvirtSDK4
|
|
11843
11843
|
#
|
11844
11844
|
# @return [Watchdog]
|
11845
11845
|
#
|
11846
|
-
def update(watchdog)
|
11846
|
+
def update(watchdog, opts = {})
|
11847
11847
|
if watchdog.is_a?(Hash)
|
11848
11848
|
watchdog = OvirtSDK4::Watchdog.new(watchdog)
|
11849
11849
|
end
|
@@ -12217,7 +12217,7 @@ module OvirtSDK4
|
|
12217
12217
|
#
|
12218
12218
|
# @return [IscsiBond]
|
12219
12219
|
#
|
12220
|
-
def update(bond)
|
12220
|
+
def update(bond, opts = {})
|
12221
12221
|
if bond.is_a?(Hash)
|
12222
12222
|
bond = OvirtSDK4::IscsiBond.new(bond)
|
12223
12223
|
end
|
@@ -12906,7 +12906,7 @@ module OvirtSDK4
|
|
12906
12906
|
#
|
12907
12907
|
# @return [MacPool]
|
12908
12908
|
#
|
12909
|
-
def update(pool)
|
12909
|
+
def update(pool, opts = {})
|
12910
12910
|
if pool.is_a?(Hash)
|
12911
12911
|
pool = OvirtSDK4::MacPool.new(pool)
|
12912
12912
|
end
|
@@ -13280,7 +13280,7 @@ module OvirtSDK4
|
|
13280
13280
|
#
|
13281
13281
|
# @return [Network]
|
13282
13282
|
#
|
13283
|
-
def update(network)
|
13283
|
+
def update(network, opts = {})
|
13284
13284
|
if network.is_a?(Hash)
|
13285
13285
|
network = OvirtSDK4::Network.new(network)
|
13286
13286
|
end
|
@@ -13450,7 +13450,7 @@ module OvirtSDK4
|
|
13450
13450
|
#
|
13451
13451
|
# @return [NetworkAttachment]
|
13452
13452
|
#
|
13453
|
-
def update(attachment)
|
13453
|
+
def update(attachment, opts = {})
|
13454
13454
|
if attachment.is_a?(Hash)
|
13455
13455
|
attachment = OvirtSDK4::NetworkAttachment.new(attachment)
|
13456
13456
|
end
|
@@ -14346,7 +14346,7 @@ module OvirtSDK4
|
|
14346
14346
|
#
|
14347
14347
|
# @return [OpenStackImageProvider]
|
14348
14348
|
#
|
14349
|
-
def update(provider)
|
14349
|
+
def update(provider, opts = {})
|
14350
14350
|
if provider.is_a?(Hash)
|
14351
14351
|
provider = OvirtSDK4::OpenStackImageProvider.new(provider)
|
14352
14352
|
end
|
@@ -14878,7 +14878,7 @@ module OvirtSDK4
|
|
14878
14878
|
#
|
14879
14879
|
# @return [OpenStackNetworkProvider]
|
14880
14880
|
#
|
14881
|
-
def update(provider)
|
14881
|
+
def update(provider, opts = {})
|
14882
14882
|
if provider.is_a?(Hash)
|
14883
14883
|
provider = OvirtSDK4::OpenStackNetworkProvider.new(provider)
|
14884
14884
|
end
|
@@ -15451,7 +15451,7 @@ module OvirtSDK4
|
|
15451
15451
|
#
|
15452
15452
|
# @return [OpenstackVolumeAuthenticationKey]
|
15453
15453
|
#
|
15454
|
-
def update(key)
|
15454
|
+
def update(key, opts = {})
|
15455
15455
|
if key.is_a?(Hash)
|
15456
15456
|
key = OvirtSDK4::OpenstackVolumeAuthenticationKey.new(key)
|
15457
15457
|
end
|
@@ -15751,7 +15751,7 @@ module OvirtSDK4
|
|
15751
15751
|
#
|
15752
15752
|
# @return [OpenStackVolumeProvider]
|
15753
15753
|
#
|
15754
|
-
def update(provider)
|
15754
|
+
def update(provider, opts = {})
|
15755
15755
|
if provider.is_a?(Hash)
|
15756
15756
|
provider = OvirtSDK4::OpenStackVolumeProvider.new(provider)
|
15757
15757
|
end
|
@@ -16642,7 +16642,7 @@ module OvirtSDK4
|
|
16642
16642
|
#
|
16643
16643
|
# @return [Qos]
|
16644
16644
|
#
|
16645
|
-
def update(qos)
|
16645
|
+
def update(qos, opts = {})
|
16646
16646
|
if qos.is_a?(Hash)
|
16647
16647
|
qos = OvirtSDK4::Qos.new(qos)
|
16648
16648
|
end
|
@@ -16893,7 +16893,7 @@ module OvirtSDK4
|
|
16893
16893
|
#
|
16894
16894
|
# @return [Quota]
|
16895
16895
|
#
|
16896
|
-
def update(quota)
|
16896
|
+
def update(quota, opts = {})
|
16897
16897
|
if quota.is_a?(Hash)
|
16898
16898
|
quota = OvirtSDK4::Quota.new(quota)
|
16899
16899
|
end
|
@@ -17602,7 +17602,7 @@ module OvirtSDK4
|
|
17602
17602
|
#
|
17603
17603
|
# @return [Role]
|
17604
17604
|
#
|
17605
|
-
def update(role)
|
17605
|
+
def update(role, opts = {})
|
17606
17606
|
if role.is_a?(Hash)
|
17607
17607
|
role = OvirtSDK4::Role.new(role)
|
17608
17608
|
end
|
@@ -18004,7 +18004,7 @@ module OvirtSDK4
|
|
18004
18004
|
#
|
18005
18005
|
# @return [SchedulingPolicy]
|
18006
18006
|
#
|
18007
|
-
def update(policy)
|
18007
|
+
def update(policy, opts = {})
|
18008
18008
|
if policy.is_a?(Hash)
|
18009
18009
|
policy = OvirtSDK4::SchedulingPolicy.new(policy)
|
18010
18010
|
end
|
@@ -19097,7 +19097,7 @@ module OvirtSDK4
|
|
19097
19097
|
#
|
19098
19098
|
# @return [SshPublicKey]
|
19099
19099
|
#
|
19100
|
-
def update(key)
|
19100
|
+
def update(key, opts = {})
|
19101
19101
|
if key.is_a?(Hash)
|
19102
19102
|
key = OvirtSDK4::SshPublicKey.new(key)
|
19103
19103
|
end
|
@@ -19968,7 +19968,7 @@ module OvirtSDK4
|
|
19968
19968
|
#
|
19969
19969
|
# @return [StorageDomain]
|
19970
19970
|
#
|
19971
|
-
def update(storage_domain)
|
19971
|
+
def update(storage_domain, opts = {})
|
19972
19972
|
if storage_domain.is_a?(Hash)
|
19973
19973
|
storage_domain = OvirtSDK4::StorageDomain.new(storage_domain)
|
19974
19974
|
end
|
@@ -21320,7 +21320,7 @@ module OvirtSDK4
|
|
21320
21320
|
#
|
21321
21321
|
# @return [StorageConnection]
|
21322
21322
|
#
|
21323
|
-
def update(connection)
|
21323
|
+
def update(connection, opts = {})
|
21324
21324
|
if connection.is_a?(Hash)
|
21325
21325
|
connection = OvirtSDK4::StorageConnection.new(connection)
|
21326
21326
|
end
|
@@ -21448,7 +21448,7 @@ module OvirtSDK4
|
|
21448
21448
|
#
|
21449
21449
|
# @return [StorageConnectionExtension]
|
21450
21450
|
#
|
21451
|
-
def update(extension)
|
21451
|
+
def update(extension, opts = {})
|
21452
21452
|
if extension.is_a?(Hash)
|
21453
21453
|
extension = OvirtSDK4::StorageConnectionExtension.new(extension)
|
21454
21454
|
end
|
@@ -22565,7 +22565,7 @@ module OvirtSDK4
|
|
22565
22565
|
#
|
22566
22566
|
# @return [Tag]
|
22567
22567
|
#
|
22568
|
-
def update(tag)
|
22568
|
+
def update(tag, opts = {})
|
22569
22569
|
if tag.is_a?(Hash)
|
22570
22570
|
tag = OvirtSDK4::Tag.new(tag)
|
22571
22571
|
end
|
@@ -22852,7 +22852,7 @@ module OvirtSDK4
|
|
22852
22852
|
#
|
22853
22853
|
# @return [Template]
|
22854
22854
|
#
|
22855
|
-
def update(template)
|
22855
|
+
def update(template, opts = {})
|
22856
22856
|
if template.is_a?(Hash)
|
22857
22857
|
template = OvirtSDK4::Template.new(template)
|
22858
22858
|
end
|
@@ -23640,7 +23640,7 @@ module OvirtSDK4
|
|
23640
23640
|
#
|
23641
23641
|
# @return [Nic]
|
23642
23642
|
#
|
23643
|
-
def update(nic)
|
23643
|
+
def update(nic, opts = {})
|
23644
23644
|
if nic.is_a?(Hash)
|
23645
23645
|
nic = OvirtSDK4::Nic.new(nic)
|
23646
23646
|
end
|
@@ -23891,7 +23891,7 @@ module OvirtSDK4
|
|
23891
23891
|
#
|
23892
23892
|
# @return [Watchdog]
|
23893
23893
|
#
|
23894
|
-
def update(watchdog)
|
23894
|
+
def update(watchdog, opts = {})
|
23895
23895
|
if watchdog.is_a?(Hash)
|
23896
23896
|
watchdog = OvirtSDK4::Watchdog.new(watchdog)
|
23897
23897
|
end
|
@@ -25576,7 +25576,7 @@ module OvirtSDK4
|
|
25576
25576
|
#
|
25577
25577
|
# @return [Vm]
|
25578
25578
|
#
|
25579
|
-
def update(vm)
|
25579
|
+
def update(vm, opts = {})
|
25580
25580
|
if vm.is_a?(Hash)
|
25581
25581
|
vm = OvirtSDK4::Vm.new(vm)
|
25582
25582
|
end
|
@@ -26084,7 +26084,7 @@ module OvirtSDK4
|
|
26084
26084
|
#
|
26085
26085
|
# @return [Cdrom]
|
26086
26086
|
#
|
26087
|
-
def update(cdrom)
|
26087
|
+
def update(cdrom, opts = {})
|
26088
26088
|
if cdrom.is_a?(Hash)
|
26089
26089
|
cdrom = OvirtSDK4::Cdrom.new(cdrom)
|
26090
26090
|
end
|
@@ -26415,7 +26415,7 @@ module OvirtSDK4
|
|
26415
26415
|
#
|
26416
26416
|
# @return [Disk]
|
26417
26417
|
#
|
26418
|
-
def update(disk)
|
26418
|
+
def update(disk, opts = {})
|
26419
26419
|
if disk.is_a?(Hash)
|
26420
26420
|
disk = OvirtSDK4::Disk.new(disk)
|
26421
26421
|
end
|
@@ -27085,7 +27085,7 @@ module OvirtSDK4
|
|
27085
27085
|
#
|
27086
27086
|
# @return [Nic]
|
27087
27087
|
#
|
27088
|
-
def update(nic)
|
27088
|
+
def update(nic, opts = {})
|
27089
27089
|
if nic.is_a?(Hash)
|
27090
27090
|
nic = OvirtSDK4::Nic.new(nic)
|
27091
27091
|
end
|
@@ -27364,7 +27364,7 @@ module OvirtSDK4
|
|
27364
27364
|
#
|
27365
27365
|
# @return [VirtualNumaNode]
|
27366
27366
|
#
|
27367
|
-
def update(node)
|
27367
|
+
def update(node, opts = {})
|
27368
27368
|
if node.is_a?(Hash)
|
27369
27369
|
node = OvirtSDK4::VirtualNumaNode.new(node)
|
27370
27370
|
end
|
@@ -27649,7 +27649,7 @@ module OvirtSDK4
|
|
27649
27649
|
#
|
27650
27650
|
# @return [VmPool]
|
27651
27651
|
#
|
27652
|
-
def update(pool)
|
27652
|
+
def update(pool, opts = {})
|
27653
27653
|
if pool.is_a?(Hash)
|
27654
27654
|
pool = OvirtSDK4::VmPool.new(pool)
|
27655
27655
|
end
|
@@ -28240,7 +28240,7 @@ module OvirtSDK4
|
|
28240
28240
|
#
|
28241
28241
|
# @return [Watchdog]
|
28242
28242
|
#
|
28243
|
-
def update(watchdog)
|
28243
|
+
def update(watchdog, opts = {})
|
28244
28244
|
if watchdog.is_a?(Hash)
|
28245
28245
|
watchdog = OvirtSDK4::Watchdog.new(watchdog)
|
28246
28246
|
end
|
@@ -28810,7 +28810,7 @@ module OvirtSDK4
|
|
28810
28810
|
#
|
28811
28811
|
# @return [VnicProfile]
|
28812
28812
|
#
|
28813
|
-
def update(profile)
|
28813
|
+
def update(profile, opts = {})
|
28814
28814
|
if profile.is_a?(Hash)
|
28815
28815
|
profile = OvirtSDK4::VnicProfile.new(profile)
|
28816
28816
|
end
|
@@ -29646,7 +29646,7 @@ module OvirtSDK4
|
|
29646
29646
|
#
|
29647
29647
|
# @return [ExternalHostProvider]
|
29648
29648
|
#
|
29649
|
-
def update(provider)
|
29649
|
+
def update(provider, opts = {})
|
29650
29650
|
if provider.is_a?(Hash)
|
29651
29651
|
provider = OvirtSDK4::ExternalHostProvider.new(provider)
|
29652
29652
|
end
|
@@ -30924,7 +30924,7 @@ module OvirtSDK4
|
|
30924
30924
|
#
|
30925
30925
|
# @return [Host]
|
30926
30926
|
#
|
30927
|
-
def update(host)
|
30927
|
+
def update(host, opts = {})
|
30928
30928
|
if host.is_a?(Hash)
|
30929
30929
|
host = OvirtSDK4::Host.new(host)
|
30930
30930
|
end
|