def get_ami_info()

in source/sfm-custom-resource.py [0:0]


def get_ami_info(ami_name):
    try:
        logger.info('Calling describe_images...')
        response = ec2.describe_images(
            Filters=[
                {
                    "Name": "name",
                    "Values": [
                        ami_name
                    ]
                }
            ]
        )
        logger.info('Got a response back from the server')

        # Sort images by name in decscending order. The names contain the AMI version, formatted as YYYY.MM.Ver.
        images = sorted(response['Images'], key=lambda k: k['CreationDate'], reverse=True)
        if len(images) > 0:
            logger.info('Latest image found: {}, {}'.format(images[0]['Name'], images[0]['ImageId']))
            return images[0]['ImageId']
        else:
            logger.error('Image not found.')
            raise Exception('Image not found.')
    except Exception as e:
        logger.error('Error occurred while describing images: {}'.format(e))
        raise e