class OvirtSDK4::HostReader

Public Class Methods

read_many(reader) click to toggle source
# File lib/ovirtsdk4/readers.rb, line 7991
def self.read_many(reader)
  # Do nothing if there aren't more tags:
  list = List.new
  return list unless reader.forward
  
  # Process the attributes:
  list.href = reader.get_attribute('href')
  
  # Discard the start tag:
  empty = reader.empty_element?
  reader.read
  return list if empty
  
  # Process the inner elements:
  while reader.forward do
    list << read_one(reader)
  end
  
  # Discard the end tag:
  reader.read
  
  return list
end
read_one(reader) click to toggle source
# File lib/ovirtsdk4/readers.rb, line 7797
def self.read_one(reader)
  # Do nothing if there aren't more tags:
  return nil unless reader.forward
  
  # Create the object:
  object = Host.new
  
  # Process the attributes:
  object.href = reader.get_attribute('href')
  value = reader.get_attribute('address')
  object.address = value if not value.nil?
  value = reader.get_attribute('auto_numa_status')
  object.auto_numa_status = value if not value.nil?
  value = reader.get_attribute('comment')
  object.comment = value if not value.nil?
  value = reader.get_attribute('description')
  object.description = value if not value.nil?
  value = reader.get_attribute('external_status')
  object.external_status = value if not value.nil?
  value = reader.get_attribute('id')
  object.id = value if not value.nil?
  value = reader.get_attribute('kdump_status')
  object.kdump_status = value if not value.nil?
  value = reader.get_attribute('max_scheduling_memory')
  object.max_scheduling_memory = value if not value.nil?
  value = reader.get_attribute('memory')
  object.memory = value if not value.nil?
  value = reader.get_attribute('name')
  object.name = value if not value.nil?
  value = reader.get_attribute('network_operation_in_progress')
  object.network_operation_in_progress = value if not value.nil?
  value = reader.get_attribute('numa_supported')
  object.numa_supported = value if not value.nil?
  value = reader.get_attribute('override_iptables')
  object.override_iptables = value if not value.nil?
  value = reader.get_attribute('ovn_configured')
  object.ovn_configured = value if not value.nil?
  value = reader.get_attribute('port')
  object.port = value if not value.nil?
  value = reader.get_attribute('protocol')
  object.protocol = value if not value.nil?
  value = reader.get_attribute('reinstallation_required')
  object.reinstallation_required = value if not value.nil?
  value = reader.get_attribute('root_password')
  object.root_password = value if not value.nil?
  value = reader.get_attribute('status')
  object.status = value if not value.nil?
  value = reader.get_attribute('status_detail')
  object.status_detail = value if not value.nil?
  value = reader.get_attribute('type')
  object.type = value if not value.nil?
  value = reader.get_attribute('update_available')
  object.update_available = value if not value.nil?
  value = reader.get_attribute('vgpu_placement')
  object.vgpu_placement = value if not value.nil?
  
  # Discard the start tag:
  empty = reader.empty_element?
  reader.read
  return object if empty
  
  # Process the inner elements:
  while reader.forward do
    case reader.node_name
    when 'address'
      object.address = Reader.read_string(reader)
    when 'auto_numa_status'
      object.auto_numa_status = Reader.read_enum(AutoNumaStatus, reader)
    when 'certificate'
      object.certificate = CertificateReader.read_one(reader)
    when 'comment'
      object.comment = Reader.read_string(reader)
    when 'cpu'
      object.cpu = CpuReader.read_one(reader)
    when 'description'
      object.description = Reader.read_string(reader)
    when 'device_passthrough'
      object.device_passthrough = HostDevicePassthroughReader.read_one(reader)
    when 'display'
      object.display = DisplayReader.read_one(reader)
    when 'external_status'
      object.external_status = Reader.read_enum(ExternalStatus, reader)
    when 'hardware_information'
      object.hardware_information = HardwareInformationReader.read_one(reader)
    when 'hosted_engine'
      object.hosted_engine = HostedEngineReader.read_one(reader)
    when 'id'
      object.id = Reader.read_string(reader)
    when 'iscsi'
      object.iscsi = IscsiDetailsReader.read_one(reader)
    when 'kdump_status'
      object.kdump_status = Reader.read_enum(KdumpStatus, reader)
    when 'ksm'
      object.ksm = KsmReader.read_one(reader)
    when 'libvirt_version'
      object.libvirt_version = VersionReader.read_one(reader)
    when 'max_scheduling_memory'
      object.max_scheduling_memory = Reader.read_integer(reader)
    when 'memory'
      object.memory = Reader.read_integer(reader)
    when 'name'
      object.name = Reader.read_string(reader)
    when 'network_operation_in_progress'
      object.network_operation_in_progress = Reader.read_boolean(reader)
    when 'numa_supported'
      object.numa_supported = Reader.read_boolean(reader)
    when 'os'
      object.os = OperatingSystemReader.read_one(reader)
    when 'override_iptables'
      object.override_iptables = Reader.read_boolean(reader)
    when 'ovn_configured'
      object.ovn_configured = Reader.read_boolean(reader)
    when 'port'
      object.port = Reader.read_integer(reader)
    when 'power_management'
      object.power_management = PowerManagementReader.read_one(reader)
    when 'protocol'
      object.protocol = Reader.read_enum(HostProtocol, reader)
    when 'reinstallation_required'
      object.reinstallation_required = Reader.read_boolean(reader)
    when 'root_password'
      object.root_password = Reader.read_string(reader)
    when 'se_linux'
      object.se_linux = SeLinuxReader.read_one(reader)
    when 'spm'
      object.spm = SpmReader.read_one(reader)
    when 'ssh'
      object.ssh = SshReader.read_one(reader)
    when 'status'
      object.status = Reader.read_enum(HostStatus, reader)
    when 'status_detail'
      object.status_detail = Reader.read_string(reader)
    when 'summary'
      object.summary = VmSummaryReader.read_one(reader)
    when 'transparent_hugepages'
      object.transparent_huge_pages = TransparentHugePagesReader.read_one(reader)
    when 'type'
      object.type = Reader.read_enum(HostType, reader)
    when 'update_available'
      object.update_available = Reader.read_boolean(reader)
    when 'version'
      object.version = VersionReader.read_one(reader)
    when 'vgpu_placement'
      object.vgpu_placement = Reader.read_enum(VgpuPlacement, reader)
    when 'affinity_labels'
      object.affinity_labels = AffinityLabelReader.read_many(reader)
    when 'agents'
      object.agents = AgentReader.read_many(reader)
    when 'cluster'
      object.cluster = ClusterReader.read_one(reader)
    when 'cpu_units'
      object.cpu_units = HostCpuUnitReader.read_many(reader)
    when 'devices'
      object.devices = HostDeviceReader.read_many(reader)
    when 'external_host_provider'
      object.external_host_provider = ExternalHostProviderReader.read_one(reader)
    when 'external_network_provider_configurations'
      object.external_network_provider_configurations = ExternalNetworkProviderConfigurationReader.read_many(reader)
    when 'hooks'
      object.hooks = HookReader.read_many(reader)
    when 'katello_errata'
      object.katello_errata = KatelloErratumReader.read_many(reader)
    when 'network_attachments'
      object.network_attachments = NetworkAttachmentReader.read_many(reader)
    when 'nics'
      object.nics = HostNicReader.read_many(reader)
    when 'host_numa_nodes'
      object.numa_nodes = NumaNodeReader.read_many(reader)
    when 'permissions'
      object.permissions = PermissionReader.read_many(reader)
    when 'statistics'
      object.statistics = StatisticReader.read_many(reader)
    when 'storage_connection_extensions'
      object.storage_connection_extensions = StorageConnectionExtensionReader.read_many(reader)
    when 'storages'
      object.storages = HostStorageReader.read_many(reader)
    when 'tags'
      object.tags = TagReader.read_many(reader)
    when 'unmanaged_networks'
      object.unmanaged_networks = UnmanagedNetworkReader.read_many(reader)
    when 'link'
      read_link(reader, object)
    else
      reader.next_element
    end
  end
  
  # Discard the end tag:
  reader.read
  
  return object
end