From a0e806f8ed3d5c02d4067da6777f063dd2d8be60 Mon Sep 17 00:00:00 2001 From: kakakakakku Date: Thu, 7 Aug 2025 22:28:09 +0900 Subject: [PATCH 1/4] lambda-ssm-parameter-terraform: Update runtime to nodejs22.x --- lambda-ssm-parameter-terraform/main.tf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lambda-ssm-parameter-terraform/main.tf b/lambda-ssm-parameter-terraform/main.tf index 00994f5df..d935fe884 100644 --- a/lambda-ssm-parameter-terraform/main.tf +++ b/lambda-ssm-parameter-terraform/main.tf @@ -2,7 +2,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = "~> 4.22" + version = "~> 5.0" } } @@ -31,7 +31,7 @@ resource "aws_lambda_function" "lambda_function" { source_code_hash = data.archive_file.lambda_zip_file.output_base64sha256 handler = "app.handler" role = aws_iam_role.lambda_iam_role.arn - runtime = "nodejs16.x" + runtime = "nodejs22.x" environment { variables = { SSMParameterName = var.ssm_parameter_name From 5c4dc72ed5101699e958db7faab4a62f0e27e82a Mon Sep 17 00:00:00 2001 From: kakakakakku Date: Thu, 7 Aug 2025 22:32:39 +0900 Subject: [PATCH 2/4] lambda-ssm-parameter-terraform: Fix deprecated `managed_policy_arns` argument --- lambda-ssm-parameter-terraform/main.tf | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/lambda-ssm-parameter-terraform/main.tf b/lambda-ssm-parameter-terraform/main.tf index d935fe884..ff915c4ab 100644 --- a/lambda-ssm-parameter-terraform/main.tf +++ b/lambda-ssm-parameter-terraform/main.tf @@ -50,11 +50,7 @@ data "aws_iam_policy" "lambda_basic_execution_role_policy" { } resource "aws_iam_role" "lambda_iam_role" { - name_prefix = "LambdaSSMParameterRole-" - managed_policy_arns = [ - data.aws_iam_policy.lambda_basic_execution_role_policy.arn, - aws_iam_policy.lambda_policy.arn - ] + name_prefix = "LambdaSSMParameterRole-" assume_role_policy = < Date: Thu, 7 Aug 2025 22:33:38 +0900 Subject: [PATCH 3/4] lambda-ssm-parameter-terraform: Add .gitignore --- lambda-ssm-parameter-terraform/.gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 lambda-ssm-parameter-terraform/.gitignore diff --git a/lambda-ssm-parameter-terraform/.gitignore b/lambda-ssm-parameter-terraform/.gitignore new file mode 100644 index 000000000..fb7595fad --- /dev/null +++ b/lambda-ssm-parameter-terraform/.gitignore @@ -0,0 +1 @@ +lambda.zip From b4de2131bef62713f6de9bda10ec079052b92f1c Mon Sep 17 00:00:00 2001 From: kakakakakku Date: Thu, 7 Aug 2025 22:48:25 +0900 Subject: [PATCH 4/4] lambda-ssm-parameter-terraform: Update SDK to v3 for nodejs22.x runtime --- lambda-ssm-parameter-terraform/src/app.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/lambda-ssm-parameter-terraform/src/app.js b/lambda-ssm-parameter-terraform/src/app.js index d5b07e340..f5685279a 100644 --- a/lambda-ssm-parameter-terraform/src/app.js +++ b/lambda-ssm-parameter-terraform/src/app.js @@ -6,8 +6,11 @@ // 2. GET or PUT an SSM Parameter Store parameter. // 3. Return a response with parameter result. -const AWS = require("aws-sdk") -const ssm = new AWS.SSM() +const { SSMClient, GetParameterCommand, PutParameterCommand } = require('@aws-sdk/client-ssm') + +const ssmClient = new SSMClient({ + region: process.env.AWS_REGION +}) exports.handler = async (event, context) => { try { @@ -34,12 +37,12 @@ exports.handler = async (event, context) => { Overwrite: true, Type: "String", }; - result = await ssm.putParameter(ssmPutParams).promise() + result = await ssmClient.send(new PutParameterCommand(ssmPutParams)) } else if (method == "GET") { const ssmGetParams = { Name: parameterName, }; - result = await ssm.getParameter(ssmGetParams).promise() + result = await ssmClient.send(new GetParameterCommand(ssmGetParams)) } else { result = "Method not supported" } @@ -57,4 +60,4 @@ exports.handler = async (event, context) => { console.error(error); throw new Error(error); } -} \ No newline at end of file +}