@Requires(beans=software.amazon.awssdk.services.secretsmanager.SecretsManagerClient.class) @Singleton public class SecretsManagerKeyValueFetcher extends java.lang.Object implements SecretsKeyValueFetcher
SecretsKeyValueFetcher
implementations for AWS Secrets Manager.Modifier and Type | Field and Description |
---|---|
protected com.fasterxml.jackson.databind.ObjectMapper |
objectMapper |
protected software.amazon.awssdk.services.secretsmanager.SecretsManagerClient |
secretsClient |
Constructor and Description |
---|
SecretsManagerKeyValueFetcher(software.amazon.awssdk.services.secretsmanager.SecretsManagerClient secretsClient,
com.fasterxml.jackson.databind.ObjectMapper objectMapper) |
Modifier and Type | Method and Description |
---|---|
protected void |
addSecretDetailsToResults(software.amazon.awssdk.services.secretsmanager.model.SecretListEntry secret,
java.util.Map result)
Add secret details to the result map.
|
protected java.util.Optional<java.lang.String> |
fetchSecretValue(software.amazon.awssdk.services.secretsmanager.SecretsManagerClient secretsClient,
java.lang.String secretName)
Fetches secret value.
|
java.util.Optional<java.util.Map> |
keyValuesByPrefix(java.lang.String prefix) |
protected final software.amazon.awssdk.services.secretsmanager.SecretsManagerClient secretsClient
protected final com.fasterxml.jackson.databind.ObjectMapper objectMapper
public SecretsManagerKeyValueFetcher(software.amazon.awssdk.services.secretsmanager.SecretsManagerClient secretsClient, com.fasterxml.jackson.databind.ObjectMapper objectMapper)
secretsClient
- Secrets ClientobjectMapper
- Object Mapper@NonNull public java.util.Optional<java.util.Map> keyValuesByPrefix(@NonNull java.lang.String prefix)
keyValuesByPrefix
in interface KeyValueFetcher
prefix
- AWS Distributed Configuration Resource's name prefix. E.g. /config/application_dev/@NonNull protected void addSecretDetailsToResults(software.amazon.awssdk.services.secretsmanager.model.SecretListEntry secret, java.util.Map result)
secret
- a secret list entryresult
- a map that collects the results@NonNull protected java.util.Optional<java.lang.String> fetchSecretValue(@NonNull software.amazon.awssdk.services.secretsmanager.SecretsManagerClient secretsClient, @NonNull java.lang.String secretName)
secretsClient
- a secret manager cleintsecretName
- a secret name