如何通过 AWS CLI 过滤网络接口的状态?

How to filter for status of Network Interfaces via AWS CLI?

我正在使用这两个 AWS 文档来搜索网络接口的状态。 https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-network-interfaces.html https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-network-interface-attribute.html

关于如何使用 --filters 和 --attribute 还不是很清楚。文档指出我可以使用“状态”来查找每个网络接口的状态,但我遇到了困难。

我试过:

aws ec2 describe-network-interfaces --network-interface-id [myNetworkID] --filters status

并收到:

Error parsing parameter '--filters': Expected: '=', received: 'EOF' for input:
status
      ^

所以我尝试了:

aws ec2 describe-network-interface-attribute --network-interface-id [myNetworkID} --attribute status

并收到:

An error occurred (InvalidParameterValue) when calling the DescribeNetworkInterfaceAttribute operation: Value (status) for parameter attribute is invalid. Unknown attribute.

我也试过:

aws ec2 describe-network-interface --network-interface-id [myNetworkID] --filters Name=Status,Values=*
aws ec2 describe-network-interface --network-interface-id [myNetworkID] --filters Name=tag-Status,Values=*

当然,我尝试了所有使用双引号、单引号和我可以在网上找到的示例的不同措辞。我不确定分享我所有不成功的尝试有多大用处,但如果需要,我非常乐意分享每一个以及与每一个相关的错误。

提前致谢。

如果您只想获得 in-use 的 ENI,

aws ec2 describe-network-interfaces --filters Name=status,Values=in-use

如果你想获取只有 ID 和状态的 ENI 列表,

aws ec2 describe-network-interfaces --query 'NetworkInterfaces[*].{NetworkInterfaceId: NetworkInterfaceId, Status: Status}'