def cloudfront_details()

in code/route53/cloudfront-config-proactive-engagement/lambda/remediate/resource_details.py [0:0]


def cloudfront_details(protectionId):
    print (protectionId)
    response = {}
    try:
        shieldProtection = shield_client.describe_protection(
          ProtectionId =protectionId)
    except botocore.exceptions.ClientError as error:
        logger.error(error.response['Error'])
        response['Error'] = error.response['Error']
        return (response)
    resourceArn = shieldProtection['Protection']['ResourceArn']
    distributionId = resourceArn.split('/')[-1]
    distribution = cloudfront_client.get_distribution(
        Id=distributionId)['Distribution']
    try:
      tags_raw = cloudfront_client.list_tags_for_resource(
        Resource=resourceArn)['Tags']['Items']
    except botocore.exceptions.ClientError as error:
        logger.error(error.response['Error'])
        response['Error'] = error.response['Error']
        return (response)
    tags = {}
    for t in tags_raw:
        tags[t['Key']] = t['Value']
    cloudfrontHCKey = os.environ['CloudfrontHealthCheckKey']
    response['resourceArn'] = resourceArn
    response['defaultProbeFQDN'] = distribution['DomainName']
    response['ShieldProtection'] = shieldProtection
    response['Tags'] = tags
    response['HealthCheckKey'] = cloudfrontHCKey
    response['ResourceId'] = distributionId
    logger.debug(response)
    return (response)