ovirt-engine-sdk 4.0.12 → 4.1.0.alpha2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 47b9f2b19a80d7bbe6e9d6b8b6872221d338dbb7
4
- data.tar.gz: 7aff41222648ebb5773f883a4e403d484968e509
3
+ metadata.gz: 01492a98ce30994bf24efc6a20606a0632a43a92
4
+ data.tar.gz: b1febb7296118d3039f7014e2311c89a9a5b9f52
5
5
  SHA512:
6
- metadata.gz: 60d56c33e999b1bcc53ac3dc3d8585bcccedc22968084b47f00f979e5e968155657954c81e5f7bd76d98f62d9f790987156f9164822c8cb48c0a09605c45aae2
7
- data.tar.gz: 8941c7e72a6073f32e7d650b03ce2e504a11ccccea94dbf869a3757f8a69d40ac8066e14bc45da8eff854a7a1705144926f34aa050594b765277e0f13fe82734
6
+ metadata.gz: 258f0e168ebf10d9a860e5d8b0f236dd151359d446f8eff7a8ad132815119e984586feee94919c9e89d68f0595376fbe9aa6d3296acaca50e3fb966a0481052b
7
+ data.tar.gz: 14622b76ff510f1b30ab42a40f5badbb8b8bd772f73bc992fbd4581d940c79804b7925067587fc39b6d45216941cfbb7b4de81989cc58fa4df4148ce77fb9a39
data/CHANGES.adoc CHANGED
@@ -2,69 +2,86 @@
2
2
 
3
3
  This document describes the relevant changes between releases of the SDK.
4
4
 
5
- == 4.0.12 / Mar 3 2017
5
+ == 4.1.0-alpha2 / Jan 12 2017
6
+
7
+ Update to model 4.1.16:
8
+
9
+ * Add `succeeded` parameter to the operation that end an external job.
10
+
11
+ * Add `initial_size` attribute to the `Disk` type.
6
12
 
7
13
  Bug fixes:
8
14
 
9
- * Don't avoid reserved words in enum values text.
15
+ * Fix writing 'id' attribute for enum values.
16
+ https://bugzilla.redhat.com/1408839[#1408839].
10
17
 
11
- * Red correctly attributes with enum values
12
- https://bugzilla.redhat.com/1428642[#1428642].
18
+ * Enable installation in Vagrant with embedded Ruby
19
+ https://bugzilla.redhat.com/1411594[#1411594].
13
20
 
14
- == 4.0.11 / Mar 2 2017
21
+ == 4.1.0-alpha1 / Dec 19 2016
15
22
 
16
- New features:
23
+ Update to model 4.1.24:
17
24
 
18
- * Add support for custom headers and query parameters.
25
+ * Added new `v4` value to the `StorageFormat` enum.
19
26
 
20
- * Ignore unsupported enum values.
27
+ * Add `seal` operation to the service that manages templates.
21
28
 
22
- * Check that URL has been provided.
29
+ * Add `progress` attribute to the `Disk` and `Step` types.
23
30
 
24
- * Send INFO log messages with summaries of requests and responses.
31
+ * Add `allow_partial_import` parameter to the operations that import
32
+ virtual machines and templates.
25
33
 
26
- Bug fixes:
34
+ * Add `ticket` operation to the service that manages the graphics
35
+ console of a virtual machine.
27
36
 
28
- * Fix writing of lists of structs.
37
+ * Added `urandom` to the `RngSource` enumerated type.
29
38
 
30
- == 4.0.10 / Feb 9 2017
39
+ * Added `migratable` flag to the `VnicProfile` type.
31
40
 
32
- Bug fixes:
41
+ * Add `gluster_tuned_profile` to the `Cluster` type.
33
42
 
34
- * Use `curl-config` to detect `libcurl`, if possible.
43
+ * Add `skip_if_gluster_bricks_up` and `skip_if_gluster_quorum_not_met`
44
+ attributes to the `FencingPolicy` type.
35
45
 
36
- == 4.0.9 / Feb 1 2017
46
+ * Add the `ImageTransferDirection` enumerated type and the `direction`
47
+ attribute to the `ImageTransfer` type.
37
48
 
38
- Bug fixes:
49
+ * Replace the generic `GraphicsConsole` and `GraphicsConsoles` with
50
+ specific services for virtual machines, templates and instance
51
+ types.
39
52
 
40
- * Don't require `json` 1.8, as it makes the SDK incompatible with
41
- applications that need version 2.0 or newer.
53
+ * Deprecate the `legacy` USB type.
42
54
 
43
- == 4.0.8 / Jan 27 2017
55
+ * Add `remoteviewerconnectionfile` action to the `GraphicsConsole`
56
+ service.
44
57
 
45
- Update to model 4.0.41:
58
+ * Add `max` attribute to the `MemoryPolicy` type.
46
59
 
47
- * Add `initial_size` attribute to the `Disk` type.
60
+ * Make `Ip.version` optional.
48
61
 
49
- New features:
62
+ * Add the `active_slave` link to the `Bonding` type.
50
63
 
51
- * Accept CA files and strings.
64
+ * Add DNS configuration support to `Network` and `NetworkAttachment`.
52
65
 
53
- == 4.0.7 / Jan 12 2017
66
+ * Add the `uses_scsi_reservation` attribute to the `DiskAttachment`
67
+ type.
54
68
 
55
- New features:
69
+ * Add the `sparsify` method to `DiskService`.
56
70
 
57
- * Add HTTP proxy support.
71
+ * Add the `discard_max_size` and `discard_zeroes_data` to the `LogicalUnit`
72
+ type.
58
73
 
59
- * Require Ruby 2.
74
+ * Add `logical_name` attribute to the disk attachment type.
60
75
 
61
- Bug fixes:
76
+ * Add the `upgradecheck` action to the host service.
62
77
 
63
- * Fix writing `id` attribute for enum values
64
- https://bugzilla.redhat.com/1408839[#1408839].
78
+ * Add the `original_template` link to the virtual machine type.
65
79
 
66
- * Enable installation in Vagrant with embedded Ruby
67
- https://bugzilla.redhat.com/1411594[#1411594].
80
+ New features:
81
+
82
+ * Require Ruby 2.
83
+
84
+ * Enable compression by default https://bugzilla.redhat.com/1370464[#1370464].
68
85
 
69
86
  == 4.0.6 / Oct 18 2016
70
87
 
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/ruby
2
2
 
3
3
  #
4
- # Copyright (c) 2015-2017 Red Hat, Inc.
4
+ # Copyright (c) 2015-2016 Red Hat, Inc.
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
7
7
  # you may not use this file except in compliance with the License.
@@ -18,25 +18,15 @@
18
18
 
19
19
  require 'mkmf'
20
20
 
21
- # Check if "libxml2" is available:
22
- xml2_config = find_executable('xml2-config')
23
- if xml2_config
24
- cflags = `#{xml2_config} --cflags`.strip
25
- libs = `#{xml2_config} --libs`.strip
26
- $CPPFLAGS = "#{cflags} #{$CPPFLAGS}"
27
- $LDFLAGS = "#{libs} #{$LDFLAGS}"
28
- elsif !pkg_config('libxml2')
21
+ # Check that "libxml2" is available:
22
+ unless find_executable('xml2-config')
29
23
  raise 'The "libxml2" package isn\'t available.'
30
24
  end
25
+ $CPPFLAGS = "#{`xml2-config --cflags`.strip} #{$CPPFLAGS}"
26
+ $LDFLAGS = "#{`xml2-config --libs`.strip} #{$LDFLAGS}"
31
27
 
32
- # Check if "libcurl" is available:
33
- curl_config = find_executable('curl-config')
34
- if curl_config
35
- cflags = `#{curl_config} --cflags`.strip
36
- libs = `#{curl_config} --libs`.strip
37
- $CPPFLAGS = "#{cflags} #{$CPPFLAGS}"
38
- $LDFLAGS = "#{libs} #{$LDFLAGS}"
39
- elsif !pkg_config('libcurl')
28
+ # Check that "libcurl" is available:
29
+ unless pkg_config('libcurl')
40
30
  raise 'The "libcurl" package isn\'t available.'
41
31
  end
42
32
 
@@ -19,7 +19,6 @@ limitations under the License.
19
19
 
20
20
  #include <ctype.h>
21
21
  #include <curl/curl.h>
22
- #include <stdarg.h>
23
22
  #include <stdbool.h>
24
23
  #include <stdlib.h>
25
24
  #include <string.h>
@@ -49,8 +48,6 @@ static VALUE PROXY_PASSWORD_SYMBOL;
49
48
  /* Method identifiers: */
50
49
  static ID DEBUG_ID;
51
50
  static ID ENCODE_WWW_FORM_ID;
52
- static ID INFO_ID;
53
- static ID INFO_Q_ID;
54
51
  static ID READ_ID;
55
52
  static ID STRING_ID;
56
53
  static ID STRING_IO_ID;
@@ -552,22 +549,6 @@ static void ov_http_client_perform_cancel(void* data) {
552
549
  perform_context->cancel = true;
553
550
  }
554
551
 
555
- static void ov_http_client_log_info(VALUE log, const char* format, ...) {
556
- VALUE enabled;
557
- VALUE message;
558
- va_list args;
559
-
560
- if (!NIL_P(log)) {
561
- enabled = rb_funcall(log, INFO_Q_ID, 0);
562
- if (RTEST(enabled)) {
563
- va_start(args, format);
564
- message = rb_vsprintf(format, args);
565
- rb_funcall(log, INFO_ID, 1, message);
566
- va_end(args);
567
- }
568
- }
569
- }
570
-
571
552
  static VALUE ov_http_client_send(VALUE self, VALUE request, VALUE response) {
572
553
  VALUE header;
573
554
  VALUE url;
@@ -645,14 +626,6 @@ static VALUE ov_http_client_send(VALUE self, VALUE request, VALUE response) {
645
626
  }
646
627
  curl_easy_setopt(object->curl, CURLOPT_HTTPHEADER, headers);
647
628
 
648
- /* Send a summary of the request to the log: */
649
- ov_http_client_log_info(
650
- object->log,
651
- "Sending '%"PRIsVALUE"' request to URL '%"PRIsVALUE"'.",
652
- request_object->method,
653
- url
654
- );
655
-
656
629
  /* Performing the request is a potentially lengthy and blocking operation, so we need to make sure that it runs
657
630
  without the global interpreter lock acquired as much as possible: */
658
631
  perform_context.object = object;
@@ -701,13 +674,6 @@ static VALUE ov_http_client_send(VALUE self, VALUE request, VALUE response) {
701
674
  /* Get the response body: */
702
675
  response_object->body = rb_funcall(perform_context.out, STRING_ID, 0);
703
676
 
704
- /* Send a summary of the response to the log: */
705
- ov_http_client_log_info(
706
- object->log,
707
- "Received response code '%"PRIsVALUE"'.",
708
- response_object->code
709
- );
710
-
711
677
  return Qnil;
712
678
  }
713
679
 
@@ -746,8 +712,6 @@ void ov_http_client_define(void) {
746
712
  /* Define the method identifiers: */
747
713
  DEBUG_ID = rb_intern("debug");
748
714
  ENCODE_WWW_FORM_ID = rb_intern("encode_www_form");
749
- INFO_ID = rb_intern("info");
750
- INFO_Q_ID = rb_intern("info?");
751
715
  READ_ID = rb_intern("read");
752
716
  STRING_ID = rb_intern("string");
753
717
  STRING_IO_ID = rb_intern("StringIO");
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright (c) 2015-2017 Red Hat, Inc.
2
+ # Copyright (c) 2015-2016 Red Hat, Inc.
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -15,7 +15,6 @@
15
15
  #
16
16
 
17
17
  require 'json'
18
- require 'tempfile'
19
18
  require 'uri'
20
19
 
21
20
  module OvirtSDK4
@@ -55,14 +54,8 @@ module OvirtSDK4
55
54
  # name should be checked.
56
55
  #
57
56
  # @option opts [String] :ca_file The name of a PEM file containing the trusted CA certificates. The certificate
58
- # presented by the server will be verified using these CA certificates. If neither this nor the `ca_certs`
59
- # options are provided, then the system wide CA certificates store is used. If both options are provided,
60
- # then the certificates from both options will be trusted.
61
- #
62
- # @option opts [Array<String>] :ca_certs An array of strings containing the trusted CA certificates, in PEM
63
- # format. The certificate presented by the server will be verified using these CA certificates. If neither this
64
- # nor the `ca_file` options are provided, then the system wide CA certificates store is used. If both options
65
- # are provided, then the certificates from both options will be trusted.
57
+ # presented by the server will be verified using these CA certificates. If not set then the system wide CA
58
+ # certificates store is used.
66
59
  #
67
60
  # @option opts [Boolean] :debug (false) A boolean flag indicating if debug output should be generated. If the
68
61
  # values is `true` and the `log` parameter isn't `nil` then the data sent to and received from the server will be
@@ -77,9 +70,11 @@ module OvirtSDK4
77
70
  # (the default) means wait for ever. If the timeout expires before the response is received an exception will be
78
71
  # raised.
79
72
  #
80
- # @option opts [Boolean] :compress (false) A boolean flag indicating if the SDK should ask the server to send
73
+ # @option opts [Boolean] :compress (true) A boolean flag indicating if the SDK should ask the server to send
81
74
  # compressed responses. Note that this is a hint for the server, and that it may return uncompressed data even
82
- # when this parameter is set to `true`.
75
+ # when this parameter is set to `true`. Also, compression will be automatically disabled when the `debug`
76
+ # parameter is set to `true`, as otherwise the debug output will be compressed as well, and then it isn't
77
+ # useful.
83
78
  #
84
79
  # @option opts [String] :proxy_url A string containing the protocol, address and port number of the proxy server
85
80
  # to use to connect to the server. For example, in order to use the HTTP proxy `proxy.example.com` that is
@@ -90,11 +85,6 @@ module OvirtSDK4
90
85
  #
91
86
  # @option opts [String] :proxy_password The password of the user to authenticate to the proxy server.
92
87
  #
93
- # @option opts [Hash] :headers Custom HTTP headers to send with all requests. The keys of the hash can be
94
- # strings of symbols, and they will be used as the names of the headers. The values of the hash will be used
95
- # as the names of the headers. If the same header is provided here and in the `headers` parameter of a specific
96
- # method call, then the `headers` parameter of the specific method call will have precendence.
97
- #
98
88
  def initialize(opts = {})
99
89
  # Get the values of the parameters and assign default values:
100
90
  @url = opts[:url]
@@ -103,38 +93,23 @@ module OvirtSDK4
103
93
  @token = opts[:token]
104
94
  @insecure = opts[:insecure] || false
105
95
  @ca_file = opts[:ca_file]
106
- @ca_certs = opts[:ca_certs]
107
96
  @debug = opts[:debug] || false
108
97
  @log = opts[:log]
109
98
  @kerberos = opts[:kerberos] || false
110
99
  @timeout = opts[:timeout] || 0
111
- @compress = opts[:compress] || false
100
+ @compress = opts[:compress] || true
112
101
  @proxy_url = opts[:proxy_url]
113
102
  @proxy_username = opts[:proxy_username]
114
103
  @proxy_password = opts[:proxy_password]
115
- @headers = opts[:headers]
116
-
117
- # Check that the URL has been provided:
118
- raise ArgumentError, "The 'url' option is mandatory" unless @url
119
-
120
- # Create a temporary file to store the CA certificates, and populate it with the contents of the 'ca_file' and
121
- # 'ca_certs' options. The file will be removed when the connection is closed.
122
- @ca_store = nil
123
- if @ca_file || @ca_certs
124
- @ca_store = Tempfile.new('ca_store')
125
- @ca_store.write(::File.read(@ca_file)) if @ca_file
126
- if @ca_certs
127
- @ca_certs.each do |ca_cert|
128
- @ca_store.write(ca_cert)
129
- end
130
- end
131
- @ca_store.close
132
- end
104
+
105
+ # Automatically disable compression when debug is enabled, as otherwise the debug output generated by
106
+ # libcurl is also compressed, and that isn't useful for debugging:
107
+ @compress = false if @debug
133
108
 
134
109
  # Create the HTTP client:
135
110
  @client = HttpClient.new(
136
111
  insecure: @insecure,
137
- ca_file: @ca_store ? @ca_store.path : nil,
112
+ ca_file: @ca_file,
138
113
  debug: @debug,
139
114
  log: @log,
140
115
  timeout: @timeout,
@@ -195,9 +170,6 @@ module OvirtSDK4
195
170
  request.headers['All-Content'] = all_content unless all_content.nil?
196
171
  end
197
172
 
198
- # Add the global headers, but without replacing the values that may already exist:
199
- request.headers.merge!(@headers) { |_name, local, _global| local } if @headers
200
-
201
173
  # Set the authentication token:
202
174
  @token ||= create_access_token
203
175
  request.token = @token
@@ -278,9 +250,6 @@ module OvirtSDK4
278
250
  body: URI.encode_www_form(parameters)
279
251
  )
280
252
 
281
- # Add the global headers:
282
- request.headers.merge!(@headers) if @headers
283
-
284
253
  # Create an empty response:
285
254
  response = HttpResponse.new
286
255
 
@@ -436,9 +405,6 @@ module OvirtSDK4
436
405
 
437
406
  # Close the HTTP client:
438
407
  @client.close if @client
439
-
440
- # Remove the temporary file that contains the trusted CA certificates:
441
- @ca_store.unlink if @ca_store
442
408
  end
443
409
  end
444
410
  end
@@ -121,7 +121,7 @@ module OvirtSDK4
121
121
  #
122
122
  # Converts the given text to a decimal value.
123
123
  #
124
- # @return [Float]
124
+ # @return [Fixnum]
125
125
  #
126
126
  def self.parse_decimal(text)
127
127
  return nil if text.nil?
@@ -136,7 +136,7 @@ module OvirtSDK4
136
136
  # Reads a decimal value, assuming that the cursor is positioned at the start element that contains the value.
137
137
  #
138
138
  # @param reader [XmlReader]
139
- # @return [Float]
139
+ # @return [Fixnum]
140
140
  #
141
141
  def self.read_decimal(reader)
142
142
  Reader.parse_decimal(reader.read_element)
@@ -147,7 +147,7 @@ module OvirtSDK4
147
147
  # values.
148
148
  #
149
149
  # @param reader [XmlReader]
150
- # @return [Array<Float>]
150
+ # @return [Array<Fixnum>]
151
151
  #
152
152
  def self.read_decimals(reader)
153
153
  reader.read_elements.map { |text| Reader.parse_decimal(text) }
@@ -189,43 +189,6 @@ module OvirtSDK4
189
189
  reader.read_elements.map { |text| Reader.parse_date(text) }
190
190
  end
191
191
 
192
- #
193
- # Converts the given text to an enum.
194
- #
195
- # @param enum_module [Module]
196
- # @param text [String]
197
- # @return [String]
198
- #
199
- def self.parse_enum(enum_module, text)
200
- return nil unless text
201
- values = enum_module.constants.map { |const| enum_module.const_get(const) }
202
- values.detect { |value| value.casecmp(text).zero? }
203
- end
204
-
205
- #
206
- # Reads a enum value, assuming that the cursor is positioned at the
207
- # start element that contains the value.
208
- #
209
- # @param enum_module [Module]
210
- # @param reader [XmlReader]
211
- # @return [Array<String>]
212
- #
213
- def self.read_enum(enum_module, reader)
214
- Reader.parse_enum(enum_module, reader.read_element)
215
- end
216
-
217
- #
218
- # Reads a list of enum values, assuming that the cursor is positioned
219
- # at the start element of the element that contains the first value.
220
- #
221
- # @param enum_module [Module]
222
- # @param reader [XmlReader]
223
- # @return [Array<String>]
224
- #
225
- def self.read_enums(enum_module, reader)
226
- reader.read_elements.map { |text| Reader.parse_enum(enum_module, text) }
227
- end
228
-
229
192
  #
230
193
  # This hash stores for each known tag a reference to the method that read the object corresponding for that tag. For
231
194
  # example, for the `vm` tag it will contain a reference to the `VmReader.read_one` method, and for the `vms` tag