terraform { required_providers { aws = { source = "hashicorp/aws" version = "~> 4.22" } } required_version = ">= 0.14.9" } provider "aws" { profile = "default" region = "us-east-1" } variable "ssm_parameter_name" { type = string default = "ExampleParameterName" } data "aws_caller_identity" "current" {} data "aws_region" "current" {} data "aws_partition" "current" {} resource "aws_lambda_function" "lambda_function" { function_name = "SSMParameterFunction" filename = data.archive_file.lambda_zip_file.output_path source_code_hash = data.archive_file.lambda_zip_file.output_base64sha256 handler = "app.handler" role = aws_iam_role.lambda_iam_role.arn runtime = "nodejs14.x" environment { variables = { SSMParameterName = var.ssm_parameter_name } } } data "archive_file" "lambda_zip_file" { type = "zip" source_file = "${path.module}/src/app.js" output_path = "${path.module}/lambda.zip" } data "aws_iam_policy" "lambda_basic_execution_role_policy" { name = "AWSLambdaBasicExecutionRole" } 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 ] assume_role_policy = <