MDAA TS Docs
    Preparing search index...

    A construct which creates a compliant SNS Topic.

    Hierarchy

    • Topic
      • MdaaSnsTopic
    Index

    Constructors

    Properties

    autoCreatePolicy: boolean

    Controls automatic creation of policy objects.

    Set by subclasses.

    contentBasedDeduplication: boolean
    enforceSSL?: boolean

    Adds a statement to enforce encryption of data in transit when publishing to the topic.

    env: ResourceEnvironment

    The environment this resource belongs to. For resources that are created and managed by the CDK (generally, those created by creating new class instances like Role, Bucket, etc.), this is always the same as the environment of the stack they belong to; however, for imported resources (those obtained from static methods like fromRoleArn, fromBucketName, etc.), that might be different than the stack they were imported into.

    fifo: boolean
    masterKey?: IKey
    node: Node

    The tree node.

    physicalName: string

    Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.

    This value will resolve to one of the following:

    • a concrete value (e.g. "my-awesome-bucket")
    • undefined, when a name should be generated by CloudFormation
    • a concrete name generated automatically during synthesis, in cross-environment scenarios.
    stack: Stack

    The stack in which this resource is defined.

    topicArn: string
    topicName: string
    PROPERTY_INJECTION_ID: string

    Uniquely identifies this class.

    Methods

    • Internal

      Called when this resource is referenced across environments (account/region) to order to request that a physical name will be generated for this resource during synthesis, so the resource can be referenced through its absolute name/arn.

      Returns void

    • Adds a delivery status logging configuration to the topic.

      Parameters

      • config: LoggingConfig

      Returns void

    • Adds a SSL policy to the topic resource policy.

      Returns void

    • Subscribe some endpoint to this topic

      Parameters

      • topicSubscription: ITopicSubscription

      Returns Subscription

    • 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. However, if enforceSSL is set to true, the policy has already been created before the first call to this method.

      If the topic is imported (Topic.import), then this is a no-op.

      Parameters

      • statement: PolicyStatement

      Returns AddToResourcePolicyResult

    • Apply the given removal policy to this resource

      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).

      Parameters

      • policy: RemovalPolicy

      Returns void

    • Represents a notification target That allows SNS topic to associate with this rule target.

      Parameters

      • _scope: Construct

      Returns NotificationRuleTargetConfig

    • Creates a topic policy for this topic.

      Returns void

    • Returns string

    • Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. bucket.bucketArn).

      Normally, this token will resolve to arnAttr, but if the resource is referenced across environments, arnComponents will be used to synthesize a concrete ARN with the resource's physical name. Make sure to reference this.physicalName in arnComponents.

      Parameters

      • arnAttr: string

        The CFN attribute which resolves to the ARN of the resource. Commonly it will be called "Arn" (e.g. resource.attrArn), but sometimes it's the CFN resource's ref.

      • arnComponents: ArnComponents

        The format of the ARN of this resource. You must reference this.physicalName somewhere within the ARN in order for cross-environment references to work.

      Returns string

    • Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. bucket.bucketName).

      Normally, this token will resolve to nameAttr, but if the resource is referenced across environments, it will be resolved to this.physicalName, which will be a concrete name.

      Parameters

      • nameAttr: string

        The CFN attribute which resolves to the resource's name. Commonly this is the resource's ref.

      Returns string

    • Grant topic publishing permissions to the given identity

      Parameters

      • grantee: IGrantable

      Returns Grant

    • Grant topic subscribing permissions to the given identity

      Parameters

      • grantee: IGrantable

      Returns Grant

    • Return the given named metric for this Topic

      Parameters

      • metricName: string
      • Optionalprops: MetricOptions

      Returns Metric

    • The number of messages published to your Amazon SNS topics.

      Sum over 5 minutes

      Parameters

      • Optionalprops: MetricOptions

      Returns Metric

    • The number of messages successfully delivered from your Amazon SNS topics to subscribing endpoints.

      Sum over 5 minutes

      Parameters

      • Optionalprops: MetricOptions

      Returns Metric

    • The number of messages that Amazon SNS failed to deliver.

      Sum over 5 minutes

      Parameters

      • Optionalprops: MetricOptions

      Returns Metric

    • The number of messages that were rejected by subscription filter policies.

      Sum over 5 minutes

      Parameters

      • Optionalprops: MetricOptions

      Returns Metric

    • The number of messages that were rejected by subscription filter policies because the messages' attributes are invalid

      Sum over 5 minutes

      Parameters

      • Optionalprops: MetricOptions

      Returns Metric

    • The number of messages that were rejected by subscription filter policies because the messages have no attributes.

      Sum over 5 minutes

      Parameters

      • Optionalprops: MetricOptions

      Returns Metric

    • Metric for the size of messages published through this topic

      Average over 5 minutes

      Parameters

      • Optionalprops: MetricOptions

      Returns Metric

    • The charges you have accrued since the start of the current calendar month for sending SMS messages.

      Maximum over 5 minutes

      Parameters

      • Optionalprops: MetricOptions

      Returns Metric

    • The rate of successful SMS message deliveries.

      Sum over 5 minutes

      Parameters

      • Optionalprops: MetricOptions

      Returns Metric

    • Returns a string representation of this construct.

      Returns string

    • Import an existing SNS topic provided an ARN

      Parameters

      • scope: Construct

        The parent creating construct

      • id: string

        The construct's name

      • topicArn: string

        topic ARN (i.e. arn:aws:sns:us-east-2:444455556666:MyTopic)

      Returns ITopic

    • Import an existing SNS topic provided a topic attributes

      Parameters

      • scope: Construct

        The parent creating construct

      • id: string

        The construct's name

      • attrs: TopicAttributes

        the attributes of the topic to import

      Returns ITopic

    • Checks if x is a construct.

      Use this method instead of instanceof to properly detect Construct instances, even when the construct library is symlinked.

      Explanation: in JavaScript, multiple copies of the constructs library on disk are seen as independent, completely different libraries. As a consequence, the class Construct in each copy of the constructs library is seen as a different class, and an instance of one class will not test as instanceof the other class. npm install will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the constructs library can be accidentally installed, and instanceof will behave unpredictably. It is safest to avoid using instanceof, and using this type-testing method instead.

      Parameters

      • x: any

        Any object

      Returns x is Construct

      true if x is an object created from a class which extends Construct.

    • Returns true if the construct was created by CDK, and false otherwise

      Parameters

      • construct: IConstruct

      Returns boolean

    • Check whether the given construct is a Resource

      Parameters

      • construct: IConstruct

      Returns construct is Resource