aws / aws-sam-cli

CLI tool to build, test, debug, and deploy Serverless applications using AWS SAM
https://aws.amazon.com/serverless/sam/
Apache License 2.0
6.48k stars 1.16k forks source link

Feature request: Allow specification of parameters that should apply to all (or multiple) environments in AWS SAM CLI configuration file (samconfig.toml) #5492

Open rhbecker opened 1 year ago

rhbecker commented 1 year ago

Describe your idea/feature/enhancement

Allow specification of parameters that should apply to all (or multiple) environments in AWS SAM CLI configuration file (samconfig.toml).

This would be similar to the global keyword introduced in response to issue #2382, which allowed specifying parameters that should apply to all sam commands.

Proposal

Perhaps the simplest approach would be to introduce another key-character or keyword to use in the position where an environment name is specified - one that indicates the stanza should apply to all environments. I personally like *, but I it might also make sense to reuse the same global keyword.

Examples ...

[*.deploy.parameters]
confirm_changeset = true
region = "us-west-2"
s3_bucket = "some-bucket-name"
[global.deploy.parameters]
confirm_changeset = true
region = "us-west-2"
s3_bucket = "some-bucket-name"

A more complex, but also more powerful approach could be to allow the use of a regular expression or a glob expression, such that one could specify some, but not necessarily all environments to which a stanza should apply.

Examples ...

[^dev\d+$.deploy.parameters]
confirm_changeset = true
region = "us-west-2"
s3_bucket = "some-bucket-name"
[dev*.deploy.parameters]
confirm_changeset = true
region = "us-west-2"
s3_bucket = "some-bucket-name"

Additional Details

In the last comment on issue #2382, @dunika seemed to be asking for this feature, and his comment received several 👍s, but there are otherwise no responses.

hawflau commented 1 year ago

@rhbecker thanks for suggesting the feature request. It seems a useful feature to me and doesn't seem like a huge change. I'll raise that to team and see how we will prioritize it.

Meanwhile, please feel free to raise a PR if you'd like to contribute. We are happy to review it. Thanks!

rhbecker commented 1 year ago

I just found a discussion where this same idea was previously floated - now adding cross-references to each.