in stacks/email_automation_workflow_stack.py [0:0]
def workmail_integration_lambda(self, classification_lambda):
workmail_lambda = lambda_.Function(
self, "id_workmail_integration_lambda_lambda_fn",
function_name="workmail-integration-lambda-fn",
code = lambda_.Code.from_asset(path.join("./lambda", "workmail-integration-lambda")),
handler = "lambda_function.lambda_handler",
runtime = lambda_.Runtime.PYTHON_3_8,
timeout = core.Duration.minutes(1),
environment={
"EMAIL_CLASSIFICATION_LAMBDA_FN_NAME" : classification_lambda.function_name
}
)
current_region = self.region
principal = iam.ServicePrincipal("workmail.{}.amazonaws.com".format(current_region))
workmail_lambda.grant_invoke(principal)
workmail_lambda.add_to_role_policy(
iam.PolicyStatement(
actions = [
"workmailmessageflow:GetRawMessageContent",
],
resources= [ '*' ]
)
)
classification_lambda.grant_invoke(workmail_lambda)
return workmail_lambda