def __init__()

in stacks/workmailorg_project_stack.py [0:0]


    def __init__(self, scope: core.Construct, construct_id: str, **kwargs) -> None:
        super().__init__(scope, construct_id, **kwargs)

        orgname_param = core.CfnParameter(self, "OrganizationName",
                #type="String",
                default='my-sample-workmail-org'
                )

        username_param = core.CfnParameter(self, "UserName",
                #type="String",
                default='support'
                )
        pass_param = core.CfnParameter(self, "PassWord",
                #type="String",
                default='Welcome@123'
                )
        create_workmail_org_lambda = lambda_.Function(self, "id_WorkMailOrg",
                                                      runtime=lambda_.Runtime.PYTHON_3_6,
                                                      function_name='workmail_org_creation',
                                                      code=lambda_.Code.asset(
                                                          "lambda/workmail-org-user-domain-lambda"),
                                                      handler="workmailcreateorg.handler",
                                                      environment= {'work_org_name': orgname_param.value_as_string,
                                                                    'user_name': username_param.value_as_string,
                                                                    'password': pass_param.value_as_string}
                                                      )
                                                     
        
                
        create_workmail_org_lambda.role.attach_inline_policy(
            iam.Policy(
                self, "id_workmail_custom_resource_lambda_policy",
                policy_name = "workmail_custom_resource_lambda_policy",
                statements = [
                    iam.PolicyStatement(
                        actions = [
                            "workmail:*",
                            "ds:*",
                            "ses:*"
                        ],
                        resources= [ '*' ],
                    )
                ]
            )
        )


        is_complete_org = lambda_.Function(
                                            self, "id_workmail_org_is_complete",
                                            function_name="resource-is-complete-lambda",
                                            code=lambda_.Code.asset(
                                               "lambda/workmail-org-user-domain-lambda"),
                                            handler="workmailcreateorg.is_complete",
                                            runtime=lambda_.Runtime.PYTHON_3_6,
                                            environment= {'work_org_name':orgname_param.value_as_string,
                                                            'user_name': username_param.value_as_string,
                                                                'password': pass_param.value_as_string}
                                                                    )
                                            
        '''core.CfnOutput(
            self, "id_support_email_address",
            description="Support Email Address",
            value='Support Email Address  : '+,
        )'''


        is_complete_org.role.attach_inline_policy(
            iam.Policy(
                self, "id_is_complete_custom_resource_lambda_policy",
                policy_name = "is_complete_custom_resource_lambda_policy",
                statements = [
                    iam.PolicyStatement(
                        actions = [
                            "workmail:*",
                            "ds:*",
                            "ses:*"
                        ],
                        resources= [ '*' ],
                    )
                ]
            )
        )

        create_workmail_org = cr.Provider(self, "id_workmail_org",
                                          on_event_handler=create_workmail_org_lambda,
                                          is_complete_handler=is_complete_org,  # optional async "waiter"
                                          log_retention=logs.RetentionDays.ONE_DAY#,  # default is INFINITE
                                          #role=my_role
                                          )
        

        CustomResource(self, id="id_Work_Mail_Org_Resource",
                       service_token=create_workmail_org.service_token)
        
        core.CfnOutput(
            self, "ResponseMessage",
            description="Your support email address is",
            value="Your support email address is:  "+ username_param.value_as_string+'@'+orgname_param.value_as_string+'.awsapps.com'                                                                                              
        )