Class: AWSCDK::Logs::CfnSubscriptionFilterProps

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

Overview

Properties for defining a CfnSubscriptionFilter.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(destination_arn:, filter_pattern:, log_group_name:, apply_on_transformed_logs: nil, distribution: nil, emit_system_fields: nil, field_selection_criteria: nil, filter_name: nil, role_arn: nil) ⇒ CfnSubscriptionFilterProps

Returns a new instance of CfnSubscriptionFilterProps.

Parameters:

  • destination_arn (String, AWSCDK::Interfaces::AWSKinesis::IStreamRef, AWSCDK::Interfaces::AWSKinesisfirehose::IDeliveryStreamRef, AWSCDK::Interfaces::AWSLambda::IFunctionRef)

    The Amazon Resource Name (ARN) of the destination.

  • filter_pattern (String)

    The filtering expressions that restrict what gets delivered to the destination AWS resource.

  • log_group_name (String, AWSCDK::Interfaces::AWSLogs::ILogGroupRef)

    The log group to associate with the subscription filter.

  • apply_on_transformed_logs (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    This parameter is valid only for log groups that have an active log transformer.

  • distribution (String, nil) (defaults to: nil)

    The method used to distribute log data to the destination, which can be either random or grouped by log stream.

  • emit_system_fields (Array<String>, nil) (defaults to: nil)

    The list of system fields that are included in the log events sent to the subscription destination.

  • field_selection_criteria (String, nil) (defaults to: nil)

    The filter expression that specifies which log events are processed by this subscription filter based on system fields.

  • filter_name (String, nil) (defaults to: nil)

    The name of the subscription filter.

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

    The ARN of an IAM role that grants CloudWatch Logs permissions to deliver ingested log events to the destination stream.



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'logs/cfn_subscription_filter_props.rb', line 18

def initialize(destination_arn:, filter_pattern:, log_group_name:, apply_on_transformed_logs: nil, distribution: nil, emit_system_fields: nil, field_selection_criteria: nil, filter_name: nil, role_arn: nil)
  @destination_arn = destination_arn
  Jsii::Type.check_type(@destination_arn, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19raW5lc2lzLklTdHJlYW1SZWYifSx7ImZxbiI6ImF3cy1jZGstbGliLmludGVyZmFjZXMuYXdzX2tpbmVzaXNmaXJlaG9zZS5JRGVsaXZlcnlTdHJlYW1SZWYifSx7ImZxbiI6ImF3cy1jZGstbGliLmludGVyZmFjZXMuYXdzX2xhbWJkYS5JRnVuY3Rpb25SZWYifV19fQ==")), "destinationArn")
  @filter_pattern = filter_pattern
  Jsii::Type.check_type(@filter_pattern, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "filterPattern")
  @log_group_name = log_group_name
  Jsii::Type.check_type(@log_group_name, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19sb2dzLklMb2dHcm91cFJlZiJ9XX19")), "logGroupName")
  @apply_on_transformed_logs = apply_on_transformed_logs
  Jsii::Type.check_type(@apply_on_transformed_logs, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "applyOnTransformedLogs") unless @apply_on_transformed_logs.nil?
  @distribution = distribution
  Jsii::Type.check_type(@distribution, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "distribution") unless @distribution.nil?
  @emit_system_fields = emit_system_fields
  Jsii::Type.check_type(@emit_system_fields, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "emitSystemFields") unless @emit_system_fields.nil?
  @field_selection_criteria = field_selection_criteria
  Jsii::Type.check_type(@field_selection_criteria, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "fieldSelectionCriteria") unless @field_selection_criteria.nil?
  @filter_name = filter_name
  Jsii::Type.check_type(@filter_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "filterName") unless @filter_name.nil?
  @role_arn = role_arn
  Jsii::Type.check_type(@role_arn, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19pYW0uSVJvbGVSZWYifV19fQ==")), "roleArn") unless @role_arn.nil?
end

Instance Attribute Details

#apply_on_transformed_logsBoolean, ... (readonly)

This parameter is valid only for log groups that have an active log transformer.

For more information about log transformers, see PutTransformer .

If this value is true , the subscription filter is applied on the transformed version of the log events instead of the original ingested log events.



66
67
68
# File 'logs/cfn_subscription_filter_props.rb', line 66

def apply_on_transformed_logs
  @apply_on_transformed_logs
end

#destination_arnString, ... (readonly)

The Amazon Resource Name (ARN) of the destination.



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

def destination_arn
  @destination_arn
end

#distributionString? (readonly)

The method used to distribute log data to the destination, which can be either random or grouped by log stream.



71
72
73
# File 'logs/cfn_subscription_filter_props.rb', line 71

def distribution
  @distribution
end

#emit_system_fieldsArray<String>? (readonly)

The list of system fields that are included in the log events sent to the subscription destination.

Returns the emit_system_fields value if it was specified when the subscription filter was created.



78
79
80
# File 'logs/cfn_subscription_filter_props.rb', line 78

def emit_system_fields
  @emit_system_fields
end

#field_selection_criteriaString? (readonly)

The filter expression that specifies which log events are processed by this subscription filter based on system fields.

Returns the field_selection_criteria value if it was specified when the subscription filter was created.



85
86
87
# File 'logs/cfn_subscription_filter_props.rb', line 85

def field_selection_criteria
  @field_selection_criteria
end

#filter_nameString? (readonly)

The name of the subscription filter.



90
91
92
# File 'logs/cfn_subscription_filter_props.rb', line 90

def filter_name
  @filter_name
end

#filter_patternString (readonly)

The filtering expressions that restrict what gets delivered to the destination AWS resource.

For more information about the filter pattern syntax, see Filter and Pattern Syntax .



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

def filter_pattern
  @filter_pattern
end

#log_group_nameString, AWSCDK::Interfaces::AWSLogs::ILogGroupRef (readonly)

The log group to associate with the subscription filter.

All log events that are uploaded to this log group are filtered and delivered to the specified AWS resource if the filter pattern matches the log events.



57
58
59
# File 'logs/cfn_subscription_filter_props.rb', line 57

def log_group_name
  @log_group_name
end

#role_arnString, ... (readonly)

The ARN of an IAM role that grants CloudWatch Logs permissions to deliver ingested log events to the destination stream.

You don't need to provide the ARN when you are working with a logical destination for cross-account delivery.



97
98
99
# File 'logs/cfn_subscription_filter_props.rb', line 97

def role_arn
  @role_arn
end

Class Method Details

.jsii_propertiesObject



99
100
101
102
103
104
105
106
107
108
109
110
111
# File 'logs/cfn_subscription_filter_props.rb', line 99

def self.jsii_properties
  {
    :destination_arn => "destinationArn",
    :filter_pattern => "filterPattern",
    :log_group_name => "logGroupName",
    :apply_on_transformed_logs => "applyOnTransformedLogs",
    :distribution => "distribution",
    :emit_system_fields => "emitSystemFields",
    :field_selection_criteria => "fieldSelectionCriteria",
    :filter_name => "filterName",
    :role_arn => "roleArn",
  }
end

Instance Method Details

#to_jsiiObject



113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# File 'logs/cfn_subscription_filter_props.rb', line 113

def to_jsii
  result = {}
  result.merge!({
    "destinationArn" => @destination_arn,
    "filterPattern" => @filter_pattern,
    "logGroupName" => @log_group_name,
    "applyOnTransformedLogs" => @apply_on_transformed_logs,
    "distribution" => @distribution,
    "emitSystemFields" => @emit_system_fields,
    "fieldSelectionCriteria" => @field_selection_criteria,
    "filterName" => @filter_name,
    "roleArn" => @role_arn,
  })
  result.compact
end