使用AWS CLI更新IP描述的长列表

时间:2020-09-19 00:59:55

标签: amazon-web-services aws-cli

在尝试更新安全组规则的描述时,我遇到了与AWS CLI相关的问题。

有人可以建议我如何重写此文件以容纳IP列表吗?

while read -r line; do
  aws ec2 update-security-group-rule-descriptions-ingress \
      --group-id sg-123456 \
      --region us-east-2 \
      --ip-permissions "[{'IpProtocol': 'tcp', 'FromPort': 443, 'ToPort': 443, 'IpRanges': [{'CidrIp': ${line}, 'Description': 'Meaningful description'}]}]"
done < ip_list

2 个答案:

答案 0 :(得分:1)

移动单引号以包含整个JSON,然后对JSON内容使用双引号,这通常需要双引号。

--ip-permissions '[{"IpProtocol": "tcp", "FromPort": 443, "ToPort": 443, "IpRanges": [{"CidrIp": ${line}, "Description": "Meaningful description"}]}]'

答案 1 :(得分:0)

我最终不得不使用这种格式:

while IFS=, read -r IP CLIENT_DESC
do
   aws ec2 authorize-security-group-ingress --region us-east-2 --group-id sg-123456 --ip-permissions IpProtocol=tcp,FromPort=443,ToPort=443,IpRanges="[{CidrIp=${IP},Description=${CLIENT_DESC}}]"
done < server_rules