AWS CLI 获取 VPC 的私有子网

AWS CLI Get private subnets for VPC

我有一个启动一些 ECS 任务的脚本。对于 运行 任务,我必须提供任务可以在其中 运行 的私有子网。但是,目前我正在将私有子网 ID 从 AWS 控制台复制并粘贴到我的脚本中,这有点笨拙,因此我尝试使用 AWS CLI 以脚本方式获取私有子网。

我已经弄清楚如何获取 VPC Id,但我似乎无法通过以下方式过滤子网结果:

a) 我只得到私有子网 b) 我只得到那些子网的 ID

我现在拥有的是:

aws ec2 describe-subnets --filter Name=vpc-id,Values=vpc-0123456789

如何将 'a' 和 'b' 添加到此命令(首选没有任何外部或第 3 方工具)?

通过在 --query 参数中使用 JMESPath 表达式,我只能获得私有子网:

 aws ec2 describe-subnets --filter Name=vpc-id,Values=vpc-0123456789 --query 'Subnets[?MapPublicIpOnLaunch==`false`].SubnetId'

结果:

[
    "subnet-0123456789",
    "subnet-9876543210"
]