awslabs / awslabs/aws-deployment-framework
[Feat]: Introduce an ADF pipeline region SSM Parameter store value in raw form
- Dominant language
- Python
- Stars
- 699
- Forks
- 235
- Avg merge
- 20h 53m
- Merged PRs (30d)
- 7
Description
### Describe the feature
The current value for /deployment//regions SSM parameter is a "python string representation" of an array of strings, that looks something like: `['us-east-1','us-east-2','eu-west-1']`
There should be an alternate value that is in "raw" comma-separated form, like: `us-east-1,us-east-2,eu-west-1` to avoid having to parse the array characters or string quotes
### Use Case
I want to use the value as part of an adaption for CDK using ADF pipelines I'm building, where I need to find out all the regions a pipeline is targeting (in order to push assets (file or image assets) into all regions.
I could of course strip the current value already today (which I'm currently doing), but it would be nice if I didn't have to do that and use the value directly.
### Proposed Solution
I am open for providing a pull request to implement the feature if it's accepted.
I was thinking about something like this appended in this function: https://github.com/awslabs/aws-deployment-framework/blob/cb029ef5b8d00794f756b62086a5394f4e7f7879/src/lambda_codebase/initial_commit/bootstrap_repository/adf-bootstrap/deployment/lambda_codebase/pipeline_management/generate_pipeline_inputs.py#L35
```
parameter_store.put_parameter(
f"/deployment/{deployment_map_source}/{pipeline.name}/region_names",
",".join(pipeline.get_all_regions()),
)
```
### Acknowledgements
- [X] I may be able to implement this feature request
Contributor guide
Research direction
Start in src/lambda_codebase/initial_commit/bootstrap_repository/adf-bootstrap/deployment/lambda_codebase/pipeline_management/generate_pipeline_inputs.py at the referenced function. Review how the existing regions SSM parameter is written, then implement the additional raw comma-separated region value described in the issue. Done means the pipeline exposes regions without array characters or quotes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, python
- Domain
- cloud, devops
- Issue type
- Feature
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 65/100