def self.write_one(object, writer, singular = nil)
singular ||= 'template'
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?
BiosWriter.write_one(object.bios, writer, 'bios') unless object.bios.nil?
Writer.write_string(writer, 'comment', object.comment) unless object.comment.nil?
ConsoleWriter.write_one(object.console, writer, 'console') unless object.console.nil?
CpuWriter.write_one(object.cpu, writer, 'cpu') unless object.cpu.nil?
Writer.write_integer(writer, 'cpu_shares', object.cpu_shares) unless object.cpu_shares.nil?
Writer.write_date(writer, 'creation_time', object.creation_time) unless object.creation_time.nil?
VersionWriter.write_one(object.custom_compatibility_version, writer, 'custom_compatibility_version') unless object.custom_compatibility_version.nil?
Writer.write_string(writer, 'custom_cpu_model', object.custom_cpu_model) unless object.custom_cpu_model.nil?
Writer.write_string(writer, 'custom_emulated_machine', object.custom_emulated_machine) unless object.custom_emulated_machine.nil?
CustomPropertyWriter.write_many(object.custom_properties, writer, 'custom_property', 'custom_properties') unless object.custom_properties.nil?
Writer.write_boolean(writer, 'delete_protected', object.delete_protected) unless object.delete_protected.nil?
Writer.write_string(writer, 'description', object.description) unless object.description.nil?
DisplayWriter.write_one(object.display, writer, 'display') unless object.display.nil?
DomainWriter.write_one(object.domain, writer, 'domain') unless object.domain.nil?
HighAvailabilityWriter.write_one(object.high_availability, writer, 'high_availability') unless object.high_availability.nil?
InitializationWriter.write_one(object.initialization, writer, 'initialization') unless object.initialization.nil?
IoWriter.write_one(object.io, writer, 'io') unless object.io.nil?
IconWriter.write_one(object.large_icon, writer, 'large_icon') unless object.large_icon.nil?
Writer.write_integer(writer, 'memory', object.memory) unless object.memory.nil?
MemoryPolicyWriter.write_one(object.memory_policy, writer, 'memory_policy') unless object.memory_policy.nil?
MigrationOptionsWriter.write_one(object.migration, writer, 'migration') unless object.migration.nil?
Writer.write_integer(writer, 'migration_downtime', object.migration_downtime) unless object.migration_downtime.nil?
Writer.write_string(writer, 'name', object.name) unless object.name.nil?
Writer.write_string(writer, 'origin', object.origin) unless object.origin.nil?
OperatingSystemWriter.write_one(object.os, writer, 'os') unless object.os.nil?
RngDeviceWriter.write_one(object.rng_device, writer, 'rng_device') unless object.rng_device.nil?
SerialNumberWriter.write_one(object.serial_number, writer, 'serial_number') unless object.serial_number.nil?
IconWriter.write_one(object.small_icon, writer, 'small_icon') unless object.small_icon.nil?
Writer.write_boolean(writer, 'soundcard_enabled', object.soundcard_enabled) unless object.soundcard_enabled.nil?
SsoWriter.write_one(object.sso, writer, 'sso') unless object.sso.nil?
Writer.write_boolean(writer, 'start_paused', object.start_paused) unless object.start_paused.nil?
Writer.write_boolean(writer, 'stateless', object.stateless) unless object.stateless.nil?
Writer.write_string(writer, 'status', object.status) unless object.status.nil?
TimeZoneWriter.write_one(object.time_zone, writer, 'time_zone') unless object.time_zone.nil?
Writer.write_boolean(writer, 'tunnel_migration', object.tunnel_migration) unless object.tunnel_migration.nil?
Writer.write_string(writer, 'type', object.type) unless object.type.nil?
UsbWriter.write_one(object.usb, writer, 'usb') unless object.usb.nil?
TemplateVersionWriter.write_one(object.version, writer, 'version') unless object.version.nil?
VirtioScsiWriter.write_one(object.virtio_scsi, writer, 'virtio_scsi') unless object.virtio_scsi.nil?
VmWriter.write_one(object.vm, writer, 'vm') unless object.vm.nil?
CdromWriter.write_many(object.cdroms, writer, 'cdrom', 'cdroms') unless object.cdroms.nil?
ClusterWriter.write_one(object.cluster, writer, 'cluster') unless object.cluster.nil?
CpuProfileWriter.write_one(object.cpu_profile, writer, 'cpu_profile') unless object.cpu_profile.nil?
DiskAttachmentWriter.write_many(object.disk_attachments, writer, 'disk_attachment', 'disk_attachments') unless object.disk_attachments.nil?
GraphicsConsoleWriter.write_many(object.graphics_consoles, writer, 'graphics_console', 'graphics_consoles') unless object.graphics_consoles.nil?
NicWriter.write_many(object.nics, writer, 'nic', 'nics') unless object.nics.nil?
PermissionWriter.write_many(object.permissions, writer, 'permission', 'permissions') unless object.permissions.nil?
QuotaWriter.write_one(object.quota, writer, 'quota') unless object.quota.nil?
StorageDomainWriter.write_one(object.storage_domain, writer, 'storage_domain') unless object.storage_domain.nil?
TagWriter.write_many(object.tags, writer, 'tag', 'tags') unless object.tags.nil?
WatchdogWriter.write_many(object.watchdogs, writer, 'watchdog', 'watchdogs') unless object.watchdogs.nil?
writer.write_end
end