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

	if o == nil {
		return nil, nil
	}

	s := &mongoAttributesCachedFlowReport{}

	if o.ID != "" {
		s.ID = bson.ObjectIdHex(o.ID)
	}
	s.Action = o.Action
	s.DestinationController = o.DestinationController
	s.DestinationID = o.DestinationID
	s.DestinationIP = o.DestinationIP
	s.DestinationNamespace = o.DestinationNamespace
	s.DestinationPlatform = o.DestinationPlatform
	s.DestinationPort = o.DestinationPort
	s.DestinationType = o.DestinationType
	s.DropReason = o.DropReason
	s.Encrypted = o.Encrypted
	s.EnforcerID = o.EnforcerID
	s.IsLocalDestinationID = o.IsLocalDestinationID
	s.IsLocalSourceID = o.IsLocalSourceID
	s.MigrationsLog = o.MigrationsLog
	s.Namespace = o.Namespace
	s.Observed = o.Observed
	s.ObservedAction = o.ObservedAction
	s.ObservedDropReason = o.ObservedDropReason
	s.ObservedEncrypted = o.ObservedEncrypted
	s.ObservedPolicyID = o.ObservedPolicyID
	s.ObservedPolicyNamespace = o.ObservedPolicyNamespace
	s.PolicyID = o.PolicyID
	s.PolicyNamespace = o.PolicyNamespace
	s.Protocol = o.Protocol
	s.RemoteNamespace = o.RemoteNamespace
	s.RuleName = o.RuleName
	s.ServiceClaimHash = o.ServiceClaimHash
	s.ServiceID = o.ServiceID
	s.ServiceNamespace = o.ServiceNamespace
	s.ServiceType = o.ServiceType
	s.ServiceURL = o.ServiceURL
	s.SourceController = o.SourceController
	s.SourceID = o.SourceID
	s.SourceIP = o.SourceIP
	s.SourceNamespace = o.SourceNamespace
	s.SourcePlatform = o.SourcePlatform
	s.SourceType = o.SourceType
	s.Timestamp = o.Timestamp
	s.Value = o.Value
	s.ZHash = o.ZHash
	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 *CachedFlowReport) GetBSON() (interface{}, error) {
	if o == nil {
		return nil, nil
	}
	s := &mongoAttributesCachedFlowReport{}
	if o.ID != "" {
		s.ID = bson.ObjectIdHex(o.ID)
	}
	s.Action = o.Action
	s.DestinationController = o.DestinationController
	s.DestinationID = o.DestinationID
	s.DestinationIP = o.DestinationIP
	s.DestinationNamespace = o.DestinationNamespace
	s.DestinationPlatform = o.DestinationPlatform
	s.DestinationPort = o.DestinationPort
	s.DestinationType = o.DestinationType
	s.DropReason = o.DropReason
	s.Encrypted = o.Encrypted
	s.EnforcerID = o.EnforcerID
	s.IsLocalDestinationID = o.IsLocalDestinationID
	s.IsLocalSourceID = o.IsLocalSourceID
	s.MigrationsLog = o.MigrationsLog
	s.Namespace = o.Namespace
	s.Observed = o.Observed
	s.ObservedAction = o.ObservedAction
	s.ObservedDropReason = o.ObservedDropReason
	s.ObservedEncrypted = o.ObservedEncrypted
	s.ObservedPolicyID = o.ObservedPolicyID
	s.ObservedPolicyNamespace = o.ObservedPolicyNamespace
	s.PolicyID = o.PolicyID
	s.PolicyNamespace = o.PolicyNamespace
	s.Protocol = o.Protocol
	s.RemoteNamespace = o.RemoteNamespace
	s.RuleName = o.RuleName
	s.ServiceClaimHash = o.ServiceClaimHash
	s.ServiceID = o.ServiceID
	s.ServiceNamespace = o.ServiceNamespace
	s.ServiceType = o.ServiceType
	s.ServiceURL = o.ServiceURL
	s.SourceController = o.SourceController
	s.SourceID = o.SourceID
	s.SourceIP = o.SourceIP
	s.SourceNamespace = o.SourceNamespace
	s.SourcePlatform = o.SourcePlatform
	s.SourceType = o.SourceType
	s.Timestamp = o.Timestamp
	s.Value = o.Value
	s.ZHash = o.ZHash
	s.Zone = o.Zone
	return s, nil
}
func ( o * CachedFlowReport ) GetBSON ( ) ( interface { } , error ) { if o == nil { return nil , nil } s := & mongoAttributesCachedFlowReport { } if o . ID != " " { s . ID = bson . ObjectIdHex ( o . ID ) } s . Action = o . Action s . DestinationController = o . DestinationController s . DestinationID = o . DestinationID s . DestinationIP = o . DestinationIP s . DestinationNamespace = o . DestinationNamespace s . DestinationPlatform = o . DestinationPlatform s . DestinationPort = o . DestinationPort s . DestinationType = o . DestinationType s . DropReason = o . DropReason s . Encrypted = o . Encrypted s . EnforcerID = o . EnforcerID s . IsLocalDestinationID = o . IsLocalDestinationID s . IsLocalSourceID = o . IsLocalSourceID s . MigrationsLog = o . MigrationsLog s . Namespace = o . Namespace s . Observed = o . Observed s . ObservedAction = o . ObservedAction s . ObservedDropReason = o . ObservedDropReason s . ObservedEncrypted = o . ObservedEncrypted s . ObservedPolicyID = o . ObservedPolicyID s . ObservedPolicyNamespace = o . ObservedPolicyNamespace s . PolicyID = o . PolicyID s . PolicyNamespace = o . PolicyNamespace s . Protocol = o . Protocol s . RemoteNamespace = o . RemoteNamespace s . RuleName = o . RuleName s . ServiceClaimHash = o . ServiceClaimHash s . ServiceID = o . ServiceID s . ServiceNamespace = o . ServiceNamespace s . ServiceType = o . ServiceType s . ServiceURL = o . ServiceURL s . SourceController = o . SourceController s . SourceID = o . SourceID s . SourceIP = o . SourceIP s . SourceNamespace = o . SourceNamespace s . SourcePlatform = o . SourcePlatform s . SourceType = o . SourceType s . Timestamp = o . Timestamp s . Value = o . Value s . ZHash = o . ZHash s . Zone = o . Zone return s , nil }
GetBSON implements the bson marshaling interface.
GetBSON implements the bson marshaling interface .