agent: |
HBJ0gDH9Wt26YazBFB5PDelete AWS EC2 Auto Scaling Groups (ASGs)
Delete AWS EC2 Auto Scaling Groups (ASGs)
There was a problem that the LLM was not able to address. Please rephrase your prompt and try again.
This task involves removing specified ASGs from the AWS environment. This operation is critical for cleaning up unused or unnecessary resources, managing costs, or decommissioning services.
inputs
outputs
import boto3
from botocore.exceptions import ClientError
creds = _get_creds(cred_label)['creds']
access_key = creds['username']
secret_key = creds['password']
def delete_auto_scaling_groups(filtered_asgs):
"""
Deletes a list of auto scaling groups provided in filtered_asgs.
Each ASG dict must contain 'AutoScalingGroupName' and 'Region'.
"""
for asg in filtered_asgs:
region = asg['Region']
asg_name = asg['AutoScalingGroupName']
try:
# Initialize the boto3 client for AutoScaling in the specified region
client = boto3.client('autoscaling', aws_access_key_id=access_key,aws_secret_access_key=secret_key,region_name=region)
# Delete the Auto Scaling group
client.delete_auto_scaling_group(AutoScalingGroupName=asg_name, ForceDelete=True)
print(f"Successfully requested deletion of ASG: {asg_name} in {region}")
except ClientError as e:
print(f"Failed to delete ASG: {asg_name} in {region}. Error: {e}")
# Example filtered_asgs list
#filtered_asgs = [{"AutoScalingGroupName":"test1-asg","AutoScalingGroupARN":"arn:aws:autoscaling:us-east-1:188379622596:autoScalingGroup:4f564e69-b9f3-4d3f-8cfc-5ee7468f1396:autoScalingGroupName/test1-asg","MixedInstancesPolicy":{"LaunchTemplate":{"LaunchTemplateSpecification":{"LaunchTemplateId":"lt-0b4e1233a5006c59b","LaunchTemplateName":"test1-asg-template","Version":"$Default"},"Overrides":[{"InstanceType":"t3.micro"},{"InstanceType":"t3a.micro"}]},"InstancesDistribution":{"OnDemandAllocationStrategy":"prioritized","OnDemandBaseCapacity":0,"OnDemandPercentageAboveBaseCapacity":0,"SpotAllocationStrategy":"price-capacity-optimized"}},"MinSize":0,"MaxSize":0,"DesiredCapacity":0,"DefaultCooldown":300,"AvailabilityZones":["us-east-1a","us-east-1b","us-east-1c"],"LoadBalancerNames":[],"TargetGroupARNs":[],"HealthCheckType":"EC2","HealthCheckGracePeriod":300,"Instances":[],"CreatedTime":"2024-05-27 10:49:04","SuspendedProcesses":[],"VPCZoneIdentifier":"subnet-b8482599,subnet-26325179,subnet-836e58ce","EnabledMetrics":[],"Tags":[],"TerminationPolicies":["Default"],"NewInstancesProtectedFromScaleIn":false,"ServiceLinkedRoleARN":"arn:aws:iam::188379622596:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling","CapacityRebalance":true,"TrafficSources":[],"Region":"us-east-1"}]
# Deleting ASGs
delete_auto_scaling_groups(filtered_asgs)
copied