From 767fb55fb8bb93a8b467be7f2524a8800ee57bcc Mon Sep 17 00:00:00 2001 From: Piers Karsenbarg Date: Tue, 25 Oct 2022 17:54:24 +0100 Subject: [PATCH 1/3] Added code to deploy with pulumi --- docs/index.md | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) diff --git a/docs/index.md b/docs/index.md index 8da0f26f870..4367ed7e05e 100644 --- a/docs/index.md +++ b/docs/index.md @@ -209,6 +209,43 @@ You can include Lambda Powertools Lambda Layer using [AWS Lambda Console](https: } ``` + === "Pulumi" + + ```python + import json + import pulumi + import pulumi_aws as aws + + role = aws.iam.Role("role", + assume_role_policy=json.dumps({ + "Version": "2012-10-17", + "Statement": [ + { + "Action": "sts:AssumeRole", + "Principal": { + "Service": "lambda.amazonaws.com" + }, + "Effect": "Allow" + } + ] + }), + managed_policy_arns=[aws.iam.ManagedPolicy.AWS_LAMBDA_BASIC_EXECUTION_ROLE] + ) + + lambda_function = aws.lambda_.Function("function", + layers=[pulumi.Output.concat("arn:aws:lambda:",aws.get_region_output().name,":094274105915:layer:AWSLambdaPowertoolsTypeScript:3")], + code=pulumi.AssetArchive({ + ".": pulumi.FileArchive("./app") + }), + tracing_config={ + "mode": "Active" + }, + runtime=aws.lambda_.Runtime.NODE_JS16D_X, + handler="index.handler", + role=role.arn + ) + ``` + === "Amplify" ```zsh @@ -341,6 +378,46 @@ You can include Lambda Powertools Lambda Layer using [AWS Lambda Console](https: ``` + === "Pulumi" + + ```python + import json + import pulumi + import pulumi_aws as aws + + role = aws.iam.Role("role", + assume_role_policy=json.dumps({ + "Version": "2012-10-17", + "Statement": [ + { + "Action": "sts:AssumeRole", + "Principal": { + "Service": "lambda.amazonaws.com" + }, + "Effect": "Allow" + } + ] + }), + managed_policy_arns=[aws.iam.ManagedPolicy.AWS_LAMBDA_BASIC_EXECUTION_ROLE] + ) + + lambda_function = aws.lambda_.Function("function", + layers=[ + pulumi.Output.concat("arn:aws:lambda:",aws.get_region_output().name,":017000801446:layer:AWSLambdaPowertoolsPythonV2-Arm64:11") + ], + code=pulumi.AssetArchive({ + ".": pulumi.FileArchive("./app") + }), + tracing_config={ + "mode": "Active" + }, + runtime=aws.lambda_.Runtime.NODE_JS16D_X, + handler="index.handler", + role=role.arn, + architectures=["arm64"] + ) + ``` + === "Amplify" ```zsh From cc43a102505dc4d5e800d569168bb6273e8c1ab0 Mon Sep 17 00:00:00 2001 From: Leandro Damascena Date: Wed, 26 Oct 2022 13:16:23 +0100 Subject: [PATCH 2/3] docs(adding-pulumi): fix pulumi example --- docs/index.md | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/docs/index.md b/docs/index.md index 4367ed7e05e..7866dc0f222 100644 --- a/docs/index.md +++ b/docs/index.md @@ -233,16 +233,15 @@ You can include Lambda Powertools Lambda Layer using [AWS Lambda Console](https: ) lambda_function = aws.lambda_.Function("function", - layers=[pulumi.Output.concat("arn:aws:lambda:",aws.get_region_output().name,":094274105915:layer:AWSLambdaPowertoolsTypeScript:3")], - code=pulumi.AssetArchive({ - ".": pulumi.FileArchive("./app") - }), + layers=[pulumi.Output.concat("arn:aws:lambda:",aws.get_region_output().name,":017000801446:layer:AWSLambdaPowertoolsPythonV2:11")], tracing_config={ "mode": "Active" }, - runtime=aws.lambda_.Runtime.NODE_JS16D_X, + runtime=aws.lambda_.Runtime.PYTHON3D9, handler="index.handler", - role=role.arn + role=role.arn, + architectures=["x86_64"] + # other props like code and more... ) ``` @@ -402,19 +401,15 @@ You can include Lambda Powertools Lambda Layer using [AWS Lambda Console](https: ) lambda_function = aws.lambda_.Function("function", - layers=[ - pulumi.Output.concat("arn:aws:lambda:",aws.get_region_output().name,":017000801446:layer:AWSLambdaPowertoolsPythonV2-Arm64:11") - ], - code=pulumi.AssetArchive({ - ".": pulumi.FileArchive("./app") - }), + layers=[pulumi.Output.concat("arn:aws:lambda:",aws.get_region_output().name,":017000801446:layer:AWSLambdaPowertoolsPythonV2-Arm64:11")], tracing_config={ "mode": "Active" }, - runtime=aws.lambda_.Runtime.NODE_JS16D_X, + runtime=aws.lambda_.Runtime.PYTHON3D9, handler="index.handler", role=role.arn, architectures=["arm64"] + # other props like code and more... ) ``` From 07f8df6b23e5a9f3cfebe416029f0b59846b7a5c Mon Sep 17 00:00:00 2001 From: Piers Karsenbarg Date: Wed, 26 Oct 2022 13:42:25 +0100 Subject: [PATCH 3/3] Updated code input to point at zip file instead of folder --- docs/index.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/index.md b/docs/index.md index 7866dc0f222..8f199647e4f 100644 --- a/docs/index.md +++ b/docs/index.md @@ -240,8 +240,8 @@ You can include Lambda Powertools Lambda Layer using [AWS Lambda Console](https: runtime=aws.lambda_.Runtime.PYTHON3D9, handler="index.handler", role=role.arn, - architectures=["x86_64"] - # other props like code and more... + architectures=["x86_64"], + code=pulumi.FileArchive("lambda_function_payload.zip") ) ``` @@ -408,8 +408,8 @@ You can include Lambda Powertools Lambda Layer using [AWS Lambda Console](https: runtime=aws.lambda_.Runtime.PYTHON3D9, handler="index.handler", role=role.arn, - architectures=["arm64"] - # other props like code and more... + architectures=["arm64"], + code=pulumi.FileArchive("lambda_function_payload.zip") ) ```