Generated Configuration
Just a single Lambda Function requires substantial Terraform resource configurations:
- The IAM Policy (
AssumeRole
and RoleDefault
Policy) - A Log Group configuration for the Lambda Function
- The IAM Role with the IAM Policies 👆 attached
- The Actual Lambda Function configuration
{9 collapsed lines
"//": { "metadata": { "backend": "local", "stackName": "workshop", "version": "0.20.10" }, "outputs": { } }, "data": {11 collapsed lines
"aws_caller_identity": { "CallerIdentity": { "//": { "metadata": { "path": "workshop/CallerIdentity", "uniqueId": "CallerIdentity" } }, "provider": "aws" } }, "aws_iam_policy_document": { "Main_ServiceRole_AssumeRolePolicy_6F676A3C": {6 collapsed lines
"//": { "metadata": { "path": "workshop/Main/ServiceRole/AssumeRolePolicy/Resource", "uniqueId": "Main_ServiceRole_AssumeRolePolicy_6F676A3C" } }, "statement": [ { "actions": [ "sts:AssumeRole" ], "effect": "Allow", "principals": [6 collapsed lines
{ "identifiers": [ "${data.aws_service_principal.aws_svcp_default_region_lambda.name}" ], "type": "Service" } ] } ] }, "Main_ServiceRole_DefaultPolicy_B9E1FF55": {18 collapsed lines
"//": { "metadata": { "path": "workshop/Main/ServiceRole/DefaultPolicy/Resource/Resource", "uniqueId": "Main_ServiceRole_DefaultPolicy_B9E1FF55" } }, "statement": [ { "actions": [ "xray:PutTraceSegments", "xray:PutTelemetryRecords" ], "effect": "Allow", "resources": [ "*" ] } ]32 collapsed lines
} }, "aws_partition": { "Partitition": { "//": { "metadata": { "path": "workshop/Partitition", "uniqueId": "Partitition" } }, "provider": "aws" } }, "aws_service_principal": { "aws_svcp_default_region_lambda": { "//": { "metadata": { "path": "workshop/aws_svcp_default_region_lambda}", "uniqueId": "aws_svcp_default_region_lambda" } }, "service_name": "lambda" } } }, "provider": { "aws": [ { "region": "us-east-1" } ] }, "resource": { "aws_cloudwatch_log_group": { "Main_LogGroup_D5A08DDD": {15 collapsed lines
"//": { "metadata": { "path": "workshop/Main/LogGroup", "uniqueId": "Main_LogGroup_D5A08DDD" } }, "name": "/aws/lambda/UUID-workshopMain", "retention_in_days": 7, "tags": { "Name": "test-Main", "grid:EnvironmentName": "test", "grid:UUID": "UUID" } } }, "aws_iam_role": { "Main_ServiceRole_2AC7DC65": {16 collapsed lines
"//": { "metadata": { "path": "workshop/Main/ServiceRole/Resource", "uniqueId": "Main_ServiceRole_2AC7DC65" } }, "assume_role_policy": "${data.aws_iam_policy_document.Main_ServiceRole_AssumeRolePolicy_6F676A3C.json}", "managed_policy_arns": [ "arn:${data.aws_partition.Partitition.partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" ], "name_prefix": "UUID-workshopMainServiceRole", "tags": { "Name": "test-Main", "grid:EnvironmentName": "test", "grid:UUID": "UUID" } } }, "aws_iam_role_policy": { "Main_ServiceRole_DefaultPolicy_ResourceRoles0_143B95AD": {7 collapsed lines
"//": { "metadata": { "path": "workshop/Main/ServiceRole/DefaultPolicy/ResourceRoles0", "uniqueId": "Main_ServiceRole_DefaultPolicy_ResourceRoles0_143B95AD" } }, "name": "workshopMainServiceRoleDefaultPolicy0384BC4E", "policy": "${data.aws_iam_policy_document.Main_ServiceRole_DefaultPolicy_B9E1FF55.json}", "role": "${aws_iam_role.Main_ServiceRole_2AC7DC65.name}" } }, "aws_lambda_function": { "Main_54E5BC70": {9 collapsed lines
"//": { "metadata": { "path": "workshop/Main/Resource", "uniqueId": "Main_54E5BC70" } }, "architectures": [ "x86_64" ], "depends_on": [ "aws_cloudwatch_log_group.Main_LogGroup_D5A08DDD", "data.aws_iam_policy_document.Main_ServiceRole_AssumeRolePolicy_6F676A3C", "aws_iam_role.Main_ServiceRole_2AC7DC65", "data.aws_iam_policy_document.Main_ServiceRole_DefaultPolicy_B9E1FF55", "aws_iam_role_policy.Main_ServiceRole_DefaultPolicy_ResourceRoles0_143B95AD" ],35 collapsed lines
"environment": { "variables": { } }, "filename": "assets/Main_NodejsAsset_4FDAE49D/F9A6CECBFBCD1B91A7BADA323647C776/archive.zip", "function_name": "UUID-workshopMain", "handler": "index.handler", "memory_size": 128, "role": "${aws_iam_role.Main_ServiceRole_2AC7DC65.arn}", "runtime": "nodejs20.x", "source_code_hash": "F9A6CECBFBCD1B91A7BADA323647C776", "tags": { "Name": "test-Main", "grid:EnvironmentName": "test", "grid:UUID": "UUID" }, "timeout": 3, "tracing_config": { "mode": "Active" } } } }, "terraform": { "backend": { "local": { "path": "workshop.tfstate" } }, "required_providers": { "aws": { "source": "aws", "version": "5.82.2" } } }}
Files
Preparing Environment
- Installing dependencies