def handler()

in scripts/ssmAutomationExecute.py [0:0]


def handler(event, context):
    import cfnresponse
    import boto3, os, json
    from botocore.vendored import requests

    ssm_cl = boto3.client('ssm')
    req_type = event['RequestType']
    print(event)

    SUCCESS = "SUCCESS"
    FAILED = "FAILED"

    def start_ssmautomation(event):
        doc_name = event['ResourceProperties']['DocumentName']
        ecr_repo = event['ResourceProperties']['ECRRepoName']
        stack_name = event['ResourceProperties']['StackName']
        qs_bucket = event['ResourceProperties']['QSS3BucketName']
        qs_bucket_prefix = event['ResourceProperties']['QSS3KeyPrefix']

        start_automation = ssm_cl.start_automation_execution(
            DocumentName= doc_name,
            Parameters={
                'ECRRepoName': [
                    ecr_repo
                ],
                'StackName': [
                    stack_name
                ],
                'QSS3BucketName': [
                    qs_bucket
                ],
                'QSS3KeyPrefix': [
                    qs_bucket_prefix
                ]
            },
        )

        cfnresponse.send(event, context, SUCCESS, start_automation, start_automation['AutomationExecutionId'])
    
    def delete_automation():
        cfnresponse.send(event, context, SUCCESS, 'delete', 'nothingtodo')

    actions = {
        'Create': start_ssmautomation,
        'Delete': delete_automation,
        'Update': start_ssmautomation
    }

    try:
        actions.get(req_type)(event)    
    except Exception as exc:
        error_msg = {'Error': '{}'.format(exc)}
        print(error_msg)
        cfnresponse.send(event, context, FAILED, error_msg)