func loadAWSOptions()

in app/aws.go [32:60]


func loadAWSOptions(ctx context.Context, cfg aws.Config, logger *zap.SugaredLogger) (string, string) { //nolint:gocritic
	manager := secretsmanager.NewFromConfig(cfg)

	apmServerAPIKey := os.Getenv("ELASTIC_APM_API_KEY")
	if apmServerAPIKeySMSecretID, ok := os.LookupEnv("ELASTIC_APM_SECRETS_MANAGER_API_KEY_ID"); ok {
		result, err := loadSecret(ctx, manager, apmServerAPIKeySMSecretID)
		if err != nil {
			logger.Warnf("Could not load APM API key from AWS Secrets Manager. Reporting APM data will likely fail. Is 'ELASTIC_APM_SECRETS_MANAGER_API_KEY_ID=%s' correct? See https://www.elastic.co/guide/en/apm/lambda/current/aws-lambda-secrets-manager.html. Error message: %v", apmServerAPIKeySMSecretID, err)
			apmServerAPIKey = ""
		} else {
			logger.Infof("Using the APM API key retrieved from AWS Secrets Manager.")
			apmServerAPIKey = result
		}
	}

	apmServerSecretToken := os.Getenv("ELASTIC_APM_SECRET_TOKEN")
	if apmServerSecretTokenSMSecretID, ok := os.LookupEnv("ELASTIC_APM_SECRETS_MANAGER_SECRET_TOKEN_ID"); ok {
		result, err := loadSecret(ctx, manager, apmServerSecretTokenSMSecretID)
		if err != nil {
			logger.Warnf("Could not load APM secret token from AWS Secrets Manager. Reporting APM data will likely fail. Is 'ELASTIC_APM_SECRETS_MANAGER_SECRET_TOKEN_ID=%s' correct? See https://www.elastic.co/guide/en/apm/lambda/current/aws-lambda-secrets-manager.html. Error message: %v", apmServerSecretTokenSMSecretID, err)
			apmServerSecretToken = ""
		} else {
			logger.Infof("Using the APM secret token retrieved from AWS Secrets Manager.")
			apmServerSecretToken = result
		}
	}

	return apmServerAPIKey, apmServerSecretToken
}