使用AWS cli

时间:2017-02-22 16:28:58

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

我希望使用CLI命令过滤那些具有特定标记的实例,并在每次运行Jenkins作业时将其存储在本地文件中。

aws ec2 describe-instances --filters "Name=tag:Hello,Values=exclude"  --output table --query Reservations[*].Instances[*].{Id.InstanceId, State:State.name,Contact:tag:OwnerContact, InstanceProfileName:InstanceProfileName} > Book.txt 

我成功地获取了文本文件中的输出,但是对于我的两个参数InstanceProfileName和OwnerContact,我得到输出为None。

我尝试了各种组合,仍然无法输出实例名称。

1 个答案:

答案 0 :(得分:2)

这是一个可以输出各种参数的示例,包括标记值:

aws ec2 describe-instances --query "Reservations[*].Instances[*].{Id:InstanceId,State:State.Name,Profile:IamInstanceProfile.Arn,Name:Tags[?Key=='Name'].Value}"

要使语法正确,请一次尝试一个元素。从:

开始
aws ec2 describe-instances --query "Reservations[*].Instances[*]"

然后添加参数,例如:

aws ec2 describe-instances --query "Reservations[*].Instances[*].Tags"

然后尝试您想要的每个值。最后,在一个大命令中将它们串起来。

要了解--query选项,请查看:JMESPath Tutorial