def self.read_one(reader)
return nil unless reader.forward
object = DiskSnapshot.new
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('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('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?
empty = reader.empty_element?
reader.read
return object if empty
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 '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 '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'
object.disk = DiskReader.read_one(reader)
when 'disk_profile'
object.disk_profile = DiskProfileReader.read_one(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
reader.read
return object
end