Skip to main content
Version: Next

AWS SNS-TOPIC

Description

Terraform Module to Provide an Amazon Simple Notification Service (SNS)

Specification

Properties

NameDescriptionTypeRequiredDefault
allowed_aws_services_for_sns_publishedAWS services that will have permission to publish to SNS topic. Used when no external JSON policy is usedlist(string)false
allowed_iam_arns_for_sns_publishIAM role/user ARNs that will have permission to publish to SNS topic. Used when no external json policy is used.list(string)false
content_based_deduplicationEnable content-based deduplication for FIFO topicsboolfalse
delivery_policyThe SNS delivery policy as JSON.stringfalse
encryption_enabledWhether or not to use encryption for SNS Topic. If set to true and no custom value for KMS key (kms_master_key_id) is provided, it uses the default alias/aws/sns KMS key.boolfalse
fifo_queue_enabledWhether or not to create a FIFO (first-in-first-out) queueboolfalse
fifo_topicWhether or not to create a FIFO (first-in-first-out) topicboolfalse
kms_master_key_idThe ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK.stringfalse
redrive_policyThe SNS redrive policy as JSON. This overrides var.redrive_policy_max_receiver_count and the deadLetterTargetArn (supplied by var.fifo_queue = true) passed in by the module.stringfalse
redrive_policy_max_receiver_countThe number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the ReceiveCount for a message exceeds the maxReceiveCount for a queue, Amazon SQS moves the message to the dead-letter-queue.numberfalse
sns_topic_policy_jsonThe fully-formed AWS policy as JSONstringfalse
sqs_dlq_enabledEnable delivery of failed notifications to SQS and monitor messages in queue.boolfalse
sqs_dlq_max_message_sizeThe limit of how many bytes a message can contain before Amazon SQS rejects it. An integer from 1024 bytes (1 KiB) up to 262144 bytes (256 KiB). The default for this attribute is 262144 (256 KiB).numberfalse
sqs_dlq_message_retention_secondsThe number of seconds Amazon SQS retains a message. Integer representing seconds, from 60 (1 minute) to 1209600 (14 days).numberfalse
sqs_queue_kms_data_key_reuse_period_secondsThe length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS againnumberfalse
sqs_queue_kms_master_key_idThe ID of an AWS-managed customer master key (CMK) for Amazon SQS Queue or a custom CMKstringfalse
subscribersRequired configuration for subscibres to SNS topic.map(object({\n protocol = string\n # The protocol to use. The possible values for this are: sqs, sms, lambda, application. (http or https are partially supported, see below) (email is an option but is unsupported, see below).\n endpoint = string\n # The endpoint to send data to, the contents will vary with the protocol. (see below for more information)\n endpoint_auto_confirms = bool\n # Boolean indicating whether the end point is capable of auto confirming subscription e.g., PagerDuty (default is false)\n raw_message_delivery = bool\n # Boolean indicating whether or not to enable raw message delivery (the original message is directly passed, not wrapped in JSON with the original message in the message property) (default is false)\n }))false
writeConnectionSecretToRefThe secret which the cloud resource connection will be written towriteConnectionSecretToReffalse

writeConnectionSecretToRef

NameDescriptionTypeRequiredDefault
nameThe secret name which the cloud resource connection will be written tostringtrue
namespaceThe secret namespace which the cloud resource connection will be written tostringfalse