Class: AWSCDK::Logs::SubscriptionFilterOptions

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
logs/subscription_filter_options.rb

Overview

Properties for a new SubscriptionFilter created from a LogGroup.

Direct Known Subclasses

SubscriptionFilterProps

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(destination:, filter_pattern:, distribution: nil, filter_name: nil) ⇒ SubscriptionFilterOptions

Returns a new instance of SubscriptionFilterOptions.

Parameters:



11
12
13
14
15
16
17
18
19
20
# File 'logs/subscription_filter_options.rb', line 11

def initialize(destination:, filter_pattern:, distribution: nil, filter_name: nil)
  @destination = destination
  Jsii::Type.check_type(@destination, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbG9ncy5JTG9nU3Vic2NyaXB0aW9uRGVzdGluYXRpb24ifQ==")), "destination")
  @filter_pattern = filter_pattern
  Jsii::Type.check_type(@filter_pattern, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbG9ncy5JRmlsdGVyUGF0dGVybiJ9")), "filterPattern")
  @distribution = distribution
  Jsii::Type.check_type(@distribution, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbG9ncy5EaXN0cmlidXRpb24ifQ==")), "distribution") unless @distribution.nil?
  @filter_name = filter_name
  Jsii::Type.check_type(@filter_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "filterName") unless @filter_name.nil?
end

Instance Attribute Details

#destinationAWSCDK::Logs::ILogSubscriptionDestination (readonly)

The destination to send the filtered events to.

For example, a Kinesis stream or a Lambda function.



27
28
29
# File 'logs/subscription_filter_options.rb', line 27

def destination
  @destination
end

#distributionAWSCDK::Logs::Distribution? (readonly)

Note:

Default: Distribution.BY_LOG_STREAM

The method used to distribute log data to the destination.

This property can only be used with KinesisDestination.

Returns:



38
39
40
# File 'logs/subscription_filter_options.rb', line 38

def distribution
  @distribution
end

#filter_nameString? (readonly)

Note:

Default: Automatically generated

The name of the subscription filter.

Returns:

  • (String, nil)


43
44
45
# File 'logs/subscription_filter_options.rb', line 43

def filter_name
  @filter_name
end

#filter_patternAWSCDK::Logs::IFilterPattern (readonly)

Log events matching this pattern will be sent to the destination.



31
32
33
# File 'logs/subscription_filter_options.rb', line 31

def filter_pattern
  @filter_pattern
end

Class Method Details

.jsii_propertiesObject



45
46
47
48
49
50
51
52
# File 'logs/subscription_filter_options.rb', line 45

def self.jsii_properties
  {
    :destination => "destination",
    :filter_pattern => "filterPattern",
    :distribution => "distribution",
    :filter_name => "filterName",
  }
end

Instance Method Details

#to_jsiiObject



54
55
56
57
58
59
60
61
62
63
# File 'logs/subscription_filter_options.rb', line 54

def to_jsii
  result = {}
  result.merge!({
    "destination" => @destination,
    "filterPattern" => @filter_pattern,
    "distribution" => @distribution,
    "filterName" => @filter_name,
  })
  result.compact
end