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

	if o == nil {
		return nil, nil
	}

	s := &mongoAttributesSparsePingProbe{}

	if o.ACLPolicyAction != nil {
		s.ACLPolicyAction = o.ACLPolicyAction
	}
	if o.ACLPolicyID != nil {
		s.ACLPolicyID = o.ACLPolicyID
	}
	if o.ID != nil {
		s.ID = bson.ObjectIdHex(*o.ID)
	}
	if o.RTT != nil {
		s.RTT = o.RTT
	}
	if o.ApplicationListening != nil {
		s.ApplicationListening = o.ApplicationListening
	}
	if o.Claims != nil {
		s.Claims = o.Claims
	}
	if o.ClaimsType != nil {
		s.ClaimsType = o.ClaimsType
	}
	if o.CreateTime != nil {
		s.CreateTime = o.CreateTime
	}
	if o.EnforcerID != nil {
		s.EnforcerID = o.EnforcerID
	}
	if o.EnforcerNamespace != nil {
		s.EnforcerNamespace = o.EnforcerNamespace
	}
	if o.EnforcerVersion != nil {
		s.EnforcerVersion = o.EnforcerVersion
	}
	if o.Error != nil {
		s.Error = o.Error
	}
	if o.ExcludedNetworks != nil {
		s.ExcludedNetworks = o.ExcludedNetworks
	}
	if o.FourTuple != nil {
		s.FourTuple = o.FourTuple
	}
	if o.IsServer != nil {
		s.IsServer = o.IsServer
	}
	if o.IterationIndex != nil {
		s.IterationIndex = o.IterationIndex
	}
	if o.MigrationsLog != nil {
		s.MigrationsLog = o.MigrationsLog
	}
	if o.Namespace != nil {
		s.Namespace = o.Namespace
	}
	if o.PayloadSize != nil {
		s.PayloadSize = o.PayloadSize
	}
	if o.PayloadSizeType != nil {
		s.PayloadSizeType = o.PayloadSizeType
	}
	if o.PeerCertExpiry != nil {
		s.PeerCertExpiry = o.PeerCertExpiry
	}
	if o.PeerCertIssuer != nil {
		s.PeerCertIssuer = o.PeerCertIssuer
	}
	if o.PeerCertSubject != nil {
		s.PeerCertSubject = o.PeerCertSubject
	}
	if o.PingID != nil {
		s.PingID = o.PingID
	}
	if o.PolicyAction != nil {
		s.PolicyAction = o.PolicyAction
	}
	if o.PolicyID != nil {
		s.PolicyID = o.PolicyID
	}
	if o.PolicyNamespace != nil {
		s.PolicyNamespace = o.PolicyNamespace
	}
	if o.ProcessingUnitID != nil {
		s.ProcessingUnitID = o.ProcessingUnitID
	}
	if o.Protocol != nil {
		s.Protocol = o.Protocol
	}
	if o.RemoteController != nil {
		s.RemoteController = o.RemoteController
	}
	if o.RemoteEndpointType != nil {
		s.RemoteEndpointType = o.RemoteEndpointType
	}
	if o.RemoteNamespace != nil {
		s.RemoteNamespace = o.RemoteNamespace
	}
	if o.RemoteNamespaceType != nil {
		s.RemoteNamespaceType = o.RemoteNamespaceType
	}
	if o.RemoteProcessingUnitID != nil {
		s.RemoteProcessingUnitID = o.RemoteProcessingUnitID
	}
	if o.SeqNum != nil {
		s.SeqNum = o.SeqNum
	}
	if o.ServiceID != nil {
		s.ServiceID = o.ServiceID
	}
	if o.ServiceType != nil {
		s.ServiceType = o.ServiceType
	}
	if o.TargetTCPNetworks != nil {
		s.TargetTCPNetworks = o.TargetTCPNetworks
	}
	if o.Type != nil {
		s.Type = o.Type
	}
	if o.UpdateTime != nil {
		s.UpdateTime = o.UpdateTime
	}
	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 *SparsePingProbe) GetBSON() (interface{}, error) {
	if o == nil {
		return nil, nil
	}
	s := &mongoAttributesSparsePingProbe{}
	if o.ACLPolicyAction != nil {
		s.ACLPolicyAction = o.ACLPolicyAction
	}
	if o.ACLPolicyID != nil {
		s.ACLPolicyID = o.ACLPolicyID
	}
	if o.ID != nil {
		s.ID = bson.ObjectIdHex(*o.ID)
	}
	if o.RTT != nil {
		s.RTT = o.RTT
	}
	if o.ApplicationListening != nil {
		s.ApplicationListening = o.ApplicationListening
	}
	if o.Claims != nil {
		s.Claims = o.Claims
	}
	if o.ClaimsType != nil {
		s.ClaimsType = o.ClaimsType
	}
	if o.CreateTime != nil {
		s.CreateTime = o.CreateTime
	}
	if o.EnforcerID != nil {
		s.EnforcerID = o.EnforcerID
	}
	if o.EnforcerNamespace != nil {
		s.EnforcerNamespace = o.EnforcerNamespace
	}
	if o.EnforcerVersion != nil {
		s.EnforcerVersion = o.EnforcerVersion
	}
	if o.Error != nil {
		s.Error = o.Error
	}
	if o.ExcludedNetworks != nil {
		s.ExcludedNetworks = o.ExcludedNetworks
	}
	if o.FourTuple != nil {
		s.FourTuple = o.FourTuple
	}
	if o.IsServer != nil {
		s.IsServer = o.IsServer
	}
	if o.IterationIndex != nil {
		s.IterationIndex = o.IterationIndex
	}
	if o.MigrationsLog != nil {
		s.MigrationsLog = o.MigrationsLog
	}
	if o.Namespace != nil {
		s.Namespace = o.Namespace
	}
	if o.PayloadSize != nil {
		s.PayloadSize = o.PayloadSize
	}
	if o.PayloadSizeType != nil {
		s.PayloadSizeType = o.PayloadSizeType
	}
	if o.PeerCertExpiry != nil {
		s.PeerCertExpiry = o.PeerCertExpiry
	}
	if o.PeerCertIssuer != nil {
		s.PeerCertIssuer = o.PeerCertIssuer
	}
	if o.PeerCertSubject != nil {
		s.PeerCertSubject = o.PeerCertSubject
	}
	if o.PingID != nil {
		s.PingID = o.PingID
	}
	if o.PolicyAction != nil {
		s.PolicyAction = o.PolicyAction
	}
	if o.PolicyID != nil {
		s.PolicyID = o.PolicyID
	}
	if o.PolicyNamespace != nil {
		s.PolicyNamespace = o.PolicyNamespace
	}
	if o.ProcessingUnitID != nil {
		s.ProcessingUnitID = o.ProcessingUnitID
	}
	if o.Protocol != nil {
		s.Protocol = o.Protocol
	}
	if o.RemoteController != nil {
		s.RemoteController = o.RemoteController
	}
	if o.RemoteEndpointType != nil {
		s.RemoteEndpointType = o.RemoteEndpointType
	}
	if o.RemoteNamespace != nil {
		s.RemoteNamespace = o.RemoteNamespace
	}
	if o.RemoteNamespaceType != nil {
		s.RemoteNamespaceType = o.RemoteNamespaceType
	}
	if o.RemoteProcessingUnitID != nil {
		s.RemoteProcessingUnitID = o.RemoteProcessingUnitID
	}
	if o.SeqNum != nil {
		s.SeqNum = o.SeqNum
	}
	if o.ServiceID != nil {
		s.ServiceID = o.ServiceID
	}
	if o.ServiceType != nil {
		s.ServiceType = o.ServiceType
	}
	if o.TargetTCPNetworks != nil {
		s.TargetTCPNetworks = o.TargetTCPNetworks
	}
	if o.Type != nil {
		s.Type = o.Type
	}
	if o.UpdateTime != nil {
		s.UpdateTime = o.UpdateTime
	}
	if o.ZHash != nil {
		s.ZHash = o.ZHash
	}
	if o.Zone != nil {
		s.Zone = o.Zone
	}
	return s, nil
}
func ( o * SparsePingProbe ) GetBSON ( ) ( interface { } , error ) { if o == nil { return nil , nil } s := & mongoAttributesSparsePingProbe { } if o . ACLPolicyAction != nil { s . ACLPolicyAction = o . ACLPolicyAction } if o . ACLPolicyID != nil { s . ACLPolicyID = o . ACLPolicyID } if o . ID != nil { s . ID = bson . ObjectIdHex ( * o . ID ) } if o . RTT != nil { s . RTT = o . RTT } if o . ApplicationListening != nil { s . ApplicationListening = o . ApplicationListening } if o . Claims != nil { s . Claims = o . Claims } if o . ClaimsType != nil { s . ClaimsType = o . ClaimsType } if o . CreateTime != nil { s . CreateTime = o . CreateTime } if o . EnforcerID != nil { s . EnforcerID = o . EnforcerID } if o . EnforcerNamespace != nil { s . EnforcerNamespace = o . EnforcerNamespace } if o . EnforcerVersion != nil { s . EnforcerVersion = o . EnforcerVersion } if o . Error != nil { s . Error = o . Error } if o . ExcludedNetworks != nil { s . ExcludedNetworks = o . ExcludedNetworks } if o . FourTuple != nil { s . FourTuple = o . FourTuple } if o . IsServer != nil { s . IsServer = o . IsServer } if o . IterationIndex != nil { s . IterationIndex = o . IterationIndex } if o . MigrationsLog != nil { s . MigrationsLog = o . MigrationsLog } if o . Namespace != nil { s . Namespace = o . Namespace } if o . PayloadSize != nil { s . PayloadSize = o . PayloadSize } if o . PayloadSizeType != nil { s . PayloadSizeType = o . PayloadSizeType } if o . PeerCertExpiry != nil { s . PeerCertExpiry = o . PeerCertExpiry } if o . PeerCertIssuer != nil { s . PeerCertIssuer = o . PeerCertIssuer } if o . PeerCertSubject != nil { s . PeerCertSubject = o . PeerCertSubject } if o . PingID != nil { s . PingID = o . PingID } if o . PolicyAction != nil { s . PolicyAction = o . PolicyAction } if o . PolicyID != nil { s . PolicyID = o . PolicyID } if o . PolicyNamespace != nil { s . PolicyNamespace = o . PolicyNamespace } if o . ProcessingUnitID != nil { s . ProcessingUnitID = o . ProcessingUnitID } if o . Protocol != nil { s . Protocol = o . Protocol } if o . RemoteController != nil { s . RemoteController = o . RemoteController } if o . RemoteEndpointType != nil { s . RemoteEndpointType = o . RemoteEndpointType } if o . RemoteNamespace != nil { s . RemoteNamespace = o . RemoteNamespace } if o . RemoteNamespaceType != nil { s . RemoteNamespaceType = o . RemoteNamespaceType } if o . RemoteProcessingUnitID != nil { s . RemoteProcessingUnitID = o . RemoteProcessingUnitID } if o . SeqNum != nil { s . SeqNum = o . SeqNum } if o . ServiceID != nil { s . ServiceID = o . ServiceID } if o . ServiceType != nil { s . ServiceType = o . ServiceType } if o . TargetTCPNetworks != nil { s . TargetTCPNetworks = o . TargetTCPNetworks } if o . Type != nil { s . Type = o . Type } if o . UpdateTime != nil { s . UpdateTime = o . UpdateTime } 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 .