def getACM()

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)