Open jeromevdl opened 11 months ago
This can be done in the v2 branch once #1403 is merged. It will be a good first issue at that point.
@scottgerring @jeromevdl I would like to pick this up if possible. It seems #1403 has been merged, so good to go?
I took a look at the code base and started with some minor improvements. I noticed that the getValue and the existing getMultipleValues exists, however the later on is now based on path now. I'm thinking of renaming the getMultipleValues to getMultipleValuesByPath and introduce a new method on the BaseProvider called getMultipleValuesByKey(List
Hey @jreijn happy for you to pick this up - I will assign it to you.
I'll take some time tomorrow morning to look at the current ...multipleValues
interface and write back!
getMultipleValues
implsAppConfigProvider
- unsupportedDynamoDbProvider
Retrieves all values that share the same partition key.
SSMProvider
Retrieves either everything at the given level of the /parameter/hierarchy
, or everything at the given level plus /parameter/hierarchy/nested/levels
when using withRecursive
.
Both the existing implementations - DDB and SSM provider - already vary a little - SSM is path-based, DDB is more like, common key. I'm a bit hesitant to change the existing method name because 1/ its not path-based in both cases and 2/ it's a breaking change against v1 which wouldn't add much. What do you think?
Maybe rather than changing the existing interface, we could add getMultipleValuesByKey(keys)
on the BaseProvider
, provide a default impl that simply maps getValue
over the keys, and then override in SSMProvider
?
Thoughts @jreijn / @jeromevdl ?
@scottgerring sounds reasonable. I also noticed that lambda powertools in other languages do something similar. I'll make some small commits while I go along, so I can get some feedback along the way.
Is your feature request related to a problem? Please describe. N/A
Describe the solution you'd like Add support for https://aws.amazon.com/about-aws/whats-new/2023/11/aws-secrets-manager-batch-retrieval-secrets/ in Parameters module.