Provides an SNS topic resource

Example Usage

resource "aws_sns_topic" "user_updates" {
  name = "user-updates-topic"

Example with Delivery Policy

resource "aws_sns_topic" "user_updates" {
  name = "user-updates-topic"
  delivery_policy = <<EOF
  "http": {
    "defaultHealthyRetryPolicy": {
      "minDelayTarget": 20,
      "maxDelayTarget": 20,
      "numRetries": 3,
      "numMaxDelayRetries": 0,
      "numNoDelayRetries": 0,
      "numMinDelayRetries": 0,
      "backoffFunction": "linear"
    "disableSubscriptionOverrides": false,
    "defaultThrottlePolicy": {
      "maxReceivesPerSecond": 1

Message Delivery Status Arguments

The <endpoint>_success_feedback_role_arn and <endpoint>_failure_feedback_role_arn arguments are used to give Amazon SNS write access to use CloudWatch Logs on your behalf. The <endpoint>_success_feedback_sample_rate argument is for specifying the sample rate percentage (0-100) of successfully delivered messages. After you configure the <endpoint>_failure_feedback_role_arn argument, then all failed message deliveries generate CloudWatch Logs.

Argument Reference

The following arguments are supported:

Attributes Reference

In addition to all arguments above, the following attributes are exported:

  • id - The ARN of the SNS topic
  • arn - The ARN of the SNS topic, as a more obvious property (clone of id)


SNS Topics can be imported using the topic arn, e.g.

$ terraform import aws_sns_topic.user_updates arn:aws:sns:us-west-2:0123456789012:my-topic

© 2018 HashiCorpLicensed under the MPL 2.0 License.