func (o *SparseAuditReport) GetBSON() (interface{}, error) {

	if o == nil {
		return nil, nil
	}

	s := &mongoAttributesSparseAuditReport{}

	if o.AUID != nil {
		s.AUID = o.AUID
	}
	if o.CWD != nil {
		s.CWD = o.CWD
	}
	if o.EGID != nil {
		s.EGID = o.EGID
	}
	if o.EUID != nil {
		s.EUID = o.EUID
	}
	if o.EXE != nil {
		s.EXE = o.EXE
	}
	if o.FSGID != nil {
		s.FSGID = o.FSGID
	}
	if o.FSUID != nil {
		s.FSUID = o.FSUID
	}
	if o.FilePath != nil {
		s.FilePath = o.FilePath
	}
	if o.GID != nil {
		s.GID = o.GID
	}
	if o.ID != nil {
		s.ID = bson.ObjectIdHex(*o.ID)
	}
	if o.PER != nil {
		s.PER = o.PER
	}
	if o.PID != nil {
		s.PID = o.PID
	}
	if o.PPID != nil {
		s.PPID = o.PPID
	}
	if o.SGID != nil {
		s.SGID = o.SGID
	}
	if o.SUID != nil {
		s.SUID = o.SUID
	}
	if o.UID != nil {
		s.UID = o.UID
	}
	if o.A0 != nil {
		s.A0 = o.A0
	}
	if o.A1 != nil {
		s.A1 = o.A1
	}
	if o.A2 != nil {
		s.A2 = o.A2
	}
	if o.A3 != nil {
		s.A3 = o.A3
	}
	if o.Arch != nil {
		s.Arch = o.Arch
	}
	if o.Arguments != nil {
		s.Arguments = o.Arguments
	}
	if o.AuditProfileID != nil {
		s.AuditProfileID = o.AuditProfileID
	}
	if o.AuditProfileNamespace != nil {
		s.AuditProfileNamespace = o.AuditProfileNamespace
	}
	if o.Command != nil {
		s.Command = o.Command
	}
	if o.EnforcerID != nil {
		s.EnforcerID = o.EnforcerID
	}
	if o.EnforcerNamespace != nil {
		s.EnforcerNamespace = o.EnforcerNamespace
	}
	if o.Exit != nil {
		s.Exit = o.Exit
	}
	if o.MigrationsLog != nil {
		s.MigrationsLog = o.MigrationsLog
	}
	if o.ProcessingUnitID != nil {
		s.ProcessingUnitID = o.ProcessingUnitID
	}
	if o.ProcessingUnitNamespace != nil {
		s.ProcessingUnitNamespace = o.ProcessingUnitNamespace
	}
	if o.RecordType != nil {
		s.RecordType = o.RecordType
	}
	if o.Sequence != nil {
		s.Sequence = o.Sequence
	}
	if o.Success != nil {
		s.Success = o.Success
	}
	if o.Syscall != nil {
		s.Syscall = o.Syscall
	}
	if o.Timestamp != nil {
		s.Timestamp = o.Timestamp
	}
	if o.ZHash != nil {
		s.ZHash = o.ZHash
	}
	if o.Zone != nil {
		s.Zone = o.Zone
	}

	return s, nil
}
// GetBSON implements the bson marshaling interface.
// This is used to transparently convert ID to MongoDBID as ObectID.
GetBSON implements the bson marshaling interface.
This is used to transparently convert ID to MongoDBID as ObectID.
// GetBSON implements the bson marshaling interface . // This is used to transparently convert ID to MongoDBID as ObectID .
func (o *SparseAuditReport) GetBSON() (interface{}, error) {
	if o == nil {
		return nil, nil
	}
	s := &mongoAttributesSparseAuditReport{}
	if o.AUID != nil {
		s.AUID = o.AUID
	}
	if o.CWD != nil {
		s.CWD = o.CWD
	}
	if o.EGID != nil {
		s.EGID = o.EGID
	}
	if o.EUID != nil {
		s.EUID = o.EUID
	}
	if o.EXE != nil {
		s.EXE = o.EXE
	}
	if o.FSGID != nil {
		s.FSGID = o.FSGID
	}
	if o.FSUID != nil {
		s.FSUID = o.FSUID
	}
	if o.FilePath != nil {
		s.FilePath = o.FilePath
	}
	if o.GID != nil {
		s.GID = o.GID
	}
	if o.ID != nil {
		s.ID = bson.ObjectIdHex(*o.ID)
	}
	if o.PER != nil {
		s.PER = o.PER
	}
	if o.PID != nil {
		s.PID = o.PID
	}
	if o.PPID != nil {
		s.PPID = o.PPID
	}
	if o.SGID != nil {
		s.SGID = o.SGID
	}
	if o.SUID != nil {
		s.SUID = o.SUID
	}
	if o.UID != nil {
		s.UID = o.UID
	}
	if o.A0 != nil {
		s.A0 = o.A0
	}
	if o.A1 != nil {
		s.A1 = o.A1
	}
	if o.A2 != nil {
		s.A2 = o.A2
	}
	if o.A3 != nil {
		s.A3 = o.A3
	}
	if o.Arch != nil {
		s.Arch = o.Arch
	}
	if o.Arguments != nil {
		s.Arguments = o.Arguments
	}
	if o.AuditProfileID != nil {
		s.AuditProfileID = o.AuditProfileID
	}
	if o.AuditProfileNamespace != nil {
		s.AuditProfileNamespace = o.AuditProfileNamespace
	}
	if o.Command != nil {
		s.Command = o.Command
	}
	if o.EnforcerID != nil {
		s.EnforcerID = o.EnforcerID
	}
	if o.EnforcerNamespace != nil {
		s.EnforcerNamespace = o.EnforcerNamespace
	}
	if o.Exit != nil {
		s.Exit = o.Exit
	}
	if o.MigrationsLog != nil {
		s.MigrationsLog = o.MigrationsLog
	}
	if o.ProcessingUnitID != nil {
		s.ProcessingUnitID = o.ProcessingUnitID
	}
	if o.ProcessingUnitNamespace != nil {
		s.ProcessingUnitNamespace = o.ProcessingUnitNamespace
	}
	if o.RecordType != nil {
		s.RecordType = o.RecordType
	}
	if o.Sequence != nil {
		s.Sequence = o.Sequence
	}
	if o.Success != nil {
		s.Success = o.Success
	}
	if o.Syscall != nil {
		s.Syscall = o.Syscall
	}
	if o.Timestamp != nil {
		s.Timestamp = o.Timestamp
	}
	if o.ZHash != nil {
		s.ZHash = o.ZHash
	}
	if o.Zone != nil {
		s.Zone = o.Zone
	}
	return s, nil
}
func ( o * SparseAuditReport ) GetBSON ( ) ( interface { } , error ) { if o == nil { return nil , nil } s := & mongoAttributesSparseAuditReport { } if o . AUID != nil { s . AUID = o . AUID } if o . CWD != nil { s . CWD = o . CWD } if o . EGID != nil { s . EGID = o . EGID } if o . EUID != nil { s . EUID = o . EUID } if o . EXE != nil { s . EXE = o . EXE } if o . FSGID != nil { s . FSGID = o . FSGID } if o . FSUID != nil { s . FSUID = o . FSUID } if o . FilePath != nil { s . FilePath = o . FilePath } if o . GID != nil { s . GID = o . GID } if o . ID != nil { s . ID = bson . ObjectIdHex ( * o . ID ) } if o . PER != nil { s . PER = o . PER } if o . PID != nil { s . PID = o . PID } if o . PPID != nil { s . PPID = o . PPID } if o . SGID != nil { s . SGID = o . SGID } if o . SUID != nil { s . SUID = o . SUID } if o . UID != nil { s . UID = o . UID } if o . A0 != nil { s . A0 = o . A0 } if o . A1 != nil { s . A1 = o . A1 } if o . A2 != nil { s . A2 = o . A2 } if o . A3 != nil { s . A3 = o . A3 } if o . Arch != nil { s . Arch = o . Arch } if o . Arguments != nil { s . Arguments = o . Arguments } if o . AuditProfileID != nil { s . AuditProfileID = o . AuditProfileID } if o . AuditProfileNamespace != nil { s . AuditProfileNamespace = o . AuditProfileNamespace } if o . Command != nil { s . Command = o . Command } if o . EnforcerID != nil { s . EnforcerID = o . EnforcerID } if o . EnforcerNamespace != nil { s . EnforcerNamespace = o . EnforcerNamespace } if o . Exit != nil { s . Exit = o . Exit } if o . MigrationsLog != nil { s . MigrationsLog = o . MigrationsLog } if o . ProcessingUnitID != nil { s . ProcessingUnitID = o . ProcessingUnitID } if o . ProcessingUnitNamespace != nil { s . ProcessingUnitNamespace = o . ProcessingUnitNamespace } if o . RecordType != nil { s . RecordType = o . RecordType } if o . Sequence != nil { s . Sequence = o . Sequence } if o . Success != nil { s . Success = o . Success } if o . Syscall != nil { s . Syscall = o . Syscall } if o . Timestamp != nil { s . Timestamp = o . Timestamp } if o . ZHash != nil { s . ZHash = o . ZHash } if o . Zone != nil { s . Zone = o . Zone } return s , nil }
GetBSON implements the bson marshaling interface.
GetBSON implements the bson marshaling interface .