sns-topic
cloudposse/sns-topic/aws
Terraform Module to Provide an Amazon Simple Notification Service (SNS)
Terraform module to provision SNS topic > [!TIP] > #### 👽 Use Atmos with Terraform > Cloud Posse uses atmos to easily orchestrate multiple environments using Terraform. > Works with Github Actions, Atlantis, or Spacelift. > > > Watch demo of using Atmos with Terraform > > Example of running atmos to manage infrastructure from our Quick Start tutorial. > Introduction This module provides: - SNS topic creation - SNS topic policy - SNS topic subscriptions It's possible to subscribe SQS as Dead Letter Queue. Usage Amazon Simple Notification Service (Amazon SNS) is a web service that coordinates and manages the delivery or sending of messages to subscribing endpoints or clients. SNS documentation There are many ways SNS can be used. As an example we can imagine CloudWatch sending alerts to SNS,
| Name | Type | Description | Default |
|---|---|---|---|
| content_based_deduplication | bool | Enable content-based deduplication for FIFO topics | false |
| tenant | string | ID element _(Rarely used, not included by default)_. A customer identifier, indi | null |
| additional_tag_map | map(string) | Additional key-value pairs to add to each map in `tags_as_list_of_maps`. Not add | {} |
| regex_replace_chars | string | Terraform regular expression (regex) string. Characters matching the regex will | null |
| sqs_dlq_enabled | bool | Enable delivery of failed notifications to SQS and monitor messages in queue. | false |
| delivery_status | object({ application = opt | Enable Message delivery status for the various SNS subscription endpoints. The s | {} |
| delimiter | string | Delimiter to be used between ID elements. Defaults to `-` (hyphen). Set to `""` | null |
| tags | map(string) | Additional tags (e.g. `{'BusinessUnit': 'XYZ'}`). Neither the tag keys nor the t | {} |
| subscribers | map(object({ protocol = st | Required configuration for subscibres to SNS topic. | {} |
| sns_topic_policy_json | string | The fully-formed AWS policy as JSON | "" |
| fifo_queue_enabled | bool | Whether or not to create a FIFO (first-in-first-out) queue | false |
| sqs_dlq_message_retention_seconds | number | The number of seconds Amazon SQS retains a message. Integer representing seconds | 1209600 |
| delivery_policy | string | The SNS delivery policy as JSON. | null |
| stage | string | ID element. Usually used to indicate role, e.g. 'prod', 'staging', 'source', 'bu | null |
| label_order | list(string) | The order in which the labels (ID elements) appear in the `id`. Defaults to ["na | null |
| sqs_queue_kms_data_key_reuse_period_seconds | number | The length of time, in seconds, for which Amazon SQS can reuse a data key to enc | 300 |
| allowed_iam_arns_for_sns_publish | list(string) | IAM role/user ARNs that will have permission to publish to SNS topic. Used when | [] |
| sqs_dlq_max_message_size | number | The limit of how many bytes a message can contain before Amazon SQS rejects it. | 262144 |
| id_length_limit | number | Limit `id` to this many characters (minimum 6). Set to `0` for unlimited length. | null |
| label_value_case | string | Controls the letter case of ID elements (labels) as included in `id`, set as tag | null |
sns_topic — SNS topic.sns_topic_name — SNS topic name.sns_topic_id — SNS topic ID.sns_topic_owner — SNS topic owner.dead_letter_queue_url — The URL for the created dead letter SQS queue.dead_letter_queue_name — The name for the created dead letter queue.dead_letter_queue_arn — The ARN of the dead letter queue.sns_topic_arn — SNS topic ARN.aws_sns_topic_subscriptions — SNS topic subscription.dead_letter_queue_id — The ID for the created dead letter queue. Same as the URL.Azure landing zones Terraform module
Terraform supermodule for the Terraform platform engineering for Azure
Terraform module to deploy landing zone subscriptions (and much more) in Azure
Terraform Module to define a consistent naming convention by (namespace, stage,