def self.read_one(reader)
return nil unless reader.forward
object = Network.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('display')
object.display = value if not value.nil?
value = reader.get_attribute('id')
object.id = value if not value.nil?
value = reader.get_attribute('mtu')
object.mtu = value if not value.nil?
value = reader.get_attribute('name')
object.name = value if not value.nil?
value = reader.get_attribute('profile_required')
object.profile_required = value if not value.nil?
value = reader.get_attribute('required')
object.required = value if not value.nil?
value = reader.get_attribute('status')
object.status = value if not value.nil?
value = reader.get_attribute('stp')
object.stp = 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 'display'
object.display = Reader.read_boolean(reader)
when 'dns_resolver_configuration'
object.dns_resolver_configuration = DnsResolverConfigurationReader.read_one(reader)
when 'id'
object.id = Reader.read_string(reader)
when 'ip'
object.ip = IpReader.read_one(reader)
when 'mtu'
object.mtu = Reader.read_integer(reader)
when 'name'
object.name = Reader.read_string(reader)
when 'profile_required'
object.profile_required = Reader.read_boolean(reader)
when 'required'
object.required = Reader.read_boolean(reader)
when 'status'
object.status = Reader.read_enum(NetworkStatus, reader)
when 'stp'
object.stp = Reader.read_boolean(reader)
when 'usages'
object.usages = Reader.read_enums(NetworkUsage, reader)
when 'vlan'
object.vlan = VlanReader.read_one(reader)
when 'cluster'
object.cluster = ClusterReader.read_one(reader)
when 'data_center'
object.data_center = DataCenterReader.read_one(reader)
when 'external_provider'
object.external_provider = OpenStackNetworkProviderReader.read_one(reader)
when 'external_provider_physical_network'
object.external_provider_physical_network = NetworkReader.read_one(reader)
when 'network_labels'
object.network_labels = NetworkLabelReader.read_many(reader)
when 'permissions'
object.permissions = PermissionReader.read_many(reader)
when 'qos'
object.qos = QosReader.read_one(reader)
when 'vnic_profiles'
object.vnic_profiles = VnicProfileReader.read_many(reader)
when 'link'
read_link(reader, object)
else
reader.next_element
end
end
reader.read
return object
end