Class: AWSCDK::SNS::LoggingConfig

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
sns/logging_config.rb

Overview

A logging configuration for delivery status of messages sent from SNS topic to subscribed endpoints.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(protocol:, failure_feedback_role: nil, success_feedback_role: nil, success_feedback_sample_rate: nil) ⇒ LoggingConfig

Returns a new instance of LoggingConfig.

Parameters:

  • protocol (AWSCDK::SNS::LoggingProtocol)

    Indicates one of the supported protocols for the SNS topic.

  • failure_feedback_role (AWSCDK::Interfaces::AWSIAM::IRoleRef, nil) (defaults to: nil)

    The IAM role to be used when logging failed message deliveries in Amazon CloudWatch.

  • success_feedback_role (AWSCDK::Interfaces::AWSIAM::IRoleRef, nil) (defaults to: nil)

    The IAM role to be used when logging successful message deliveries in Amazon CloudWatch.

  • success_feedback_sample_rate (Numeric, nil) (defaults to: nil)

    The percentage of successful message deliveries to be logged in Amazon CloudWatch.



13
14
15
16
17
18
19
20
21
22
# File 'sns/logging_config.rb', line 13

def initialize(protocol:, failure_feedback_role: nil, success_feedback_role: nil, success_feedback_sample_rate: nil)
  @protocol = protocol
  Jsii::Type.check_type(@protocol, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc25zLkxvZ2dpbmdQcm90b2NvbCJ9")), "protocol")
  @failure_feedback_role = failure_feedback_role
  Jsii::Type.check_type(@failure_feedback_role, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19pYW0uSVJvbGVSZWYifQ==")), "failureFeedbackRole") unless @failure_feedback_role.nil?
  @success_feedback_role = success_feedback_role
  Jsii::Type.check_type(@success_feedback_role, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19pYW0uSVJvbGVSZWYifQ==")), "successFeedbackRole") unless @success_feedback_role.nil?
  @success_feedback_sample_rate = success_feedback_sample_rate
  Jsii::Type.check_type(@success_feedback_sample_rate, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "successFeedbackSampleRate") unless @success_feedback_sample_rate.nil?
end

Instance Attribute Details

#failure_feedback_roleAWSCDK::Interfaces::AWSIAM::IRoleRef? (readonly)

Note:

Default: None

The IAM role to be used when logging failed message deliveries in Amazon CloudWatch.



32
33
34
# File 'sns/logging_config.rb', line 32

def failure_feedback_role
  @failure_feedback_role
end

#protocolAWSCDK::SNS::LoggingProtocol (readonly)

Indicates one of the supported protocols for the SNS topic.



27
28
29
# File 'sns/logging_config.rb', line 27

def protocol
  @protocol
end

#success_feedback_roleAWSCDK::Interfaces::AWSIAM::IRoleRef? (readonly)

Note:

Default: None

The IAM role to be used when logging successful message deliveries in Amazon CloudWatch.



37
38
39
# File 'sns/logging_config.rb', line 37

def success_feedback_role
  @success_feedback_role
end

#success_feedback_sample_rateNumeric? (readonly)

Note:

Default: None

The percentage of successful message deliveries to be logged in Amazon CloudWatch.

Valid values are integer between 0-100

Returns:

  • (Numeric, nil)


44
45
46
# File 'sns/logging_config.rb', line 44

def success_feedback_sample_rate
  @success_feedback_sample_rate
end

Class Method Details

.jsii_propertiesObject



46
47
48
49
50
51
52
53
# File 'sns/logging_config.rb', line 46

def self.jsii_properties
  {
    :protocol => "protocol",
    :failure_feedback_role => "failureFeedbackRole",
    :success_feedback_role => "successFeedbackRole",
    :success_feedback_sample_rate => "successFeedbackSampleRate",
  }
end

Instance Method Details

#to_jsiiObject



55
56
57
58
59
60
61
62
63
64
# File 'sns/logging_config.rb', line 55

def to_jsii
  result = {}
  result.merge!({
    "protocol" => @protocol,
    "failureFeedbackRole" => @failure_feedback_role,
    "successFeedbackRole" => @success_feedback_role,
    "successFeedbackSampleRate" => @success_feedback_sample_rate,
  })
  result.compact
end