def getKMS()

in resource-selector-lambda/handler.py [0:0]


    def getKMS(self):
        # build up boto3 client for KMS
        kmsKeys = []
        kms = boto3.client('kms', region_name=self.region)
        paginator = kms.get_paginator('list_aliases')
        page_iterator = paginator.paginate()

        for page in page_iterator:
            # Iterate through keys
            for key in page['Aliases']:
                # depend on configuration return either key alias or id
                k = (key['AliasName'] if self.kmsOutput == 'alias' and 'TargetKeyId' in key else
                        (key['TargetKeyId'] if self.kmsOutput == 'id' and 'TargetKeyId' in key
                            else None))
                # if alias has associate key
                if k:
                    #check if alias criteria provided in configuration and match with curent alias
                    if self.kmsAlias and self.kmsAlias in key['AliasName']:
                        kmsKeys.append(k)
                    # if alias criteria not provided return all keys
                    elif not self.kmsAlias:
                        kmsKeys.append(k)
        # turn list into a comma separated string and place it in our response
        self.setOutput(kmsKeys)