2017-03-21 2 views
1

삭제해야하는 자동 확장 그룹이 여러 개 있습니다. 예 : ASG가 있습니다 awsLC1xyzLC2aLC3. AWS CLI를 사용하여 아래 검색어와 함께 AWS CLI를 찾았습니다.여러 샷 자동 스케일링 그룹을 한 번에 삭제 : AWS CLI

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

콘솔에 목록이 있습니다. 그러나 delete-auto-scaling-group은 매개 변수에 ASG (auto scaling group) 이름을 1 개만 사용합니다.

어떻게하면됩니까?

bash 프로그래밍을 사용하여 자동화하는 방법은 없습니까?

감사합니다.

답변

3

CLI는 여러 ASG 삭제를 지원하지 않습니다. 당신은 간단한 bash는 스크립트를 시도 할 수 있습니다 :

$ 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 입력을 기반으로, 당신의 -I 옵션을 사용할 수 있습니다 : 당신이 그룹을 확인하면

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

을 삭제 xargs은 하나의 라이너를 제공합니다.

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 
+1

또한'xargs'를 사용하여이 작업을 한 줄짜리로 만들 수 있습니다 –

+0

@JordonPhillips하지만 명령은 하나의 인수 만 허용합니다. 따라서 'xargs'는 쓸모가 없습니다. – helloV

+0

'-I' 옵션을 사용하여 xargs가 각 입력에 대해 한 번 명령을 실행하게 할 수 있습니다. –

관련 문제