2016-11-03 300 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