aws-powertools / powertools-lambda-typescript

Powertools is a developer toolkit to implement Serverless best practices and increase developer velocity.
https://docs.powertools.aws.dev/lambda/typescript/latest/
MIT No Attribution
1.5k stars 129 forks source link

Feature request: implement `SSMProvider` #1176

Closed dreamorosi closed 1 year ago

dreamorosi commented 1 year ago

Summary

The Parameters utility should allow customers to retrieve one or more parameters stored in AWS Systems Manager.

This work includes the following tasks:

Why is this needed?

1/ So that customers are able to retrieve parameters from SSM, 2/ to reach feature parity with Powertools for Python.

Which area does this relate to?

Parameters

Solution

No response

Acknowledgment

buggy commented 1 year ago

If it's not actively being worked on by someone else then I'd love to have a go at implementing.

flochaz commented 1 year ago

Hi @buggy, thanks for your interest. I think @dreamorosi is already working on it. Let's wait for his answer before investing time in it (he is at re:invent at the moment so his answer might come late).

dreamorosi commented 1 year ago

Hi @buggy thanks for offering to contribute to our project.

As Florian mentioned the PR for SSMProvider should be up for review early next week (Monday/Tuesday). Perhaps you could be one of the reviewers for the PR and then take up the implementation of any of the other providers for Parameters. This way we can have a first provider merged and use it as an example for the others.

What do you think?

buggy commented 1 year ago

@dreamorosi I'm happy to help.

shdq commented 1 year ago

Hey there! I would like to join too and then implement AppConfigProvider #1177 with a bit of @dreamorosi's guidance 😉

dreamorosi commented 1 year ago

Hi everyone, sorry for going dark in the past days. After re:Invent I got sick (now I'm fine!) and wasn't able to finish the PR. I'm planning on having it up by mid this week, so that you can start reviewing it.

dreamorosi commented 1 year ago

Hi folks, I have opened a draft PR (#1187) with the main features for SSMProvider.

The PR is still a draft because there are some additional features from Python that I still need to implement, however the base SSMProvider class as well as the getParameter and getParameters functions are there.

This should be enough to get started with the other providers given that they only implement these or a subset of these patterns.

If you're still interested in contributing I would suggest starting with a proposal under the respective issue of each provider.

github-actions[bot] commented 1 year ago

⚠️ COMMENT VISIBILITY WARNING ⚠️

Comments on closed issues are hard for our team to see. If you need more assistance, please either tag a team member or open a new issue that references this one. If you wish to keep having a conversation with other community members under this issue feel free to do so.