一次性删除多个 Auto Scaling 组:AWS CLI

Deleting multiple Auto scaling groups in one shot: AWS CLI

我有多个需要删除的自动缩放组。例如:我有 ASG awsLC1 xyzLC2 aLC3。我发现他们使用 AWS CLI 和以下查询:

aws autoscaling describe-auto-scaling-groups --query "AutoScalingGroups[? contains(AutoScalingGroupName,'LC')].AutoScalingGroupName" --output text

它在控制台上给了我一个列表。但是 delete-auto-scaling-group 在参数中只需要 1 个 ASG(自动缩放组)名称。

我该怎么做?

有什么方法可以使用 bash 编程来自动执行此操作?

谢谢!

CLI 不支持删除多个 ASG。您可以尝试一个简单的 bash 脚本:

$ for group in `aws autoscaling describe-launch-configurations --query "LaunchConfigurations[?contains(LaunchConfigurationName,'LC')].[LaunchConfigurationName]" --output text`
> do
> echo $group
> done

验证群组后,将其删除:

$ for group in `aws autoscaling describe-launch-configurations --query "LaunchConfigurations[?contains(LaunchConfigurationName,'LC')].[LaunchConfigurationName]" --output text`
> do
> aws autoscaling delete-auto-scaling-group --auto-scaling-group-name $group
> done

编辑

根据@JordonPhillips 的输入,您可以使用 xargs-I 选项来得到一个衬垫:

aws autoscaling describe-launch-configurations --query "LaunchConfigurations[?contains(LaunchConfigurationName,'LC')].[LaunchConfigurationName]" --output text | xargs -I aws autoscaling delete-auto-scaling-group --auto-scaling-group-name