TopicArgs

data class TopicArgs(val archivePolicy: Output<Any>? = null, val contentBasedDeduplication: Output<Boolean>? = null, val dataProtectionPolicy: Output<Any>? = null, val deliveryStatusLogging: Output<List<TopicLoggingConfigArgs>>? = null, val displayName: Output<String>? = null, val fifoTopic: Output<Boolean>? = null, val kmsMasterKeyId: Output<String>? = null, val signatureVersion: Output<String>? = null, val subscription: Output<List<TopicSubscriptionArgs>>? = null, val tags: Output<List<TagArgs>>? = null, val topicName: Output<String>? = null, val tracingConfig: Output<String>? = null) : ConvertibleToJava<TopicArgs>

The `AWS::SNS::Topic` resource creates a topic to which notifications can be published. One account can create a maximum of 100,000 standard topics and 1,000 FIFO topics. For more information, see endpoints and quotas in the General Reference. The structure of `AUTHPARAMS` depends on the .signature of the API request. For more information, see Examples of the complete Signature Version 4 signing process in the General Reference.

Example Usage

Example

No Java example available.

Example

No Java example available.

Constructors

Link copied to clipboard
constructor(archivePolicy: Output<Any>? = null, contentBasedDeduplication: Output<Boolean>? = null, dataProtectionPolicy: Output<Any>? = null, deliveryStatusLogging: Output<List<TopicLoggingConfigArgs>>? = null, displayName: Output<String>? = null, fifoTopic: Output<Boolean>? = null, kmsMasterKeyId: Output<String>? = null, signatureVersion: Output<String>? = null, subscription: Output<List<TopicSubscriptionArgs>>? = null, tags: Output<List<TagArgs>>? = null, topicName: Output<String>? = null, tracingConfig: Output<String>? = null)

Properties

Link copied to clipboard
val archivePolicy: Output<Any>? = null

The archive policy determines the number of days SNS retains messages. You can set a retention period from 1 to 365 days. Search the CloudFormation User Guide for AWS::SNS::Topic for more information about the expected schema for this property.

Link copied to clipboard
val contentBasedDeduplication: Output<Boolean>? = null

Enables content-based deduplication for FIFO topics.

Link copied to clipboard
val dataProtectionPolicy: Output<Any>? = null

The body of the policy document you want to use for this topic. You can only add one policy per topic. The policy must be in JSON string format. Length Constraints: Maximum length of 30,720. Search the CloudFormation User Guide for AWS::SNS::Topic for more information about the expected schema for this property.

Link copied to clipboard

The `DeliveryStatusLogging` configuration enables you to log the delivery status of messages sent from your Amazon SNS topic to subscribed endpoints with the following supported delivery protocols:

Link copied to clipboard
val displayName: Output<String>? = null

The display name to use for an SNS topic with SMS subscriptions. The display name must be maximum 100 characters long, including hyphens (-), underscores (_), spaces, and tabs.

Link copied to clipboard
val fifoTopic: Output<Boolean>? = null

Set to true to create a FIFO topic.

Link copied to clipboard
val kmsMasterKeyId: Output<String>? = null

The ID of an AWS managed customer master key (CMK) for SNS or a custom CMK. For more information, see Key terms. For more examples, see `KeyId` in the API Reference. This property applies only to server-side-encryption.

Link copied to clipboard
val signatureVersion: Output<String>? = null

The signature version corresponds to the hashing algorithm used while creating the signature of the notifications, subscription confirmations, or unsubscribe confirmation messages sent by Amazon SNS. By default, `SignatureVersion` is set to `1`.

Link copied to clipboard

The SNS subscriptions (endpoints) for this topic. If you specify the `Subscription` property in the `AWS::SNS::Topic` resource and it creates an associated subscription resource, the associated subscription is not deleted when the `AWS::SNS::Topic` resource is deleted.

Link copied to clipboard
val tags: Output<List<TagArgs>>? = null

The list of tags to add to a new topic. To be able to tag a topic on creation, you must have the `sns:CreateTopic` and `sns:TagResource` permissions.

Link copied to clipboard
val topicName: Output<String>? = null

The name of the topic you want to create. Topic names must include only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 256 characters long. FIFO topic names must end with `.fifo`. If you don't specify a name, CFN generates a unique physical ID and uses that ID for the topic name. For more information, see Name type. If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.

Link copied to clipboard
val tracingConfig: Output<String>? = null

Tracing mode of an SNS topic. By default `TracingConfig` is set to `PassThrough`, and the topic passes through the tracing header it receives from an SNS publisher to its subscriptions. If set to `Active`, SNS will vend X-Ray segment data to topic owner account if the sampled flag in the tracing header is true.

Functions

Link copied to clipboard
open override fun toJava(): TopicArgs