Class: AWSCDK::Logs::SubscriptionFilterProps

Inherits:
SubscriptionFilterOptions
  • Object
show all
Defined in:
logs/subscription_filter_props.rb

Overview

Properties for a SubscriptionFilter.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

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

Returns a new instance of SubscriptionFilterProps.

Parameters:



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

def initialize(destination:, filter_pattern:, distribution: nil, filter_name: nil, log_group:)
  @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?
  @log_group = log_group
  Jsii::Type.check_type(@log_group, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19sb2dzLklMb2dHcm91cFJlZiJ9")), "logGroup")
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.



30
31
32
# File 'logs/subscription_filter_props.rb', line 30

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:



41
42
43
# File 'logs/subscription_filter_props.rb', line 41

def distribution
  @distribution
end

#filter_nameString? (readonly)

Note:

Default: Automatically generated

The name of the subscription filter.

Returns:

  • (String, nil)


46
47
48
# File 'logs/subscription_filter_props.rb', line 46

def filter_name
  @filter_name
end

#filter_patternAWSCDK::Logs::IFilterPattern (readonly)

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



34
35
36
# File 'logs/subscription_filter_props.rb', line 34

def filter_pattern
  @filter_pattern
end

#log_groupAWSCDK::Interfaces::AWSLogs::ILogGroupRef (readonly)

The log group to create the subscription on.



50
51
52
# File 'logs/subscription_filter_props.rb', line 50

def log_group
  @log_group
end

Class Method Details

.jsii_propertiesObject



52
53
54
55
56
57
58
59
60
# File 'logs/subscription_filter_props.rb', line 52

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

Instance Method Details

#to_jsiiObject



62
63
64
65
66
67
68
69
70
71
72
73
# File 'logs/subscription_filter_props.rb', line 62

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