Closed
Description
What were you trying to accomplish?
Create a SecretsProvider
without providing a SecretsManagerClient
. This may also be true for SSMProvider
.
The application using this implementation will not run.
Expected Behavior
A SecretsProvider
is created, initialized and handed back to the caller.
Current Behavior
A NoSuchMethodException
is thrown:
Caused by: java.lang.NoSuchMethodException: software.amazon.lambda.powertools.parameters.SecretsProvider.<init>(software.amazon.lambda.powertools.parameters.cache.CacheManager)
at java.base/java.lang.Class.getConstructor0(Unknown Source)
at java.base/java.lang.Class.getDeclaredConstructor(Unknown Source)
at software.amazon.lambda.powertools.parameters.ParamManager.createProvider(ParamManager.java:169)
Possible Solution
Create SecretsManagerClient
and pass it to the getSecretsProvider()
factory method.
Steps to Reproduce (for bugs)
- Create a
SecretsProvider
using its factory method without any parameters:
SecretsProvider secretsProvider = ParamManager.getSecretsProvider().defaultMaxAge(10, MINUTES);
Environment
- Powertools for AWS Lambda (Java) version used: 1.16.0
- Packaging format (Layers, Maven/Gradle): Gradle
- AWS Lambda function runtime: Java 11
- Debugging logs
...
Caused by: java.lang.NoSuchMethodException: software.amazon.lambda.powertools.parameters.SecretsProvider.<init>(software.amazon.lambda.powertools.parameters.cache.CacheManager)
at java.base/java.lang.Class.getConstructor0(Unknown Source)
at java.base/java.lang.Class.getDeclaredConstructor(Unknown Source)
at software.amazon.lambda.powertools.parameters.ParamManager.createProvider(ParamManager.java:169)
Metadata
Metadata
Assignees
Type
Projects
Status
Shipped