def self.write_one(object, writer, singular = nil)
singular ||= 'disk_attachment'
writer.write_start(singular)
href = object.href
writer.write_attribute('href', href) unless href.nil?
writer.write_attribute('id', object.id) unless object.id.nil?
Writer.write_boolean(writer, 'active', object.active) unless object.active.nil?
Writer.write_boolean(writer, 'bootable', object.bootable) unless object.bootable.nil?
Writer.write_string(writer, 'comment', object.comment) unless object.comment.nil?
Writer.write_string(writer, 'description', object.description) unless object.description.nil?
Writer.write_string(writer, 'interface', object.interface) unless object.interface.nil?
Writer.write_string(writer, 'logical_name', object.logical_name) unless object.logical_name.nil?
Writer.write_string(writer, 'name', object.name) unless object.name.nil?
Writer.write_boolean(writer, 'pass_discard', object.pass_discard) unless object.pass_discard.nil?
Writer.write_boolean(writer, 'uses_scsi_reservation', object.uses_scsi_reservation) unless object.uses_scsi_reservation.nil?
DiskWriter.write_one(object.disk, writer, 'disk') unless object.disk.nil?
TemplateWriter.write_one(object.template, writer, 'template') unless object.template.nil?
VmWriter.write_one(object.vm, writer, 'vm') unless object.vm.nil?
writer.write_end
end