Class CfnSubscription

java.lang.Object
software.amazon.jsii.JsiiObject
All Implemented Interfaces:
IConstruct, IDependable, IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:30:38.154Z") @Stability(Stable) public class CfnSubscription extends CfnResource implements IInspectable
A CloudFormation AWS::SNS::Subscription.

The AWS::SNS::Subscription resource subscribes an endpoint to an Amazon SNS topic. For a subscription to be created, the owner of the endpoint must confirm the subscription.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.sns.*;
 Object deliveryPolicy;
 Object filterPolicy;
 Object redrivePolicy;
 CfnSubscription cfnSubscription = CfnSubscription.Builder.create(this, "MyCfnSubscription")
         .protocol("protocol")
         .topicArn("topicArn")
         // the properties below are optional
         .deliveryPolicy(deliveryPolicy)
         .endpoint("endpoint")
         .filterPolicy(filterPolicy)
         .filterPolicyScope("filterPolicyScope")
         .rawMessageDelivery(false)
         .redrivePolicy(redrivePolicy)
         .region("region")
         .subscriptionRoleArn("subscriptionRoleArn")
         .build();
 
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnSubscription

      protected CfnSubscription(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnSubscription

      protected CfnSubscription(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnSubscription

      @Stability(Stable) public CfnSubscription(@NotNull Construct scope, @NotNull String id, @NotNull CfnSubscriptionProps props)
      Create a new AWS::SNS::Subscription.

      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      This parameter is required.
      props -
      • resource properties.
      This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector -
      • tree inspector to collect and process attributes.
      This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getDeliveryPolicy

      @Stability(Stable) @NotNull public Object getDeliveryPolicy()
      The delivery policy JSON assigned to the subscription.

      Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic. For more information, see [GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html) in the Amazon SNS API Reference and Message delivery retries in the Amazon SNS Developer Guide .

    • setDeliveryPolicy

      @Stability(Stable) public void setDeliveryPolicy(@NotNull Object value)
      The delivery policy JSON assigned to the subscription.

      Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic. For more information, see [GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html) in the Amazon SNS API Reference and Message delivery retries in the Amazon SNS Developer Guide .

    • getFilterPolicy

      @Stability(Stable) @NotNull public Object getFilterPolicy()
      The filter policy JSON assigned to the subscription.

      Enables the subscriber to filter out unwanted messages. For more information, see [GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html) in the Amazon SNS API Reference and Message filtering in the Amazon SNS Developer Guide .

    • setFilterPolicy

      @Stability(Stable) public void setFilterPolicy(@NotNull Object value)
      The filter policy JSON assigned to the subscription.

      Enables the subscriber to filter out unwanted messages. For more information, see [GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html) in the Amazon SNS API Reference and Message filtering in the Amazon SNS Developer Guide .

    • getProtocol

      @Stability(Stable) @NotNull public String getProtocol()
      The subscription's protocol.

      For more information, see the Protocol parameter of the [Subscribe](https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html) action in the Amazon SNS API Reference .

    • setProtocol

      @Stability(Stable) public void setProtocol(@NotNull String value)
      The subscription's protocol.

      For more information, see the Protocol parameter of the [Subscribe](https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html) action in the Amazon SNS API Reference .

    • getRedrivePolicy

      @Stability(Stable) @NotNull public Object getRedrivePolicy()
      When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue.

      Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.

      For more information about the redrive policy and dead-letter queues, see Amazon SQS dead-letter queues in the Amazon SQS Developer Guide .

    • setRedrivePolicy

      @Stability(Stable) public void setRedrivePolicy(@NotNull Object value)
      When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue.

      Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.

      For more information about the redrive policy and dead-letter queues, see Amazon SQS dead-letter queues in the Amazon SQS Developer Guide .

    • getTopicArn

      @Stability(Stable) @NotNull public String getTopicArn()
      The ARN of the topic to subscribe to.
    • setTopicArn

      @Stability(Stable) public void setTopicArn(@NotNull String value)
      The ARN of the topic to subscribe to.
    • getEndpoint

      @Stability(Stable) @Nullable public String getEndpoint()
      The subscription's endpoint.

      The endpoint value depends on the protocol that you specify. For more information, see the Endpoint parameter of the [Subscribe](https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html) action in the Amazon SNS API Reference .

    • setEndpoint

      @Stability(Stable) public void setEndpoint(@Nullable String value)
      The subscription's endpoint.

      The endpoint value depends on the protocol that you specify. For more information, see the Endpoint parameter of the [Subscribe](https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html) action in the Amazon SNS API Reference .

    • getFilterPolicyScope

      @Stability(Stable) @Nullable public String getFilterPolicyScope()
      This attribute lets you choose the filtering scope by using one of the following string value types:.

      • MessageAttributes (default) - The filter is applied on the message attributes.
      • MessageBody - The filter is applied on the message body.
    • setFilterPolicyScope

      @Stability(Stable) public void setFilterPolicyScope(@Nullable String value)
      This attribute lets you choose the filtering scope by using one of the following string value types:.

      • MessageAttributes (default) - The filter is applied on the message attributes.
      • MessageBody - The filter is applied on the message body.
    • getRawMessageDelivery

      @Stability(Stable) @Nullable public Object getRawMessageDelivery()
      When set to true , enables raw message delivery.

      Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints. For more information, see [GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html) in the Amazon SNS API Reference .

    • setRawMessageDelivery

      @Stability(Stable) public void setRawMessageDelivery(@Nullable Boolean value)
      When set to true , enables raw message delivery.

      Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints. For more information, see [GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html) in the Amazon SNS API Reference .

    • setRawMessageDelivery

      @Stability(Stable) public void setRawMessageDelivery(@Nullable IResolvable value)
      When set to true , enables raw message delivery.

      Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints. For more information, see [GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html) in the Amazon SNS API Reference .

    • getRegion

      @Stability(Stable) @Nullable public String getRegion()
      For cross-region subscriptions, the region in which the topic resides.

      If no region is specified, AWS CloudFormation uses the region of the caller as the default.

      If you perform an update operation that only updates the Region property of a AWS::SNS::Subscription resource, that operation will fail unless you are either:

      • Updating the Region from NULL to the caller region.
      • Updating the Region from the caller region to NULL .
    • setRegion

      @Stability(Stable) public void setRegion(@Nullable String value)
      For cross-region subscriptions, the region in which the topic resides.

      If no region is specified, AWS CloudFormation uses the region of the caller as the default.

      If you perform an update operation that only updates the Region property of a AWS::SNS::Subscription resource, that operation will fail unless you are either:

      • Updating the Region from NULL to the caller region.
      • Updating the Region from the caller region to NULL .
    • getSubscriptionRoleArn

      @Stability(Stable) @Nullable public String getSubscriptionRoleArn()
      This property applies only to Amazon Kinesis Data Firehose delivery stream subscriptions.

      Specify the ARN of the IAM role that has the following:

      • Permission to write to the Amazon Kinesis Data Firehose delivery stream
      • Amazon SNS listed as a trusted entity

      Specifying a valid ARN for this attribute is required for Kinesis Data Firehose delivery stream subscriptions. For more information, see Fanout to Amazon Kinesis Data Firehose delivery streams in the Amazon SNS Developer Guide.

    • setSubscriptionRoleArn

      @Stability(Stable) public void setSubscriptionRoleArn(@Nullable String value)
      This property applies only to Amazon Kinesis Data Firehose delivery stream subscriptions.

      Specify the ARN of the IAM role that has the following:

      • Permission to write to the Amazon Kinesis Data Firehose delivery stream
      • Amazon SNS listed as a trusted entity

      Specifying a valid ARN for this attribute is required for Kinesis Data Firehose delivery stream subscriptions. For more information, see Fanout to Amazon Kinesis Data Firehose delivery streams in the Amazon SNS Developer Guide.