An open API service indexing awesome lists of open source software.

https://github.com/plus3it/terraform-aws-codecommit-pr-reminders

Terraform module that deploys a lambda function which will publish open pull requests to Slack
https://github.com/plus3it/terraform-aws-codecommit-pr-reminders

aws lambda terraform

Last synced: 11 months ago
JSON representation

Terraform module that deploys a lambda function which will publish open pull requests to Slack

Awesome Lists containing this project

README

          

## terraform-aws-codecommit-pr-reminders

Terraform module to deploy a lambda function that will enumerate CodeCommit repositories and publish the Open PRs to slack

## Testing

Manual testing:

```
# Replace "xxx" with an actual AWS profile, then execute the integration tests.
export AWS_PROFILE=xxx
make terraform/pytest PYTEST_ARGS="-v --nomock"
```

For automated testing, PYTEST_ARGS is optional and no profile is needed:

```
make mockstack/up
make terraform/pytest PYTEST_ARGS="-v"
make mockstack/clean
```

## Requirements

| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 0.12 |

## Providers

| Name | Version |
|------|---------|
| [aws](#provider\_aws) | n/a |

## Resources

| Name | Type |
|------|------|
| [aws_iam_policy_document.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [hook\_url](#input\_hook\_url) | Slack webhook URL; see | `string` | n/a | yes |
| [dry\_run](#input\_dry\_run) | toggle to control dryrun output of the lambda function | `bool` | `false` | no |
| [lambda](#input\_lambda) | Object of optional attributes passed on to the lambda module |

object({
artifacts_dir = optional(string, "builds")
build_in_docker = optional(bool, false)
create_package = optional(bool, true)
ephemeral_storage_size = optional(number)
ignore_source_code_hash = optional(bool, true)
local_existing_package = optional(string)
memory_size = optional(number, 128)
recreate_missing_package = optional(bool, false)
runtime = optional(string, "python3.12")
s3_bucket = optional(string)
s3_existing_package = optional(map(string))
s3_prefix = optional(string)
store_on_s3 = optional(bool, false)
timeout = optional(number, 300)
})
| `{}` | no |
| [log\_level](#input\_log\_level) | The log level of the lambda function | `string` | `"INFO"` | no |
| [name](#input\_name) | (Optional) Name to associate with the lambda function | `string` | `"codecommit-pr-reminders"` | no |
| [schedule](#input\_schedule) | (Optional) Schedule expression for CloudWatch event; see | `string` | `"cron(0 7 ? * MON-FRI *)"` | no |
| [tags](#input\_tags) | Tags to add to the supported resources | `map(any)` | `{}` | no |

## Outputs

No outputs.