Amazon-Web-Services
未應用 AWS cli 過濾器
我想從 AWS 接收一些值
SecurityGroup
並使用以下命令:aws ec2 describe-security-groups --group-ids $GROUP \ --filters 'Name=ip-permission.from-port,Values=22 Name=ip-permission.to-port,Values=22' \ --query 'SecurityGroups[*].IpPermissions[*].{cidr:Ipv6Ranges[*].CidrIpv6,from:FromPort,to:ToPort}' \ --output json
然而,輸出提供了所有現有的埠範圍,而預計只有埠 22:
[ [ { "cidr": [ "::/0" ], "from": 80, "to": 80 }, { "cidr": [ "2001::snip/128" ], "from": 22, "to": 22 }, { "cidr": [ "::/0" ], "from": 443, "to": 443 } ] ]
似乎我的過濾器未應用。任何提示都非常感謝!
過濾器工作正常。您已請求包含(但不限於)ToPort == 22 和 FromPort == 22 的所有安全組。您的查詢需要限制輸出內容。您可以通過添加:
?ToPort == `22`
到 IpPermissions
$$ $$查詢的一部分以進一步限制輸出。 以下應該為您提供您正在尋找的輸出:
aws ec2 describe-security-groups --filters 'Name=ip-permission.from-port,Values=22 Name=ip-permission.to-port,Values=22' --query 'SecurityGroups[*].IpPermissions[?ToPort == `22`].{cidr:Ipv6Ranges[*].CidrIpv6,from:FromPort,to:ToPort}' --output json
參考