skip to Main Content

I would like to retrieve the DB Option Group (OptionGroupName) for an RDS by using the aws rds describe-db-instances --query and --filters.

Just FYI I can not use jq to filter the json response from aws rds describe-db-instances.

2

Answers


  1. Chosen as BEST ANSWER

    I just found my answer

    aws rds describe-db-instances --db-instance-identifier <My_RDS_IDENTIFIER> --query 'DBInstances[*].[OptionGroupMemberships]'
    

  2. The Output of describe-db-instances looks something like:

    {
        "DBInstances": [
            {
                "PubliclyAccessible": true, 
                "MasterUsername": "bos", 
                "OptionGroupMemberships": [
                    {
                        "Status": "in-sync", 
                        "OptionGroupName": "default:postgres-9-6"
                    }
                ], 
                ...
    

    The OptionGroupMemberships element is a list, so it might contain multiple values. If you are only seeking the value of the first item in the list, you would use:

    --query 'DBInstances[*].OptionGroupMemberships[0].OptionGroupName'
    

    You can combine it with other elements like this:

    --query 'DBInstances[*].[MasterUsername,OptionGroupMemberships[0].OptionGroupName]'
    

    You can also append --output text to obtain the value without JSON formatting.

    If I ever need to experiment with the --query values, I go to JMESPath Tutorial — JMESPath and paste my JSON into the examples. I can then interactively attempt to write the correct query (which is how I derived the above answers).

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search