containers-roadmap icon indicating copy to clipboard operation
containers-roadmap copied to clipboard

[ECS] [request]: Support version and label filters for parameter store

Open alkalinecoffee opened this issue 4 years ago • 3 comments

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"
  }
]

alkalinecoffee avatar Apr 24 '20 16:04 alkalinecoffee