java.lang.Object
software.amazon.lambda.powertools.parameters.BaseProvider
software.amazon.lambda.powertools.parameters.secrets.SecretsProvider
All Implemented Interfaces:
software.amazon.lambda.powertools.parameters.ParamProvider

public class SecretsProvider extends software.amazon.lambda.powertools.parameters.BaseProvider
AWS Secrets Manager Parameter Provider

Samples:
     SecretsProvider provider = SecretsProvider.builder().build();

     String value = provider.get("key");
     System.out.println(value);
     >>> "value"

     // Get a value and cache it for 30 seconds (all others values will now be cached for 30 seconds)
     String value = provider.defaultMaxAge(30, ChronoUnit.SECONDS).get("key");

     // Get a value and cache it for 1 minute (all others values are cached for 5 seconds by default)
     String value = provider.withMaxAge(1, ChronoUnit.MINUTES).get("key");

     // Get a base64 encoded value, decoded into a String, and store it in the cache
     String value = provider.withTransformation(Transformer.base64).get("key");

     // Get a json value, transform it into an Object, and store it in the cache
     TargetObject = provider.withTransformation(Transformer.json).get("key", TargetObject.class);
 
  • Method Details

    • builder

      public static SecretsProviderBuilder builder()
      Create a builder that can be used to configure and create a SecretsProvider.
      Returns:
      a new instance of SecretsProviderBuilder
    • create

      public static SecretsProvider create()
      Create a SecretsProvider with all default settings.
    • getValue

      protected String getValue(String key)
      Retrieve the parameter value from the AWS Secrets Manager.
      Specified by:
      getValue in class software.amazon.lambda.powertools.parameters.BaseProvider
      Parameters:
      key - key of the parameter
      Returns:
      the value of the parameter identified by the key
    • getMultipleValues

      protected Map<String,String> getMultipleValues(String path)
      Specified by:
      getMultipleValues in class software.amazon.lambda.powertools.parameters.BaseProvider
      Throws:
      UnsupportedOperationException - as it is not possible to get multiple values simultaneously from Secrets Manager