in translator/translate/otel/exporter/awsemf/translator.go [78:157]
func (t *translator) Translate(c *confmap.Conf) (component.Config, error) {
cfg := t.factory.CreateDefaultConfig().(*awsemfexporter.Config)
cfg.MiddlewareID = &agenthealth.LogsID
defaultConfig := defaultGenericConfig
if t.isAppSignals(c) {
defaultConfig = appSignalsConfigGeneric
} else if t.isCiJMX(c) {
defaultConfig = defaultJmxConfig
} else if isEcs(c) {
defaultConfig = defaultEcsConfig
} else if isKubernetesKueue(c, t.name) {
defaultConfig = defaultKubernetesKueueConfig
} else if isKubernetes(c) {
defaultConfig = defaultKubernetesConfig
} else if isPrometheus(c) {
defaultConfig = defaultPrometheusConfig
}
if isOTLP(c) {
cfg.AddEntity = true
}
if defaultConfig != "" {
var rawConf map[string]interface{}
if err := yaml.Unmarshal([]byte(defaultConfig), &rawConf); err != nil {
return nil, fmt.Errorf("unable to read default config: %w", err)
}
conf := confmap.NewFromStringMap(rawConf)
if err := conf.Unmarshal(&cfg); err != nil {
return nil, fmt.Errorf("unable to unmarshal config: %w", err)
}
}
cfg.AWSSessionSettings.CertificateFilePath = os.Getenv(envconfig.AWS_CA_BUNDLE)
if c.IsSet(endpointOverrideKey) {
cfg.AWSSessionSettings.Endpoint, _ = common.GetString(c, endpointOverrideKey)
}
cfg.AWSSessionSettings.IMDSRetries = retryer.GetDefaultRetryNumber()
if profileKey, ok := agent.Global_Config.Credentials[agent.Profile_Key]; ok {
cfg.AWSSessionSettings.Profile = fmt.Sprintf("%v", profileKey)
}
cfg.AWSSessionSettings.Region = agent.Global_Config.Region
cfg.AWSSessionSettings.RoleARN = agent.Global_Config.Role_arn
if c.IsSet(roleARNPathKey) {
cfg.AWSSessionSettings.RoleARN, _ = common.GetString(c, roleARNPathKey)
}
if credentialsFileKey, ok := agent.Global_Config.Credentials[agent.CredentialsFile_Key]; ok {
cfg.AWSSessionSettings.SharedCredentialsFile = []string{fmt.Sprintf("%v", credentialsFileKey)}
}
if context.CurrentContext().Mode() == config.ModeOnPrem || context.CurrentContext().Mode() == config.ModeOnPremise {
cfg.AWSSessionSettings.LocalMode = true
}
if t.isAppSignals(c) {
if err := setAppSignalsFields(c, cfg); err != nil {
return nil, err
}
} else if t.isCiJMX(c) {
if err := setCiJmxFields(); err != nil {
return nil, err
}
} else if isEcs(c) {
if err := setEcsFields(c, cfg); err != nil {
return nil, err
}
} else if isKubernetesKueue(c, t.name) {
if err := setKubernetesKueueFields(c, cfg); err != nil {
return nil, err
}
} else if isKubernetes(c) {
if err := setKubernetesFields(c, cfg); err != nil {
return nil, err
}
} else if isPrometheus(c) {
if err := setPrometheusFields(c, cfg); err != nil {
return nil, err
}
}
return cfg, nil
}