awscli查询不使用标签和没有名称 - 多标签

时间:2017-10-02 18:57:40

标签: amazon-web-services aws-cli

我正在尝试使用aws cli命令根据没有名称标签的卷类型和状态进行过滤,并在下面添加其他标记

 aws ec2 describe-volumes --filters Name=volume-type,Values=gp2 Name=status,Values="available" --query 'Volumes[?!not_null(Tags[?Key == `Name`].Value,Tags[?Key == `Alias`].Value)]'

上面的cli有效,但notnull部分不适用于这两个标签。它唯一的过滤量没有标记为"名称"但它仍然列出了标签为" Alias"

的所有卷

我希望他们两个(标记为姓名和别名)不会出现 - 基本上

好吧,基于这个link:只过滤一个标签

aws ec2 describe-volumes --filters Name=volume-type,Values=gp2 Name=status,Values="available" --query 'Volumes[?!not_null(Tags[?Key == `Name`]'

编辑:尝试做类似的事情用StartTime描述快照

aws ec2 describe-snapshots --owner-ids "***********"  --query 'Snapshots[?!not_null(Tags[?Key == `Name`]) && !not_null(Tags[?Key == `Alias`])  && ?StartTime>=`2017-09-15`]'

收到错误...是否可以提供上述日期范围?

1 个答案:

答案 0 :(得分:1)

您可以使用JMESPath and expression编写与

类似的内容
aws ec2 describe-volumes \
--filters Name=volume-type,Values=gp2 Name=status,Values="available" \
--query 'Volumes[?!not_null(Tags[?Key == `Name`]) && !not_null(Tags[?Key == `Alias`])]'