ovirt-engine-sdk 4.0.0 → 4.0.1

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: b62a1ccf0ed2630739142b9198033ce8cdf58ccb
4
- data.tar.gz: bbc9e27afe1ac05bbc8adc6a4fc0f1581d83473f
3
+ metadata.gz: cc70e7bc96b552de89ef13a91ae7ceb1f4a3bbb0
4
+ data.tar.gz: 5ad0eb7711a5f490acf4774169bb480d65d8f0cc
5
5
  SHA512:
6
- metadata.gz: 7c8cdfe1a18696f3aaa719efe70d1aa0284c96ca46e25676062d5895d93bfd4172dfe9ec777439f0417f4d11a6756182db7a696f2f51916e089916dd9daed2db
7
- data.tar.gz: cb466df16439caf26f11130f701a93b9c9fa0ef0106450c3d531c61b9a8d15db78e64bfadf09a07abe03df84d630cc6c6bde4619d1cea00815145a239740d874
6
+ metadata.gz: f2f28c98d659ae7a54fc0b7fdc98042d22005c3d01825b91d1e9df8018e480adbb79f69b751289cecc2a8cd2ff6ee3037cf3c7779d3781102e19957d3360c3e4
7
+ data.tar.gz: 919165505e1e6b2fe06c80f2eda1d0556c9a628c53abf42309be2433e44b695de12b00ce14fb73de41f7c137d533938ca7d7fc4efbb9a1dfa4b991b52b56cefb
data/.yardopts ADDED
@@ -0,0 +1,6 @@
1
+ --markup asciidoc
2
+ --hide-api private
3
+ --exclude lib/ovirtsdk4/reader.rb
4
+ --exclude lib/ovirtsdk4/readers.rb
5
+ --exclude lib/ovirtsdk4/writer.rb
6
+ --exclude lib/ovirtsdk4/writers.rb
data/CHANGES.adoc CHANGED
@@ -2,6 +2,39 @@
2
2
 
3
3
  This document describes the relevant changes between releases of the SDK.
4
4
 
5
+ == 4.0.1 / Sep 6 2016
6
+
7
+ Update to model 4.0.33.
8
+
9
+ New features:
10
+
11
+ * Add the `custom_scheduling_policy_properties` attribute to the
12
+ `Cluster` type.
13
+
14
+ * Add services and types to support transfer of images.
15
+
16
+ * Add generic reader.
17
+
18
+ Bug fixes:
19
+
20
+ * Remove the `add` and `remove` operations of virtual machine
21
+ CDROMs.
22
+
23
+ * Fix the type of the `usages` attribute of the `Network` type, it
24
+ should be a list of values of the `NetworkUsage` enum, not a list
25
+ of strings.
26
+
27
+ * Fix reading of lists of elements https://bugzilla.redhat.com/1373436[#1373436].
28
+
29
+ * Accept `action` and `fault` from actions.
30
+
31
+ * Fix reading of list of primitive and enum types.
32
+
33
+ == 4.0.0 / Aug 29 2016
34
+
35
+ This version didn't include any change other than removing the `alpha`
36
+ suffix from the version number.
37
+
5
38
  == 4.0.0.alpha21 / Aug 22 2016
6
39
 
7
40
  Bug fixes:
data/README.adoc CHANGED
@@ -74,4 +74,4 @@ You will find more usage examples in the `examples` directory.
74
74
  == Reference
75
75
 
76
76
  The reference documentation is available
77
- https://jhernand.fedorapeople.org/ovirt-engine-sdk-ruby[here].
77
+ http://www.rubydoc.info/gems/ovirt-engine-sdk[here].
@@ -209,11 +209,16 @@ static VALUE ov_xml_reader_node_name(VALUE self) {
209
209
  }
210
210
 
211
211
  static VALUE ov_xml_reader_empty_element(VALUE self) {
212
+ int c_empty = 0;
212
213
  ov_xml_reader_object* object = NULL;
213
214
 
214
215
  Data_Get_Struct(self, ov_xml_reader_object, object);
215
216
  ov_xml_reader_check_closed(object);
216
- return xmlTextReaderIsEmptyElement(object->reader)? Qtrue: Qfalse;
217
+ c_empty = xmlTextReaderIsEmptyElement(object->reader);
218
+ if (c_empty == -1) {
219
+ rb_raise(ov_error_class, "Can't check if current element is empty");
220
+ }
221
+ return c_empty? Qtrue: Qfalse;
217
222
  }
218
223
 
219
224
  static VALUE ov_xml_reader_get_attribute(VALUE self, VALUE name) {
@@ -296,13 +301,55 @@ static VALUE ov_xml_reader_read_element(VALUE self) {
296
301
  static VALUE ov_xml_reader_read_elements(VALUE self) {
297
302
  VALUE element;
298
303
  VALUE list;
304
+ int c_empty = 0;
299
305
  int c_type = 0;
300
306
  int rc = 0;
301
307
  ov_xml_reader_object* object = NULL;
302
308
 
309
+ /* Get the pointer to the object and check that it isn't closed: */
303
310
  Data_Get_Struct(self, ov_xml_reader_object, object);
304
311
  ov_xml_reader_check_closed(object);
312
+
313
+ /* This method assumes that the reader is positioned at the element that contains the values to read. For example
314
+ if the XML document is the following:
315
+
316
+ <list>
317
+ <value>first</value>
318
+ <value>second</value>
319
+ </list>
320
+
321
+ The reader should be positioned at the <list> element. The first thing we need to do is to check: */
322
+ c_type = xmlTextReaderNodeType(object->reader);
323
+ if (c_type == -1) {
324
+ rb_raise(ov_error_class, "Can't get current node type");
325
+ }
326
+ if (c_type != XML_READER_TYPE_ELEMENT) {
327
+ rb_raise(ov_error_class, "Current node isn't the start of an element");
328
+ }
329
+
330
+ /* If we are indeed positioned at the first element, then we need to check if it is empty, <list/>, as we will
331
+ need this lter, after discarding the element: */
332
+ c_empty = xmlTextReaderIsEmptyElement(object->reader);
333
+ if (c_empty == -1) {
334
+ rb_raise(ov_error_class, "Can't check if current element is empty");
335
+ }
336
+
337
+ /* Now we need to discard the current element, as we are interested only in the nested <value>...</value>
338
+ elements: */
339
+ rc = xmlTextReaderRead(object->reader);
340
+ if (rc == -1) {
341
+ rb_raise(ov_error_class, "Can't move to next node");
342
+ }
343
+
344
+ /* Create the list that will contain the result: */
305
345
  list = rb_ary_new();
346
+
347
+ /* At this point, if the start element was empty, we don't need to do anything else: */
348
+ if (c_empty) {
349
+ return list;
350
+ }
351
+
352
+ /* Process the nested elements: */
306
353
  for (;;) {
307
354
  c_type = xmlTextReaderNodeType(object->reader);
308
355
  if (c_type == -1) {
@@ -318,10 +365,20 @@ static VALUE ov_xml_reader_read_elements(VALUE self) {
318
365
  else {
319
366
  rc = xmlTextReaderNext(object->reader);
320
367
  if (rc == -1) {
321
- rb_raise(ov_error_class, "Can't move to the next element");
368
+ rb_raise(ov_error_class, "Can't move to the next node");
322
369
  }
323
370
  }
324
371
  }
372
+
373
+ /* Once all the nested <value>...</value> elements are processed the reader will be positioned at the closing
374
+ </list> element, or at the end of the document. If it is the closing element then we need to discard it. */
375
+ if (c_type == XML_READER_TYPE_END_ELEMENT) {
376
+ rc = xmlTextReaderRead(object->reader);
377
+ if (rc == -1) {
378
+ rb_raise(ov_error_class, "Can't move to next node");
379
+ }
380
+ }
381
+
325
382
  return list;
326
383
  }
327
384
 
@@ -191,6 +191,62 @@ module OvirtSDK4
191
191
  return reader.read_elements.map { |text| Reader.parse_date(text) }
192
192
  end
193
193
 
194
+ #
195
+ # This hash stores for each known tag a reference to the method that read the object corresponding for that tag. For
196
+ # example, for the `vm` tag it will contain a reference to the `VmReader.read_one` method, and for the `vms` tag
197
+ # it will contain a reference to the `VmReader.read_many` method.
198
+ #
199
+ @@readers = {}
200
+
201
+ #
202
+ # Registers a read method.
203
+ #
204
+ # @param tag [String] The tag name.
205
+ # @param reader [Method] The reference to the method that reads the object corresponding to the `tag`.
206
+ #
207
+ def self.register(tag, reader)
208
+ @@readers[tag] = reader
209
+ end
210
+
211
+ #
212
+ # Reads one object, determining the reader method to use based on the tag name of the first element. For example,
213
+ # if the first tag name is `vm` then it will create a `Vm` object, if it the tag is `vms` it will create an array
214
+ # of `Vm` objects, so on.
215
+ #
216
+ # @param source [String, XmlReader] The string, IO or XML reader where the input will be taken from.
217
+ #
218
+ def self.read(source)
219
+ # If the source is a string or IO object then create a XML reader from it:
220
+ cursor = nil
221
+ if source.is_a?(String) || source.is_a?(IO)
222
+ cursor = XmlReader.new(source)
223
+ elsif source.is_a?(XmlReader)
224
+ cursor = source
225
+ else
226
+ raise ArgumentError.new("Expected a 'String' or 'XmlReader', but got '#{source.class}'")
227
+ end
228
+
229
+ # Do the actual read, and make sure to always close the XML reader if we created it:
230
+ begin
231
+ # Do nothing if there aren't more tags:
232
+ return nil unless cursor.forward
233
+
234
+ # Select the specific reader according to the tag:
235
+ tag = cursor.node_name
236
+ reader = @@readers[tag]
237
+ if reader.nil?
238
+ raise Error.new("Can't find a reader for tag '#{tag}'")
239
+ end
240
+
241
+ # Read the object using the specific reader:
242
+ return reader.call(cursor)
243
+ ensure
244
+ if !cursor.nil? && !cursor.equal?(source)
245
+ cursor.close
246
+ end
247
+ end
248
+ end
249
+
194
250
  end
195
251
 
196
252
  end
@@ -162,7 +162,7 @@ module OvirtSDK4
162
162
  when 'iscsi'
163
163
  object.iscsi = IscsiDetailsReader.read_one(reader)
164
164
  when 'iscsi_targets'
165
- reader.next_element
165
+ object.iscsi_targets = Reader.read_strings(reader)
166
166
  when 'job'
167
167
  object.job = JobReader.read_one(reader)
168
168
  when 'logical_units'
@@ -1384,7 +1384,7 @@ module OvirtSDK4
1384
1384
  while reader.forward do
1385
1385
  case reader.node_name
1386
1386
  when 'devices'
1387
- reader.next_element
1387
+ object.devices = Reader.read_strings(reader)
1388
1388
  else
1389
1389
  reader.next_element
1390
1390
  end
@@ -1866,6 +1866,8 @@ module OvirtSDK4
1866
1866
  object.comment = Reader.read_string(reader)
1867
1867
  when 'cpu'
1868
1868
  object.cpu = CpuReader.read_one(reader)
1869
+ when 'custom_scheduling_policy_properties'
1870
+ object.custom_scheduling_policy_properties = PropertyReader.read_many(reader)
1869
1871
  when 'description'
1870
1872
  object.description = Reader.read_string(reader)
1871
1873
  when 'display'
@@ -1893,9 +1895,7 @@ module OvirtSDK4
1893
1895
  when 'optional_reason'
1894
1896
  object.optional_reason = Reader.read_boolean(reader)
1895
1897
  when 'required_rng_sources'
1896
- reader.next_element
1897
- when 'scheduling_policy'
1898
- object.scheduling_policy = SchedulingPolicyReader.read_one(reader)
1898
+ object.required_rng_sources = Reader.read_strings(reader)
1899
1899
  when 'serial_number'
1900
1900
  object.serial_number = SerialNumberReader.read_one(reader)
1901
1901
  when 'supported_versions'
@@ -1932,6 +1932,8 @@ module OvirtSDK4
1932
1932
  object.networks = NetworkReader.read_many(reader)
1933
1933
  when 'permissions'
1934
1934
  object.permissions = PermissionReader.read_many(reader)
1935
+ when 'scheduling_policy'
1936
+ object.scheduling_policy = SchedulingPolicyReader.read_one(reader)
1935
1937
  when 'link'
1936
1938
  read_link(reader, object)
1937
1939
  else
@@ -6006,7 +6008,7 @@ module OvirtSDK4
6006
6008
  when 'stripe_count'
6007
6009
  object.stripe_count = Reader.read_integer(reader)
6008
6010
  when 'transport_types'
6009
- reader.next_element
6011
+ object.transport_types = Reader.read_strings(reader)
6010
6012
  when 'volume_type'
6011
6013
  object.volume_type = Reader.read_string(reader)
6012
6014
  when 'bricks'
@@ -6542,7 +6544,7 @@ module OvirtSDK4
6542
6544
  when 'serial_number'
6543
6545
  object.serial_number = Reader.read_string(reader)
6544
6546
  when 'supported_rng_sources'
6545
- reader.next_element
6547
+ object.supported_rng_sources = Reader.read_strings(reader)
6546
6548
  when 'uuid'
6547
6549
  object.uuid = Reader.read_string(reader)
6548
6550
  when 'version'
@@ -7804,6 +7806,96 @@ module OvirtSDK4
7804
7806
 
7805
7807
  end
7806
7808
 
7809
+ class ImageTransferReader < Reader # :nodoc:
7810
+
7811
+ def self.read_one(reader)
7812
+ # Do nothing if there aren't more tags:
7813
+ return nil unless reader.forward
7814
+
7815
+ # Create the object:
7816
+ object = ImageTransfer.new
7817
+
7818
+ # Process the attributes:
7819
+ object.href = reader.get_attribute('href')
7820
+ value = reader.get_attribute('comment')
7821
+ object.comment = value if not value.nil?
7822
+ value = reader.get_attribute('description')
7823
+ object.description = value if not value.nil?
7824
+ value = reader.get_attribute('id')
7825
+ object.id = value if not value.nil?
7826
+ value = reader.get_attribute('name')
7827
+ object.name = value if not value.nil?
7828
+ value = reader.get_attribute('phase')
7829
+ object.phase = value if not value.nil?
7830
+ value = reader.get_attribute('proxy_url')
7831
+ object.proxy_url = value if not value.nil?
7832
+ value = reader.get_attribute('signed_ticket')
7833
+ object.signed_ticket = value if not value.nil?
7834
+
7835
+ # Discard the start tag:
7836
+ empty = reader.empty_element?
7837
+ reader.read
7838
+ return object if empty
7839
+
7840
+ # Process the inner elements:
7841
+ while reader.forward do
7842
+ case reader.node_name
7843
+ when 'comment'
7844
+ object.comment = Reader.read_string(reader)
7845
+ when 'description'
7846
+ object.description = Reader.read_string(reader)
7847
+ when 'id'
7848
+ object.id = Reader.read_string(reader)
7849
+ when 'name'
7850
+ object.name = Reader.read_string(reader)
7851
+ when 'phase'
7852
+ object.phase = Reader.read_string(reader)
7853
+ when 'proxy_url'
7854
+ object.proxy_url = Reader.read_string(reader)
7855
+ when 'signed_ticket'
7856
+ object.signed_ticket = Reader.read_string(reader)
7857
+ when 'host'
7858
+ object.host = HostReader.read_one(reader)
7859
+ when 'image'
7860
+ object.image = ImageReader.read_one(reader)
7861
+ else
7862
+ reader.next_element
7863
+ end
7864
+ end
7865
+
7866
+ # Discard the end tag:
7867
+ reader.read
7868
+
7869
+ return object
7870
+ end
7871
+
7872
+
7873
+ def self.read_many(reader)
7874
+ # Do nothing if there aren't more tags:
7875
+ list = List.new
7876
+ return list unless reader.forward
7877
+
7878
+ # Process the attributes:
7879
+ list.href = reader.get_attribute('href')
7880
+
7881
+ # Discard the start tag:
7882
+ empty = reader.empty_element?
7883
+ reader.read
7884
+ return list if empty
7885
+
7886
+ # Process the inner elements:
7887
+ while reader.forward do
7888
+ list << read_one(reader)
7889
+ end
7890
+
7891
+ # Discard the end tag:
7892
+ reader.read
7893
+
7894
+ return list
7895
+ end
7896
+
7897
+ end
7898
+
7807
7899
  class InitializationReader < Reader # :nodoc:
7808
7900
 
7809
7901
  def self.read_one(reader)
@@ -9684,7 +9776,7 @@ module OvirtSDK4
9684
9776
  when 'stp'
9685
9777
  object.stp = Reader.read_boolean(reader)
9686
9778
  when 'usages'
9687
- reader.next_element
9779
+ object.usages = Reader.read_strings(reader)
9688
9780
  when 'vlan'
9689
9781
  object.vlan = VlanReader.read_one(reader)
9690
9782
  when 'cluster'
@@ -11095,7 +11187,7 @@ module OvirtSDK4
11095
11187
  when 'description'
11096
11188
  object.description = Reader.read_string(reader)
11097
11189
  when 'dns_servers'
11098
- reader.next_element
11190
+ object.dns_servers = Reader.read_strings(reader)
11099
11191
  when 'gateway'
11100
11192
  object.gateway = Reader.read_string(reader)
11101
11193
  when 'id'
@@ -17938,5 +18030,389 @@ module OvirtSDK4
17938
18030
 
17939
18031
  end
17940
18032
 
18033
+ Reader.register('action', ActionReader.method(:read_one))
18034
+ Reader.register('actions', ActionReader.method(:read_many))
18035
+ Reader.register('affinity_group', AffinityGroupReader.method(:read_one))
18036
+ Reader.register('affinity_groups', AffinityGroupReader.method(:read_many))
18037
+ Reader.register('affinity_label', AffinityLabelReader.method(:read_one))
18038
+ Reader.register('affinity_labels', AffinityLabelReader.method(:read_many))
18039
+ Reader.register('agent', AgentReader.method(:read_one))
18040
+ Reader.register('agents', AgentReader.method(:read_many))
18041
+ Reader.register('agent_configuration', AgentConfigurationReader.method(:read_one))
18042
+ Reader.register('agent_configurations', AgentConfigurationReader.method(:read_many))
18043
+ Reader.register('api', ApiReader.method(:read_one))
18044
+ Reader.register('apis', ApiReader.method(:read_many))
18045
+ Reader.register('api_summary', ApiSummaryReader.method(:read_one))
18046
+ Reader.register('api_summaries', ApiSummaryReader.method(:read_many))
18047
+ Reader.register('api_summary_item', ApiSummaryItemReader.method(:read_one))
18048
+ Reader.register('api_summary_items', ApiSummaryItemReader.method(:read_many))
18049
+ Reader.register('application', ApplicationReader.method(:read_one))
18050
+ Reader.register('applications', ApplicationReader.method(:read_many))
18051
+ Reader.register('authorized_key', AuthorizedKeyReader.method(:read_one))
18052
+ Reader.register('authorized_keys', AuthorizedKeyReader.method(:read_many))
18053
+ Reader.register('balance', BalanceReader.method(:read_one))
18054
+ Reader.register('balances', BalanceReader.method(:read_many))
18055
+ Reader.register('bios', BiosReader.method(:read_one))
18056
+ Reader.register('bioss', BiosReader.method(:read_many))
18057
+ Reader.register('block_statistic', BlockStatisticReader.method(:read_one))
18058
+ Reader.register('block_statistics', BlockStatisticReader.method(:read_many))
18059
+ Reader.register('bonding', BondingReader.method(:read_one))
18060
+ Reader.register('bondings', BondingReader.method(:read_many))
18061
+ Reader.register('bookmark', BookmarkReader.method(:read_one))
18062
+ Reader.register('bookmarks', BookmarkReader.method(:read_many))
18063
+ Reader.register('boot', BootReader.method(:read_one))
18064
+ Reader.register('boots', BootReader.method(:read_many))
18065
+ Reader.register('boot_menu', BootMenuReader.method(:read_one))
18066
+ Reader.register('boot_menus', BootMenuReader.method(:read_many))
18067
+ Reader.register('brick_profile_detail', BrickProfileDetailReader.method(:read_one))
18068
+ Reader.register('brick_profile_details', BrickProfileDetailReader.method(:read_many))
18069
+ Reader.register('cdrom', CdromReader.method(:read_one))
18070
+ Reader.register('cdroms', CdromReader.method(:read_many))
18071
+ Reader.register('certificate', CertificateReader.method(:read_one))
18072
+ Reader.register('certificates', CertificateReader.method(:read_many))
18073
+ Reader.register('cloud_init', CloudInitReader.method(:read_one))
18074
+ Reader.register('cloud_inits', CloudInitReader.method(:read_many))
18075
+ Reader.register('cluster', ClusterReader.method(:read_one))
18076
+ Reader.register('clusters', ClusterReader.method(:read_many))
18077
+ Reader.register('cluster_level', ClusterLevelReader.method(:read_one))
18078
+ Reader.register('cluster_levels', ClusterLevelReader.method(:read_many))
18079
+ Reader.register('configuration', ConfigurationReader.method(:read_one))
18080
+ Reader.register('configurations', ConfigurationReader.method(:read_many))
18081
+ Reader.register('console', ConsoleReader.method(:read_one))
18082
+ Reader.register('consoles', ConsoleReader.method(:read_many))
18083
+ Reader.register('core', CoreReader.method(:read_one))
18084
+ Reader.register('cores', CoreReader.method(:read_many))
18085
+ Reader.register('cpu', CpuReader.method(:read_one))
18086
+ Reader.register('cpus', CpuReader.method(:read_many))
18087
+ Reader.register('cpu_profile', CpuProfileReader.method(:read_one))
18088
+ Reader.register('cpu_profiles', CpuProfileReader.method(:read_many))
18089
+ Reader.register('cpu_topology', CpuTopologyReader.method(:read_one))
18090
+ Reader.register('cpu_topologies', CpuTopologyReader.method(:read_many))
18091
+ Reader.register('cpu_tune', CpuTuneReader.method(:read_one))
18092
+ Reader.register('cpu_tunes', CpuTuneReader.method(:read_many))
18093
+ Reader.register('cpu_type', CpuTypeReader.method(:read_one))
18094
+ Reader.register('cpu_types', CpuTypeReader.method(:read_many))
18095
+ Reader.register('custom_property', CustomPropertyReader.method(:read_one))
18096
+ Reader.register('custom_properties', CustomPropertyReader.method(:read_many))
18097
+ Reader.register('data_center', DataCenterReader.method(:read_one))
18098
+ Reader.register('data_centers', DataCenterReader.method(:read_many))
18099
+ Reader.register('device', DeviceReader.method(:read_one))
18100
+ Reader.register('devices', DeviceReader.method(:read_many))
18101
+ Reader.register('disk', DiskReader.method(:read_one))
18102
+ Reader.register('disks', DiskReader.method(:read_many))
18103
+ Reader.register('disk_attachment', DiskAttachmentReader.method(:read_one))
18104
+ Reader.register('disk_attachments', DiskAttachmentReader.method(:read_many))
18105
+ Reader.register('disk_profile', DiskProfileReader.method(:read_one))
18106
+ Reader.register('disk_profiles', DiskProfileReader.method(:read_many))
18107
+ Reader.register('disk_snapshot', DiskSnapshotReader.method(:read_one))
18108
+ Reader.register('disk_snapshots', DiskSnapshotReader.method(:read_many))
18109
+ Reader.register('display', DisplayReader.method(:read_one))
18110
+ Reader.register('displays', DisplayReader.method(:read_many))
18111
+ Reader.register('dns', DnsReader.method(:read_one))
18112
+ Reader.register('dnss', DnsReader.method(:read_many))
18113
+ Reader.register('domain', DomainReader.method(:read_one))
18114
+ Reader.register('domains', DomainReader.method(:read_many))
18115
+ Reader.register('entity_profile_detail', EntityProfileDetailReader.method(:read_one))
18116
+ Reader.register('entity_profile_details', EntityProfileDetailReader.method(:read_many))
18117
+ Reader.register('error_handling', ErrorHandlingReader.method(:read_one))
18118
+ Reader.register('error_handlings', ErrorHandlingReader.method(:read_many))
18119
+ Reader.register('event', EventReader.method(:read_one))
18120
+ Reader.register('events', EventReader.method(:read_many))
18121
+ Reader.register('external_compute_resource', ExternalComputeResourceReader.method(:read_one))
18122
+ Reader.register('external_compute_resources', ExternalComputeResourceReader.method(:read_many))
18123
+ Reader.register('external_discovered_host', ExternalDiscoveredHostReader.method(:read_one))
18124
+ Reader.register('external_discovered_hosts', ExternalDiscoveredHostReader.method(:read_many))
18125
+ Reader.register('external_host', ExternalHostReader.method(:read_one))
18126
+ Reader.register('external_hosts', ExternalHostReader.method(:read_many))
18127
+ Reader.register('external_host_group', ExternalHostGroupReader.method(:read_one))
18128
+ Reader.register('external_host_groups', ExternalHostGroupReader.method(:read_many))
18129
+ Reader.register('external_host_provider', ExternalHostProviderReader.method(:read_one))
18130
+ Reader.register('external_host_providers', ExternalHostProviderReader.method(:read_many))
18131
+ Reader.register('external_provider', ExternalProviderReader.method(:read_one))
18132
+ Reader.register('external_providers', ExternalProviderReader.method(:read_many))
18133
+ Reader.register('external_vm_import', ExternalVmImportReader.method(:read_one))
18134
+ Reader.register('external_vm_imports', ExternalVmImportReader.method(:read_many))
18135
+ Reader.register('fault', FaultReader.method(:read_one))
18136
+ Reader.register('faults', FaultReader.method(:read_many))
18137
+ Reader.register('fencing_policy', FencingPolicyReader.method(:read_one))
18138
+ Reader.register('fencing_policies', FencingPolicyReader.method(:read_many))
18139
+ Reader.register('file', FileReader.method(:read_one))
18140
+ Reader.register('files', FileReader.method(:read_many))
18141
+ Reader.register('filter', FilterReader.method(:read_one))
18142
+ Reader.register('filters', FilterReader.method(:read_many))
18143
+ Reader.register('floppy', FloppyReader.method(:read_one))
18144
+ Reader.register('floppies', FloppyReader.method(:read_many))
18145
+ Reader.register('fop_statistic', FopStatisticReader.method(:read_one))
18146
+ Reader.register('fop_statistics', FopStatisticReader.method(:read_many))
18147
+ Reader.register('brick', GlusterBrickReader.method(:read_one))
18148
+ Reader.register('bricks', GlusterBrickReader.method(:read_many))
18149
+ Reader.register('gluster_brick_advanced_details', GlusterBrickAdvancedDetailsReader.method(:read_one))
18150
+ Reader.register('gluster_brick_advanced_detailss', GlusterBrickAdvancedDetailsReader.method(:read_many))
18151
+ Reader.register('brick_memoryinfo', GlusterBrickMemoryInfoReader.method(:read_one))
18152
+ Reader.register('gluster_brick_memory_infos', GlusterBrickMemoryInfoReader.method(:read_many))
18153
+ Reader.register('gluster_client', GlusterClientReader.method(:read_one))
18154
+ Reader.register('gluster_clients', GlusterClientReader.method(:read_many))
18155
+ Reader.register('gluster_hook', GlusterHookReader.method(:read_one))
18156
+ Reader.register('gluster_hooks', GlusterHookReader.method(:read_many))
18157
+ Reader.register('memory_pool', GlusterMemoryPoolReader.method(:read_one))
18158
+ Reader.register('memory_pools', GlusterMemoryPoolReader.method(:read_many))
18159
+ Reader.register('server_hook', GlusterServerHookReader.method(:read_one))
18160
+ Reader.register('server_hooks', GlusterServerHookReader.method(:read_many))
18161
+ Reader.register('gluster_volume', GlusterVolumeReader.method(:read_one))
18162
+ Reader.register('gluster_volumes', GlusterVolumeReader.method(:read_many))
18163
+ Reader.register('gluster_volume_profile_details', GlusterVolumeProfileDetailsReader.method(:read_one))
18164
+ Reader.register('gluster_volume_profile_detailss', GlusterVolumeProfileDetailsReader.method(:read_many))
18165
+ Reader.register('grace_period', GracePeriodReader.method(:read_one))
18166
+ Reader.register('grace_periods', GracePeriodReader.method(:read_many))
18167
+ Reader.register('graphics_console', GraphicsConsoleReader.method(:read_one))
18168
+ Reader.register('graphics_consoles', GraphicsConsoleReader.method(:read_many))
18169
+ Reader.register('group', GroupReader.method(:read_one))
18170
+ Reader.register('groups', GroupReader.method(:read_many))
18171
+ Reader.register('guest_operating_system', GuestOperatingSystemReader.method(:read_one))
18172
+ Reader.register('guest_operating_systems', GuestOperatingSystemReader.method(:read_many))
18173
+ Reader.register('hardware_information', HardwareInformationReader.method(:read_one))
18174
+ Reader.register('hardware_informations', HardwareInformationReader.method(:read_many))
18175
+ Reader.register('high_availability', HighAvailabilityReader.method(:read_one))
18176
+ Reader.register('high_availabilities', HighAvailabilityReader.method(:read_many))
18177
+ Reader.register('hook', HookReader.method(:read_one))
18178
+ Reader.register('hooks', HookReader.method(:read_many))
18179
+ Reader.register('host', HostReader.method(:read_one))
18180
+ Reader.register('hosts', HostReader.method(:read_many))
18181
+ Reader.register('host_device', HostDeviceReader.method(:read_one))
18182
+ Reader.register('host_devices', HostDeviceReader.method(:read_many))
18183
+ Reader.register('host_device_passthrough', HostDevicePassthroughReader.method(:read_one))
18184
+ Reader.register('host_device_passthroughs', HostDevicePassthroughReader.method(:read_many))
18185
+ Reader.register('host_nic', HostNicReader.method(:read_one))
18186
+ Reader.register('host_nics', HostNicReader.method(:read_many))
18187
+ Reader.register('host_nic_virtual_functions_configuration', HostNicVirtualFunctionsConfigurationReader.method(:read_one))
18188
+ Reader.register('host_nic_virtual_functions_configurations', HostNicVirtualFunctionsConfigurationReader.method(:read_many))
18189
+ Reader.register('host_storage', HostStorageReader.method(:read_one))
18190
+ Reader.register('host_storages', HostStorageReader.method(:read_many))
18191
+ Reader.register('hosted_engine', HostedEngineReader.method(:read_one))
18192
+ Reader.register('hosted_engines', HostedEngineReader.method(:read_many))
18193
+ Reader.register('icon', IconReader.method(:read_one))
18194
+ Reader.register('icons', IconReader.method(:read_many))
18195
+ Reader.register('identified', IdentifiedReader.method(:read_one))
18196
+ Reader.register('identifieds', IdentifiedReader.method(:read_many))
18197
+ Reader.register('image', ImageReader.method(:read_one))
18198
+ Reader.register('images', ImageReader.method(:read_many))
18199
+ Reader.register('image_transfer', ImageTransferReader.method(:read_one))
18200
+ Reader.register('image_transfers', ImageTransferReader.method(:read_many))
18201
+ Reader.register('initialization', InitializationReader.method(:read_one))
18202
+ Reader.register('initializations', InitializationReader.method(:read_many))
18203
+ Reader.register('instance_type', InstanceTypeReader.method(:read_one))
18204
+ Reader.register('instance_types', InstanceTypeReader.method(:read_many))
18205
+ Reader.register('io', IoReader.method(:read_one))
18206
+ Reader.register('ios', IoReader.method(:read_many))
18207
+ Reader.register('ip', IpReader.method(:read_one))
18208
+ Reader.register('ips', IpReader.method(:read_many))
18209
+ Reader.register('ip_address_assignment', IpAddressAssignmentReader.method(:read_one))
18210
+ Reader.register('ip_address_assignments', IpAddressAssignmentReader.method(:read_many))
18211
+ Reader.register('iscsi_bond', IscsiBondReader.method(:read_one))
18212
+ Reader.register('iscsi_bonds', IscsiBondReader.method(:read_many))
18213
+ Reader.register('iscsi_details', IscsiDetailsReader.method(:read_one))
18214
+ Reader.register('iscsi_detailss', IscsiDetailsReader.method(:read_many))
18215
+ Reader.register('job', JobReader.method(:read_one))
18216
+ Reader.register('jobs', JobReader.method(:read_many))
18217
+ Reader.register('katello_erratum', KatelloErratumReader.method(:read_one))
18218
+ Reader.register('katello_errata', KatelloErratumReader.method(:read_many))
18219
+ Reader.register('kernel', KernelReader.method(:read_one))
18220
+ Reader.register('kernels', KernelReader.method(:read_many))
18221
+ Reader.register('ksm', KsmReader.method(:read_one))
18222
+ Reader.register('ksms', KsmReader.method(:read_many))
18223
+ Reader.register('logical_unit', LogicalUnitReader.method(:read_one))
18224
+ Reader.register('logical_units', LogicalUnitReader.method(:read_many))
18225
+ Reader.register('mac', MacReader.method(:read_one))
18226
+ Reader.register('macs', MacReader.method(:read_many))
18227
+ Reader.register('mac_pool', MacPoolReader.method(:read_one))
18228
+ Reader.register('mac_pools', MacPoolReader.method(:read_many))
18229
+ Reader.register('memory_over_commit', MemoryOverCommitReader.method(:read_one))
18230
+ Reader.register('memory_over_commits', MemoryOverCommitReader.method(:read_many))
18231
+ Reader.register('memory_policy', MemoryPolicyReader.method(:read_one))
18232
+ Reader.register('memory_policies', MemoryPolicyReader.method(:read_many))
18233
+ Reader.register('method', MethodReader.method(:read_one))
18234
+ Reader.register('methods', MethodReader.method(:read_many))
18235
+ Reader.register('migration_bandwidth', MigrationBandwidthReader.method(:read_one))
18236
+ Reader.register('migration_bandwidths', MigrationBandwidthReader.method(:read_many))
18237
+ Reader.register('migration', MigrationOptionsReader.method(:read_one))
18238
+ Reader.register('migration_optionss', MigrationOptionsReader.method(:read_many))
18239
+ Reader.register('migration_policy', MigrationPolicyReader.method(:read_one))
18240
+ Reader.register('migration_policies', MigrationPolicyReader.method(:read_many))
18241
+ Reader.register('network', NetworkReader.method(:read_one))
18242
+ Reader.register('networks', NetworkReader.method(:read_many))
18243
+ Reader.register('network_attachment', NetworkAttachmentReader.method(:read_one))
18244
+ Reader.register('network_attachments', NetworkAttachmentReader.method(:read_many))
18245
+ Reader.register('network_configuration', NetworkConfigurationReader.method(:read_one))
18246
+ Reader.register('network_configurations', NetworkConfigurationReader.method(:read_many))
18247
+ Reader.register('network_filter', NetworkFilterReader.method(:read_one))
18248
+ Reader.register('network_filters', NetworkFilterReader.method(:read_many))
18249
+ Reader.register('network_label', NetworkLabelReader.method(:read_one))
18250
+ Reader.register('network_labels', NetworkLabelReader.method(:read_many))
18251
+ Reader.register('nfs_profile_detail', NfsProfileDetailReader.method(:read_one))
18252
+ Reader.register('nfs_profile_details', NfsProfileDetailReader.method(:read_many))
18253
+ Reader.register('nic', NicReader.method(:read_one))
18254
+ Reader.register('nics', NicReader.method(:read_many))
18255
+ Reader.register('nic_configuration', NicConfigurationReader.method(:read_one))
18256
+ Reader.register('nic_configurations', NicConfigurationReader.method(:read_many))
18257
+ Reader.register('host_numa_node', NumaNodeReader.method(:read_one))
18258
+ Reader.register('host_numa_nodes', NumaNodeReader.method(:read_many))
18259
+ Reader.register('numa_node_pin', NumaNodePinReader.method(:read_one))
18260
+ Reader.register('numa_node_pins', NumaNodePinReader.method(:read_many))
18261
+ Reader.register('openstack_image', OpenStackImageReader.method(:read_one))
18262
+ Reader.register('openstack_images', OpenStackImageReader.method(:read_many))
18263
+ Reader.register('openstack_image_provider', OpenStackImageProviderReader.method(:read_one))
18264
+ Reader.register('openstack_image_providers', OpenStackImageProviderReader.method(:read_many))
18265
+ Reader.register('openstack_network', OpenStackNetworkReader.method(:read_one))
18266
+ Reader.register('openstack_networks', OpenStackNetworkReader.method(:read_many))
18267
+ Reader.register('openstack_network_provider', OpenStackNetworkProviderReader.method(:read_one))
18268
+ Reader.register('openstack_network_providers', OpenStackNetworkProviderReader.method(:read_many))
18269
+ Reader.register('open_stack_provider', OpenStackProviderReader.method(:read_one))
18270
+ Reader.register('open_stack_providers', OpenStackProviderReader.method(:read_many))
18271
+ Reader.register('openstack_subnet', OpenStackSubnetReader.method(:read_one))
18272
+ Reader.register('openstack_subnets', OpenStackSubnetReader.method(:read_many))
18273
+ Reader.register('openstack_volume_provider', OpenStackVolumeProviderReader.method(:read_one))
18274
+ Reader.register('openstack_volume_providers', OpenStackVolumeProviderReader.method(:read_many))
18275
+ Reader.register('open_stack_volume_type', OpenStackVolumeTypeReader.method(:read_one))
18276
+ Reader.register('open_stack_volume_types', OpenStackVolumeTypeReader.method(:read_many))
18277
+ Reader.register('openstack_volume_authentication_key', OpenstackVolumeAuthenticationKeyReader.method(:read_one))
18278
+ Reader.register('openstack_volume_authentication_keys', OpenstackVolumeAuthenticationKeyReader.method(:read_many))
18279
+ Reader.register('os', OperatingSystemReader.method(:read_one))
18280
+ Reader.register('oss', OperatingSystemReader.method(:read_many))
18281
+ Reader.register('operating_system', OperatingSystemInfoReader.method(:read_one))
18282
+ Reader.register('operation_systems', OperatingSystemInfoReader.method(:read_many))
18283
+ Reader.register('option', OptionReader.method(:read_one))
18284
+ Reader.register('options', OptionReader.method(:read_many))
18285
+ Reader.register('package', PackageReader.method(:read_one))
18286
+ Reader.register('packages', PackageReader.method(:read_many))
18287
+ Reader.register('payload', PayloadReader.method(:read_one))
18288
+ Reader.register('payloads', PayloadReader.method(:read_many))
18289
+ Reader.register('permission', PermissionReader.method(:read_one))
18290
+ Reader.register('permissions', PermissionReader.method(:read_many))
18291
+ Reader.register('permit', PermitReader.method(:read_one))
18292
+ Reader.register('permits', PermitReader.method(:read_many))
18293
+ Reader.register('pm_proxy', PmProxyReader.method(:read_one))
18294
+ Reader.register('pm_proxies', PmProxyReader.method(:read_many))
18295
+ Reader.register('port_mirroring', PortMirroringReader.method(:read_one))
18296
+ Reader.register('port_mirrorings', PortMirroringReader.method(:read_many))
18297
+ Reader.register('power_management', PowerManagementReader.method(:read_one))
18298
+ Reader.register('power_managements', PowerManagementReader.method(:read_many))
18299
+ Reader.register('product', ProductReader.method(:read_one))
18300
+ Reader.register('products', ProductReader.method(:read_many))
18301
+ Reader.register('product_info', ProductInfoReader.method(:read_one))
18302
+ Reader.register('product_infos', ProductInfoReader.method(:read_many))
18303
+ Reader.register('profile_detail', ProfileDetailReader.method(:read_one))
18304
+ Reader.register('profile_details', ProfileDetailReader.method(:read_many))
18305
+ Reader.register('property', PropertyReader.method(:read_one))
18306
+ Reader.register('properties', PropertyReader.method(:read_many))
18307
+ Reader.register('proxy_ticket', ProxyTicketReader.method(:read_one))
18308
+ Reader.register('proxy_tickets', ProxyTicketReader.method(:read_many))
18309
+ Reader.register('qos', QosReader.method(:read_one))
18310
+ Reader.register('qoss', QosReader.method(:read_many))
18311
+ Reader.register('quota', QuotaReader.method(:read_one))
18312
+ Reader.register('quotas', QuotaReader.method(:read_many))
18313
+ Reader.register('quota_cluster_limit', QuotaClusterLimitReader.method(:read_one))
18314
+ Reader.register('quota_cluster_limits', QuotaClusterLimitReader.method(:read_many))
18315
+ Reader.register('quota_storage_limit', QuotaStorageLimitReader.method(:read_one))
18316
+ Reader.register('quota_storage_limits', QuotaStorageLimitReader.method(:read_many))
18317
+ Reader.register('range', RangeReader.method(:read_one))
18318
+ Reader.register('ranges', RangeReader.method(:read_many))
18319
+ Reader.register('rate', RateReader.method(:read_one))
18320
+ Reader.register('rates', RateReader.method(:read_many))
18321
+ Reader.register('reported_configuration', ReportedConfigurationReader.method(:read_one))
18322
+ Reader.register('reported_configurations', ReportedConfigurationReader.method(:read_many))
18323
+ Reader.register('reported_device', ReportedDeviceReader.method(:read_one))
18324
+ Reader.register('reported_devices', ReportedDeviceReader.method(:read_many))
18325
+ Reader.register('rng_device', RngDeviceReader.method(:read_one))
18326
+ Reader.register('rng_devices', RngDeviceReader.method(:read_many))
18327
+ Reader.register('role', RoleReader.method(:read_one))
18328
+ Reader.register('roles', RoleReader.method(:read_many))
18329
+ Reader.register('scheduling_policy', SchedulingPolicyReader.method(:read_one))
18330
+ Reader.register('scheduling_policies', SchedulingPolicyReader.method(:read_many))
18331
+ Reader.register('scheduling_policy_unit', SchedulingPolicyUnitReader.method(:read_one))
18332
+ Reader.register('scheduling_policy_units', SchedulingPolicyUnitReader.method(:read_many))
18333
+ Reader.register('se_linux', SeLinuxReader.method(:read_one))
18334
+ Reader.register('se_linuxs', SeLinuxReader.method(:read_many))
18335
+ Reader.register('serial_number', SerialNumberReader.method(:read_one))
18336
+ Reader.register('serial_numbers', SerialNumberReader.method(:read_many))
18337
+ Reader.register('session', SessionReader.method(:read_one))
18338
+ Reader.register('sessions', SessionReader.method(:read_many))
18339
+ Reader.register('skip_if_connectivity_broken', SkipIfConnectivityBrokenReader.method(:read_one))
18340
+ Reader.register('skip_if_connectivity_brokens', SkipIfConnectivityBrokenReader.method(:read_many))
18341
+ Reader.register('skip_if_sd_active', SkipIfSdActiveReader.method(:read_one))
18342
+ Reader.register('skip_if_sd_actives', SkipIfSdActiveReader.method(:read_many))
18343
+ Reader.register('snapshot', SnapshotReader.method(:read_one))
18344
+ Reader.register('snapshots', SnapshotReader.method(:read_many))
18345
+ Reader.register('special_objects', SpecialObjectsReader.method(:read_one))
18346
+ Reader.register('special_objectss', SpecialObjectsReader.method(:read_many))
18347
+ Reader.register('spm', SpmReader.method(:read_one))
18348
+ Reader.register('spms', SpmReader.method(:read_many))
18349
+ Reader.register('ssh', SshReader.method(:read_one))
18350
+ Reader.register('sshs', SshReader.method(:read_many))
18351
+ Reader.register('ssh_public_key', SshPublicKeyReader.method(:read_one))
18352
+ Reader.register('ssh_public_keys', SshPublicKeyReader.method(:read_many))
18353
+ Reader.register('sso', SsoReader.method(:read_one))
18354
+ Reader.register('ssos', SsoReader.method(:read_many))
18355
+ Reader.register('statistic', StatisticReader.method(:read_one))
18356
+ Reader.register('statistics', StatisticReader.method(:read_many))
18357
+ Reader.register('step', StepReader.method(:read_one))
18358
+ Reader.register('steps', StepReader.method(:read_many))
18359
+ Reader.register('storage_connection', StorageConnectionReader.method(:read_one))
18360
+ Reader.register('storage_connections', StorageConnectionReader.method(:read_many))
18361
+ Reader.register('storage_connection_extension', StorageConnectionExtensionReader.method(:read_one))
18362
+ Reader.register('storage_connection_extensions', StorageConnectionExtensionReader.method(:read_many))
18363
+ Reader.register('storage_domain', StorageDomainReader.method(:read_one))
18364
+ Reader.register('storage_domains', StorageDomainReader.method(:read_many))
18365
+ Reader.register('tag', TagReader.method(:read_one))
18366
+ Reader.register('tags', TagReader.method(:read_many))
18367
+ Reader.register('template', TemplateReader.method(:read_one))
18368
+ Reader.register('templates', TemplateReader.method(:read_many))
18369
+ Reader.register('template_version', TemplateVersionReader.method(:read_one))
18370
+ Reader.register('template_versions', TemplateVersionReader.method(:read_many))
18371
+ Reader.register('ticket', TicketReader.method(:read_one))
18372
+ Reader.register('tickets', TicketReader.method(:read_many))
18373
+ Reader.register('time_zone', TimeZoneReader.method(:read_one))
18374
+ Reader.register('time_zones', TimeZoneReader.method(:read_many))
18375
+ Reader.register('transparent_hugepages', TransparentHugePagesReader.method(:read_one))
18376
+ Reader.register('transparent_huge_pagess', TransparentHugePagesReader.method(:read_many))
18377
+ Reader.register('unmanaged_network', UnmanagedNetworkReader.method(:read_one))
18378
+ Reader.register('unmanaged_networks', UnmanagedNetworkReader.method(:read_many))
18379
+ Reader.register('usb', UsbReader.method(:read_one))
18380
+ Reader.register('usbs', UsbReader.method(:read_many))
18381
+ Reader.register('user', UserReader.method(:read_one))
18382
+ Reader.register('users', UserReader.method(:read_many))
18383
+ Reader.register('value', ValueReader.method(:read_one))
18384
+ Reader.register('values', ValueReader.method(:read_many))
18385
+ Reader.register('vcpu_pin', VcpuPinReader.method(:read_one))
18386
+ Reader.register('vcpu_pins', VcpuPinReader.method(:read_many))
18387
+ Reader.register('vendor', VendorReader.method(:read_one))
18388
+ Reader.register('vendors', VendorReader.method(:read_many))
18389
+ Reader.register('version', VersionReader.method(:read_one))
18390
+ Reader.register('versions', VersionReader.method(:read_many))
18391
+ Reader.register('virtio_scsi', VirtioScsiReader.method(:read_one))
18392
+ Reader.register('virtio_scsis', VirtioScsiReader.method(:read_many))
18393
+ Reader.register('vm_numa_node', VirtualNumaNodeReader.method(:read_one))
18394
+ Reader.register('vm_numa_nodes', VirtualNumaNodeReader.method(:read_many))
18395
+ Reader.register('vlan', VlanReader.method(:read_one))
18396
+ Reader.register('vlans', VlanReader.method(:read_many))
18397
+ Reader.register('vm', VmReader.method(:read_one))
18398
+ Reader.register('vms', VmReader.method(:read_many))
18399
+ Reader.register('vm_base', VmBaseReader.method(:read_one))
18400
+ Reader.register('vm_bases', VmBaseReader.method(:read_many))
18401
+ Reader.register('vm_placement_policy', VmPlacementPolicyReader.method(:read_one))
18402
+ Reader.register('vm_placement_policies', VmPlacementPolicyReader.method(:read_many))
18403
+ Reader.register('vm_pool', VmPoolReader.method(:read_one))
18404
+ Reader.register('vm_pools', VmPoolReader.method(:read_many))
18405
+ Reader.register('vm_summary', VmSummaryReader.method(:read_one))
18406
+ Reader.register('vm_summaries', VmSummaryReader.method(:read_many))
18407
+ Reader.register('vnic_pass_through', VnicPassThroughReader.method(:read_one))
18408
+ Reader.register('vnic_pass_throughs', VnicPassThroughReader.method(:read_many))
18409
+ Reader.register('vnic_profile', VnicProfileReader.method(:read_one))
18410
+ Reader.register('vnic_profiles', VnicProfileReader.method(:read_many))
18411
+ Reader.register('volume_group', VolumeGroupReader.method(:read_one))
18412
+ Reader.register('volume_groups', VolumeGroupReader.method(:read_many))
18413
+ Reader.register('watchdog', WatchdogReader.method(:read_one))
18414
+ Reader.register('watchdogs', WatchdogReader.method(:read_many))
18415
+ Reader.register('weight', WeightReader.method(:read_one))
18416
+ Reader.register('weights', WeightReader.method(:read_many))
17941
18417
  end
17942
18418