func()

in internal/processorexecutor.go [66:89]


func (p *processorExecutor[C]) parseConfig(yamlConfig string) (*C, error) {
	deserializedYaml, err := confmap.NewRetrievedFromYAML([]byte(yamlConfig))
	if err != nil {
		return nil, err
	}

	deserializedConf, err := deserializedYaml.AsConf()
	if err != nil {
		return nil, err
	}

	configMap := make(map[string]any)
	for k, v := range deserializedConf.ToStringMap() {
		configMap[k] = escapeDollarSigns(v)
	}

	defaultConfig := p.factory.CreateDefaultConfig().(*C)
	err = confmap.NewFromStringMap(configMap).Unmarshal(&defaultConfig)
	if err != nil {
		return nil, err
	}

	return defaultConfig, nil
}