ovirt-engine-sdk 4.6.0 → 4.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGES.adoc +11 -0
- data/ext/ovirtsdk4c/ov_http_client.c +24 -22
- data/ext/ovirtsdk4c/ov_http_request.c +4 -4
- data/ext/ovirtsdk4c/ov_http_response.c +4 -4
- data/ext/ovirtsdk4c/ov_http_transfer.c +4 -4
- data/ext/ovirtsdk4c/ov_xml_reader.c +1 -1
- data/ext/ovirtsdk4c/ov_xml_writer.c +2 -2
- data/lib/ovirtsdk4/readers.rb +102 -0
- data/lib/ovirtsdk4/services.rb +1832 -2392
- data/lib/ovirtsdk4/types.rb +302 -2
- data/lib/ovirtsdk4/version.rb +1 -1
- data/lib/ovirtsdk4/writers.rb +38 -0
- metadata +9 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2a18fa604006bdf2fff1c9c6ae67d53cfc8421aedca0f5a823fbae736b3b17fa
|
|
4
|
+
data.tar.gz: 6353e9cba637cd0e739ecfc525720eedd303cf19c7f1c149cd9f336927a9eae4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8f1b0c3d6a4b006f7536276da729334719c8507b3fddb7ca03675647c73191ef55b2c0b4411996695c13fbfdca6965a571b5bed2124c5514fc17646ff8c0bdfc
|
|
7
|
+
data.tar.gz: 519977ad66626c3ec8a3ca01184cfb966fced85b9399e6f548fd37f47bfc1bc0e5481f710f74f43ac3ea945e17fe4cc6e60f46846edec93f5d122bd029ffd88c
|
data/CHANGES.adoc
CHANGED
|
@@ -2,6 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
This document describes the relevant changes between releases of the SDK.
|
|
4
4
|
|
|
5
|
+
== 4.6.1 / Oct 16 2025
|
|
6
|
+
Upgrade to model 4.6.1 and metamodel 1.3.11
|
|
7
|
+
|
|
8
|
+
New features:
|
|
9
|
+
|
|
10
|
+
* Add support for Ruby 3
|
|
11
|
+
|
|
12
|
+
* Use Weld 3
|
|
13
|
+
|
|
14
|
+
* Build on Java 21
|
|
15
|
+
|
|
5
16
|
== 4.6.0 / Feb 1 2024
|
|
6
17
|
Upgrade to model 4.6.0 and metamodel 1.3.10
|
|
7
18
|
|
|
@@ -34,6 +34,9 @@ limitations under the License.
|
|
|
34
34
|
#include "ov_http_response.h"
|
|
35
35
|
#include "ov_http_transfer.h"
|
|
36
36
|
|
|
37
|
+
/* thread.c (export) */
|
|
38
|
+
extern int ruby_thread_has_gvl_p(void);
|
|
39
|
+
|
|
37
40
|
/* Class: */
|
|
38
41
|
VALUE ov_http_client_class;
|
|
39
42
|
|
|
@@ -130,7 +133,7 @@ typedef struct {
|
|
|
130
133
|
|
|
131
134
|
typedef struct {
|
|
132
135
|
CURLM* handle;
|
|
133
|
-
|
|
136
|
+
CURLMcode code;
|
|
134
137
|
bool cancel;
|
|
135
138
|
} ov_http_client_wait_context;
|
|
136
139
|
|
|
@@ -176,7 +179,7 @@ static void ov_http_client_check_closed(ov_http_client_object* object) {
|
|
|
176
179
|
static void ov_http_client_mark(void* vptr) {
|
|
177
180
|
ov_http_client_object* ptr;
|
|
178
181
|
|
|
179
|
-
ptr = vptr;
|
|
182
|
+
ptr = (ov_http_client_object*)vptr;
|
|
180
183
|
rb_gc_mark(ptr->log);
|
|
181
184
|
rb_gc_mark(ptr->queue);
|
|
182
185
|
rb_gc_mark(ptr->pending);
|
|
@@ -187,7 +190,7 @@ static void ov_http_client_free(void* vptr) {
|
|
|
187
190
|
ov_http_client_object* ptr;
|
|
188
191
|
|
|
189
192
|
/* Get the pointer to the object: */
|
|
190
|
-
ptr = vptr;
|
|
193
|
+
ptr = (ov_http_client_object*)vptr;
|
|
191
194
|
|
|
192
195
|
/* Release the resources used by libcurl: */
|
|
193
196
|
if (ptr->handle != NULL) {
|
|
@@ -213,7 +216,7 @@ rb_data_type_t ov_http_client_type = {
|
|
|
213
216
|
.dmark = ov_http_client_mark,
|
|
214
217
|
.dfree = ov_http_client_free,
|
|
215
218
|
.dsize = NULL,
|
|
216
|
-
.reserved = { NULL
|
|
219
|
+
.reserved = { NULL }
|
|
217
220
|
},
|
|
218
221
|
#ifdef RUBY_TYPED_FREE_IMMEDIATELY
|
|
219
222
|
.parent = NULL,
|
|
@@ -384,7 +387,7 @@ static void* ov_http_client_header_task(void* data) {
|
|
|
384
387
|
}
|
|
385
388
|
|
|
386
389
|
/* Parse the header and add it to the response object: */
|
|
387
|
-
pointer = memchr(buffer, ':', length);
|
|
390
|
+
pointer = (char*) memchr(buffer, ':', length);
|
|
388
391
|
if (pointer != NULL) {
|
|
389
392
|
name = rb_str_new(buffer, pointer - buffer);
|
|
390
393
|
name = rb_funcall(name, DOWNCASE_ID, 0);
|
|
@@ -491,7 +494,7 @@ static int ov_http_client_debug_function(CURL* handle, curl_infotype type, char*
|
|
|
491
494
|
ov_http_transfer_ptr(transfer, transfer_ptr);
|
|
492
495
|
|
|
493
496
|
/* The global interpreter lock may be acquired or not, so we need to check and either call the task directly
|
|
494
|
-
or else call it after acquiring the lock. Note that the `ruby_thread_has_gvl_p` function that we
|
|
497
|
+
or else call it after acquiring the lock. Note that the `ruby_thread_has_gvl_p` function that we use to
|
|
495
498
|
check if the GVL is acquired is marked as experimental, and not defined in `thread.h`, so it may be
|
|
496
499
|
removed at any time, but I didn't find any other way to check if the GVL is acquired. */
|
|
497
500
|
context.client = transfer_ptr->client;
|
|
@@ -736,7 +739,7 @@ static VALUE ov_http_client_build_url( VALUE url, VALUE query) {
|
|
|
736
739
|
if (!NIL_P(query)) {
|
|
737
740
|
Check_Type(query, T_HASH);
|
|
738
741
|
if (RHASH_SIZE(query) > 0) {
|
|
739
|
-
url = rb_sprintf("%"PRIsVALUE"?%"PRIsVALUE"", url, rb_funcall(URI_CLASS, ENCODE_WWW_FORM_ID, 1, query));
|
|
742
|
+
url = rb_sprintf("%" PRIsVALUE "?%" PRIsVALUE "", url, rb_funcall(URI_CLASS, ENCODE_WWW_FORM_ID, 1, query));
|
|
740
743
|
}
|
|
741
744
|
}
|
|
742
745
|
|
|
@@ -746,7 +749,7 @@ static VALUE ov_http_client_build_url( VALUE url, VALUE query) {
|
|
|
746
749
|
static int ov_http_client_add_header(VALUE name, VALUE value, struct curl_slist** headers) {
|
|
747
750
|
VALUE header = Qnil;
|
|
748
751
|
|
|
749
|
-
header = rb_sprintf("%"PRIsVALUE": %"PRIsVALUE"", name, value);
|
|
752
|
+
header = rb_sprintf("%" PRIsVALUE ": %" PRIsVALUE "", name, value);
|
|
750
753
|
*headers = curl_slist_append(*headers, StringValueCStr(header));
|
|
751
754
|
|
|
752
755
|
return ST_CONTINUE;
|
|
@@ -792,7 +795,7 @@ static void* ov_http_client_complete_task(void* data) {
|
|
|
792
795
|
/* Send a summary of the response to the log: */
|
|
793
796
|
ov_http_client_log_info(
|
|
794
797
|
client_ptr->log,
|
|
795
|
-
"Received response code %"PRIsVALUE" for %"PRIsVALUE" request to URL '%"PRIsVALUE"'.",
|
|
798
|
+
"Received response code %" PRIsVALUE " for %" PRIsVALUE " request to URL '%" PRIsVALUE "'.",
|
|
796
799
|
response_ptr->code,
|
|
797
800
|
request_ptr->method,
|
|
798
801
|
request_ptr->url
|
|
@@ -840,7 +843,7 @@ static void* ov_http_client_wait_task(void* data) {
|
|
|
840
843
|
#endif
|
|
841
844
|
|
|
842
845
|
/* The passed data is the wait context: */
|
|
843
|
-
context_ptr = data;
|
|
846
|
+
context_ptr = (ov_http_client_wait_context*) data;
|
|
844
847
|
|
|
845
848
|
/* Get the timeout preferred by libcurl, or one 100 ms by default: */
|
|
846
849
|
curl_multi_timeout(context_ptr->handle, &timeout);
|
|
@@ -851,7 +854,7 @@ static void* ov_http_client_wait_task(void* data) {
|
|
|
851
854
|
#if LIBCURL_VERSION_NUM >= 0x071c00
|
|
852
855
|
/* Wait till there is activity: */
|
|
853
856
|
context_ptr->code = curl_multi_wait(context_ptr->handle, NULL, 0, timeout, NULL);
|
|
854
|
-
if (context_ptr->code !=
|
|
857
|
+
if (context_ptr->code != CURLM_OK) {
|
|
855
858
|
return NULL;
|
|
856
859
|
}
|
|
857
860
|
#else
|
|
@@ -872,7 +875,7 @@ static void* ov_http_client_wait_task(void* data) {
|
|
|
872
875
|
/* Let libcurl do its work, even if no file descriptor needs attention. This is necessary because some of its
|
|
873
876
|
activities can't be monitored using file descriptors. */
|
|
874
877
|
context_ptr->code = curl_multi_perform(context_ptr->handle, &pending);
|
|
875
|
-
if (context_ptr->code !=
|
|
878
|
+
if (context_ptr->code != CURLM_OK) {
|
|
876
879
|
return NULL;
|
|
877
880
|
}
|
|
878
881
|
|
|
@@ -890,7 +893,7 @@ static void* ov_http_client_wait_task(void* data) {
|
|
|
890
893
|
}
|
|
891
894
|
|
|
892
895
|
/* Everything worked correctly: */
|
|
893
|
-
context_ptr->code =
|
|
896
|
+
context_ptr->code = CURLM_OK;
|
|
894
897
|
return NULL;
|
|
895
898
|
}
|
|
896
899
|
|
|
@@ -898,7 +901,7 @@ static void ov_http_client_wait_cancel(void* data) {
|
|
|
898
901
|
ov_http_client_wait_context* context_ptr;
|
|
899
902
|
|
|
900
903
|
/* The passed data is the wait context: */
|
|
901
|
-
context_ptr = data;
|
|
904
|
+
context_ptr = (ov_http_client_wait_context*) data;
|
|
902
905
|
|
|
903
906
|
/* Set the cancel flag so that the operation will be actually aborted in the next operation of the wait loop: */
|
|
904
907
|
context_ptr->cancel = true;
|
|
@@ -980,7 +983,6 @@ static void ov_http_client_prepare_handle(ov_http_client_object* client_ptr, ov_
|
|
|
980
983
|
else if (rb_eql(request_ptr->method, PUT_SYMBOL)) {
|
|
981
984
|
*headers = curl_slist_append(*headers, "Expect:");
|
|
982
985
|
curl_easy_setopt(handle, CURLOPT_UPLOAD, 1L);
|
|
983
|
-
curl_easy_setopt(handle, CURLOPT_PUT, 1L);
|
|
984
986
|
}
|
|
985
987
|
else if (rb_eql(request_ptr->method, DELETE_SYMBOL)) {
|
|
986
988
|
curl_easy_setopt(handle, CURLOPT_HTTPGET, 1L);
|
|
@@ -992,7 +994,7 @@ static void ov_http_client_prepare_handle(ov_http_client_object* client_ptr, ov_
|
|
|
992
994
|
|
|
993
995
|
/* Set authentication details: */
|
|
994
996
|
if (!NIL_P(request_ptr->token)) {
|
|
995
|
-
header = rb_sprintf("Authorization: Bearer %"PRIsVALUE"", request_ptr->token);
|
|
997
|
+
header = rb_sprintf("Authorization: Bearer %" PRIsVALUE "", request_ptr->token);
|
|
996
998
|
*headers = curl_slist_append(*headers, StringValueCStr(header));
|
|
997
999
|
}
|
|
998
1000
|
else if (!NIL_P(request_ptr->username) && !NIL_P(request_ptr->password)) {
|
|
@@ -1006,14 +1008,14 @@ static void ov_http_client_prepare_handle(ov_http_client_object* client_ptr, ov_
|
|
|
1006
1008
|
|
|
1007
1009
|
/* Set the headers: */
|
|
1008
1010
|
if (!NIL_P(request_ptr->headers)) {
|
|
1009
|
-
rb_hash_foreach(request_ptr->headers, ov_http_client_add_header, (VALUE) headers);
|
|
1011
|
+
rb_hash_foreach(request_ptr->headers, (int (*)(VALUE, VALUE, VALUE)) ov_http_client_add_header, (VALUE) headers);
|
|
1010
1012
|
}
|
|
1011
1013
|
curl_easy_setopt(handle, CURLOPT_HTTPHEADER, *headers);
|
|
1012
1014
|
|
|
1013
1015
|
/* Send a summary of the request to the log: */
|
|
1014
1016
|
ov_http_client_log_info(
|
|
1015
1017
|
client_ptr->log,
|
|
1016
|
-
"Sending %"PRIsVALUE" request to URL '%"PRIsVALUE"'.",
|
|
1018
|
+
"Sending %" PRIsVALUE " request to URL '%" PRIsVALUE "'.",
|
|
1017
1019
|
request_ptr->method,
|
|
1018
1020
|
url
|
|
1019
1021
|
);
|
|
@@ -1119,7 +1121,7 @@ static VALUE ov_http_client_wait(VALUE self, VALUE request) {
|
|
|
1119
1121
|
|
|
1120
1122
|
/* Work till the transfer has been completed. */
|
|
1121
1123
|
context.handle = ptr->handle;
|
|
1122
|
-
context.code =
|
|
1124
|
+
context.code = CURLM_OK;
|
|
1123
1125
|
context.cancel = false;
|
|
1124
1126
|
for (;;) {
|
|
1125
1127
|
/* Move requests from the queue to libcurl: */
|
|
@@ -1144,8 +1146,8 @@ static VALUE ov_http_client_wait(VALUE self, VALUE request) {
|
|
|
1144
1146
|
if (context.cancel) {
|
|
1145
1147
|
return Qnil;
|
|
1146
1148
|
}
|
|
1147
|
-
if (context.code !=
|
|
1148
|
-
rb_raise(ov_error_class, "Unexpected error while waiting: %s",
|
|
1149
|
+
if (context.code != CURLM_OK) {
|
|
1150
|
+
rb_raise(ov_error_class, "Unexpected error while waiting: %s", curl_multi_strerror(context.code));
|
|
1149
1151
|
}
|
|
1150
1152
|
}
|
|
1151
1153
|
|
|
@@ -1156,7 +1158,7 @@ static VALUE ov_http_client_inspect(VALUE self) {
|
|
|
1156
1158
|
ov_http_client_object* ptr;
|
|
1157
1159
|
|
|
1158
1160
|
ov_http_client_ptr(self, ptr);
|
|
1159
|
-
return rb_sprintf("#<%"PRIsVALUE":%p>", ov_http_client_class, ptr);
|
|
1161
|
+
return rb_sprintf("#<%" PRIsVALUE ":%p>", ov_http_client_class, ptr);
|
|
1160
1162
|
}
|
|
1161
1163
|
|
|
1162
1164
|
void ov_http_client_define(void) {
|
|
@@ -45,7 +45,7 @@ static VALUE CONNECT_TIMEOUT_SYMBOL;
|
|
|
45
45
|
static void ov_http_request_mark(void* vptr) {
|
|
46
46
|
ov_http_request_object* ptr;
|
|
47
47
|
|
|
48
|
-
ptr = vptr;
|
|
48
|
+
ptr = (ov_http_request_object*)vptr;
|
|
49
49
|
rb_gc_mark(ptr->method);
|
|
50
50
|
rb_gc_mark(ptr->url);
|
|
51
51
|
rb_gc_mark(ptr->query);
|
|
@@ -62,7 +62,7 @@ static void ov_http_request_mark(void* vptr) {
|
|
|
62
62
|
static void ov_http_request_free(void* vptr) {
|
|
63
63
|
ov_http_request_object* ptr;
|
|
64
64
|
|
|
65
|
-
ptr = vptr;
|
|
65
|
+
ptr = (ov_http_request_object*)vptr;
|
|
66
66
|
xfree(ptr);
|
|
67
67
|
}
|
|
68
68
|
|
|
@@ -72,7 +72,7 @@ rb_data_type_t ov_http_request_type = {
|
|
|
72
72
|
.dmark = ov_http_request_mark,
|
|
73
73
|
.dfree = ov_http_request_free,
|
|
74
74
|
.dsize = NULL,
|
|
75
|
-
.reserved = { NULL
|
|
75
|
+
.reserved = { NULL }
|
|
76
76
|
},
|
|
77
77
|
#ifdef RUBY_TYPED_FREE_IMMEDIATELY
|
|
78
78
|
.parent = NULL,
|
|
@@ -305,7 +305,7 @@ static VALUE ov_http_request_inspect(VALUE self) {
|
|
|
305
305
|
|
|
306
306
|
ov_http_request_ptr(self, ptr);
|
|
307
307
|
return rb_sprintf(
|
|
308
|
-
"#<%"PRIsVALUE":%"PRIsVALUE" %"PRIsVALUE">",
|
|
308
|
+
"#<%" PRIsVALUE ":%" PRIsVALUE " %" PRIsVALUE ">",
|
|
309
309
|
ov_http_request_class,
|
|
310
310
|
ptr->method,
|
|
311
311
|
ptr->url
|
|
@@ -31,7 +31,7 @@ static VALUE MESSAGE_SYMBOL;
|
|
|
31
31
|
static void ov_http_response_mark(void* vptr) {
|
|
32
32
|
ov_http_response_object* ptr;
|
|
33
33
|
|
|
34
|
-
ptr = vptr;
|
|
34
|
+
ptr = (ov_http_response_object*)vptr;
|
|
35
35
|
rb_gc_mark(ptr->body);
|
|
36
36
|
rb_gc_mark(ptr->code);
|
|
37
37
|
rb_gc_mark(ptr->headers);
|
|
@@ -41,7 +41,7 @@ static void ov_http_response_mark(void* vptr) {
|
|
|
41
41
|
static void ov_http_response_free(void* vptr) {
|
|
42
42
|
ov_http_response_object* ptr;
|
|
43
43
|
|
|
44
|
-
ptr = vptr;
|
|
44
|
+
ptr = (ov_http_response_object*)vptr;
|
|
45
45
|
xfree(ptr);
|
|
46
46
|
}
|
|
47
47
|
|
|
@@ -51,7 +51,7 @@ rb_data_type_t ov_http_response_type = {
|
|
|
51
51
|
.dmark = ov_http_response_mark,
|
|
52
52
|
.dfree = ov_http_response_free,
|
|
53
53
|
.dsize = NULL,
|
|
54
|
-
.reserved = { NULL
|
|
54
|
+
.reserved = { NULL }
|
|
55
55
|
},
|
|
56
56
|
#ifdef RUBY_TYPED_FREE_IMMEDIATELY
|
|
57
57
|
.parent = NULL,
|
|
@@ -151,7 +151,7 @@ static VALUE ov_http_response_inspect(VALUE self) {
|
|
|
151
151
|
|
|
152
152
|
ov_http_response_ptr(self, ptr);
|
|
153
153
|
return rb_sprintf(
|
|
154
|
-
"#<%"PRIsVALUE":%"PRIsVALUE" %"PRIsVALUE">",
|
|
154
|
+
"#<%" PRIsVALUE ":%" PRIsVALUE " %" PRIsVALUE ">",
|
|
155
155
|
ov_http_response_class,
|
|
156
156
|
ptr->code,
|
|
157
157
|
ptr->message
|
|
@@ -27,7 +27,7 @@ VALUE ov_http_transfer_class;
|
|
|
27
27
|
static void ov_http_transfer_mark(void* vptr) {
|
|
28
28
|
ov_http_transfer_object* ptr;
|
|
29
29
|
|
|
30
|
-
ptr = vptr;
|
|
30
|
+
ptr = (ov_http_transfer_object*)vptr;
|
|
31
31
|
rb_gc_mark(ptr->client);
|
|
32
32
|
rb_gc_mark(ptr->request);
|
|
33
33
|
rb_gc_mark(ptr->response);
|
|
@@ -38,7 +38,7 @@ static void ov_http_transfer_mark(void* vptr) {
|
|
|
38
38
|
static void ov_http_transfer_free(void* vptr) {
|
|
39
39
|
ov_http_transfer_object* ptr;
|
|
40
40
|
|
|
41
|
-
ptr = vptr;
|
|
41
|
+
ptr = (ov_http_transfer_object*)vptr;
|
|
42
42
|
xfree(ptr);
|
|
43
43
|
}
|
|
44
44
|
|
|
@@ -48,7 +48,7 @@ rb_data_type_t ov_http_transfer_type = {
|
|
|
48
48
|
.dmark = ov_http_transfer_mark,
|
|
49
49
|
.dfree = ov_http_transfer_free,
|
|
50
50
|
.dsize = NULL,
|
|
51
|
-
.reserved = { NULL
|
|
51
|
+
.reserved = { NULL }
|
|
52
52
|
},
|
|
53
53
|
#ifdef RUBY_TYPED_FREE_IMMEDIATELY
|
|
54
54
|
.parent = NULL,
|
|
@@ -75,7 +75,7 @@ static VALUE ov_http_transfer_inspect(VALUE self) {
|
|
|
75
75
|
ov_http_transfer_object* ptr;
|
|
76
76
|
|
|
77
77
|
ov_http_transfer_ptr(self, ptr);
|
|
78
|
-
return rb_sprintf("#<%"PRIsVALUE":%p>", ov_http_transfer_class, ptr);
|
|
78
|
+
return rb_sprintf("#<%" PRIsVALUE ":%p>", ov_http_transfer_class, ptr);
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
void ov_http_transfer_define(void) {
|
|
@@ -66,7 +66,7 @@ rb_data_type_t ov_xml_writer_type = {
|
|
|
66
66
|
.dmark = ov_xml_writer_mark,
|
|
67
67
|
.dfree = ov_xml_writer_free,
|
|
68
68
|
.dsize = NULL,
|
|
69
|
-
.reserved = { NULL
|
|
69
|
+
.reserved = { NULL }
|
|
70
70
|
},
|
|
71
71
|
#ifdef RUBY_TYPED_FREE_IMMEDIATELY
|
|
72
72
|
.parent = NULL,
|
|
@@ -181,7 +181,7 @@ static VALUE ov_xml_writer_string(VALUE self) {
|
|
|
181
181
|
if (rc < 0) {
|
|
182
182
|
rb_raise(ov_error_class, "Can't flush XML writer");
|
|
183
183
|
}
|
|
184
|
-
return rb_funcall(ptr->io, STRING_ID, 0,
|
|
184
|
+
return rb_funcall(ptr->io, STRING_ID, 0, Qnil);
|
|
185
185
|
}
|
|
186
186
|
|
|
187
187
|
static VALUE ov_xml_writer_write_start(VALUE self, VALUE name) {
|
data/lib/ovirtsdk4/readers.rb
CHANGED
|
@@ -34,6 +34,8 @@ module OvirtSDK4
|
|
|
34
34
|
object.allow_partial_import = value if not value.nil?
|
|
35
35
|
value = reader.get_attribute('async')
|
|
36
36
|
object.async = value if not value.nil?
|
|
37
|
+
value = reader.get_attribute('attach_wgt')
|
|
38
|
+
object.attach_wgt = value if not value.nil?
|
|
37
39
|
value = reader.get_attribute('auto_pinning_policy')
|
|
38
40
|
object.auto_pinning_policy = value if not value.nil?
|
|
39
41
|
value = reader.get_attribute('check_connectivity')
|
|
@@ -149,6 +151,8 @@ module OvirtSDK4
|
|
|
149
151
|
object.allow_partial_import = Reader.read_boolean(reader)
|
|
150
152
|
when 'async'
|
|
151
153
|
object.async = Reader.read_boolean(reader)
|
|
154
|
+
when 'attach_wgt'
|
|
155
|
+
object.attach_wgt = Reader.read_boolean(reader)
|
|
152
156
|
when 'attachment'
|
|
153
157
|
object.attachment = DiskAttachmentReader.read_one(reader)
|
|
154
158
|
when 'authorized_key'
|
|
@@ -895,6 +899,8 @@ module OvirtSDK4
|
|
|
895
899
|
# Process the inner elements:
|
|
896
900
|
while reader.forward do
|
|
897
901
|
case reader.node_name
|
|
902
|
+
when 'engine_backup'
|
|
903
|
+
object.engine_backup = EngineBackupInfoReader.read_one(reader)
|
|
898
904
|
when 'product_info'
|
|
899
905
|
object.product_info = ProductInfoReader.read_one(reader)
|
|
900
906
|
when 'special_objects'
|
|
@@ -4273,6 +4279,8 @@ module OvirtSDK4
|
|
|
4273
4279
|
object.smartcard_enabled = value if not value.nil?
|
|
4274
4280
|
value = reader.get_attribute('type')
|
|
4275
4281
|
object.type = value if not value.nil?
|
|
4282
|
+
value = reader.get_attribute('video_type')
|
|
4283
|
+
object.video_type = value if not value.nil?
|
|
4276
4284
|
|
|
4277
4285
|
# Discard the start tag:
|
|
4278
4286
|
empty = reader.empty_element?
|
|
@@ -4312,6 +4320,8 @@ module OvirtSDK4
|
|
|
4312
4320
|
object.smartcard_enabled = Reader.read_boolean(reader)
|
|
4313
4321
|
when 'type'
|
|
4314
4322
|
object.type = Reader.read_enum(DisplayType, reader)
|
|
4323
|
+
when 'video_type'
|
|
4324
|
+
object.video_type = Reader.read_enum(VideoType, reader)
|
|
4315
4325
|
else
|
|
4316
4326
|
reader.next_element
|
|
4317
4327
|
end
|
|
@@ -4635,6 +4645,88 @@ module OvirtSDK4
|
|
|
4635
4645
|
|
|
4636
4646
|
end
|
|
4637
4647
|
|
|
4648
|
+
class EngineBackupInfoReader < Reader
|
|
4649
|
+
|
|
4650
|
+
def self.read_one(reader)
|
|
4651
|
+
# Do nothing if there aren't more tags:
|
|
4652
|
+
return nil unless reader.forward
|
|
4653
|
+
|
|
4654
|
+
# Create the object:
|
|
4655
|
+
object = EngineBackupInfo.new
|
|
4656
|
+
|
|
4657
|
+
# Process the attributes:
|
|
4658
|
+
object.href = reader.get_attribute('href')
|
|
4659
|
+
value = reader.get_attribute('last_cinder_backup')
|
|
4660
|
+
object.last_cinder_backup = value if not value.nil?
|
|
4661
|
+
value = reader.get_attribute('last_db_backup')
|
|
4662
|
+
object.last_db_backup = value if not value.nil?
|
|
4663
|
+
value = reader.get_attribute('last_dwh_backup')
|
|
4664
|
+
object.last_dwh_backup = value if not value.nil?
|
|
4665
|
+
value = reader.get_attribute('last_engine_backup')
|
|
4666
|
+
object.last_engine_backup = value if not value.nil?
|
|
4667
|
+
value = reader.get_attribute('last_grafana_backup')
|
|
4668
|
+
object.last_grafana_backup = value if not value.nil?
|
|
4669
|
+
value = reader.get_attribute('last_keycloak_backup')
|
|
4670
|
+
object.last_keycloak_backup = value if not value.nil?
|
|
4671
|
+
|
|
4672
|
+
# Discard the start tag:
|
|
4673
|
+
empty = reader.empty_element?
|
|
4674
|
+
reader.read
|
|
4675
|
+
return object if empty
|
|
4676
|
+
|
|
4677
|
+
# Process the inner elements:
|
|
4678
|
+
while reader.forward do
|
|
4679
|
+
case reader.node_name
|
|
4680
|
+
when 'last_cinder_backup'
|
|
4681
|
+
object.last_cinder_backup = Reader.read_date(reader)
|
|
4682
|
+
when 'last_db_backup'
|
|
4683
|
+
object.last_db_backup = Reader.read_date(reader)
|
|
4684
|
+
when 'last_dwh_backup'
|
|
4685
|
+
object.last_dwh_backup = Reader.read_date(reader)
|
|
4686
|
+
when 'last_engine_backup'
|
|
4687
|
+
object.last_engine_backup = Reader.read_date(reader)
|
|
4688
|
+
when 'last_grafana_backup'
|
|
4689
|
+
object.last_grafana_backup = Reader.read_date(reader)
|
|
4690
|
+
when 'last_keycloak_backup'
|
|
4691
|
+
object.last_keycloak_backup = Reader.read_date(reader)
|
|
4692
|
+
else
|
|
4693
|
+
reader.next_element
|
|
4694
|
+
end
|
|
4695
|
+
end
|
|
4696
|
+
|
|
4697
|
+
# Discard the end tag:
|
|
4698
|
+
reader.read
|
|
4699
|
+
|
|
4700
|
+
return object
|
|
4701
|
+
end
|
|
4702
|
+
|
|
4703
|
+
|
|
4704
|
+
def self.read_many(reader)
|
|
4705
|
+
# Do nothing if there aren't more tags:
|
|
4706
|
+
list = List.new
|
|
4707
|
+
return list unless reader.forward
|
|
4708
|
+
|
|
4709
|
+
# Process the attributes:
|
|
4710
|
+
list.href = reader.get_attribute('href')
|
|
4711
|
+
|
|
4712
|
+
# Discard the start tag:
|
|
4713
|
+
empty = reader.empty_element?
|
|
4714
|
+
reader.read
|
|
4715
|
+
return list if empty
|
|
4716
|
+
|
|
4717
|
+
# Process the inner elements:
|
|
4718
|
+
while reader.forward do
|
|
4719
|
+
list << read_one(reader)
|
|
4720
|
+
end
|
|
4721
|
+
|
|
4722
|
+
# Discard the end tag:
|
|
4723
|
+
reader.read
|
|
4724
|
+
|
|
4725
|
+
return list
|
|
4726
|
+
end
|
|
4727
|
+
|
|
4728
|
+
end
|
|
4729
|
+
|
|
4638
4730
|
class EntityProfileDetailReader < Reader
|
|
4639
4731
|
|
|
4640
4732
|
def self.read_one(reader)
|
|
@@ -10441,6 +10533,8 @@ module OvirtSDK4
|
|
|
10441
10533
|
|
|
10442
10534
|
# Process the attributes:
|
|
10443
10535
|
object.href = reader.get_attribute('href')
|
|
10536
|
+
value = reader.get_attribute('active_paths')
|
|
10537
|
+
object.active_paths = value if not value.nil?
|
|
10444
10538
|
value = reader.get_attribute('address')
|
|
10445
10539
|
object.address = value if not value.nil?
|
|
10446
10540
|
value = reader.get_attribute('discard_max_size')
|
|
@@ -10488,6 +10582,8 @@ module OvirtSDK4
|
|
|
10488
10582
|
# Process the inner elements:
|
|
10489
10583
|
while reader.forward do
|
|
10490
10584
|
case reader.node_name
|
|
10585
|
+
when 'active_paths'
|
|
10586
|
+
object.active_paths = Reader.read_integer(reader)
|
|
10491
10587
|
when 'address'
|
|
10492
10588
|
object.address = Reader.read_string(reader)
|
|
10493
10589
|
when 'discard_max_size'
|
|
@@ -13198,6 +13294,8 @@ module OvirtSDK4
|
|
|
13198
13294
|
object.cmdline = value if not value.nil?
|
|
13199
13295
|
value = reader.get_attribute('custom_kernel_cmdline')
|
|
13200
13296
|
object.custom_kernel_cmdline = value if not value.nil?
|
|
13297
|
+
value = reader.get_attribute('description')
|
|
13298
|
+
object.description = value if not value.nil?
|
|
13201
13299
|
value = reader.get_attribute('initrd')
|
|
13202
13300
|
object.initrd = value if not value.nil?
|
|
13203
13301
|
value = reader.get_attribute('kernel')
|
|
@@ -13221,6 +13319,8 @@ module OvirtSDK4
|
|
|
13221
13319
|
object.cmdline = Reader.read_string(reader)
|
|
13222
13320
|
when 'custom_kernel_cmdline'
|
|
13223
13321
|
object.custom_kernel_cmdline = Reader.read_string(reader)
|
|
13322
|
+
when 'description'
|
|
13323
|
+
object.description = Reader.read_string(reader)
|
|
13224
13324
|
when 'initrd'
|
|
13225
13325
|
object.initrd = Reader.read_string(reader)
|
|
13226
13326
|
when 'kernel'
|
|
@@ -20957,6 +21057,8 @@ module OvirtSDK4
|
|
|
20957
21057
|
Reader.register('domains', DomainReader.method(:read_many))
|
|
20958
21058
|
Reader.register('dynamic_cpu', DynamicCpuReader.method(:read_one))
|
|
20959
21059
|
Reader.register('dynamic_cpus', DynamicCpuReader.method(:read_many))
|
|
21060
|
+
Reader.register('engine_backup_info', EngineBackupInfoReader.method(:read_one))
|
|
21061
|
+
Reader.register('engine_backup_infos', EngineBackupInfoReader.method(:read_many))
|
|
20960
21062
|
Reader.register('entity_profile_detail', EntityProfileDetailReader.method(:read_one))
|
|
20961
21063
|
Reader.register('entity_profile_details', EntityProfileDetailReader.method(:read_many))
|
|
20962
21064
|
Reader.register('error_handling', ErrorHandlingReader.method(:read_one))
|