def self.read_one(reader)
return nil unless reader.forward
object = Nic.new
object.href = reader.get_attribute('href')
value = reader.get_attribute('boot_protocol')
object.boot_protocol = 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('id')
object.id = value if not value.nil?
value = reader.get_attribute('interface')
object.interface = value if not value.nil?
value = reader.get_attribute('linked')
object.linked = value if not value.nil?
value = reader.get_attribute('name')
object.name = value if not value.nil?
value = reader.get_attribute('on_boot')
object.on_boot = value if not value.nil?
value = reader.get_attribute('plugged')
object.plugged = value if not value.nil?
empty = reader.empty_element?
reader.read
return object if empty
while reader.forward do
case reader.node_name
when 'boot_protocol'
object.boot_protocol = Reader.read_enum(BootProtocol, reader)
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 'interface'
object.interface = Reader.read_enum(NicInterface, reader)
when 'linked'
object.linked = Reader.read_boolean(reader)
when 'mac'
object.mac = MacReader.read_one(reader)
when 'name'
object.name = Reader.read_string(reader)
when 'on_boot'
object.on_boot = Reader.read_boolean(reader)
when 'plugged'
object.plugged = Reader.read_boolean(reader)
when 'instance_type'
object.instance_type = InstanceTypeReader.read_one(reader)
when 'network'
object.network = NetworkReader.read_one(reader)
when 'network_attachments'
object.network_attachments = NetworkAttachmentReader.read_many(reader)
when 'network_filter_parameters'
object.network_filter_parameters = NetworkFilterParameterReader.read_many(reader)
when 'network_labels'
object.network_labels = NetworkLabelReader.read_many(reader)
when 'reported_devices'
object.reported_devices = ReportedDeviceReader.read_many(reader)
when 'statistics'
object.statistics = StatisticReader.read_many(reader)
when 'template'
object.template = TemplateReader.read_one(reader)
when 'virtual_function_allowed_labels'
object.virtual_function_allowed_labels = NetworkLabelReader.read_many(reader)
when 'virtual_function_allowed_networks'
object.virtual_function_allowed_networks = NetworkReader.read_many(reader)
when 'vm'
object.vm = VmReader.read_one(reader)
when 'vms'
object.vms = VmReader.read_many(reader)
when 'vnic_profile'
object.vnic_profile = VnicProfileReader.read_one(reader)
when 'link'
read_link(reader, object)
else
reader.next_element
end
end
reader.read
return object
end