AWS-cli ec2描述实例

时间:2016-11-03 08:08:09

标签: amazon-web-services aws-sdk aws-cli

我正在挖掘aws cli,从过去的5个小时开始,我正在努力解决2个cli命令

  1. 我应该通过提供其密钥(包括不给出的标签,即NULL)来获取InstanceId,Name(这是标签值)和特定标签值

  2. 我应该通过提供密钥(不包括NULL标签)来获取InstanceId,Name和特定标签值

  3. 我得到了1个问题的答案的50%& 2问题0%

    我的cli命令:

      

    aws ec2 describe-instances --query' jsondata []。实例[   ]。[InstanceId,[Tags [?keys =' Name']。Value] [0] [0]' - 输出表`

               Ex: {
    
      "Jsondata" : [
                     { "Instances" : "i-xxxxxx",
    
                       "Tags":[
    
                      { "valve":" testserver",
                          "key": "server"
                       },
                     { "valve":" elb",
                        "key": "Name"
                      }
                    ]
                    },
                 { "Instances" : "i-yyyyyy",
    
                  "Tags":[
    
                        { "valve": " ",
                           "key": " "
                         },
                     { "valve":" elb2",
                          "key": "Name"
                        }
                          ]
                       }
                    ]`
    

    提前致谢。请帮帮我,我需要睡觉

1 个答案:

答案 0 :(得分:4)

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

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

这为InstanceId提供了特定标签“名称”

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

这为InstanceId提供了特定标记“名称”和标记值

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

使用Tag“Purpose”描述所有实例,将其值描述为“test”使用:

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

如果您已经知道实例ID:

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)'

查找不包含标记的每个实例:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()
driver.get("http://www.python.org")
assert "Python" in driver.title
elem = driver.find_element_by_name("q")
elem.clear()
elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)
assert "No results found." not in driver.page_source
driver.close()