Tenho lido a documentação em https://docs.aws.amazon.com/cli/v1/userguide/cli-usage-filter.html e https://jmespath.org/specification.html , mas não funciona.
Por exemplo, quero usar starts_with para encontrar instâncias de banco de dados cujo DBInstances.DBInstanceIdentifier começa com "foo".
aws rds describe-db-instances --query 'DBInstances.DBInstanceIdentifier[?starts_with(@, "foo")]'
null
---
aws rds describe-db-instances --query 'DBInstances[?starts_with("DBInstanceIdentifier", "foo")]'
In function starts_with(), invalid type for value: None, expected one of: ['string'], received: "null"
---
aws rds describe-db-instances --query 'DBInstances[?starts_with(DBInstanceIdentifier, "foo")]'
In function starts_with(), invalid type for value: None, expected one of: ['string'], received: "null"
Eu também gostaria de usar funções como contains etc. para fazer outras coisas, mas nenhuma delas parece funcionar.
Estou ciente de que posso simplesmente passar a saída por jq e é uma solução fácil, apenas tentando entender mais ferramentas
aws rds describe-db-instances | jq '.DBInstances[] | select(.DBInstanceIdentifier | startswith("foo"))'