func()

in components/otelopscol/receiver/mongodbreceiver/config.go [70:96]


func (c *Config) ClientOptions() *options.ClientOptions {
	clientOptions := options.Client()
	connString := fmt.Sprintf("mongodb://%s", strings.Join(c.hostlist(), ","))
	clientOptions.ApplyURI(connString)

	if c.Timeout > 0 {
		clientOptions.SetConnectTimeout(c.Timeout)
	}

	tlsConfig, err := c.LoadTLSConfig(context.Background())
	if err == nil && tlsConfig != nil {
		clientOptions.SetTLSConfig(tlsConfig)
	}

	if c.ReplicaSet != "" {
		clientOptions.SetReplicaSet(c.ReplicaSet)
	}

	if c.Username != "" && c.Password != "" {
		clientOptions.SetAuth(options.Credential{
			Username: c.Username,
			Password: c.Password,
		})
	}

	return clientOptions
}