containers-roadmap
containers-roadmap copied to clipboard
[ECS] [request]: Support version and label filters for parameter store
Community Note
- Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
- Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
- If you are interested in working on this issue or have submitted a pull request, please leave a comment
Tell us about your request
The Parameter Store API allows the user to specify a version or label simply by appending it to the parameter name:
# version
aws ssm get-parameters --names "/hello-world/config.json:2"
# label
aws ssm get-parameters --names "/hello-world/config.json:testlabel"
However, there is no (documented) way to specify a version or label of a Parameter Store value in our task definition.
In our task definition, we've tried appending a version in a similar way:
"secrets": [
{
"name": "SERVICE_CONFIG_JSON",
"valueFrom": "/hello-world/config.json:2"
}
]
However, this results in the following error:
The Systems Manager parameter name specified for secret SERVICE_CONFIG_JSON is invalid. The parameter name can be up to 2048 characters and include the following letters and symbols: a-zA-Z0-9_.-,
Which service(s) is this request for?
ECS
Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?
We wish to use the version or labeling feature provided by Parameter Store in our task definitions. Instead, we must use completely separate, but mostly duplicated parameters.
We are suggesting supporting the colon-delimited format of the Parameter Store API to specify the version and label of configs in the valueFrom
parameter, or otherwise allow us to specify this value in our task definitions through a new secrets
parameter, ie selector
:
"secrets": [
{
"name": "SERVICE_CONFIG_JSON",
"valueFrom": "/hello-world/config.json",
"selector": "label or version"
}
]