from actions_logging.app_logging import logger


def list_certificates(client, **kwargs) -> list:
    """
    List all ACM certificates in the specified region.
    :param client:
    :param kwargs: additional parameters for the list_certificates API call
    :return: cert_list: list of dicts containing certificate details
    """
    try:
        logger.info(f"Listing ACM certificates with kwargs {kwargs}")
        response = client.list_certificates(**kwargs)
        cert_list = response.get('CertificateSummaryList', [])
        logger.info(f"Got {len(cert_list)} certificates")
        return cert_list
    except Exception as e:
        raise RuntimeError(f"Unexpected error listing certificates: {str(e)}")
