如何在aws-cli --query参数中扩展变量

用户13895225

我正在尝试编写一个非常简单的脚本,并且对aws cli还是相当陌生。使用我的脚本,我将输出允许所有打开的IP(0.0.0.0/0)的所有安全组ID,并且我正在使用

aws ec2 describe-security-groups --filters Name=ip-permission.cidr,Values='0.0.0.0/0' --region "$region" --query 'SecurityGroups[*].{Name:GroupName,vpc:VpcId,sg:GroupId,Region:"$region"}' --output table. 

region在脚本中,因为我经历的所有地区的前面部分定义。

但是,在显示该表时,“区域”列显示None如何仅使用aws ec2 describe-security-groups过滤器来包含区域,这样它就不会输出None?

Adiii

region不会在命令的输出存在的,所以你不能看的价值region

描述安全组输出

因此,另一个选择是扩展的值,$region variable然后使用转义序列将值打印为静态值。

Region:\``echo $region`\`

您可以使用

export region=us-east-1 && aws ec2 describe-security-groups --region=$region --filters Name=ip-permission.cidr,Values='0.0.0.0/0' --query "SecurityGroups[*].{Name:GroupName,vpc:VpcId,sg:GroupId,Region:\``echo $region`\` }" --output table

样品输出

---------------------------------------------------------------------------------------
|                               DescribeSecurityGroups                                |
+-------------------------------+------------+------------------------+---------------+
|             Name              |  Region    |          sg            |      vpc      |
+-------------------------------+------------+------------------------+---------------+
|  launch-wizard-17             |  us-west-2 |  sg-12345  |  vpc-12345 |

AWS-cli针对区域,因此您可以一次获取security group所有区域,以使用下面的脚本从所有区域中获取

#!/bin/bash

for region in $(aws ec2 describe-regions --query "Regions[].RegionName" --output text); do 
    echo "SG for region ${region}"
    aws ec2 describe-security-groups --region=$  --filters Name=ip-permission.cidr,Values='0.0.0.0/0' --query "SecurityGroups[*].{Name:GroupName,vpc:VpcId,sg:GroupId,Region:\``echo $region`\` }" --output table
done

AWS CLI备忘单

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

AWS CLI:如何在aws ssm send-command目标中扩展变量?

如何在CLI中获取AWS Lambda函数名称?

如何在Jenkins管道中的AWS CLI中转义引号?

如何在 GitHub 操作中配置/使用 AWS CLI?

如何在aws-cli上的dynamodb中退回物品

如何在AWS CLI中过滤不等于

如何在 Python 脚本中运行 aws scheduler-cli?

如何在 python 中运行循环来运行 AWS CLI?

如何在 AWS CLI 中添加 IP 地址而不导出

如何在AWS CLI中更改默认配置文件变量?

如何在AWS开发工具包中实现AWS CLI Sync Command的性能

如何在AWS Lambda Python 3.6环境中运行aws-cli?

如何将AWS CLI的输出保存在变量中?

使用AWS CLI时如何在JMESPath查询中为空值设置默认值?

如何在aws cli describe-instances输出中获取标签的值?

如何在AWS CLI中设置默认配置文件的名称?

如何在 AWS vis CLI 中查找使用特定子网的所有 ELB?

如何在没有pip的Docker映像中安装AWS CLI工具?

如何在aws-cli中对“ list-tasks”的结果进行排序?

如何在AWS CLI中编辑/格式化表格输出?

如何在 boto3 中模拟 AWS CLI EC2 过滤器

如何在 Linux 终端中退出 AWS Cli 编辑模式并发送命令

如何在Azure CLI中使用变量

如何在Powershell CLI中传递函数参数?

如何在 WP CLI 命令中强制使用参数

如何使用cli更新〜/ .aws / credentials文件中的AWS密钥?

如何在 Jenkins 中执行 jFrog CLI?

如何在Zip CLI中消除“ @eaDir”?

如何在Angular CLI中配置代理