Simple Notification Service (SNS) Topic Module
View SourceRelease NotesThis module makes it easy to deploy a SNS topic along with the publisher and subscriber policies for the topic.
How do I access the SNS topic?
This module includes several Terraform outputs, including:
topic_name: The Name of the created topictopic_display_name: The Display Name of the created topictopic_arn: The ARN of the created topictopic_policy: The Access policy of the created topic
Sample Usage
- Terraform
- Terragrunt
# ------------------------------------------------------------------------------------------------------
# DEPLOY GRUNTWORK'S SNS MODULE
# ------------------------------------------------------------------------------------------------------
module "sns" {
source = "git::git@github.com:gruntwork-io/terraform-aws-messaging.git//modules/sns?ref=v0.9.1"
# ----------------------------------------------------------------------------------------------------
# REQUIRED VARIABLES
# ----------------------------------------------------------------------------------------------------
# The name of the SNS topic.
name = <INPUT REQUIRED>
# ----------------------------------------------------------------------------------------------------
# OPTIONAL VARIABLES
# ----------------------------------------------------------------------------------------------------
# A list of IAM ARNs that will be given the rights to publish to the SNS topic.
allow_publish_accounts = []
# A list of AWS services that will be given the rights to publish to the SNS
# topic.
allow_publish_services = []
# A list of IAM ARNs that will be given the rights to subscribe to the SNS topic.
allow_subscribe_accounts = []
# A list of protocols that are allowed for subscription.
allow_subscribe_protocols = ["http","https","email","email-json","sms","sqs","application","lambda"]
# Enable or disable creation of the resources of this module.
create_resources = true
# The display name of the SNS topic. NOTE: Maximum length is 100 characters.
display_name = ""
# The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom
# CMK
kms_master_key_id = null
# A map of key value pairs to apply as tags to the SNS topic.
tags = {}
}
# Coming soon!
Reference
- Inputs
- Outputs
Required
namestringThe name of the SNS topic.
Optional
allow_publish_accountslist(string)A list of IAM ARNs that will be given the rights to publish to the SNS topic.
[]allow_publish_serviceslist(string)A list of AWS services that will be given the rights to publish to the SNS topic.
[]allow_subscribe_accountslist(string)A list of IAM ARNs that will be given the rights to subscribe to the SNS topic.
[]allow_subscribe_protocolslist(string)A list of protocols that are allowed for subscription.
[
"http",
"https",
"email",
"email-json",
"sms",
"sqs",
"application",
"lambda"
]
create_resourcesboolEnable or disable creation of the resources of this module.
truedisplay_namestringThe display name of the SNS topic. NOTE: Maximum length is 100 characters.
""kms_master_key_idstringThe ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK
nulltagsmap(string)A map of key value pairs to apply as tags to the SNS topic.
{}