You are viewing documentation for version 3 of the AWS SDK for Ruby. Version 2 documentation can be found here.

Class: Aws::CloudWatchLogs::Types::PutSubscriptionFilterRequest

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-cloudwatchlogs/lib/aws-sdk-cloudwatchlogs/types.rb

Overview

Note:

When making an API call, you may pass PutSubscriptionFilterRequest data as a hash:

{
  log_group_name: "LogGroupName", # required
  filter_name: "FilterName", # required
  filter_pattern: "FilterPattern", # required
  destination_arn: "DestinationArn", # required
  role_arn: "RoleArn",
  distribution: "Random", # accepts Random, ByLogStream
}

Instance Attribute Summary collapse

Instance Attribute Details

#destination_arnString

The ARN of the destination to deliver matching log events to. Currently, the supported destinations are:

  • An Amazon Kinesis stream belonging to the same account as the subscription filter, for same-account delivery.

  • A logical destination (specified using an ARN) belonging to a different account, for cross-account delivery.

  • An Amazon Kinesis Firehose delivery stream belonging to the same account as the subscription filter, for same-account delivery.

  • An AWS Lambda function belonging to the same account as the subscription filter, for same-account delivery.

Returns:

  • (String)


1716
1717
1718
1719
1720
1721
1722
1723
1724
# File 'gems/aws-sdk-cloudwatchlogs/lib/aws-sdk-cloudwatchlogs/types.rb', line 1716

class PutSubscriptionFilterRequest < Struct.new(
  :log_group_name,
  :filter_name,
  :filter_pattern,
  :destination_arn,
  :role_arn,
  :distribution)
  include Aws::Structure
end

#distributionString

The method used to distribute log data to the destination. By default log data is grouped by log stream, but the grouping can be set to random for a more even distribution. This property is only applicable when the destination is an Amazon Kinesis stream.

Returns:

  • (String)


1716
1717
1718
1719
1720
1721
1722
1723
1724
# File 'gems/aws-sdk-cloudwatchlogs/lib/aws-sdk-cloudwatchlogs/types.rb', line 1716

class PutSubscriptionFilterRequest < Struct.new(
  :log_group_name,
  :filter_name,
  :filter_pattern,
  :destination_arn,
  :role_arn,
  :distribution)
  include Aws::Structure
end

#filter_nameString

A name for the subscription filter. If you are updating an existing filter, you must specify the correct name in filterName. Otherwise, the call fails because you cannot associate a second filter with a log group. To find the name of the filter currently associated with a log group, use DescribeSubscriptionFilters.

Returns:

  • (String)


1716
1717
1718
1719
1720
1721
1722
1723
1724
# File 'gems/aws-sdk-cloudwatchlogs/lib/aws-sdk-cloudwatchlogs/types.rb', line 1716

class PutSubscriptionFilterRequest < Struct.new(
  :log_group_name,
  :filter_name,
  :filter_pattern,
  :destination_arn,
  :role_arn,
  :distribution)
  include Aws::Structure
end

#filter_patternString

A filter pattern for subscribing to a filtered stream of log events.

Returns:

  • (String)


1716
1717
1718
1719
1720
1721
1722
1723
1724
# File 'gems/aws-sdk-cloudwatchlogs/lib/aws-sdk-cloudwatchlogs/types.rb', line 1716

class PutSubscriptionFilterRequest < Struct.new(
  :log_group_name,
  :filter_name,
  :filter_pattern,
  :destination_arn,
  :role_arn,
  :distribution)
  include Aws::Structure
end

#log_group_nameString

The name of the log group.

Returns:

  • (String)


1716
1717
1718
1719
1720
1721
1722
1723
1724
# File 'gems/aws-sdk-cloudwatchlogs/lib/aws-sdk-cloudwatchlogs/types.rb', line 1716

class PutSubscriptionFilterRequest < Struct.new(
  :log_group_name,
  :filter_name,
  :filter_pattern,
  :destination_arn,
  :role_arn,
  :distribution)
  include Aws::Structure
end

#role_arnString

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.

Returns:

  • (String)


1716
1717
1718
1719
1720
1721
1722
1723
1724
# File 'gems/aws-sdk-cloudwatchlogs/lib/aws-sdk-cloudwatchlogs/types.rb', line 1716

class PutSubscriptionFilterRequest < Struct.new(
  :log_group_name,
  :filter_name,
  :filter_pattern,
  :destination_arn,
  :role_arn,
  :distribution)
  include Aws::Structure
end