
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
@cfn-modules/lambda-function
Advanced tools
AWS Lambda function with automated IAM policy generation, encryption, log group and alerting
AWS Lambda function with automated IAM policy generation, encryption, log group and alerting.
Install Node.js and npm first!
npm i @cfn-modules/lambda-function
The lambda source code must be in the folder
lambda-src.
If you pass in a module dependency (e.g.
DependencyModule1), the environment variableDEPENDENCY1_ARNinside the Lambda function will contain the ARN of the dependency.
---
AWSTemplateFormatVersion: '2010-09-09'
Description: 'cfn-modules example'
Resources:
Function:
Type: 'AWS::CloudFormation::Stack'
Properties:
Parameters:
AlertingModule: !GetAtt 'Alerting.Outputs.StackName' # optional
KmsKeyModule: !GetAtt 'Key.Outputs.StackName' # optional
VpcModule: !GetAtt 'Vpc.Outputs.StackName' # optional
DeadLetterQueueModule: !GetAtt 'Queue.Outputs.StackName' # optional
FunctionName: '' #optional
Description: '' # optional
Handler: 'example.handler' # required (file must be in the `lambda-src` folder)
MemorySize: '128' # optional
ReservedConcurrentExecutions: '-1' # optional
Runtime: 'nodejs14.x' # required
Timeout: '3' # optional
TracingConfigMode: PassThrough # optional
LogGroupRetentionInDays: '14' # optional
DependencyModule1: !GetAtt 'Queue.Outputs.StackName' # optional
DependencyModule2: !GetAtt 'Table.Outputs.StackName' # optional
DependencyModule3: '' # optional
EnvironmentVariable1: '' # optional
EnvironmentVariable2: '' # optional
EnvironmentVariable3: '' # optional
EnvironmentVariable4: '' # optional
EnvironmentVariable5: '' # optional
ManagedPolicyArns: '' # optional
LayerArns: '' # optional
ClientSgModule1: '' # optional
ClientSgModule2: '' # optional
ClientSgModule3: '' # optional
TemplateURL: './node_modules/@cfn-modules/lambda-function/module.yml'
| Name | Description | Default | Required? | Allowed values |
|---|---|---|---|---|
| AlertingModule | Stack name of alerting module | no | ||
| KmsKeyModule | Stack name of kms-key module | no | ||
| VpcModule | Stack name of vpc module | no | ||
| DeadLetterQueueModule | Stack name of sqs-queue module where Lambda sends events to after the maximum number of retries was reached | no | ||
| FunctionName | An optional but recommended name for the function and log group. | no | ||
| Description | description of the function | no | ||
| Handler | The name of the function (within your source code) that Lambda calls to start running your code (file must be in the `lambda-src` folder) | yes | ||
| MemorySize | The amount of memory, in MB, that is allocated to your Lambda function | no | [128-10240] | |
| ReservedConcurrentExecutions | The maximum of concurrent executions you want reserved for the function (-1 means no maximum) | -1 | no | [-1, 0-N] |
| Runtime | The runtime environment for the Lambda function that you are uploading | no | See Runtime doc | |
| Timeout | The function execution time at which Lambda should terminate the function | 3 | no | [1-900] |
| TracingConfigMode | If PassThrough, Lambda will only trace the request from an upstream service if it contains a tracing header with "sampled=1". If Active, Lambda will respect any tracing header it receives from an upstream service. If no tracing header is received, Lambda will call X-Ray for a tracing decision. | PassThrough | no | [Active, PassThrough] |
| LogGroupRetentionInDays | The number of days log events are kept in CloudWatch Logs | 14 | no | [1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 3653] |
| DependencyModule1 | Stack name of module implementing LambdaDependency to generate IAM Policy. Environment variable `DEPENDENCY1_ARN` will contain the ARN of the dependency. | no | ||
| DependencyModule2 | Stack name of module implementing LambdaDependency to generate IAM Policy. Environment variable `DEPENDENCY2_ARN` will contain the ARN of the dependency. | no | ||
| DependencyModule3 | Stack name of module implementing LambdaDependency to generate IAM Policy. Environment variable `DEPENDENCY2_ARN` will contain the ARN of the dependency. | no | ||
| EnvironmentVariable1 | Optional value of environment variable `VARIABLE1` | no | ||
| EnvironmentVariable2 | Optional value of environment variable `VARIABLE2` | no | ||
| EnvironmentVariable3 | Optional value of environment variable `VARIABLE3` | no | ||
| EnvironmentVariable4 | Optional value of environment variable `VARIABLE4` | no | ||
| EnvironmentVariable5 | Optional value of environment variable `VARIABLE5` | no | ||
| ManagedPolicyArns | Comma-delimited list of IAM managed policy ARNs to attach to the task's IAM role | no | ||
| LayerArns | Comma-delimited list of Layer ARNs to attach to the function | no | ||
| ClientSgModule1 | Stack name of client-sg module to mark traffic from Lambda function (requires VpcModule parameter) | no | ||
| ClientSgModule2 | Stack name of client-sg module to mark traffic from Lambda function (requires VpcModule parameter) | no | ||
| ClientSgModule3 | Stack name of client-sg module to mark traffic from Lambda function (requires VpcModule parameter) | no |
lambda-layer module is no longer supported. Replace the LayerModule parameter with a comma-delimited list of Layer ARNs to attach to the function LayerArns. Define the Lambda layer in your own template.FAQs
AWS Lambda function with automated IAM policy generation, encryption, log group and alerting
We found that @cfn-modules/lambda-function demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.