Class: AWSCDK::SNSSubscriptions::SQSSubscriptionProps
- Inherits:
-
SubscriptionProps
- Object
- SubscriptionProps
- AWSCDK::SNSSubscriptions::SQSSubscriptionProps
- Defined in:
- sns_subscriptions/sqs_subscription_props.rb
Overview
Properties for an SQS subscription.
Instance Attribute Summary collapse
-
#dead_letter_queue ⇒ AWSCDK::SQS::IQueue?
readonly
Queue to be used as dead letter queue.
-
#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.
-
#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, raw_message_delivery: nil) ⇒ SQSSubscriptionProps
constructor
A new instance of SQSSubscriptionProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(dead_letter_queue: nil, filter_policy: nil, filter_policy_with_message_body: nil, raw_message_delivery: nil) ⇒ SQSSubscriptionProps
Returns a new instance of SQSSubscriptionProps.
11 12 13 14 15 16 17 18 19 20 |
# File 'sns_subscriptions/sqs_subscription_props.rb', line 11 def initialize(dead_letter_queue: nil, filter_policy: nil, filter_policy_with_message_body: 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? @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.
28 29 30 |
# File 'sns_subscriptions/sqs_subscription_props.rb', line 28 def dead_letter_queue @dead_letter_queue end |
#filter_policy ⇒ Hash{String => AWSCDK::SNS::SubscriptionFilter}? (readonly)
Default: - all messages are delivered
The filter policy.
33 34 35 |
# File 'sns_subscriptions/sqs_subscription_props.rb', line 33 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.
40 41 42 |
# File 'sns_subscriptions/sqs_subscription_props.rb', line 40 def @filter_policy_with_message_body 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.
47 48 49 |
# File 'sns_subscriptions/sqs_subscription_props.rb', line 47 def @raw_message_delivery end |
Class Method Details
.jsii_properties ⇒ Object
49 50 51 52 53 54 55 56 |
# File 'sns_subscriptions/sqs_subscription_props.rb', line 49 def self.jsii_properties { :dead_letter_queue => "deadLetterQueue", :filter_policy => "filterPolicy", :filter_policy_with_message_body => "filterPolicyWithMessageBody", :raw_message_delivery => "rawMessageDelivery", } end |
Instance Method Details
#to_jsii ⇒ Object
58 59 60 61 62 63 64 65 66 67 68 |
# File 'sns_subscriptions/sqs_subscription_props.rb', line 58 def to_jsii result = {} result.merge!(super) result.merge!({ "deadLetterQueue" => @dead_letter_queue, "filterPolicy" => @filter_policy, "filterPolicyWithMessageBody" => @filter_policy_with_message_body, "rawMessageDelivery" => @raw_message_delivery, }) result.compact end |