Search code examples
amazon-web-servicesssmaws-parameter-store

AWS SSM get-parameter-by-path Manipulate JSON


I am trying to retrieve all the parameters under a specific path from the AWS Parameter store using the command below:

aws ssm get-parameters-by-path --path some-path --no-paginate

This returns me a JSON with a lot of fields I do not need. How can I use the --query to just retrieve the name and the value?

Any documentation on how can I use the --query parameter? I have tried passing jq query strings, but that doesn't work.


Solution

  • You need to extract the fields from Parameters(Array) and later select the fields you want to get using {key:value} syntax:

    aws ssm get-parameters-by-path --path %PATH% --no-paginate --region %REGION% --query "Parameters[].{Key:Name,Val:Value}" --output json
    

    Output Json:

    [
        {
            "Key": "/test/amit",
            "Val": "test1"
        },
        {
            "Key": "/test/amit1",
            "Val": "test2"
        }
    ]
    

    Or in case you want the output in text, change --output to text.

    Output Text:

    /test/amit      test1
    /test/amit1     test2
    

    More info about Controlling Command Output from the AWS CLI.