func (o *PingProbe) SetBSON(raw bson.Raw) error {

	if o == nil {
		return nil
	}

	s := &mongoAttributesPingProbe{}
	if err := raw.Unmarshal(s); err != nil {
		return err
	}

	o.ACLPolicyAction = s.ACLPolicyAction
	o.ACLPolicyID = s.ACLPolicyID
	o.ID = s.ID.Hex()
	o.RTT = s.RTT
	o.ApplicationListening = s.ApplicationListening
	o.Claims = s.Claims
	o.ClaimsType = s.ClaimsType
	o.CreateTime = s.CreateTime
	o.EnforcerID = s.EnforcerID
	o.EnforcerNamespace = s.EnforcerNamespace
	o.EnforcerVersion = s.EnforcerVersion
	o.Error = s.Error
	o.ExcludedNetworks = s.ExcludedNetworks
	o.FourTuple = s.FourTuple
	o.IsServer = s.IsServer
	o.IterationIndex = s.IterationIndex
	o.MigrationsLog = s.MigrationsLog
	o.Namespace = s.Namespace
	o.PayloadSize = s.PayloadSize
	o.PayloadSizeType = s.PayloadSizeType
	o.PeerCertExpiry = s.PeerCertExpiry
	o.PeerCertIssuer = s.PeerCertIssuer
	o.PeerCertSubject = s.PeerCertSubject
	o.PingID = s.PingID
	o.PolicyAction = s.PolicyAction
	o.PolicyID = s.PolicyID
	o.PolicyNamespace = s.PolicyNamespace
	o.ProcessingUnitID = s.ProcessingUnitID
	o.Protocol = s.Protocol
	o.RemoteController = s.RemoteController
	o.RemoteEndpointType = s.RemoteEndpointType
	o.RemoteNamespace = s.RemoteNamespace
	o.RemoteNamespaceType = s.RemoteNamespaceType
	o.RemoteProcessingUnitID = s.RemoteProcessingUnitID
	o.SeqNum = s.SeqNum
	o.ServiceID = s.ServiceID
	o.ServiceType = s.ServiceType
	o.TargetTCPNetworks = s.TargetTCPNetworks
	o.Type = s.Type
	o.UpdateTime = s.UpdateTime
	o.ZHash = s.ZHash
	o.Zone = s.Zone

	return nil
}
// SetBSON implements the bson marshaling interface.
// This is used to transparently convert ID to MongoDBID as ObectID.
SetBSON implements the bson marshaling interface.
This is used to transparently convert ID to MongoDBID as ObectID.
// SetBSON implements the bson marshaling interface . // This is used to transparently convert ID to MongoDBID as ObectID .
func (o *PingProbe) SetBSON(raw bson.Raw) error {
	if o == nil {
		return nil
	}
	s := &mongoAttributesPingProbe{}
	if err := raw.Unmarshal(s); err != nil {
		return err
	}
	o.ACLPolicyAction = s.ACLPolicyAction
	o.ACLPolicyID = s.ACLPolicyID
	o.ID = s.ID.Hex()
	o.RTT = s.RTT
	o.ApplicationListening = s.ApplicationListening
	o.Claims = s.Claims
	o.ClaimsType = s.ClaimsType
	o.CreateTime = s.CreateTime
	o.EnforcerID = s.EnforcerID
	o.EnforcerNamespace = s.EnforcerNamespace
	o.EnforcerVersion = s.EnforcerVersion
	o.Error = s.Error
	o.ExcludedNetworks = s.ExcludedNetworks
	o.FourTuple = s.FourTuple
	o.IsServer = s.IsServer
	o.IterationIndex = s.IterationIndex
	o.MigrationsLog = s.MigrationsLog
	o.Namespace = s.Namespace
	o.PayloadSize = s.PayloadSize
	o.PayloadSizeType = s.PayloadSizeType
	o.PeerCertExpiry = s.PeerCertExpiry
	o.PeerCertIssuer = s.PeerCertIssuer
	o.PeerCertSubject = s.PeerCertSubject
	o.PingID = s.PingID
	o.PolicyAction = s.PolicyAction
	o.PolicyID = s.PolicyID
	o.PolicyNamespace = s.PolicyNamespace
	o.ProcessingUnitID = s.ProcessingUnitID
	o.Protocol = s.Protocol
	o.RemoteController = s.RemoteController
	o.RemoteEndpointType = s.RemoteEndpointType
	o.RemoteNamespace = s.RemoteNamespace
	o.RemoteNamespaceType = s.RemoteNamespaceType
	o.RemoteProcessingUnitID = s.RemoteProcessingUnitID
	o.SeqNum = s.SeqNum
	o.ServiceID = s.ServiceID
	o.ServiceType = s.ServiceType
	o.TargetTCPNetworks = s.TargetTCPNetworks
	o.Type = s.Type
	o.UpdateTime = s.UpdateTime
	o.ZHash = s.ZHash
	o.Zone = s.Zone
	return nil
}
func ( o * PingProbe ) SetBSON ( raw bson . Raw ) error { if o == nil { return nil } s := & mongoAttributesPingProbe { } if err := raw . Unmarshal ( s ) ; err != nil { return err } o . ACLPolicyAction = s . ACLPolicyAction o . ACLPolicyID = s . ACLPolicyID o . ID = s . ID . Hex ( ) o . RTT = s . RTT o . ApplicationListening = s . ApplicationListening o . Claims = s . Claims o . ClaimsType = s . ClaimsType o . CreateTime = s . CreateTime o . EnforcerID = s . EnforcerID o . EnforcerNamespace = s . EnforcerNamespace o . EnforcerVersion = s . EnforcerVersion o . Error = s . Error o . ExcludedNetworks = s . ExcludedNetworks o . FourTuple = s . FourTuple o . IsServer = s . IsServer o . IterationIndex = s . IterationIndex o . MigrationsLog = s . MigrationsLog o . Namespace = s . Namespace o . PayloadSize = s . PayloadSize o . PayloadSizeType = s . PayloadSizeType o . PeerCertExpiry = s . PeerCertExpiry o . PeerCertIssuer = s . PeerCertIssuer o . PeerCertSubject = s . PeerCertSubject o . PingID = s . PingID o . PolicyAction = s . PolicyAction o . PolicyID = s . PolicyID o . PolicyNamespace = s . PolicyNamespace o . ProcessingUnitID = s . ProcessingUnitID o . Protocol = s . Protocol o . RemoteController = s . RemoteController o . RemoteEndpointType = s . RemoteEndpointType o . RemoteNamespace = s . RemoteNamespace o . RemoteNamespaceType = s . RemoteNamespaceType o . RemoteProcessingUnitID = s . RemoteProcessingUnitID o . SeqNum = s . SeqNum o . ServiceID = s . ServiceID o . ServiceType = s . ServiceType o . TargetTCPNetworks = s . TargetTCPNetworks o . Type = s . Type o . UpdateTime = s . UpdateTime o . ZHash = s . ZHash o . Zone = s . Zone return nil }
SetBSON implements the bson marshaling interface.
SetBSON implements the bson marshaling interface .