def get_image_size_details()

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']
    }