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

	if o == nil {
		return nil, nil
	}

	s := &mongoAttributesPingProbe{}

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