| Name | Version |
|---|---|
| terraform | >= 1.0 |
| terraform | >=1.3 |
| aws | ~> 5.0 |
| Name | Version |
|---|---|
| aws | 5.100.0 |
| Name | Type |
|---|---|
| aws_lambda_permission.sns_invoke | resource |
| aws_sns_topic.this | resource |
| aws_sns_topic_policy.this | resource |
| aws_sns_topic_subscription.application | resource |
| aws_sns_topic_subscription.email | resource |
| aws_sns_topic_subscription.http | resource |
| aws_sns_topic_subscription.lambda | resource |
| aws_sns_topic_subscription.sms | resource |
| aws_sns_topic_subscription.sqs | resource |
| aws_sqs_queue_policy.sns_access | resource |
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| environment | Environment (e.g., prod, dev, test) | string |
n/a | yes |
| project_name | Name of the project | string |
n/a | yes |
| application_subscriptions | List of application subscriptions | list(object({ |
[] |
no |
| content_based_deduplication | Enables content-based deduplication for FIFO topics | bool |
false |
no |
| create_lambda_permissions | Whether to create Lambda permissions for SNS to invoke the function | bool |
true |
no |
| create_sqs_permissions | Whether to create SQS queue policies for SNS to send messages | bool |
true |
no |
| delivery_policy | The SNS delivery policy | string |
"" |
no |
| display_name | The display name for the SNS topic | string |
"" |
no |
| email_subscriptions | List of email subscriptions | list(object({ |
[] |
no |
| fifo_topic | Boolean indicating whether or not to create a FIFO (first-in-first-out) topic | bool |
false |
no |
| http_subscriptions | List of HTTP/HTTPS subscriptions | list(object({ |
[] |
no |
| kms_master_key_id | The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK | string |
"alias/aws/sns" |
no |
| lambda_subscriptions | List of Lambda subscriptions | list(object({ |
[] |
no |
| name_prefix | Prefix for resource names (if not provided, will use project-environment pattern) | string |
"" |
no |
| policy | The fully-formed AWS IAM policy setup for the SNS topic | string |
"" |
no |
| sms_subscriptions | List of SMS subscriptions | list(object({ |
[] |
no |
| sqs_subscriptions | List of SQS subscriptions | list(object({ |
[] |
no |
| tags | Additional tags for all resources | map(string) |
{} |
no |
| topic_name | Name of the SNS topic (if empty, will use project-environment pattern) | string |
"" |
no |
| Name | Description |
|---|---|
| application_subscription_arns | ARNs of the application subscriptions |
| email_subscription_arns | ARNs of the email subscriptions |
| http_subscription_arns | ARNs of the HTTP/HTTPS subscriptions |
| lambda_subscription_arns | ARNs of the Lambda subscriptions |
| sms_subscription_arns | ARNs of the SMS subscriptions |
| sqs_subscription_arns | ARNs of the SQS subscriptions |
| topic_arn | The ARN of the SNS topic |
| topic_id | The ID of the SNS topic |
| topic_name | The name of the SNS topic |
| topic_owner | The AWS Account ID of the SNS topic owner |