def self.write_one(object, writer, singular = nil)
singular ||= 'disk'
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_integer(writer, 'actual_size', object.actual_size) unless object.actual_size.nil?
Writer.write_string(writer, 'alias', object.alias_) unless object.alias_.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, 'format', object.format) unless object.format.nil?
Writer.write_string(writer, 'image_id', object.image_id) unless object.image_id.nil?
Writer.write_integer(writer, 'initial_size', object.initial_size) unless object.initial_size.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?
HostStorageWriter.write_one(object.lun_storage, writer, 'lun_storage') unless object.lun_storage.nil?
Writer.write_string(writer, 'name', object.name) unless object.name.nil?
Writer.write_boolean(writer, 'propagate_errors', object.propagate_errors) unless object.propagate_errors.nil?
Writer.write_integer(writer, 'provisioned_size', object.provisioned_size) unless object.provisioned_size.nil?
Writer.write_string(writer, 'qcow_version', object.qcow_version) unless object.qcow_version.nil?
Writer.write_boolean(writer, 'read_only', object.read_only) unless object.read_only.nil?
Writer.write_string(writer, 'sgio', object.sgio) unless object.sgio.nil?
Writer.write_boolean(writer, 'shareable', object.shareable) unless object.shareable.nil?
Writer.write_boolean(writer, 'sparse', object.sparse) unless object.sparse.nil?
Writer.write_string(writer, 'status', object.status) unless object.status.nil?
Writer.write_string(writer, 'storage_type', object.storage_type) unless object.storage_type.nil?
Writer.write_boolean(writer, 'uses_scsi_reservation', object.uses_scsi_reservation) unless object.uses_scsi_reservation.nil?
Writer.write_boolean(writer, 'wipe_after_delete', object.wipe_after_delete) unless object.wipe_after_delete.nil?
DiskProfileWriter.write_one(object.disk_profile, writer, 'disk_profile') unless object.disk_profile.nil?
InstanceTypeWriter.write_one(object.instance_type, writer, 'instance_type') unless object.instance_type.nil?
OpenStackVolumeTypeWriter.write_one(object.openstack_volume_type, writer, 'openstack_volume_type') unless object.openstack_volume_type.nil?
PermissionWriter.write_many(object.permissions, writer, 'permission', 'permissions') unless object.permissions.nil?
QuotaWriter.write_one(object.quota, writer, 'quota') unless object.quota.nil?
SnapshotWriter.write_one(object.snapshot, writer, 'snapshot') unless object.snapshot.nil?
StatisticWriter.write_many(object.statistics, writer, 'statistic', 'statistics') unless object.statistics.nil?
StorageDomainWriter.write_one(object.storage_domain, writer, 'storage_domain') unless object.storage_domain.nil?
StorageDomainWriter.write_many(object.storage_domains, writer, 'storage_domain', 'storage_domains') unless object.storage_domains.nil?
TemplateWriter.write_one(object.template, writer, 'template') unless object.template.nil?
VmWriter.write_one(object.vm, writer, 'vm') unless object.vm.nil?
VmWriter.write_many(object.vms, writer, 'vm', 'vms') unless object.vms.nil?
writer.write_end
end