agent: |
Filter out AWS EBS Volumes that are not GP3 type
This task scans through your EBS volumes across different regions to flag those that are using older volume types like GP2. Knowing which volumes are not yet on GP3 allows you to target them for an upgrade, helping you take advantage of lower costs and improved performance features. This can be particularly useful for large organizations looking to streamline their AWS infrastructure and reduce operational costs.
- 1z5AM9Rn0mPmWRrMAFQdRChange AWS EBS Volumes to GP3 type
1
Change AWS EBS Volumes to GP3 type
There was a problem that the LLM was not able to address. Please rephrase your prompt and try again.This task involves converting older volume types like GP2 and others to GP3. The transition to GP3 can result in cost savings and potentially improved performance, as GP3 volumes offer better throughput and the same baseline performance at a lower cost per GB. This operation is essential for organizations looking to modernize their storage infrastructure and optimize cloud expenses.
inputsoutputsimport boto3 from botocore.exceptions import ClientError creds = _get_creds(cred_label)['creds'] access_key = creds['username'] secret_key = creds['password'] def modify_volumes_to_gp3(non_gp3_volumes_by_region): """ Modify EBS volumes to GP3 type. Args: non_gp3_volumes_by_region: Dictionary where the key is the region and the value is a list of non-GP3 volume IDs in that region. Returns: None """ # Loop through each region in the dictionary for region, volume_ids in non_gp3_volumes_by_region.items(): print(f"Checking region {region}...") # Initialize an EC2 client for the specific region ec2_client = boto3.client('ec2', aws_access_key_id=access_key,aws_secret_access_key=secret_key,region_name=region) # If there are non-GP3 volumes in the region, proceed to modify them if volume_ids: print(f"Found {len(volume_ids)} non-GP3 volumes in region {region}. Modifying them to GP3...") for volume_id in volume_ids: try: # Modify the volume to GP3 ec2_client.modify_volume( VolumeId=volume_id, VolumeType= ebs_volume_type ) print(f"Successfully modified volume {volume_id} to GP3 type in region {region}.") except ClientError as e: print(f"An error occurred while modifying volume {volume_id} in region {region}: {e.response['Error']['Message']}") else: print(f"No non-GP3 volumes found in region {region}.") ''' # Dictionary containing non-GP3 volume IDs, keyed by region non_gp3_volumes_by_region = { 'us-east-1': ['vol-0ae92bb63cdc04a67'] } ''' # Modify the non-GP3 volumes to GP3 type if non_gp3_volumes_by_region: modify_volumes_to_gp3(non_gp3_volumes_by_region) else: print("No non-GP3 volumes found.")copied1