{"id":51410877,"url":"https://github.com/launchbynttdata/tf-aws-module_primitive-sns_topic_subscription","last_synced_at":"2026-07-04T14:32:34.542Z","repository":{"id":349562644,"uuid":"1187313354","full_name":"launchbynttdata/tf-aws-module_primitive-sns_topic_subscription","owner":"launchbynttdata","description":null,"archived":false,"fork":false,"pushed_at":"2026-04-06T14:08:28.000Z","size":105,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-06T16:04:25.624Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","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/launchbynttdata.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":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-20T15:27:18.000Z","updated_at":"2026-04-06T14:00:05.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/launchbynttdata/tf-aws-module_primitive-sns_topic_subscription","commit_stats":null,"previous_names":["launchbynttdata/tf-aws-module_primitive-sns_topic_subscription"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/launchbynttdata/tf-aws-module_primitive-sns_topic_subscription","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/launchbynttdata%2Ftf-aws-module_primitive-sns_topic_subscription","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/launchbynttdata%2Ftf-aws-module_primitive-sns_topic_subscription/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/launchbynttdata%2Ftf-aws-module_primitive-sns_topic_subscription/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/launchbynttdata%2Ftf-aws-module_primitive-sns_topic_subscription/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/launchbynttdata","download_url":"https://codeload.github.com/launchbynttdata/tf-aws-module_primitive-sns_topic_subscription/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/launchbynttdata%2Ftf-aws-module_primitive-sns_topic_subscription/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35125718,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-04T02:00:05.987Z","response_time":113,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":"2026-07-04T14:32:33.126Z","updated_at":"2026-07-04T14:32:34.537Z","avatar_url":"https://github.com/launchbynttdata.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# tf-aws-module_primitive-sns_topic_subscription\n\n[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![License: CC BY-NC-ND 4.0](https://img.shields.io/badge/License-CC_BY--NC--ND_4.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-nd/4.0/)\n\n## Overview\n\nTerraform primitive module that wraps a single [`aws_sns_topic_subscription`](https://registry.terraform.io/providers/hashicorp/aws/5.100.0/docs/resources/sns_topic_subscription) resource. It exposes the arguments and attributes supported by the AWS provider so callers can configure subscriptions without losing functionality.\n\n## Usage\n\n```hcl\nmodule \"sns_topic_subscription\" {\n  source = \"path/to/module\"\n\n  topic_arn = aws_sns_topic.example.arn\n  protocol  = \"sqs\"\n  endpoint  = aws_sqs_queue.example.arn\n\n  raw_message_delivery = true\n}\n```\n\n## Requirements\n\n- Terraform `~\u003e 1.9`\n- AWS provider `~\u003e 5.100` (see [`versions.tf`](./versions.tf))\n\n## Examples\n\nSee [`examples/complete/`](./examples/complete/) for an end-to-end subscription from an SNS topic to an encrypted SQS queue.\n\n## Contributing\n\nRun `make configure` once to sync shared automation components, then use the standard targets from the included Makefile (for example `make lint`, `make check`).\n\nPre-commit hooks enforce formatting and documentation. Install with `pre-commit install` after `make configure`.\n\n\u003c!-- BEGIN_TF_DOCS --\u003e\n## Requirements\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"requirement_terraform\"\u003e\u003c/a\u003e [terraform](#requirement\\_terraform) | ~\u003e 1.9 |\n| \u003ca name=\"requirement_aws\"\u003e\u003c/a\u003e [aws](#requirement\\_aws) | ~\u003e 5.100 |\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_aws\"\u003e\u003c/a\u003e [aws](#provider\\_aws) | 5.100.0 |\n\n## Modules\n\nNo modules.\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [aws_sns_topic_subscription.sns_topic_subscription](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sns_topic_subscription) | resource |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_topic_arn\"\u003e\u003c/a\u003e [topic\\_arn](#input\\_topic\\_arn) | ARN of the SNS topic to subscribe to. | `string` | n/a | yes |\n| \u003ca name=\"input_protocol\"\u003e\u003c/a\u003e [protocol](#input\\_protocol) | Protocol to use. Valid values include application, firehose, http, https, lambda, sms, sqs, email, email-json. | `string` | n/a | yes |\n| \u003ca name=\"input_endpoint\"\u003e\u003c/a\u003e [endpoint](#input\\_endpoint) | Endpoint to send data to. The contents vary by protocol (e.g., SQS queue ARN, HTTPS URL, Lambda function ARN). | `string` | n/a | yes |\n| \u003ca name=\"input_confirmation_timeout_in_minutes\"\u003e\u003c/a\u003e [confirmation\\_timeout\\_in\\_minutes](#input\\_confirmation\\_timeout\\_in\\_minutes) | Integer indicating the wait time for confirmation of an HTTP or HTTPS subscription. Only applicable when protocol is http or https. | `number` | `null` | no |\n| \u003ca name=\"input_delivery_policy\"\u003e\u003c/a\u003e [delivery\\_policy](#input\\_delivery\\_policy) | JSON string for the subscription delivery policy (HTTP/S, SQS, etc.). | `string` | `null` | no |\n| \u003ca name=\"input_endpoint_auto_confirms\"\u003e\u003c/a\u003e [endpoint\\_auto\\_confirms](#input\\_endpoint\\_auto\\_confirms) | Whether the endpoint is capable of auto-confirming the subscription (e.g., some HTTPS endpoints). | `bool` | `null` | no |\n| \u003ca name=\"input_filter_policy\"\u003e\u003c/a\u003e [filter\\_policy](#input\\_filter\\_policy) | JSON string for the subscription filter policy. | `string` | `null` | no |\n| \u003ca name=\"input_filter_policy_scope\"\u003e\u003c/a\u003e [filter\\_policy\\_scope](#input\\_filter\\_policy\\_scope) | Whether filter\\_policy applies to MessageAttributes or MessageBody. | `string` | `null` | no |\n| \u003ca name=\"input_raw_message_delivery\"\u003e\u003c/a\u003e [raw\\_message\\_delivery](#input\\_raw\\_message\\_delivery) | Whether to enable raw message delivery (supported for SQS, HTTP/S, and Firehose subscriptions). | `bool` | `null` | no |\n| \u003ca name=\"input_redrive_policy\"\u003e\u003c/a\u003e [redrive\\_policy](#input\\_redrive\\_policy) | JSON string for the dead-letter queue redrive policy (SQS subscriptions). | `string` | `null` | no |\n| \u003ca name=\"input_replay_policy\"\u003e\u003c/a\u003e [replay\\_policy](#input\\_replay\\_policy) | JSON string for FIFO topic message replay policy. | `string` | `null` | no |\n| \u003ca name=\"input_subscription_role_arn\"\u003e\u003c/a\u003e [subscription\\_role\\_arn](#input\\_subscription\\_role\\_arn) | IAM role ARN for Kinesis Firehose delivery to a subscription. | `string` | `null` | no |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_id\"\u003e\u003c/a\u003e [id](#output\\_id) | The ID of the subscription (same as the subscription ARN). |\n| \u003ca name=\"output_arn\"\u003e\u003c/a\u003e [arn](#output\\_arn) | The ARN of the subscription. |\n| \u003ca name=\"output_owner_id\"\u003e\u003c/a\u003e [owner\\_id](#output\\_owner\\_id) | The AWS account ID of the subscription owner. |\n| \u003ca name=\"output_pending_confirmation\"\u003e\u003c/a\u003e [pending\\_confirmation](#output\\_pending\\_confirmation) | Whether the subscription is pending confirmation. |\n| \u003ca name=\"output_endpoint\"\u003e\u003c/a\u003e [endpoint](#output\\_endpoint) | The subscription endpoint (same as the configured endpoint argument). |\n| \u003ca name=\"output_confirmation_was_authenticated\"\u003e\u003c/a\u003e [confirmation\\_was\\_authenticated](#output\\_confirmation\\_was\\_authenticated) | Whether the subscription confirmation request was authenticated. |\n\u003c!-- END_TF_DOCS --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaunchbynttdata%2Ftf-aws-module_primitive-sns_topic_subscription","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flaunchbynttdata%2Ftf-aws-module_primitive-sns_topic_subscription","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaunchbynttdata%2Ftf-aws-module_primitive-sns_topic_subscription/lists"}