in db/db_info.py [0:0]
def get_image_size_details(self, rds_client, db_instance_identifier, region):
"""Get image size details.
Args:
rds_client: RDS boto3 client
db_instance_identifier: Database instance identifier
region: resource region
Returns:
Dictionary object with instance details.
"""
db_instance = rds_client.describe_db_instances(
DBInstanceIdentifier=db_instance_identifier
)['DBInstances'][0]
instance_type = db_instance['DBInstanceClass']
allocated_storage = db_instance['AllocatedStorage']
storage_type = db_instance['StorageType']
if instance_type.startswith('db.'):
instance_type = instance_type[3:]
client = boto3.client('ec2', region)
instance_type_info = (
client.describe_instance_types(InstanceTypes=[
instance_type,
]).get('InstanceTypes'))
return {
'instanceType': instance_type,
'allocatedStorage': allocated_storage,
'storageType': storage_type,
'memory': instance_type_info[0]['MemoryInfo']['SizeInMiB'] / 1024,
'cpu': instance_type_info[0]['VCpuInfo']['DefaultVCpus']
}