def self.read_one(reader)
return nil unless reader.forward
object = DataCenter.new
object.href = reader.get_attribute('href')
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('id')
object.id = value if not value.nil?
value = reader.get_attribute('local')
object.local = value if not value.nil?
value = reader.get_attribute('name')
object.name = value if not value.nil?
value = reader.get_attribute('quota_mode')
object.quota_mode = value if not value.nil?
value = reader.get_attribute('status')
object.status = value if not value.nil?
value = reader.get_attribute('storage_format')
object.storage_format = value if not value.nil?
empty = reader.empty_element?
reader.read
return object if empty
while reader.forward do
case reader.node_name
when 'comment'
object.comment = Reader.read_string(reader)
when 'description'
object.description = Reader.read_string(reader)
when 'id'
object.id = Reader.read_string(reader)
when 'local'
object.local = Reader.read_boolean(reader)
when 'name'
object.name = Reader.read_string(reader)
when 'quota_mode'
object.quota_mode = Reader.read_enum(QuotaModeType, reader)
when 'status'
object.status = Reader.read_enum(DataCenterStatus, reader)
when 'storage_format'
object.storage_format = Reader.read_enum(StorageFormat, reader)
when 'supported_versions'
object.supported_versions = VersionReader.read_many(reader)
when 'version'
object.version = VersionReader.read_one(reader)
when 'clusters'
object.clusters = ClusterReader.read_many(reader)
when 'iscsi_bonds'
object.iscsi_bonds = IscsiBondReader.read_many(reader)
when 'mac_pool'
object.mac_pool = MacPoolReader.read_one(reader)
when 'networks'
object.networks = NetworkReader.read_many(reader)
when 'permissions'
object.permissions = PermissionReader.read_many(reader)
when 'qoss'
object.qoss = QosReader.read_many(reader)
when 'quotas'
object.quotas = QuotaReader.read_many(reader)
when 'storage_domains'
object.storage_domains = StorageDomainReader.read_many(reader)
when 'link'
read_link(reader, object)
else
reader.next_element
end
end
reader.read
return object
end