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)