Skip to content
v2.274.0

ITopic Interface ​

Represents an SNS topic.

Properties ​

contentBasedDeduplicationbooleancontent_based_deduplicationboolcontentBasedDeduplicationBooleanContentBasedDeduplicationboolContentBasedDeduplication*boolrequired#
Enables content-based deduplication for FIFO topics.
The environment this resource belongs to.
notes

For resources that are created and managed in a Stack (those created by creating new class instances like new Role(), new Bucket(), etc.), this is always the same as the environment of the stack they belong to.

For referenced resources (those obtained from referencing methods like Role.fromRoleArn(), Bucket.fromBucketName(), etc.), they might be different than the stack they were imported into.

fifobooleanfifoboolfifoBooleanFifoboolFifo*boolrequired#
Whether this topic is an Amazon SNS FIFO queue.

If false, this is a standard topic.

masterKeyIKeymaster_keyIKeymasterKeyIKeyMasterKeyIKeyMasterKeyIKey= None#
A KMS Key, either managed by this CDK app, or imported.

This property applies only to server-side encryption.

nodeNodenodeNodenodeNodeNodeNodeNodeNoderequired#
The tree node.
stackStackstackStackstackStackStackStackStackStackrequired#
The stack in which this resource is defined.
topicArnstringtopic_arnstrtopicArnStringTopicArnstringTopicArn*stringrequired#
The ARN of the topic.
topicNamestringtopic_namestrtopicNameStringTopicNamestringTopicName*stringrequired#
The name of the topic.
topicRefTopicReferencetopic_refTopicReferencetopicRefTopicReferenceTopicRefTopicReferenceTopicRefTopicReferencerequired#
A reference to a Topic resource.

Methods ​

addSubscription(subscription: ITopicSubscription): Subscriptiondef add_subscription(self, subscription: ITopicSubscription) -> Subscriptionpublic Subscription addSubscription(ITopicSubscription subscription)public Subscription AddSubscription(ITopicSubscription subscription)func AddSubscription(Subscription ITopicSubscription) Subscription#
Subscribe some endpoint to this topic.
addToResourcePolicy(statement: PolicyStatement): AddToResourcePolicyResultdef add_to_resource_policy(self, statement: PolicyStatement) -> AddToResourcePolicyResultpublic AddToResourcePolicyResult addToResourcePolicy(PolicyStatement statement)public AddToResourcePolicyResult AddToResourcePolicy(PolicyStatement statement)func AddToResourcePolicy(Statement PolicyStatement) AddToResourcePolicyResult#
Adds a statement to the IAM resource policy associated with this topic.

If this topic was created in this stack (new Topic), a topic policy will be automatically created upon the first call to addToResourcePolicy. If the topic is imported (Topic.import), then this is a no-op.

applyRemovalPolicy(policy: RemovalPolicy): voiddef apply_removal_policy(self, policy: RemovalPolicy) -> Nonepublic void applyRemovalPolicy(RemovalPolicy policy)public void ApplyRemovalPolicy(RemovalPolicy policy)func ApplyRemovalPolicy(Policy RemovalPolicy)#
Apply the given removal policy to this resource.
notes

The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you've removed it from the CDK application or because you've made a change that requires the resource to be replaced.

The resource can be deleted (RemovalPolicy.DESTROY), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN).

bindAsNotificationRuleTarget(scope: Construct): NotificationRuleTargetConfigdef bind_as_notification_rule_target(self, scope: Construct) -> NotificationRuleTargetConfigpublic NotificationRuleTargetConfig bindAsNotificationRuleTarget(Construct scope)public NotificationRuleTargetConfig BindAsNotificationRuleTarget(Construct scope)func BindAsNotificationRuleTarget(Scope Construct) NotificationRuleTargetConfig#
Returns a target configuration for notification rule.
grantPublish(identity: IGrantable): Grantdef grant_publish(self, identity: IGrantable) -> Grantpublic Grant grantPublish(IGrantable identity)public Grant GrantPublish(IGrantable identity)func GrantPublish(Identity IGrantable) Grant#
Grant topic publishing permissions to the given identity.
grantSubscribe(identity: IGrantable): Grantdef grant_subscribe(self, identity: IGrantable) -> Grantpublic Grant grantSubscribe(IGrantable identity)public Grant GrantSubscribe(IGrantable identity)func GrantSubscribe(Identity IGrantable) Grant#
Grant topic subscribing permissions to the given identity.
metric(metricName: string, props?: MetricOptions): Metricdef metric(self, metric_name: str, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metric(String metricName, MetricOptions props)public Metric Metric(string metricName, MetricOptions? props = null)func Metric(MetricName *string, Props MetricOptions) Metric#
Return the given named metric for this Topic.
metricNumberOfMessagesPublished(props?: MetricOptions): Metricdef metric_number_of_messages_published(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricNumberOfMessagesPublished(MetricOptions props)public Metric MetricNumberOfMessagesPublished(MetricOptions? props = null)func MetricNumberOfMessagesPublished(Props MetricOptions) Metric#
The number of messages published to your Amazon SNS topics.

Sum over 5 minutes

metricNumberOfNotificationsDelivered(props?: MetricOptions): Metricdef metric_number_of_notifications_delivered(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricNumberOfNotificationsDelivered(MetricOptions props)public Metric MetricNumberOfNotificationsDelivered(MetricOptions? props = null)func MetricNumberOfNotificationsDelivered(Props MetricOptions) Metric#
The number of messages successfully delivered from your Amazon SNS topics to subscribing endpoints.

Sum over 5 minutes

metricNumberOfNotificationsFailed(props?: MetricOptions): Metricdef metric_number_of_notifications_failed(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricNumberOfNotificationsFailed(MetricOptions props)public Metric MetricNumberOfNotificationsFailed(MetricOptions? props = null)func MetricNumberOfNotificationsFailed(Props MetricOptions) Metric#
The number of messages that Amazon SNS failed to deliver.

Sum over 5 minutes

metricNumberOfNotificationsFilteredOut(props?: MetricOptions): Metricdef metric_number_of_notifications_filtered_out(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricNumberOfNotificationsFilteredOut(MetricOptions props)public Metric MetricNumberOfNotificationsFilteredOut(MetricOptions? props = null)func MetricNumberOfNotificationsFilteredOut(Props MetricOptions) Metric#
The number of messages that were rejected by subscription filter policies.

Sum over 5 minutes

metricNumberOfNotificationsFilteredOutInvalidAttributes(props?: MetricOptions): Metricdef metric_number_of_notifications_filtered_out_invalid_attributes(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricNumberOfNotificationsFilteredOutInvalidAttributes(MetricOptions props)public Metric MetricNumberOfNotificationsFilteredOutInvalidAttributes(MetricOptions? props = null)func MetricNumberOfNotificationsFilteredOutInvalidAttributes(Props MetricOptions) Metric#
The number of messages that were rejected by subscription filter policies because the messages' attributes are invalid.

Sum over 5 minutes

metricNumberOfNotificationsFilteredOutNoMessageAttributes(props?: MetricOptions): Metricdef metric_number_of_notifications_filtered_out_no_message_attributes(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricNumberOfNotificationsFilteredOutNoMessageAttributes(MetricOptions props)public Metric MetricNumberOfNotificationsFilteredOutNoMessageAttributes(MetricOptions? props = null)func MetricNumberOfNotificationsFilteredOutNoMessageAttributes(Props MetricOptions) Metric#
The number of messages that were rejected by subscription filter policies because the messages have no attributes.

Sum over 5 minutes

metricPublishSize(props?: MetricOptions): Metricdef metric_publish_size(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricPublishSize(MetricOptions props)public Metric MetricPublishSize(MetricOptions? props = null)func MetricPublishSize(Props MetricOptions) Metric#
Metric for the size of messages published through this topic.

Average over 5 minutes

metricSMSMonthToDateSpentUSD(props?: MetricOptions): Metricdef metric_sms_month_to_date_spent_usd(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricSMSMonthToDateSpentUSD(MetricOptions props)public Metric MetricSMSMonthToDateSpentUSD(MetricOptions? props = null)func MetricSMSMonthToDateSpentUSD(Props MetricOptions) Metric#
The charges you have accrued since the start of the current calendar month for sending SMS messages.

Maximum over 5 minutes

metricSMSSuccessRate(props?: MetricOptions): Metricdef metric_sms_success_rate(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricSMSSuccessRate(MetricOptions props)public Metric MetricSMSSuccessRate(MetricOptions? props = null)func MetricSMSSuccessRate(Props MetricOptions) Metric#
The rate of successful SMS message deliveries.

Sum over 5 minutes

with(...mixins: IMixin[]): IConstructdef with(self, mixins: IMixin) -> IConstructpublic IConstruct with(IMixin mixins)public IConstruct With(IMixin mixins)func With(Mixins IMixin) IConstruct#
Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the start of the call, so constructs added by a mixin will not be visited.

1 parameter · returns

Parameters

  • mixinsmixinsmixinsmixinsMixins — The mixins to apply.

Returns: This construct for chaining