Skip to content

Instantly share code, notes, and snippets.

@Prajithp
Forked from carlessanagustin/aws-cli-filtering.md
Created July 16, 2018 14:56
Show Gist options
  • Save Prajithp/bcf71c5b8f40bbea8608401942d8506a to your computer and use it in GitHub Desktop.
Save Prajithp/bcf71c5b8f40bbea8608401942d8506a to your computer and use it in GitHub Desktop.

Revisions

  1. @carlessanagustin carlessanagustin revised this gist Jun 6, 2016. 1 changed file with 6 additions and 4 deletions.
    10 changes: 6 additions & 4 deletions aws-cli-filtering.md
    Original file line number Diff line number Diff line change
    @@ -3,13 +3,15 @@
    (https://github.com/mwilliamson/jq.py)

    ```
    aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.LaunchTime > "2015-01-28") | select(.State.Code != 48) | [.LaunchTime, .State.Name, (.Tags[]|select(.Key=="Name")|.Value)]'
    aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.KeyName == "MyKey") | { KeyName, PublicIpAddress}'
    aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.KeyName == "MyKey") | select(.State.Code != 48) | select(.Tags[]|select(.Key=="Name")|select(.Value=="InstanceName")) | [ .PublicIpAddress]'
    aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.KeyName == "MyKey") | select(.State.Code != 48) | select(.Tags[]|select(.Key=="Name")|select(.Value=="InstanceName")) | [ .PublicIpAddress, (.Tags[]|select(.Key=="Name").Value)]'
    aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.KeyName == "MyKey") | select(.State.Code != 48) | select(.Tags[]|select(.Key=="InventoryGroup").Value) | [ .PublicIpAddress, (.Tags[]|select(.Key=="Name").Value)]'
    aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.LaunchTime > "2015-01-28") | select(.State.Code != 48) | [.LaunchTime, .State.Name, (.Tags[]|select(.Key=="Name")|.Value)]'
    aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.KeyName == "MyKey") | { KeyName, PublicIpAddress}'
    ```

    ## Via AWS CLI using filters
  2. @carlessanagustin carlessanagustin revised this gist Jun 6, 2016. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions aws-cli-filtering.md
    Original file line number Diff line number Diff line change
    @@ -7,9 +7,9 @@ aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.LaunchTim
    aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.KeyName == "MyKey") | { KeyName, PublicIpAddress}'
    aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.KeyName == "MyKey") | select(.State.Code != 48) | select(.Tags[]|select(.Key=="Name")|select(.Value=="InstanceName")) | [ .PublicIpAddress]'
    aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.KeyName == "MyKey") | select(.State.Code != 48) | select(.Tags[]|select(.Key=="Name")|select(.Value=="InstanceName")) | [ .PublicIpAddress]'
    aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.KeyName == "MyKey") | select(.State.Code != 48) | select(.Tags[]|select(.Key=="Name")|select(.Value=="InstanceName")) | [ .PublicIpAddress, (.Tags[]|select(.Key=="Name").Value)]'
    aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.KeyName == "MyKey") | select(.State.Code != 48) | select(.Tags[]|select(.Key=="Name")|select(.Value=="InstanceName")) | [ .PublicIpAddress, (.Tags[]|select(.Key=="Name").Value)]'
    ```

    ## Via AWS CLI using filters
  3. @carlessanagustin carlessanagustin revised this gist Jun 6, 2016. 1 changed file with 14 additions and 14 deletions.
    28 changes: 14 additions & 14 deletions aws-cli-filtering.md
    Original file line number Diff line number Diff line change
    @@ -1,3 +1,17 @@
    ## Via AWS CLI using jq

    (https://github.com/mwilliamson/jq.py)

    ```
    aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.LaunchTime > "2015-01-28") | select(.State.Code != 48) | [.LaunchTime, .State.Name, (.Tags[]|select(.Key=="Name")|.Value)]'
    aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.KeyName == "MyKey") | { KeyName, PublicIpAddress}'
    aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.KeyName == "MyKey") | select(.State.Code != 48) | select(.Tags[]|select(.Key=="Name")|select(.Value=="InstanceName")) | [ .PublicIpAddress]'
    aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.KeyName == "MyKey") | select(.State.Code != 48) | select(.Tags[]|select(.Key=="Name")|select(.Value=="InstanceName")) | [ .PublicIpAddress, (.Tags[]|select(.Key=="Name").Value)]'
    ```

    ## Via AWS CLI using filters

    (http://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html)
    @@ -47,20 +61,6 @@ filters.json:
    ]
    ```

    ## Via AWS CLI using jq

    (https://github.com/mwilliamson/jq.py)

    ```
    aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.LaunchTime > "2015-01-28") | select(.State.Code != 48) | [.LaunchTime, .State.Name, (.Tags[]|select(.Key=="Name")|.Value)]'
    aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.KeyName == "MyKey") | { KeyName, PublicIpAddress}'
    aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.KeyName == "MyKey") | select(.State.Code != 48) | select(.Tags[]|select(.Key=="Name")|select(.Value=="InstanceName")) | [ .PublicIpAddress]'
    aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.KeyName == "MyKey") | select(.State.Code != 48) | select(.Tags[]|select(.Key=="Name")|select(.Value=="InstanceName")) | [ .PublicIpAddress, (.Tags[]|select(.Key=="Name").Value)]'
    ```

    ## Via Ansible ec2.py using jq

    (http://docs.ansible.com/ansible/intro_dynamic_inventory.html)
  4. @carlessanagustin carlessanagustin revised this gist Jun 6, 2016. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions aws-cli-filtering.md
    Original file line number Diff line number Diff line change
    @@ -57,6 +57,8 @@ aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.LaunchTim
    aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.KeyName == "MyKey") | { KeyName, PublicIpAddress}'
    aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.KeyName == "MyKey") | select(.State.Code != 48) | select(.Tags[]|select(.Key=="Name")|select(.Value=="InstanceName")) | [ .PublicIpAddress]'
    aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.KeyName == "MyKey") | select(.State.Code != 48) | select(.Tags[]|select(.Key=="Name")|select(.Value=="InstanceName")) | [ .PublicIpAddress, (.Tags[]|select(.Key=="Name").Value)]'
    ```

    ## Via Ansible ec2.py using jq
  5. @carlessanagustin carlessanagustin revised this gist Jun 6, 2016. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions aws-cli-filtering.md
    Original file line number Diff line number Diff line change
    @@ -55,6 +55,8 @@ filters.json:
    aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.LaunchTime > "2015-01-28") | select(.State.Code != 48) | [.LaunchTime, .State.Name, (.Tags[]|select(.Key=="Name")|.Value)]'
    aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.KeyName == "MyKey") | { KeyName, PublicIpAddress}'
    aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.KeyName == "MyKey") | select(.State.Code != 48) | select(.Tags[]|select(.Key=="Name")|select(.Value=="InstanceName")) | [ .PublicIpAddress]'
    ```

    ## Via Ansible ec2.py using jq
  6. @carlessanagustin carlessanagustin revised this gist Jun 6, 2016. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions aws-cli-filtering.md
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,4 @@
    ## Via AWS CLI filters
    ## Via AWS CLI using filters

    (http://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html)

    @@ -47,7 +47,7 @@ filters.json:
    ]
    ```

    ## Using jq
    ## Via AWS CLI using jq

    (https://github.com/mwilliamson/jq.py)

  7. @carlessanagustin carlessanagustin revised this gist Jun 6, 2016. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions aws-cli-filtering.md
    Original file line number Diff line number Diff line change
    @@ -59,6 +59,8 @@ aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.KeyName =

    ## Via Ansible ec2.py using jq

    (http://docs.ansible.com/ansible/intro_dynamic_inventory.html)

    ```
    ./ec2.py | jq '.tag_Environment_production'
  8. @carlessanagustin carlessanagustin revised this gist Jun 6, 2016. No changes.
  9. @carlessanagustin carlessanagustin revised this gist Jun 6, 2016. 1 changed file with 8 additions and 0 deletions.
    8 changes: 8 additions & 0 deletions aws-cli-filtering.md
    Original file line number Diff line number Diff line change
    @@ -55,4 +55,12 @@ filters.json:
    aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.LaunchTime > "2015-01-28") | select(.State.Code != 48) | [.LaunchTime, .State.Name, (.Tags[]|select(.Key=="Name")|.Value)]'
    aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.KeyName == "MyKey") | { KeyName, PublicIpAddress}'
    ```

    ## Via Ansible ec2.py using jq

    ```
    ./ec2.py | jq '.tag_Environment_production'
    ./ec2.py | jq '.key_MyKey'
    ```
  10. @carlessanagustin carlessanagustin revised this gist Jun 6, 2016. 1 changed file with 28 additions and 0 deletions.
    28 changes: 28 additions & 0 deletions aws-cli-filtering.md
    Original file line number Diff line number Diff line change
    @@ -20,11 +20,39 @@ aws ec2 describe-instances --filters "Name=tag-key,Values=Owner"
    aws ec2 describe-instances --filters "Name=tag:Purpose,Values=test"
    ```

    * To describe all EC2 instances that have an instance type of m1.small or m1.medium that are also in the us-west-2c Availability Zone

    ```
    aws ec2 describe-instances --filters "Name=instance-type,Values=m1.small,m1.medium" "Name=availability-zone,Values=us-west-2c"
    ```

    * The following JSON input performs the same filtering.

    ```
    aws ec2 describe-instances --filters file://filters.json
    ```

    filters.json:

    ```json
    [
    {
    "Name": "instance-type",
    "Values": ["m1.small", "m1.medium"]
    },
    {
    "Name": "availability-zone",
    "Values": ["us-west-2c"]
    }
    ]
    ```

    ## Using jq

    (https://github.com/mwilliamson/jq.py)

    ```
    aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.LaunchTime > "2015-01-28") | select(.State.Code != 48) | [.LaunchTime, .State.Name, (.Tags[]|select(.Key=="Name")|.Value)]'
    aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.KeyName == "MyKey") | { KeyName, PublicIpAddress}'
    ```
  11. @carlessanagustin carlessanagustin renamed this gist Jun 6, 2016. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  12. @carlessanagustin carlessanagustin revised this gist Jun 6, 2016. 1 changed file with 3 additions and 1 deletion.
    4 changes: 3 additions & 1 deletion aws-.md
    Original file line number Diff line number Diff line change
    @@ -2,8 +2,10 @@

    (http://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html)

    * To describe all instances with the key-name type MyKey

    ```
    aws ec2 describe-instances --output json --filters "Name=key-name,Values=lps-bigger-eurecat"
    aws ec2 describe-instances --output json --filters "Name=key-name,Values=MyKey"
    ```

    * To describe all instances with a Owner tag
  13. @carlessanagustin carlessanagustin renamed this gist Jun 6, 2016. 1 changed file with 14 additions and 2 deletions.
    16 changes: 14 additions & 2 deletions gistfile1.txt → aws-.md
    Original file line number Diff line number Diff line change
    @@ -1,12 +1,24 @@
    ## Via AWS CLI:
    ## Via AWS CLI filters

    (http://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html)

    ```
    aws ec2 describe-instances --output json --filters "Name=key-name,Values=lps-bigger-eurecat"
    ```

    ## Using jq:
    * To describe all instances with a Owner tag

    ```
    aws ec2 describe-instances --filters "Name=tag-key,Values=Owner"
    ```

    * To describe all instances with a Purpose=test tag

    ```
    aws ec2 describe-instances --filters "Name=tag:Purpose,Values=test"
    ```

    ## Using jq

    (https://github.com/mwilliamson/jq.py)

  14. @carlessanagustin carlessanagustin created this gist Jun 6, 2016.
    16 changes: 16 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,16 @@
    ## Via AWS CLI:

    (http://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html)

    ```
    aws ec2 describe-instances --output json --filters "Name=key-name,Values=lps-bigger-eurecat"
    ```

    ## Using jq:

    (https://github.com/mwilliamson/jq.py)

    ```
    aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.LaunchTime > "2015-01-28") | select(.State.Code != 48) | [.LaunchTime, .State.Name, (.Tags[]|select(.Key=="Name")|.Value)]'
    aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.KeyName == "MyKey") | { KeyName, PublicIpAddress}'
    ```