我想创建一个 Bash 脚本来启动和停止 AWS 中的特定资源。我遇到的问题是我想创建一个需要由上一个命令创建的特定资源 ID 的资源。目标是能够运行单个脚本来启动资源而不是编辑。
例如,创建 NAT 网关,然后将创建的 NAT 网关的 ID 附加到路由表命令中:
$ aws ec2 create-nat-gateway
示例输出:
"NatGatewayId": "nat-1111111"
$ aws ec2 replace-route --route-table-id rtb-000000000 \
--destination-cidr-block 0.0.0.0/0 --nat-gateway-id "***nat-id-output***"
答案1
O=$(aws ec2 create-nat-gateway | perl -pe 's/.*: //g');
while true ; do
C=$(aws ect describe-nat-gateways --nat-gateway-ids "$O" | grep -c available || true);
if [ $C -gt 0 ] ; then
break;
fi
sleep 3;
done
aws ec2 replace-route --route-table-id rtb-000000000 --destination-cidr-block 0.0.0.0/0 --nat-gateway-id "$O";