2016-11-03 364 views
0

我在AWS CLI从过去的5小时内,我用2 CLI奋力挖命令AWS-CLI EC2描述实例

  1. 我应该得到INSTANCEID,名称(这是一个变量值)和特定的标签值通过提供其键(包括给定即NULL不是标签)

  2. 我应该得到INSTANCEID,名称和具体的标签值通过提供关键(不包括NULL标签)

我有个50%为1个问题& 2问题0%E答案

我的CLI命令:

AWS EC2描述-​​实例--query“jsondata [] .Instances [ ] [INSTANCEID,[标签[?键= '名称']。值] [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" 
        } 
         ] 
        } 
       ]` 

预先感谢。请帮助我,我需要睡觉

+0

让我猜...您已经拥有JSON格式的数据并且想要使用Tag Value检索InstanceID,Tag Name?或者您是否想使用AWS CLI直接检索数据? – Ali

+0

欢迎来到StackOverflow!为了让我们能够帮助你睡一觉,能不能更新你的问题以澄清你希望从命令中得到什么结果?例如,通过提供关键字(包括不给出标签,即NULL),你是指“特定标签值”?如果有“部门”标签,是否希望显示其价值?你是什​​么意思“没有给定的标签”? –

回答

4

描述与标签 “NAME” 使用所有实例:

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

这给INSTANCEID与特定标签 “名称”

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

这给具有特殊标记“名称”和值的实例ID标签

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

描述与标签 “目的” 和它的 “测试” 使用价值所有实例:

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

如果你已经知道了实例ID:

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

要找到每个不包含名为“Purpose”的标签的实例:

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

要过滤对变量的值,而不是标签的名称:

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

要找到不包含一个标签每个实例:

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

您需要安装jq工具才能使用最后3个命令。 – Ali