from typing import Dict


def response_success(response: Dict) -> bool:
    """
    Parse a response from a request issued by any botocore.client.BaseClient
    to determine whether the request was successful or not.
    :param response:
    :return: boolean
    :raises: KeyError if the response is not an AWS response
    """
    # If the response dict is not constructed as expected for an AWS response,
    # this should raise a KeyError to indicate something is very wrong.
    status_code = int(response["ResponseMetadata"]["HTTPStatusCode"])
    if status_code:
        # consider 300+ responses to be unsuccessful
        return 200 <= status_code < 300
    else:
        return False