gpt4 book ai didi

command-line - 查找所有没有特定标签的Amazon AWS实例

转载 作者:行者123 更新时间:2023-12-03 09:56:55 26 4
gpt4 key购买 nike

我正在尝试使用Amazon AWS Command Line Tools查找没有指定标签的所有实例。

找到带有标签的所有实例非常简单,例如

ec2-describe-instances --filter "tag-key=Name"

但是,我将如何反转该过滤器以仅返回没有标签“Name”的实例?

最佳答案

这将满足您的要求-找到每个不包含名为“YOUR_KEY_NAME_HERE”的标记的实例(对于没有名为“Name”的标记的实例,第二行过滤器):

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

如果要根据标记的值而不是标记的名称进行过滤,此查询将列出所有不包含名为YOUR_KEY_NAME_HERE的标记,其值为EXCLUDE_ME的实例。 (第二行列出了未命名为“testbox1”的实例。)
aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(contains({Tags: [{Key: "YOUR_KEY_NAME_HERE"}, {Value: "EXCLUDE_ME"}]}) | not)'
aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(contains({Tags: [{Key: "Name"}, {Value: "testbox1"}]}) | not)'

费利佩是正确的。解析输出是唯一的方法,因为AWS API不提供此功能,两个正式的AWS CLI也不提供。 JSON输出非常可解析,尤其是与旧的CLI默认打印的多行文本记录相比。

http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeInstances.html

API本身会返回JSON,新的awscli会将该JSON打印为默认输出格式。 “jq”程序对于解析它非常有用,甚至在发送到终端时甚至会变色,或者您可以输出文本以将其还原为字符串。

关于command-line - 查找所有没有特定标签的Amazon AWS实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18858120/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com