aws ec2 cli+jq排除结果



我正在编写一个bash脚本,该脚本需要获取描述实例不返回platform=>windows的所有实例的私有ip,并将它们存储在数组$ips-中

到目前为止,这个脚本是有效的(只是获得私人ip)

 ips=$(aws ec2 describe-instances --region $r --filters "Name=tag:Name,Values=*$c*" | jq '.Reservations[].Instances[].NetworkInterfaces[].PrivateIpAddress')

但我不知道如何排除windows服务器(或者相反,只包括非windows服务器)

以下是我尝试过的

--filters "Name=tag:Name,Values=*$c*" "Name=platform,Values="
--filters "Name=tag:Name,Values=*$c*" "Name=platform,Values=null"
--filters "Name=tag:Name,Values=*$c*" "Name=platform,Values=NULL"

我也试过在管道的jq一侧做这件事,但我的尝试很荒谬,我不会在这里发布它们。我确实发现你不能在那一边做两个以上的过滤器(除非我也把它搞砸了)

有什么想法吗?

我不使用AWS,所以我没有太多内容要做,但基于describe-instances引用,我认为这个过滤器应该可以工作。

.Reservations[].Instances |
    map(select(.Platform != "Windows") | .NetworkInterfaces[].PrivateIpAddress)

相关内容

  • 没有找到相关文章

最新更新