Table of Contents
1. jq
1.1. GraphQL
{ viewer { commitComments(first: 10) { edges { node { author { login } commit { comments(first: 1) { edges { node { commit { message } } } } } } } } } }
{ "data": { "viewer": { "commitComments": { "edges": [ { "node": { "author": { "login": "jwalsh" }, "commit": { "comments": { "edges": [ { "node": { "commit": { "message": "Data files for Alexa" } } } ] } } } }, { "node": { "author": { "login": "jwalsh" }, "commit": { "comments": { "edges": [ { "node": { "commit": { "message": "Specify a minimum version for Buffer.allocUnsafe\n\nhttps://nodejs.org/api/buffer.html#buffer_class_method_buffer_allocunsafe_size" } } } ] } } } } ] } } } }
1.1.1. Extracting
cat response.json | jq '.data.foo.edges[]|.node'
1.1.2. Conversions
cat response.json | jq '.data.foo.edges[]|.node.bar|{id:.id,number:.number|tonumber}'
1.1.3. Filtering
cat response.json | jq '.data.foo.edges[]|.node.bar|{id:.id,number:.number|tonumber}|select(.number > 200)'
1.1.4. Recombining
cat response.json | jq '.data.foo.edges[]|.node.bar' | jq -s .
1.2. package.json
1.2.1. Contains
cat package-lock.json | jq '.dependencies[]|select(.resolved|contains("core-js"))'
1.3. AWS
1.3.1. RDS
1.3.1.1. Proof of Testing
aws rds describe-db-instances | jq -r '.DBInstances[]|[.DBInstanceIdentifier,.EngineVersion,.DBInstanceClass,.CACertificateIdentifier]|@csv'
1.3.2. ECR
1.3.2.1. Null and Select
aws ecr list-images --repository-name foo | jq '.imageIds[]|select(.imageTag != null)|select(.imageTag|contains("1.0.0"))'
1.3.3. SES
1.3.3.1. Sort and Raw Encoding
aws ses list-identities | jq -r '.Identities|sort|.[]'
1.3.4. Lambda
aws lambda list-functions | jq '[.Functions[].FunctionName]|sort'
1.3.4.1. CSV
aws lambda list-functions | jq -r '.Functions[]|[.FunctionName,.LastModified]|@csv'
1.3.5. Secrets Manager
aws secretsmanager list-secrets | jq -r '.SecretList[]|select(.Name=="dev" or .Name=="qa" or .Name=="stg")|.ARN'| cut -d : -f 7 | cut -d '-' -f 1
#!/bin/sh for E in $(aws secretsmanager list-secrets | jq -r '.SecretList[]|.Name'); do echo $E aws secretsmanager get-secret-value --secret-id $E | jq '.SecretString|fromjson' done