Class: AWSCDK::SNSSubscriptions::URLSubscriptionProps
- Inherits:
-
SubscriptionProps
- Object
- SubscriptionProps
- AWSCDK::SNSSubscriptions::URLSubscriptionProps
- Defined in:
- sns_subscriptions/url_subscription_props.rb
Overview
Options for URL subscriptions.
Instance Attribute Summary collapse
-
#dead_letter_queue ⇒ AWSCDK::SQS::IQueue?
readonly
Queue to be used as dead letter queue.
-
#delivery_policy ⇒ AWSCDK::SNS::DeliveryPolicy?
readonly
The delivery policy.
-
#filter_policy ⇒ Hash{String => AWSCDK::SNS::SubscriptionFilter}?
readonly
The filter policy.
-
#filter_policy_with_message_body ⇒ Hash{String => AWSCDK::SNS::FilterOrPolicy}?
readonly
The filter policy that is applied on the message body.
-
#protocol ⇒ AWSCDK::SNS::SubscriptionProtocol?
readonly
The subscription's protocol.
-
#raw_message_delivery ⇒ Boolean?
readonly
The message to the queue is the same as it was sent to the topic.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(dead_letter_queue: nil, filter_policy: nil, filter_policy_with_message_body: nil, delivery_policy: nil, protocol: nil, raw_message_delivery: nil) ⇒ URLSubscriptionProps
constructor
A new instance of URLSubscriptionProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(dead_letter_queue: nil, filter_policy: nil, filter_policy_with_message_body: nil, delivery_policy: nil, protocol: nil, raw_message_delivery: nil) ⇒ URLSubscriptionProps
Returns a new instance of URLSubscriptionProps.
13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'sns_subscriptions/url_subscription_props.rb', line 13 def initialize(dead_letter_queue: nil, filter_policy: nil, filter_policy_with_message_body: nil, delivery_policy: nil, protocol: nil, raw_message_delivery: nil) @dead_letter_queue = dead_letter_queue Jsii::Type.check_type(@dead_letter_queue, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3FzLklRdWV1ZSJ9")), "deadLetterQueue") unless @dead_letter_queue.nil? @filter_policy = filter_policy Jsii::Type.check_type(@filter_policy, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zbnMuU3Vic2NyaXB0aW9uRmlsdGVyIn0sImtpbmQiOiJtYXAifX0=")), "filterPolicy") unless @filter_policy.nil? @filter_policy_with_message_body = Jsii::Type.check_type(@filter_policy_with_message_body, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zbnMuRmlsdGVyT3JQb2xpY3kifSwia2luZCI6Im1hcCJ9fQ==")), "filterPolicyWithMessageBody") unless @filter_policy_with_message_body.nil? @delivery_policy = delivery_policy.is_a?(Hash) ? ::AWSCDK::SNS::DeliveryPolicy.new(**delivery_policy.transform_keys(&:to_sym)) : delivery_policy Jsii::Type.check_type(@delivery_policy, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc25zLkRlbGl2ZXJ5UG9saWN5In0=")), "deliveryPolicy") unless @delivery_policy.nil? @protocol = protocol Jsii::Type.check_type(@protocol, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc25zLlN1YnNjcmlwdGlvblByb3RvY29sIn0=")), "protocol") unless @protocol.nil? @raw_message_delivery = Jsii::Type.check_type(@raw_message_delivery, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "rawMessageDelivery") unless @raw_message_delivery.nil? end |
Instance Attribute Details
#dead_letter_queue ⇒ AWSCDK::SQS::IQueue? (readonly)
Default: - No dead letter queue enabled.
Queue to be used as dead letter queue.
If not passed no dead letter queue is enabled.
34 35 36 |
# File 'sns_subscriptions/url_subscription_props.rb', line 34 def dead_letter_queue @dead_letter_queue end |
#delivery_policy ⇒ AWSCDK::SNS::DeliveryPolicy? (readonly)
Default: - if the initial delivery of the message fails, three retries with a delay between failed attempts set at 20 seconds
The delivery policy.
51 52 53 |
# File 'sns_subscriptions/url_subscription_props.rb', line 51 def delivery_policy @delivery_policy end |
#filter_policy ⇒ Hash{String => AWSCDK::SNS::SubscriptionFilter}? (readonly)
Default: - all messages are delivered
The filter policy.
39 40 41 |
# File 'sns_subscriptions/url_subscription_props.rb', line 39 def filter_policy @filter_policy end |
#filter_policy_with_message_body ⇒ Hash{String => AWSCDK::SNS::FilterOrPolicy}? (readonly)
Default: - all messages are delivered
The filter policy that is applied on the message body.
To apply a filter policy to the message attributes, use filter_policy. A maximum of one of filter_policy_with_message_body and filter_policy may be used.
46 47 48 |
# File 'sns_subscriptions/url_subscription_props.rb', line 46 def @filter_policy_with_message_body end |
#protocol ⇒ AWSCDK::SNS::SubscriptionProtocol? (readonly)
Default: - Protocol is derived from url
The subscription's protocol.
56 57 58 |
# File 'sns_subscriptions/url_subscription_props.rb', line 56 def protocol @protocol end |
#raw_message_delivery ⇒ Boolean? (readonly)
Default: false
The message to the queue is the same as it was sent to the topic.
If false, the message will be wrapped in an SNS envelope.
63 64 65 |
# File 'sns_subscriptions/url_subscription_props.rb', line 63 def @raw_message_delivery end |
Class Method Details
.jsii_properties ⇒ Object
65 66 67 68 69 70 71 72 73 74 |
# File 'sns_subscriptions/url_subscription_props.rb', line 65 def self.jsii_properties { :dead_letter_queue => "deadLetterQueue", :filter_policy => "filterPolicy", :filter_policy_with_message_body => "filterPolicyWithMessageBody", :delivery_policy => "deliveryPolicy", :protocol => "protocol", :raw_message_delivery => "rawMessageDelivery", } end |
Instance Method Details
#to_jsii ⇒ Object
76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'sns_subscriptions/url_subscription_props.rb', line 76 def to_jsii result = {} result.merge!(super) result.merge!({ "deadLetterQueue" => @dead_letter_queue, "filterPolicy" => @filter_policy, "filterPolicyWithMessageBody" => @filter_policy_with_message_body, "deliveryPolicy" => @delivery_policy, "protocol" => @protocol, "rawMessageDelivery" => @raw_message_delivery, }) result.compact end |