Class CfnSubscription.Builder

java.lang.Object
software.amazon.awscdk.services.sns.CfnSubscription.Builder
All Implemented Interfaces:
software.amazon.jsii.Builder<CfnSubscription>
Enclosing class:
CfnSubscription

@Stability(Stable) public static final class CfnSubscription.Builder extends Object implements software.amazon.jsii.Builder<CfnSubscription>
A fluent builder for CfnSubscription.
  • Method Details

    • create

      @Stability(Stable) public static CfnSubscription.Builder create(Construct scope, String id)
      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      This parameter is required.
      Returns:
      a new instance of CfnSubscription.Builder.
    • protocol

      @Stability(Stable) public CfnSubscription.Builder protocol(String protocol)
      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 .

      Parameters:
      protocol - The subscription's protocol. This parameter is required.
      Returns:
      this
    • topicArn

      @Stability(Stable) public CfnSubscription.Builder topicArn(String topicArn)
      The ARN of the topic to subscribe to.

      Parameters:
      topicArn - The ARN of the topic to subscribe to. This parameter is required.
      Returns:
      this
    • deliveryPolicy

      @Stability(Stable) public CfnSubscription.Builder deliveryPolicy(Object deliveryPolicy)
      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 .

      Parameters:
      deliveryPolicy - The delivery policy JSON assigned to the subscription. This parameter is required.
      Returns:
      this
    • endpoint

      @Stability(Stable) public CfnSubscription.Builder endpoint(String endpoint)
      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 .

      Parameters:
      endpoint - The subscription's endpoint. This parameter is required.
      Returns:
      this
    • filterPolicy

      @Stability(Stable) public CfnSubscription.Builder filterPolicy(Object filterPolicy)
      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 .

      Parameters:
      filterPolicy - The filter policy JSON assigned to the subscription. This parameter is required.
      Returns:
      this
    • filterPolicyScope

      @Stability(Stable) public CfnSubscription.Builder filterPolicyScope(String filterPolicyScope)
      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.

      Parameters:
      filterPolicyScope - This attribute lets you choose the filtering scope by using one of the following string value types:. This parameter is required.
      Returns:
      this
    • rawMessageDelivery

      @Stability(Stable) public CfnSubscription.Builder rawMessageDelivery(Boolean rawMessageDelivery)
      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 .

      Parameters:
      rawMessageDelivery - When set to true , enables raw message delivery. This parameter is required.
      Returns:
      this
    • rawMessageDelivery

      @Stability(Stable) public CfnSubscription.Builder rawMessageDelivery(IResolvable rawMessageDelivery)
      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 .

      Parameters:
      rawMessageDelivery - When set to true , enables raw message delivery. This parameter is required.
      Returns:
      this
    • redrivePolicy

      @Stability(Stable) public CfnSubscription.Builder redrivePolicy(Object redrivePolicy)
      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 .

      Parameters:
      redrivePolicy - When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. This parameter is required.
      Returns:
      this
    • region

      @Stability(Stable) public CfnSubscription.Builder region(String region)
      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 .

      Parameters:
      region - For cross-region subscriptions, the region in which the topic resides. This parameter is required.
      Returns:
      this
    • subscriptionRoleArn

      @Stability(Stable) public CfnSubscription.Builder subscriptionRoleArn(String subscriptionRoleArn)
      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.

      Parameters:
      subscriptionRoleArn - This property applies only to Amazon Kinesis Data Firehose delivery stream subscriptions. This parameter is required.
      Returns:
      this
    • build

      @Stability(Stable) public CfnSubscription build()
      Specified by:
      build in interface software.amazon.jsii.Builder<CfnSubscription>
      Returns:
      a newly built instance of CfnSubscription.