AWS-cli EC2 descrever instâncias

estou a investigar a aws cli e das últimas 5 horas estou a lutar com 2 comandos cli

  1. I deve obter InstanceId, nome (este é um valor de marca) e valor de marca específica, fornecendo a sua chave ( incluindo não as marcas dadas I. E. NULL)

  2. I deve obter InstanceId, nome e valor de marca específica, fornecendo a sua chave ( excluindo marcas nulas)

Tenho 50% da resposta para a 1 Pergunta e 2 0%

o meu comando cli:

Aws ec2 describe-instances --query ' jsondata [].Instancia[ ].[InstanceId, [Tags [?keys= 'Name'].Valor] [0] [0] '-- output table '

           Ex: {

  "Jsondata" : [
                 { "Instances" : "i-xxxxxx",

                   "Tags":[

                  { "valve":" testserver",
                      "key": "server"
                   },
                 { "valve":" elb",
                    "key": "Name"
                  }
                ]
                },
             { "Instances" : "i-yyyyyy",

              "Tags":[

                    { "valve": " ",
                       "key": " "
                     },
                 { "valve":" elb2",
                      "key": "Name"
                    }
                      ]
                   }
                ]`
Obrigado antecipadamente. Por favor, ajuda-me. preciso de dormir.
Author: ArK, 2016-11-03

1 answers

Para descrever todas as instâncias com a marca "NAME" Use:

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

Ou

Isto dá InstanceId com uma marca Particular "Name"

aws ec2 describe-instances --query 'Reservations[].Instances[].[InstanceId, Tags[?Key==`Name`].Value[0]]'

Ou

Isto dá ao InstanceId com uma marca Particular "nome" e valor da marca

aws ec2 describe-instances --query 'Reservations[].Instances[].[InstanceId, Tags[?Key==`Name`], Tags[?Key==`Name`].Value[]]'

Para descrever todas as instâncias com a marca "objectivo" e o seu valor como "teste" usar:

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

Se já conhece a instância id:

aws ec2 describe-instances --instance-ids i-1234567890abcdef0

Para encontrar cada instância que não contém uma etiqueta chamada "Objectivo":

aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(contains({Tags: [{Key: "Purpose"} ]}) | not)'

Para filtrar contra o valor da marca, em vez do nome da marca:

aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(contains({Tags: [{Key: "Name"}, {Value: "testbox1"}]}) | not)'

Encontrar cada instância que não contenha uma etiqueta:

aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(contains({Tags: [{Key: ""}, {Value: ""}]}) | not)'
 4
Author: Ali, 2016-11-03 10:43:03