52 lines
1.8 KiB
Go
52 lines
1.8 KiB
Go
// Copyright The OpenTelemetry Authors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
//go:generate mdatagen metadata.yaml
|
|
|
|
package confmap // import "go.opentelemetry.io/collector/confmap"
|
|
|
|
import (
|
|
"go.opentelemetry.io/collector/confmap/internal"
|
|
)
|
|
|
|
// KeyDelimiter is used as the default key delimiter in the default koanf instance.
|
|
var KeyDelimiter = internal.KeyDelimiter
|
|
|
|
// MapstructureTag is the struct field tag used to record marshaling/unmarshaling settings.
|
|
// See https://pkg.go.dev/github.com/go-viper/mapstructure/v2 for supported values.
|
|
var MapstructureTag = internal.MapstructureTag
|
|
|
|
// New creates a new empty confmap.Conf instance.
|
|
func New() *Conf {
|
|
return internal.New()
|
|
}
|
|
|
|
// NewFromStringMap creates a confmap.Conf from a map[string]any.
|
|
func NewFromStringMap(data map[string]any) *Conf {
|
|
return internal.NewFromStringMap(data)
|
|
}
|
|
|
|
// Conf represents the raw configuration map for the OpenTelemetry Collector.
|
|
// The confmap.Conf can be unmarshalled into the Collector's config using the "service" package.
|
|
type Conf = internal.Conf
|
|
|
|
type UnmarshalOption = internal.UnmarshalOption
|
|
|
|
// WithIgnoreUnused sets an option to ignore errors if existing
|
|
// keys in the original Conf were unused in the decoding process
|
|
// (extra keys).
|
|
func WithIgnoreUnused() UnmarshalOption {
|
|
return internal.WithIgnoreUnused()
|
|
}
|
|
|
|
type MarshalOption = internal.MarshalOption
|
|
|
|
// Unmarshaler interface may be implemented by types to customize their behavior when being unmarshaled from a Conf.
|
|
// Only types with struct or pointer to struct kind are supported.
|
|
type Unmarshaler = internal.Unmarshaler
|
|
|
|
// Marshaler defines an optional interface for custom configuration marshaling.
|
|
// A configuration struct can implement this interface to override the default
|
|
// marshaling.
|
|
type Marshaler = internal.Marshaler
|