This terraform modules provides creates needed to invoke a lambda function on s3 bucket notification events.
| Name | Version |
|---|---|
| terraform | >= 1.2.0 |
| aws | ~> 4.16 |
| Name | Version |
|---|---|
| aws | ~> 4.16 |
No modules.
| Name | Type |
|---|---|
| aws_cloudwatch_log_group.lambda_s3 | resource |
| aws_iam_role.iam_for_lambda | resource |
| aws_iam_role_policy.logs | resource |
| aws_iam_role_policy_attachment.lambda_policy | resource |
| aws_lambda_function.lambda_s3 | resource |
| aws_lambda_function_event_invoke_config.lambda_s3_invoke_config | resource |
| aws_lambda_permission.allow_s3_invoke_lambda | resource |
| aws_s3_bucket_notification.push_to_lambda | resource |
| aws_region.current | data source |
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| bucket_filter_prefix | Optional prefix to limit the notifications to objects with keys that start with matching characters | string |
"" |
no |
| bucket_filter_suffix | Optional suffix to limit the notifications to objects with keys that end with matching characters | string |
"" |
no |
| bucket_names | List of S3 bucket names to create Event Notifications for. | list(string) |
n/a | yes |
| directory_path | The path to the directory containing the zip file that will be executed by lambda. Defaults to current directory. | string |
"." |
no |
| env_vars | A map of env vars to be passed to lambda function | map(string) |
{} |
no |
| environment | This is the environment in which the load balancer will be running | string |
n/a | yes |
| file_name | This is the name of the zip file that contains binary to be executed by the lambda | string |
n/a | yes |
| lambda_execution_policy_arn | The managed policy arn for lambda, for more info: https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html#permissions-executionrole-features | string |
"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" |
no |
| lambda_timeout | Amount of time your Lambda Function has to run in seconds | number |
120 |
no |
| Name | Description |
|---|---|
| aws_iam_role_arn | The ARN of the IAM Role created for the lambda function |
| aws_lambda_function_arn | The ARN of the Lambda Function created |
brew install pre-commit
brew install terraform-docs
brew install tflint
pre-commit install
#to run hooks against all files for first time after setup
pre-commit run --all-filesTF docs will be populated as part of pre-commit hook, you would need to commit the changes.
For further information on pre-commit, visit this. For further information on pre-commit-terraform, visit this.