{"id":26009982,"url":"https://github.com/byu-oit/terraform-aws-sns-teams-lambda","last_synced_at":"2026-03-10T06:02:10.395Z","repository":{"id":42012067,"uuid":"481668014","full_name":"byu-oit/terraform-aws-sns-teams-lambda","owner":"byu-oit","description":"Send messages to teams from SNS","archived":false,"fork":false,"pushed_at":"2023-10-30T16:03:15.000Z","size":26,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-03-05T22:32:12.720Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/byu-oit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-14T16:08:37.000Z","updated_at":"2022-04-14T17:07:20.000Z","dependencies_parsed_at":"2025-03-05T22:30:01.617Z","dependency_job_id":"3eae7449-e5da-426d-9ba2-f1f15b52ef5d","html_url":"https://github.com/byu-oit/terraform-aws-sns-teams-lambda","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/byu-oit/terraform-aws-sns-teams-lambda","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/byu-oit%2Fterraform-aws-sns-teams-lambda","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/byu-oit%2Fterraform-aws-sns-teams-lambda/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/byu-oit%2Fterraform-aws-sns-teams-lambda/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/byu-oit%2Fterraform-aws-sns-teams-lambda/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/byu-oit","download_url":"https://codeload.github.com/byu-oit/terraform-aws-sns-teams-lambda/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/byu-oit%2Fterraform-aws-sns-teams-lambda/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30326878,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T05:25:20.737Z","status":"ssl_error","status_checked_at":"2026-03-10T05:25:17.430Z","response_time":106,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-05T22:26:46.095Z","updated_at":"2026-03-10T06:02:10.374Z","avatar_url":"https://github.com/byu-oit.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Latest GitHub Release](https://img.shields.io/github/v/release/byu-oit/terraform-aws-sns-teams-lambda?sort=semver)\n\n# SNS to Teams Lambda\n\nTerraform module to create a Lambda that can transform SNS notifications and send them to Teams.\n\n#### [New to Terraform Modules at BYU?](https://devops.byu.edu/terraform/index.html)\n\n## Usage\n\n1. Create\n   a [Teams Webhook](https://docs.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook#create-incoming-webhook-1)\n   and generate a webhook URL.\n\n```hcl\nmodule \"sns_teams_lambda\" {\n  source = \"github.com/byu-oit/terraform-aws-sns-teams-lambda?ref=v1.0.0\"\n}\n```\n\n### Limitations\n\nBecause\nof [limitations with Terraform](https://www.terraform.io/docs/language/meta-arguments/for_each.html#limitations-on-values-used-in-for_each)\n, SNS Topics you want integrating with this module should be created in your one-time setup resources. You can then\ninclude this module in your app resources as normal. If that's not possible, you must add this module to your app\nresources after the initial deployment of your application to a new environment and creation of the SNS Topic it will\nintegrate with. Otherwise, you'll get an error similar to this:\n\n```bash\nError: Invalid for_each argument\n  on ../../main.tf line 75, in resource \"aws_lambda_permission\" \"with_sns\":\n  75:   for_each      = var.sns_topic_arns\n\nThe \"for_each\" value depends on resource attributes that cannot be determined\nuntil apply, so Terraform cannot predict how many instances will be created.\nTo work around this, use the -target argument to first apply only the\nresources that the for_each depends on.\n```\n\n## Requirements\n\n* Terraform version 0.14.11 or greater\n* AWS provider version 3.0.0 or greater\n\n## Inputs\n\n| Name                      | Type  | Description                                                                                                        | Default |\n|---------------------------| --- |--------------------------------------------------------------------------------------------------------------------|---------|\n| app_name                  | string | The application name to include in the name of resources created. Displayed as a prefix to the Teams message.      |\n| log_retention_in_days     | number | The number of days to retain logs for the sns-to-teams Lambda.                                                     | 90      |\n| memory_size               | number | The amount of memory for the function                                                                              | 128     |\n| role_permissions_boundary | string | The ARN of the role permissions boundary to attach to the Lambda role.                                             |\n| send_to_teams             | boolean | Whether or not to actually send messages to Teams. Recommended to be false for all environments except production. | true    |\n| teams_webhook_url         | string | The webhook URL to use when sending messages to Teams. This value contains a secret and should be kept safe.       |\n| sns_topic_arns            | set(string) | The ARNs of the SNS topics you want to see messages for in Teams.                                                  |\n| timeout                   | number | The number of seconds the function is allowed to run.                                                              | 30      |\n| tags                      | map(string) | A map of AWS Tags to attach to each resource created.                                                              | {}      |\n\n## Outputs\n\n| Name | Type | Description |\n| ---  | ---  | --- |\n| lambda_function_arn | string | The ARN of the Lambda function created. |\n| lambda_function_name | string | The name of the Lambda function created. |\n\n# Deployment\n\nWhen developing this module, if you update the Lambda code, be sure to run `zip -r function.zip .` in the `lamba` folder\nso your code changes are bundled with the module.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbyu-oit%2Fterraform-aws-sns-teams-lambda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbyu-oit%2Fterraform-aws-sns-teams-lambda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbyu-oit%2Fterraform-aws-sns-teams-lambda/lists"}