Class: AWSCDK::SNSSubscriptions::FirehoseSubscriptionProps

Inherits:
SubscriptionProps
  • Object
show all
Defined in:
sns_subscriptions/firehose_subscription_props.rb

Overview

Properties for an Amazon Data Firehose subscription.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(dead_letter_queue: nil, filter_policy: nil, filter_policy_with_message_body: nil, raw_message_delivery: nil, role: nil) ⇒ FirehoseSubscriptionProps

Returns a new instance of FirehoseSubscriptionProps.

Parameters:

  • dead_letter_queue (AWSCDK::SQS::IQueue, nil) (defaults to: nil)

    Queue to be used as dead letter queue.

  • filter_policy (Hash{String => AWSCDK::SNS::SubscriptionFilter}, nil) (defaults to: nil)

    The filter policy.

  • filter_policy_with_message_body (Hash{String => AWSCDK::SNS::FilterOrPolicy}, nil) (defaults to: nil)

    The filter policy that is applied on the message body.

  • raw_message_delivery (Boolean, nil) (defaults to: nil)

    Whether to remove any Amazon SNS metadata from published messages.

  • role (AWSCDK::IAM::IRole, nil) (defaults to: nil)

    The role to assume to write messages to the Amazon Data Firehose delivery stream.



12
13
14
15
16
17
18
19
20
21
22
23
# File 'sns_subscriptions/firehose_subscription_props.rb', line 12

def initialize(dead_letter_queue: nil, filter_policy: nil, filter_policy_with_message_body: nil, raw_message_delivery: nil, role: 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 = 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 = raw_message_delivery
  Jsii::Type.check_type(@raw_message_delivery, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "rawMessageDelivery") unless @raw_message_delivery.nil?
  @role = role
  Jsii::Type.check_type(@role, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklSb2xlIn0=")), "role") unless @role.nil?
end

Instance Attribute Details

#dead_letter_queueAWSCDK::SQS::IQueue? (readonly)

Note:

Default: - No dead letter queue enabled.

Queue to be used as dead letter queue.

If not passed no dead letter queue is enabled.

Returns:



31
32
33
# File 'sns_subscriptions/firehose_subscription_props.rb', line 31

def dead_letter_queue
  @dead_letter_queue
end

#filter_policyHash{String => AWSCDK::SNS::SubscriptionFilter}? (readonly)

Note:

Default: - all messages are delivered

The filter policy.

Returns:



36
37
38
# File 'sns_subscriptions/firehose_subscription_props.rb', line 36

def filter_policy
  @filter_policy
end

#filter_policy_with_message_bodyHash{String => AWSCDK::SNS::FilterOrPolicy}? (readonly)

Note:

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.

Returns:



43
44
45
# File 'sns_subscriptions/firehose_subscription_props.rb', line 43

def filter_policy_with_message_body
  @filter_policy_with_message_body
end

#raw_message_deliveryBoolean? (readonly)

Note:

Default: false

Whether to remove any Amazon SNS metadata from published messages.



49
50
51
# File 'sns_subscriptions/firehose_subscription_props.rb', line 49

def raw_message_delivery
  @raw_message_delivery
end

#roleAWSCDK::IAM::IRole? (readonly)

Note:

Default: - A new Role is created

The role to assume to write messages to the Amazon Data Firehose delivery stream.

Returns:



54
55
56
# File 'sns_subscriptions/firehose_subscription_props.rb', line 54

def role
  @role
end

Class Method Details

.jsii_propertiesObject



56
57
58
59
60
61
62
63
64
# File 'sns_subscriptions/firehose_subscription_props.rb', line 56

def self.jsii_properties
  {
    :dead_letter_queue => "deadLetterQueue",
    :filter_policy => "filterPolicy",
    :filter_policy_with_message_body => "filterPolicyWithMessageBody",
    :raw_message_delivery => "rawMessageDelivery",
    :role => "role",
  }
end

Instance Method Details

#to_jsiiObject



66
67
68
69
70
71
72
73
74
75
76
77
# File 'sns_subscriptions/firehose_subscription_props.rb', line 66

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,
    "role" => @role,
  })
  result.compact
end