in resource-selector-lambda/handler.py [0:0]
def getACM(self, config):
cert_arn = []
acm = boto3.client('acm', region_name=self.region)
paginator = acm.get_paginator('list_certificates')
page_iterator = paginator.paginate()
for page in page_iterator:
# Iterate through certificates
for cert in page['CertificateSummaryList']:
# Get certificate tags
acmTags = acm.list_tags_for_certificate(
CertificateArn=cert['CertificateArn']
)
# If cert domain provided
if self.domain:
# check if the value match domain name
if self.domain in cert['DomainName']:
# if acm has tags, check tags criteria
if 'Tags' in acmTags:
if self.searchObject(acmTags['Tags'], config):
cert_arn.append(cert['CertificateArn'])
# if not tags criteria specified in configuration, return acm
elif not 'Tags' in config:
cert_arn.append(cert['CertificateArn'])
# if no domain name provided but tag present, check tag criteria
elif 'Tags' in acmTags and self.searchObject(acmTags['Tags'], config):
cert_arn.append(cert['CertificateArn'])
# turn list into a comma separated string and place it in our response
self.setOutput(cert_arn)