ITopic Interface
Represents an SNS topic.
Properties
contentBasedDeduplicationbooleancontent_based_deduplicationboolcontentBasedDeduplicationBooleanContentBasedDeduplicationboolContentBasedDeduplication*boolrequired#envResourceEnvironmentenvResourceEnvironmentenvResourceEnvironmentEnvResourceEnvironmentEnvResourceEnvironmentrequired#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.
If false, this is a standard topic.
This property applies only to server-side encryption.
topicRefTopicReferencetopic_refTopicReferencetopicRefTopicReferenceTopicRefTopicReferenceTopicRefTopicReferencerequired#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#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#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)#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#grantPublish(identity: IGrantable): Grantdef grant_publish(self, identity: IGrantable) -> Grantpublic Grant grantPublish(IGrantable identity)public Grant GrantPublish(IGrantable identity)func GrantPublish(Identity IGrantable) Grant#grantSubscribe(identity: IGrantable): Grantdef grant_subscribe(self, identity: IGrantable) -> Grantpublic Grant grantSubscribe(IGrantable identity)public Grant GrantSubscribe(IGrantable identity)func GrantSubscribe(Identity IGrantable) Grant#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#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#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#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#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#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#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#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#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#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#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#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