class OvirtSDK4::DiskReader

Public Class Methods

read_many(reader) click to toggle source
# File lib/ovirtsdk4/readers.rb, line 3746
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 3570
def self.read_one(reader)
  # Do nothing if there aren't more tags:
  return nil unless reader.forward
  
  # Create the object:
  object = Disk.new
  
  # Process the attributes:
  object.href = reader.get_attribute('href')
  value = reader.get_attribute('active')
  object.active = value if not value.nil?
  value = reader.get_attribute('actual_size')
  object.actual_size = value if not value.nil?
  value = reader.get_attribute('alias')
  object.alias_ = value if not value.nil?
  value = reader.get_attribute('backup')
  object.backup = value if not value.nil?
  value = reader.get_attribute('backup_mode')
  object.backup_mode = value if not value.nil?
  value = reader.get_attribute('bootable')
  object.bootable = value if not value.nil?
  value = reader.get_attribute('comment')
  object.comment = value if not value.nil?
  value = reader.get_attribute('content_type')
  object.content_type = value if not value.nil?
  value = reader.get_attribute('description')
  object.description = value if not value.nil?
  value = reader.get_attribute('external_disk')
  object.external_disk = value if not value.nil?
  value = reader.get_attribute('format')
  object.format = value if not value.nil?
  value = reader.get_attribute('id')
  object.id = value if not value.nil?
  value = reader.get_attribute('image_id')
  object.image_id = value if not value.nil?
  value = reader.get_attribute('initial_size')
  object.initial_size = value if not value.nil?
  value = reader.get_attribute('interface')
  object.interface = value if not value.nil?
  value = reader.get_attribute('logical_name')
  object.logical_name = value if not value.nil?
  value = reader.get_attribute('name')
  object.name = value if not value.nil?
  value = reader.get_attribute('propagate_errors')
  object.propagate_errors = value if not value.nil?
  value = reader.get_attribute('provisioned_size')
  object.provisioned_size = value if not value.nil?
  value = reader.get_attribute('qcow_version')
  object.qcow_version = value if not value.nil?
  value = reader.get_attribute('read_only')
  object.read_only = value if not value.nil?
  value = reader.get_attribute('sgio')
  object.sgio = value if not value.nil?
  value = reader.get_attribute('shareable')
  object.shareable = value if not value.nil?
  value = reader.get_attribute('sparse')
  object.sparse = value if not value.nil?
  value = reader.get_attribute('status')
  object.status = value if not value.nil?
  value = reader.get_attribute('storage_type')
  object.storage_type = value if not value.nil?
  value = reader.get_attribute('total_size')
  object.total_size = value if not value.nil?
  value = reader.get_attribute('uses_scsi_reservation')
  object.uses_scsi_reservation = value if not value.nil?
  value = reader.get_attribute('wipe_after_delete')
  object.wipe_after_delete = 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 'active'
      object.active = Reader.read_boolean(reader)
    when 'actual_size'
      object.actual_size = Reader.read_integer(reader)
    when 'alias'
      object.alias_ = Reader.read_string(reader)
    when 'backup'
      object.backup = Reader.read_enum(DiskBackup, reader)
    when 'backup_mode'
      object.backup_mode = Reader.read_enum(DiskBackupMode, reader)
    when 'bootable'
      object.bootable = Reader.read_boolean(reader)
    when 'comment'
      object.comment = Reader.read_string(reader)
    when 'content_type'
      object.content_type = Reader.read_enum(DiskContentType, reader)
    when 'description'
      object.description = Reader.read_string(reader)
    when 'external_disk'
      object.external_disk = Reader.read_string(reader)
    when 'format'
      object.format = Reader.read_enum(DiskFormat, reader)
    when 'id'
      object.id = Reader.read_string(reader)
    when 'image_id'
      object.image_id = Reader.read_string(reader)
    when 'initial_size'
      object.initial_size = Reader.read_integer(reader)
    when 'interface'
      object.interface = Reader.read_enum(DiskInterface, reader)
    when 'logical_name'
      object.logical_name = Reader.read_string(reader)
    when 'lun_storage'
      object.lun_storage = HostStorageReader.read_one(reader)
    when 'name'
      object.name = Reader.read_string(reader)
    when 'propagate_errors'
      object.propagate_errors = Reader.read_boolean(reader)
    when 'provisioned_size'
      object.provisioned_size = Reader.read_integer(reader)
    when 'qcow_version'
      object.qcow_version = Reader.read_enum(QcowVersion, reader)
    when 'read_only'
      object.read_only = Reader.read_boolean(reader)
    when 'sgio'
      object.sgio = Reader.read_enum(ScsiGenericIO, reader)
    when 'shareable'
      object.shareable = Reader.read_boolean(reader)
    when 'sparse'
      object.sparse = Reader.read_boolean(reader)
    when 'status'
      object.status = Reader.read_enum(DiskStatus, reader)
    when 'storage_type'
      object.storage_type = Reader.read_enum(DiskStorageType, reader)
    when 'total_size'
      object.total_size = Reader.read_integer(reader)
    when 'uses_scsi_reservation'
      object.uses_scsi_reservation = Reader.read_boolean(reader)
    when 'wipe_after_delete'
      object.wipe_after_delete = Reader.read_boolean(reader)
    when 'disk_profile'
      object.disk_profile = DiskProfileReader.read_one(reader)
    when 'disk_snapshots'
      object.disk_snapshots = DiskSnapshotReader.read_many(reader)
    when 'instance_type'
      object.instance_type = InstanceTypeReader.read_one(reader)
    when 'openstack_volume_type'
      object.openstack_volume_type = OpenStackVolumeTypeReader.read_one(reader)
    when 'permissions'
      object.permissions = PermissionReader.read_many(reader)
    when 'quota'
      object.quota = QuotaReader.read_one(reader)
    when 'snapshot'
      object.snapshot = SnapshotReader.read_one(reader)
    when 'statistics'
      object.statistics = StatisticReader.read_many(reader)
    when 'storage_domain'
      object.storage_domain = StorageDomainReader.read_one(reader)
    when 'storage_domains'
      object.storage_domains = StorageDomainReader.read_many(reader)
    when 'template'
      object.template = TemplateReader.read_one(reader)
    when 'vm'
      object.vm = VmReader.read_one(reader)
    when 'vms'
      object.vms = VmReader.read_many(reader)
    when 'link'
      read_link(reader, object)
    else
      reader.next_element
    end
  end
  
  # Discard the end tag:
  reader.read
  
  return object
end