aws-sdk-cloudwatchlogs 1.120.0 → 1.121.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b548ec7798101ff85512a1011bfed913b96a1551c84c40bf9d0c3b3a3dea52a5
4
- data.tar.gz: d4467d8dde0382024c593dd1d3738e061fd486e71e2ef3c3947e05e4cbcfa82d
3
+ metadata.gz: 439c65a6971863a5a7818680b81dd64e5e6b7fe8329542f3511e98ff69ba9f3c
4
+ data.tar.gz: 231f0f2f03504186a92d5035940907aa61fe71111343807fb42e1b171e4b407d
5
5
  SHA512:
6
- metadata.gz: 88695fa0001ecc33b3e11f1f20fd4b22bc2a44e440847d224cba14bbb1fa38770d869905545150d33f32154750d6f3bf6516b3cc6fe614637128b75677fb13fe
7
- data.tar.gz: 44521b55eedf6cf0e392bc330c203247a599206e99015cc12adb1ff19e61ee011b9018328ab40e10da94f3a9b4fd4a75746968de3b09bf7f8789443fce615505
6
+ metadata.gz: 5a0dbb6c37a605bc699a20508c04e03f96dae5bac1d834db90437cb9c422921debaf92d8f54fa1cb78f106779a2a04eed13be48337fceeb322092cc203e50f92
7
+ data.tar.gz: ffb5b6b686d5ce69375a8aacb2462bff89c8bdb8deed982c763d39971e8511b0c819ff933e4cb9fe5b5f8e54dcaf12015f8bcdf8c7e146140bc3693b2ff7db51
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.121.0 (2025-07-18)
5
+ ------------------
6
+
7
+ * Feature - CloudWatchLogs launches GetLogObject API with streaming support for efficient log data retrieval. Logs added support for new AccountPolicy type METRIC_EXTRACTION_POLICY. For more information, see CloudWatch Logs API documentation
8
+
4
9
  1.120.0 (2025-07-16)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.120.0
1
+ 1.121.0
@@ -1186,7 +1186,7 @@ module Aws::CloudWatchLogs
1186
1186
  #
1187
1187
  # resp = client.delete_account_policy({
1188
1188
  # policy_name: "PolicyName", # required
1189
- # policy_type: "DATA_PROTECTION_POLICY", # required, accepts DATA_PROTECTION_POLICY, SUBSCRIPTION_FILTER_POLICY, FIELD_INDEX_POLICY, TRANSFORMER_POLICY
1189
+ # policy_type: "DATA_PROTECTION_POLICY", # required, accepts DATA_PROTECTION_POLICY, SUBSCRIPTION_FILTER_POLICY, FIELD_INDEX_POLICY, TRANSFORMER_POLICY, METRIC_EXTRACTION_POLICY
1190
1190
  # })
1191
1191
  #
1192
1192
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteAccountPolicy AWS API Documentation
@@ -1772,7 +1772,7 @@ module Aws::CloudWatchLogs
1772
1772
  # @example Request syntax with placeholder values
1773
1773
  #
1774
1774
  # resp = client.describe_account_policies({
1775
- # policy_type: "DATA_PROTECTION_POLICY", # required, accepts DATA_PROTECTION_POLICY, SUBSCRIPTION_FILTER_POLICY, FIELD_INDEX_POLICY, TRANSFORMER_POLICY
1775
+ # policy_type: "DATA_PROTECTION_POLICY", # required, accepts DATA_PROTECTION_POLICY, SUBSCRIPTION_FILTER_POLICY, FIELD_INDEX_POLICY, TRANSFORMER_POLICY, METRIC_EXTRACTION_POLICY
1776
1776
  # policy_name: "PolicyName",
1777
1777
  # account_identifiers: ["AccountId"],
1778
1778
  # next_token: "NextToken",
@@ -1784,7 +1784,7 @@ module Aws::CloudWatchLogs
1784
1784
  # resp.account_policies[0].policy_name #=> String
1785
1785
  # resp.account_policies[0].policy_document #=> String
1786
1786
  # resp.account_policies[0].last_updated_time #=> Integer
1787
- # resp.account_policies[0].policy_type #=> String, one of "DATA_PROTECTION_POLICY", "SUBSCRIPTION_FILTER_POLICY", "FIELD_INDEX_POLICY", "TRANSFORMER_POLICY"
1787
+ # resp.account_policies[0].policy_type #=> String, one of "DATA_PROTECTION_POLICY", "SUBSCRIPTION_FILTER_POLICY", "FIELD_INDEX_POLICY", "TRANSFORMER_POLICY", "METRIC_EXTRACTION_POLICY"
1788
1788
  # resp.account_policies[0].scope #=> String, one of "ALL"
1789
1789
  # resp.account_policies[0].selection_criteria #=> String
1790
1790
  # resp.account_policies[0].account_id #=> String
@@ -3634,6 +3634,180 @@ module Aws::CloudWatchLogs
3634
3634
  req.send_request(options)
3635
3635
  end
3636
3636
 
3637
+ # Retrieves a large logging object (LLO) and streams it back. This API
3638
+ # is used to fetch the content of large portions of log events that have
3639
+ # been ingested through the PutOpenTelemetryLogs API. When log events
3640
+ # contain fields that would cause the total event size to exceed 1MB,
3641
+ # CloudWatch Logs automatically processes up to 10 fields, starting with
3642
+ # the largest fields. Each field is truncated as needed to keep the
3643
+ # total event size as close to 1MB as possible. The excess portions are
3644
+ # stored as Large Log Objects (LLOs) and these fields are processed
3645
+ # separately and LLO reference system fields (in the format
3646
+ # `@ptr.$[path.to.field]`) are added. The path in the reference field
3647
+ # reflects the original JSON structure where the large field was
3648
+ # located. For example, this could be `@ptr.$['input']['message']`,
3649
+ # `@ptr.$['AAA']['BBB']['CCC']['DDD']`, `@ptr.$['AAA']`, or any other
3650
+ # path matching your log structure.
3651
+ #
3652
+ # @option params [Boolean] :unmask
3653
+ # A boolean flag that indicates whether to unmask sensitive log data.
3654
+ # When set to true, any masked or redacted data in the log object will
3655
+ # be displayed in its original form. Default is false.
3656
+ #
3657
+ # @option params [required, String] :log_object_pointer
3658
+ # A pointer to the specific log object to retrieve. This is a required
3659
+ # parameter that uniquely identifies the log object within CloudWatch
3660
+ # Logs. The pointer is typically obtained from a previous query or
3661
+ # filter operation.
3662
+ #
3663
+ # @return [Types::GetLogObjectResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3664
+ #
3665
+ # * {Types::GetLogObjectResponse#field_stream #field_stream} => Types::GetLogObjectResponseStream
3666
+ #
3667
+ # @example EventStream Operation Example
3668
+ #
3669
+ # # You can process the event once it arrives immediately, or wait until the
3670
+ # # full response is complete and iterate through the eventstream enumerator.
3671
+ #
3672
+ # # To interact with event immediately, you need to register get_log_object
3673
+ # # with callbacks. Callbacks can be registered for specific events or for all
3674
+ # # events, including error events.
3675
+ #
3676
+ # # Callbacks can be passed into the `:event_stream_handler` option or within a
3677
+ # # block statement attached to the #get_log_object call directly. Hybrid
3678
+ # # pattern of both is also supported.
3679
+ #
3680
+ # # `:event_stream_handler` option takes in either a Proc object or
3681
+ # # Aws::CloudWatchLogs::EventStreams::GetLogObjectResponseStream object.
3682
+ #
3683
+ # # Usage pattern a): Callbacks with a block attached to #get_log_object
3684
+ # # Example for registering callbacks for all event types and an error event
3685
+ # client.get_log_object(
3686
+ # # params input
3687
+ # ) do |stream|
3688
+ # stream.on_error_event do |event|
3689
+ # # catch unmodeled error event in the stream
3690
+ # raise event
3691
+ # # => Aws::Errors::EventError
3692
+ # # event.event_type => :error
3693
+ # # event.error_code => String
3694
+ # # event.error_message => String
3695
+ # end
3696
+ #
3697
+ # stream.on_event do |event|
3698
+ # # process all events arrive
3699
+ # puts event.event_type
3700
+ # # ...
3701
+ # end
3702
+ # end
3703
+ #
3704
+ # # Usage pattern b): Pass in `:event_stream_handler` for #get_log_object
3705
+ # # 1) Create a Aws::CloudWatchLogs::EventStreams::GetLogObjectResponseStream object
3706
+ # # Example for registering callbacks with specific events
3707
+ #
3708
+ # handler = Aws::CloudWatchLogs::EventStreams::GetLogObjectResponseStream.new
3709
+ # handler.on_fields_event do |event|
3710
+ # event # => Aws::CloudWatchLogs::Types::fields
3711
+ # end
3712
+ # handler.on_internal_streaming_exception_event do |event|
3713
+ # event # => Aws::CloudWatchLogs::Types::InternalStreamingException
3714
+ # end
3715
+ #
3716
+ # client.get_log_object(
3717
+ # # params inputs
3718
+ # event_stream_handler: handler
3719
+ # )
3720
+ #
3721
+ # # 2) Use a Ruby Proc object
3722
+ # # Example for registering callbacks with specific events
3723
+ # handler = Proc.new do |stream|
3724
+ # stream.on_fields_event do |event|
3725
+ # event # => Aws::CloudWatchLogs::Types::fields
3726
+ # end
3727
+ # stream.on_internal_streaming_exception_event do |event|
3728
+ # event # => Aws::CloudWatchLogs::Types::InternalStreamingException
3729
+ # end
3730
+ # end
3731
+ #
3732
+ # client.get_log_object(
3733
+ # # params inputs
3734
+ # event_stream_handler: handler
3735
+ # )
3736
+ #
3737
+ # # Usage pattern c): Hybrid pattern of a) and b)
3738
+ # handler = Aws::CloudWatchLogs::EventStreams::GetLogObjectResponseStream.new
3739
+ # handler.on_fields_event do |event|
3740
+ # event # => Aws::CloudWatchLogs::Types::fields
3741
+ # end
3742
+ # handler.on_internal_streaming_exception_event do |event|
3743
+ # event # => Aws::CloudWatchLogs::Types::InternalStreamingException
3744
+ # end
3745
+ #
3746
+ # client.get_log_object(
3747
+ # # params input
3748
+ # event_stream_handler: handler
3749
+ # ) do |stream|
3750
+ # stream.on_error_event do |event|
3751
+ # # catch unmodeled error event in the stream
3752
+ # raise event
3753
+ # # => Aws::Errors::EventError
3754
+ # # event.event_type => :error
3755
+ # # event.error_code => String
3756
+ # # event.error_message => String
3757
+ # end
3758
+ # end
3759
+ #
3760
+ # # You can also iterate through events after the response complete.
3761
+ # # Events are available at
3762
+ # resp.field_stream # => Enumerator
3763
+ # # For parameter input example, please refer to following request syntax.
3764
+ #
3765
+ # @example Request syntax with placeholder values
3766
+ #
3767
+ # resp = client.get_log_object({
3768
+ # unmask: false,
3769
+ # log_object_pointer: "LogObjectPointer", # required
3770
+ # })
3771
+ #
3772
+ # @example Response structure
3773
+ #
3774
+ # # All events are available at resp.field_stream:
3775
+ # resp.field_stream #=> Enumerator
3776
+ # resp.field_stream.event_types #=> [:fields, :internal_streaming_exception]
3777
+ #
3778
+ # # For :fields event available at #on_fields_event callback and response eventstream enumerator:
3779
+ # event.data #=> String
3780
+ #
3781
+ # # For :internal_streaming_exception event available at #on_internal_streaming_exception_event callback and response eventstream enumerator:
3782
+ # event.message #=> String
3783
+ #
3784
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetLogObject AWS API Documentation
3785
+ #
3786
+ # @overload get_log_object(params = {})
3787
+ # @param [Hash] params ({})
3788
+ def get_log_object(params = {}, options = {})
3789
+ params = params.dup
3790
+ event_stream_handler = case handler = params.delete(:event_stream_handler)
3791
+ when EventStreams::GetLogObjectResponseStream then handler
3792
+ when Proc then EventStreams::GetLogObjectResponseStream.new.tap(&handler)
3793
+ when nil then EventStreams::GetLogObjectResponseStream.new
3794
+ else
3795
+ msg = "expected :event_stream_handler to be a block or "\
3796
+ "instance of Aws::CloudWatchLogs::EventStreams::GetLogObjectResponseStream"\
3797
+ ", got `#{handler.inspect}` instead"
3798
+ raise ArgumentError, msg
3799
+ end
3800
+
3801
+ yield(event_stream_handler) if block_given?
3802
+
3803
+ req = build_request(:get_log_object, params)
3804
+
3805
+ req.context[:event_stream_handler] = event_stream_handler
3806
+ req.handlers.add(Aws::Binary::DecodeHandler, priority: 95)
3807
+
3808
+ req.send_request(options)
3809
+ end
3810
+
3637
3811
  # Retrieves all of the fields and values of a single log event. All
3638
3812
  # fields are retrieved, even if the original query that produced the
3639
3813
  # `logRecordPointer` retrieved only a subset of fields. Fields are
@@ -4284,8 +4458,9 @@ module Aws::CloudWatchLogs
4284
4458
  end
4285
4459
 
4286
4460
  # Creates an account-level data protection policy, subscription filter
4287
- # policy, or field index policy that applies to all log groups or a
4288
- # subset of log groups in the account.
4461
+ # policy, field index policy, transformer policy, or metric extraction
4462
+ # policy that applies to all log groups or a subset of log groups in the
4463
+ # account.
4289
4464
  #
4290
4465
  # To use this operation, you must be signed on with the correct
4291
4466
  # permissions depending on the type of policy that you are creating.
@@ -4304,6 +4479,10 @@ module Aws::CloudWatchLogs
4304
4479
  # * To create a field index policy, you must have the
4305
4480
  # `logs:PutIndexPolicy` and `logs:PutAccountPolicy` permissions.
4306
4481
  #
4482
+ # * To create a metric extraction policy, you must have the
4483
+ # `logs:PutMetricExtractionPolicy` and `logs:PutAccountPolicy`
4484
+ # permissions.
4485
+ #
4307
4486
  # **Data protection policy**
4308
4487
  #
4309
4488
  # A data protection policy can help safeguard sensitive data that's
@@ -4471,6 +4650,68 @@ module Aws::CloudWatchLogs
4471
4650
  # ignore the account-level policy that you create with
4472
4651
  # [PutAccountPolicy][11].
4473
4652
  #
4653
+ # **Metric extraction policy**
4654
+ #
4655
+ # A metric extraction policy controls whether CloudWatch Metrics can be
4656
+ # created through the Embedded Metrics Format (EMF) for log groups in
4657
+ # your account. By default, EMF metric creation is enabled for all log
4658
+ # groups. You can use metric extraction policies to disable EMF metric
4659
+ # creation for your entire account or specific log groups.
4660
+ #
4661
+ # When a policy disables EMF metric creation for a log group, log events
4662
+ # in the EMF format are still ingested, but no CloudWatch Metrics are
4663
+ # created from them.
4664
+ #
4665
+ # Creating a policy disables metrics for AWS features that use EMF to
4666
+ # create metrics, such as CloudWatch Container Insights and CloudWatch
4667
+ # Application Signals. To prevent turning off those features by
4668
+ # accident, we recommend that you exclude the underlying log-groups
4669
+ # through a selection-criteria such as `LogGroupNamePrefix NOT IN
4670
+ # ["/aws/containerinsights", "/aws/ecs/containerinsights",
4671
+ # "/aws/application-signals/data"]`.
4672
+ #
4673
+ # Each account can have either one account-level metric extraction
4674
+ # policy that applies to all log groups, or up to 5 policies that are
4675
+ # each scoped to a subset of log groups with the `selectionCriteria`
4676
+ # parameter. The selection criteria supports filtering by `LogGroupName`
4677
+ # and `LogGroupNamePrefix` using the operators `IN` and `NOT IN`. You
4678
+ # can specify up to 50 values in each `IN` or `NOT IN` list.
4679
+ #
4680
+ # The selection criteria can be specified in these formats:
4681
+ #
4682
+ # `LogGroupName IN ["log-group-1", "log-group-2"]`
4683
+ #
4684
+ # `LogGroupNamePrefix NOT IN ["/aws/prefix1", "/aws/prefix2"]`
4685
+ #
4686
+ # If you have multiple account-level metric extraction policies with
4687
+ # selection criteria, no two of them can have overlapping criteria. For
4688
+ # example, if you have one policy with selection criteria
4689
+ # `LogGroupNamePrefix IN ["my-log"]`, you can't have another metric
4690
+ # extraction policy with selection criteria `LogGroupNamePrefix IN
4691
+ # ["/my-log-prod"]` or `LogGroupNamePrefix IN ["/my-logging"]`, as the
4692
+ # set of log groups matching these prefixes would be a subset of the log
4693
+ # groups matching the first policy's prefix, creating an overlap.
4694
+ #
4695
+ # When using `NOT IN`, only one policy with this operator is allowed per
4696
+ # account.
4697
+ #
4698
+ # When combining policies with `IN` and `NOT IN` operators, the overlap
4699
+ # check ensures that policies don't have conflicting effects. Two
4700
+ # policies with `IN` and `NOT IN` operators do not overlap if and only
4701
+ # if every value in the `IN `policy is completely contained within some
4702
+ # value in the `NOT IN` policy. For example:
4703
+ #
4704
+ # * If you have a `NOT IN` policy for prefix `"/aws/lambda"`, you can
4705
+ # create an `IN` policy for the exact log group name
4706
+ # `"/aws/lambda/function1"` because the set of log groups matching
4707
+ # `"/aws/lambda/function1"` is a subset of the log groups matching
4708
+ # `"/aws/lambda"`.
4709
+ #
4710
+ # * If you have a `NOT IN` policy for prefix `"/aws/lambda"`, you cannot
4711
+ # create an `IN` policy for prefix `"/aws"` because the set of log
4712
+ # groups matching `"/aws"` is not a subset of the log groups matching
4713
+ # `"/aws/lambda"`.
4714
+ #
4474
4715
  #
4475
4716
  #
4476
4717
  # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_GetLogEvents.html
@@ -4606,7 +4847,7 @@ module Aws::CloudWatchLogs
4606
4847
  # Use this parameter to apply the new policy to a subset of log groups
4607
4848
  # in the account.
4608
4849
  #
4609
- # Specifing `selectionCriteria` is valid only when you specify
4850
+ # Specifying `selectionCriteria` is valid only when you specify
4610
4851
  # `SUBSCRIPTION_FILTER_POLICY`, `FIELD_INDEX_POLICY` or
4611
4852
  # `TRANSFORMER_POLICY`for `policyType`.
4612
4853
  #
@@ -4636,7 +4877,7 @@ module Aws::CloudWatchLogs
4636
4877
  # resp = client.put_account_policy({
4637
4878
  # policy_name: "PolicyName", # required
4638
4879
  # policy_document: "AccountPolicyDocument", # required
4639
- # policy_type: "DATA_PROTECTION_POLICY", # required, accepts DATA_PROTECTION_POLICY, SUBSCRIPTION_FILTER_POLICY, FIELD_INDEX_POLICY, TRANSFORMER_POLICY
4880
+ # policy_type: "DATA_PROTECTION_POLICY", # required, accepts DATA_PROTECTION_POLICY, SUBSCRIPTION_FILTER_POLICY, FIELD_INDEX_POLICY, TRANSFORMER_POLICY, METRIC_EXTRACTION_POLICY
4640
4881
  # scope: "ALL", # accepts ALL
4641
4882
  # selection_criteria: "SelectionCriteria",
4642
4883
  # })
@@ -4646,7 +4887,7 @@ module Aws::CloudWatchLogs
4646
4887
  # resp.account_policy.policy_name #=> String
4647
4888
  # resp.account_policy.policy_document #=> String
4648
4889
  # resp.account_policy.last_updated_time #=> Integer
4649
- # resp.account_policy.policy_type #=> String, one of "DATA_PROTECTION_POLICY", "SUBSCRIPTION_FILTER_POLICY", "FIELD_INDEX_POLICY", "TRANSFORMER_POLICY"
4890
+ # resp.account_policy.policy_type #=> String, one of "DATA_PROTECTION_POLICY", "SUBSCRIPTION_FILTER_POLICY", "FIELD_INDEX_POLICY", "TRANSFORMER_POLICY", "METRIC_EXTRACTION_POLICY"
4650
4891
  # resp.account_policy.scope #=> String, one of "ALL"
4651
4892
  # resp.account_policy.selection_criteria #=> String
4652
4893
  # resp.account_policy.account_id #=> String
@@ -7021,9 +7262,9 @@ module Aws::CloudWatchLogs
7021
7262
  # To list the tags for a log group, use [ListTagsForResource][2]. To add
7022
7263
  # tags, use [TagResource][3].
7023
7264
  #
7024
- # CloudWatch Logs doesn't support IAM policies that prevent users from
7025
- # assigning specified tags to log groups using the
7026
- # `aws:Resource/key-name ` or `aws:TagKeys` condition keys.
7265
+ # When using IAM policies to control tag management for CloudWatch Logs
7266
+ # log groups, the condition keys `aws:Resource/key-name` and
7267
+ # `aws:TagKeys` cannot be used to restrict which tags users can assign.
7027
7268
  #
7028
7269
  #
7029
7270
  #
@@ -7291,7 +7532,7 @@ module Aws::CloudWatchLogs
7291
7532
  tracer: tracer
7292
7533
  )
7293
7534
  context[:gem_name] = 'aws-sdk-cloudwatchlogs'
7294
- context[:gem_version] = '1.120.0'
7535
+ context[:gem_version] = '1.121.0'
7295
7536
  Seahorse::Client::Request.new(handlers, context)
7296
7537
  end
7297
7538
 
@@ -65,6 +65,7 @@ module Aws::CloudWatchLogs
65
65
  CreateLogGroupRequest = Shapes::StructureShape.new(name: 'CreateLogGroupRequest')
66
66
  CreateLogStreamRequest = Shapes::StructureShape.new(name: 'CreateLogStreamRequest')
67
67
  DashboardViewerPrincipals = Shapes::ListShape.new(name: 'DashboardViewerPrincipals')
68
+ Data = Shapes::BlobShape.new(name: 'Data')
68
69
  DataAlreadyAcceptedException = Shapes::StructureShape.new(name: 'DataAlreadyAcceptedException')
69
70
  DataProtectionPolicyDocument = Shapes::StringShape.new(name: 'DataProtectionPolicyDocument')
70
71
  DataProtectionStatus = Shapes::StringShape.new(name: 'DataProtectionStatus')
@@ -196,6 +197,7 @@ module Aws::CloudWatchLogs
196
197
  FieldIndex = Shapes::StructureShape.new(name: 'FieldIndex')
197
198
  FieldIndexName = Shapes::StringShape.new(name: 'FieldIndexName')
198
199
  FieldIndexes = Shapes::ListShape.new(name: 'FieldIndexes')
200
+ FieldsData = Shapes::StructureShape.new(name: 'FieldsData')
199
201
  FilterCount = Shapes::IntegerShape.new(name: 'FilterCount')
200
202
  FilterLogEventsRequest = Shapes::StructureShape.new(name: 'FilterLogEventsRequest')
201
203
  FilterLogEventsResponse = Shapes::StructureShape.new(name: 'FilterLogEventsResponse')
@@ -226,6 +228,9 @@ module Aws::CloudWatchLogs
226
228
  GetLogEventsResponse = Shapes::StructureShape.new(name: 'GetLogEventsResponse')
227
229
  GetLogGroupFieldsRequest = Shapes::StructureShape.new(name: 'GetLogGroupFieldsRequest')
228
230
  GetLogGroupFieldsResponse = Shapes::StructureShape.new(name: 'GetLogGroupFieldsResponse')
231
+ GetLogObjectRequest = Shapes::StructureShape.new(name: 'GetLogObjectRequest')
232
+ GetLogObjectResponse = Shapes::StructureShape.new(name: 'GetLogObjectResponse')
233
+ GetLogObjectResponseStream = Shapes::StructureShape.new(name: 'GetLogObjectResponseStream')
229
234
  GetLogRecordRequest = Shapes::StructureShape.new(name: 'GetLogRecordRequest')
230
235
  GetLogRecordResponse = Shapes::StructureShape.new(name: 'GetLogRecordResponse')
231
236
  GetQueryResultsRequest = Shapes::StructureShape.new(name: 'GetQueryResultsRequest')
@@ -255,6 +260,7 @@ module Aws::CloudWatchLogs
255
260
  IntegrationSummary = Shapes::StructureShape.new(name: 'IntegrationSummary')
256
261
  IntegrationType = Shapes::StringShape.new(name: 'IntegrationType')
257
262
  Interleaved = Shapes::BooleanShape.new(name: 'Interleaved')
263
+ InternalStreamingException = Shapes::StructureShape.new(name: 'InternalStreamingException')
258
264
  InvalidOperationException = Shapes::StructureShape.new(name: 'InvalidOperationException')
259
265
  InvalidParameterException = Shapes::StructureShape.new(name: 'InvalidParameterException')
260
266
  InvalidSequenceTokenException = Shapes::StructureShape.new(name: 'InvalidSequenceTokenException')
@@ -306,6 +312,7 @@ module Aws::CloudWatchLogs
306
312
  LogGroupSummaries = Shapes::ListShape.new(name: 'LogGroupSummaries')
307
313
  LogGroupSummary = Shapes::StructureShape.new(name: 'LogGroupSummary')
308
314
  LogGroups = Shapes::ListShape.new(name: 'LogGroups')
315
+ LogObjectPointer = Shapes::StringShape.new(name: 'LogObjectPointer')
309
316
  LogRecord = Shapes::MapShape.new(name: 'LogRecord')
310
317
  LogRecordPointer = Shapes::StringShape.new(name: 'LogRecordPointer')
311
318
  LogSamples = Shapes::ListShape.new(name: 'LogSamples')
@@ -1051,6 +1058,9 @@ module Aws::CloudWatchLogs
1051
1058
 
1052
1059
  FieldIndexes.member = Shapes::ShapeRef.new(shape: FieldIndex)
1053
1060
 
1061
+ FieldsData.add_member(:data, Shapes::ShapeRef.new(shape: Data, location_name: "data"))
1062
+ FieldsData.struct_class = Types::FieldsData
1063
+
1054
1064
  FilterLogEventsRequest.add_member(:log_group_name, Shapes::ShapeRef.new(shape: LogGroupName, location_name: "logGroupName"))
1055
1065
  FilterLogEventsRequest.add_member(:log_group_identifier, Shapes::ShapeRef.new(shape: LogGroupIdentifier, location_name: "logGroupIdentifier"))
1056
1066
  FilterLogEventsRequest.add_member(:log_stream_names, Shapes::ShapeRef.new(shape: InputLogStreamNames, location_name: "logStreamNames"))
@@ -1157,6 +1167,17 @@ module Aws::CloudWatchLogs
1157
1167
  GetLogGroupFieldsResponse.add_member(:log_group_fields, Shapes::ShapeRef.new(shape: LogGroupFieldList, location_name: "logGroupFields"))
1158
1168
  GetLogGroupFieldsResponse.struct_class = Types::GetLogGroupFieldsResponse
1159
1169
 
1170
+ GetLogObjectRequest.add_member(:unmask, Shapes::ShapeRef.new(shape: Unmask, location_name: "unmask"))
1171
+ GetLogObjectRequest.add_member(:log_object_pointer, Shapes::ShapeRef.new(shape: LogObjectPointer, required: true, location_name: "logObjectPointer"))
1172
+ GetLogObjectRequest.struct_class = Types::GetLogObjectRequest
1173
+
1174
+ GetLogObjectResponse.add_member(:field_stream, Shapes::ShapeRef.new(shape: GetLogObjectResponseStream, eventstream: true, location_name: "fieldStream"))
1175
+ GetLogObjectResponse.struct_class = Types::GetLogObjectResponse
1176
+
1177
+ GetLogObjectResponseStream.add_member(:fields, Shapes::ShapeRef.new(shape: FieldsData, event: true, location_name: "fields"))
1178
+ GetLogObjectResponseStream.add_member(:internal_streaming_exception, Shapes::ShapeRef.new(shape: InternalStreamingException, location_name: "InternalStreamingException"))
1179
+ GetLogObjectResponseStream.struct_class = Types::GetLogObjectResponseStream
1180
+
1160
1181
  GetLogRecordRequest.add_member(:log_record_pointer, Shapes::ShapeRef.new(shape: LogRecordPointer, required: true, location_name: "logRecordPointer"))
1161
1182
  GetLogRecordRequest.add_member(:unmask, Shapes::ShapeRef.new(shape: Unmask, location_name: "unmask"))
1162
1183
  GetLogRecordRequest.struct_class = Types::GetLogRecordRequest
@@ -1222,6 +1243,9 @@ module Aws::CloudWatchLogs
1222
1243
  IntegrationSummary.add_member(:integration_status, Shapes::ShapeRef.new(shape: IntegrationStatus, location_name: "integrationStatus"))
1223
1244
  IntegrationSummary.struct_class = Types::IntegrationSummary
1224
1245
 
1246
+ InternalStreamingException.add_member(:message, Shapes::ShapeRef.new(shape: Message, location_name: "message"))
1247
+ InternalStreamingException.struct_class = Types::InternalStreamingException
1248
+
1225
1249
  InvalidOperationException.struct_class = Types::InvalidOperationException
1226
1250
 
1227
1251
  InvalidParameterException.struct_class = Types::InvalidParameterException
@@ -2690,6 +2714,22 @@ module Aws::CloudWatchLogs
2690
2714
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
2691
2715
  end)
2692
2716
 
2717
+ api.add_operation(:get_log_object, Seahorse::Model::Operation.new.tap do |o|
2718
+ o.name = "GetLogObject"
2719
+ o.http_method = "POST"
2720
+ o.http_request_uri = "/"
2721
+ o.endpoint_pattern = {
2722
+ "hostPrefix" => "streaming-",
2723
+ }
2724
+ o.input = Shapes::ShapeRef.new(shape: GetLogObjectRequest)
2725
+ o.output = Shapes::ShapeRef.new(shape: GetLogObjectResponse)
2726
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
2727
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
2728
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
2729
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
2730
+ o.errors << Shapes::ShapeRef.new(shape: InvalidOperationException)
2731
+ end)
2732
+
2693
2733
  api.add_operation(:get_log_record, Seahorse::Model::Operation.new.tap do |o|
2694
2734
  o.name = "GetLogRecord"
2695
2735
  o.http_method = "POST"
@@ -30,6 +30,7 @@ module Aws::CloudWatchLogs
30
30
  # * {AccessDeniedException}
31
31
  # * {ConflictException}
32
32
  # * {DataAlreadyAcceptedException}
33
+ # * {InternalStreamingException}
33
34
  # * {InvalidOperationException}
34
35
  # * {InvalidParameterException}
35
36
  # * {InvalidSequenceTokenException}
@@ -88,6 +89,21 @@ module Aws::CloudWatchLogs
88
89
  end
89
90
  end
90
91
 
92
+ class InternalStreamingException < ServiceError
93
+
94
+ # @param [Seahorse::Client::RequestContext] context
95
+ # @param [String] message
96
+ # @param [Aws::CloudWatchLogs::Types::InternalStreamingException] data
97
+ def initialize(context, message, data = Aws::EmptyStructure.new)
98
+ super(context, message, data)
99
+ end
100
+
101
+ # @return [String]
102
+ def message
103
+ @message || @data[:message]
104
+ end
105
+ end
106
+
91
107
  class InvalidOperationException < ServiceError
92
108
 
93
109
  # @param [Seahorse::Client::RequestContext] context
@@ -9,6 +9,45 @@
9
9
 
10
10
  module Aws::CloudWatchLogs
11
11
  module EventStreams
12
+ class GetLogObjectResponseStream
13
+
14
+ def initialize
15
+ @event_emitter = Aws::EventEmitter.new
16
+ end
17
+
18
+ def on_fields_event(&block)
19
+ @event_emitter.on(:fields, block) if block_given?
20
+ end
21
+
22
+ def on_internal_streaming_exception_event(&block)
23
+ @event_emitter.on(:internal_streaming_exception, block) if block_given?
24
+ end
25
+
26
+ def on_error_event(&block)
27
+ @event_emitter.on(:error, block) if block_given?
28
+ end
29
+
30
+ def on_initial_response_event(&block)
31
+ @event_emitter.on(:initial_response, block) if block_given?
32
+ end
33
+
34
+ def on_unknown_event(&block)
35
+ @event_emitter.on(:unknown_event, block) if block_given?
36
+ end
37
+
38
+ def on_event(&block)
39
+ on_fields_event(&block)
40
+ on_internal_streaming_exception_event(&block)
41
+ on_error_event(&block)
42
+ on_initial_response_event(&block)
43
+ on_unknown_event(&block)
44
+ end
45
+
46
+ # @api private
47
+ # @return Aws::EventEmitter
48
+ attr_reader :event_emitter
49
+
50
+ end
12
51
  class StartLiveTailResponseStream
13
52
 
14
53
  def initialize
@@ -2776,6 +2776,25 @@ module Aws::CloudWatchLogs
2776
2776
  include Aws::Structure
2777
2777
  end
2778
2778
 
2779
+ # A structure containing the extracted fields from a log event. These
2780
+ # fields are extracted based on the log format and can be used for
2781
+ # structured querying and analysis.
2782
+ #
2783
+ # @!attribute [rw] data
2784
+ # The actual log data content returned in the streaming response. This
2785
+ # contains the fields and values of the log event in a structured
2786
+ # format that can be parsed and processed by the client.
2787
+ # @return [String]
2788
+ #
2789
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/FieldsData AWS API Documentation
2790
+ #
2791
+ class FieldsData < Struct.new(
2792
+ :data,
2793
+ :event_type)
2794
+ SENSITIVE = []
2795
+ include Aws::Structure
2796
+ end
2797
+
2779
2798
  # @!attribute [rw] log_group_name
2780
2799
  # The name of the log group to search.
2781
2800
  #
@@ -3380,6 +3399,46 @@ module Aws::CloudWatchLogs
3380
3399
  include Aws::Structure
3381
3400
  end
3382
3401
 
3402
+ # The parameters for the GetLogObject operation.
3403
+ #
3404
+ # @!attribute [rw] unmask
3405
+ # A boolean flag that indicates whether to unmask sensitive log data.
3406
+ # When set to true, any masked or redacted data in the log object will
3407
+ # be displayed in its original form. Default is false.
3408
+ # @return [Boolean]
3409
+ #
3410
+ # @!attribute [rw] log_object_pointer
3411
+ # A pointer to the specific log object to retrieve. This is a required
3412
+ # parameter that uniquely identifies the log object within CloudWatch
3413
+ # Logs. The pointer is typically obtained from a previous query or
3414
+ # filter operation.
3415
+ # @return [String]
3416
+ #
3417
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetLogObjectRequest AWS API Documentation
3418
+ #
3419
+ class GetLogObjectRequest < Struct.new(
3420
+ :unmask,
3421
+ :log_object_pointer)
3422
+ SENSITIVE = []
3423
+ include Aws::Structure
3424
+ end
3425
+
3426
+ # The response from the GetLogObject operation.
3427
+ #
3428
+ # @!attribute [rw] field_stream
3429
+ # A stream of structured log data returned by the GetLogObject
3430
+ # operation. This stream contains log events with their associated
3431
+ # metadata and extracted fields.
3432
+ # @return [Types::GetLogObjectResponseStream]
3433
+ #
3434
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetLogObjectResponse AWS API Documentation
3435
+ #
3436
+ class GetLogObjectResponse < Struct.new(
3437
+ :field_stream)
3438
+ SENSITIVE = []
3439
+ include Aws::Structure
3440
+ end
3441
+
3383
3442
  # @!attribute [rw] log_record_pointer
3384
3443
  # The pointer corresponding to the log event record you want to
3385
3444
  # retrieve. You get this from the response of a `GetQueryResults`
@@ -3689,6 +3748,22 @@ module Aws::CloudWatchLogs
3689
3748
  include Aws::Structure
3690
3749
  end
3691
3750
 
3751
+ # An internal error occurred during the streaming of log data. This
3752
+ # exception is thrown when there's an issue with the internal streaming
3753
+ # mechanism used by the GetLogObject operation.
3754
+ #
3755
+ # @!attribute [rw] message
3756
+ # @return [String]
3757
+ #
3758
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/InternalStreamingException AWS API Documentation
3759
+ #
3760
+ class InternalStreamingException < Struct.new(
3761
+ :message,
3762
+ :event_type)
3763
+ SENSITIVE = []
3764
+ include Aws::Structure
3765
+ end
3766
+
3692
3767
  # The operation is not valid on the specified resource.
3693
3768
  #
3694
3769
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/InvalidOperationException AWS API Documentation
@@ -5991,7 +6066,7 @@ module Aws::CloudWatchLogs
5991
6066
  # Use this parameter to apply the new policy to a subset of log groups
5992
6067
  # in the account.
5993
6068
  #
5994
- # Specifing `selectionCriteria` is valid only when you specify
6069
+ # Specifying `selectionCriteria` is valid only when you specify
5995
6070
  # `SUBSCRIPTION_FILTER_POLICY`, `FIELD_INDEX_POLICY` or
5996
6071
  # `TRANSFORMER_POLICY`for `policyType`.
5997
6072
  #
@@ -8297,6 +8372,26 @@ module Aws::CloudWatchLogs
8297
8372
  #
8298
8373
  class ValidationException < Aws::EmptyStructure; end
8299
8374
 
8375
+ # A stream of structured log data returned by the GetLogObject
8376
+ # operation. This stream contains log events with their associated
8377
+ # metadata and extracted fields.
8378
+ #
8379
+ # EventStream is an Enumerator of Events.
8380
+ # #event_types #=> Array, returns all modeled event types in the stream
8381
+ #
8382
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetLogObjectResponseStream AWS API Documentation
8383
+ #
8384
+ class GetLogObjectResponseStream < Enumerator
8385
+
8386
+ def event_types
8387
+ [
8388
+ :fields,
8389
+ :internal_streaming_exception
8390
+ ]
8391
+ end
8392
+
8393
+ end
8394
+
8300
8395
  # This object includes the stream returned by your [StartLiveTail][1]
8301
8396
  # request.
8302
8397
  #
@@ -55,7 +55,7 @@ module Aws::CloudWatchLogs
55
55
  autoload :Endpoints, 'aws-sdk-cloudwatchlogs/endpoints'
56
56
  autoload :EventStreams, 'aws-sdk-cloudwatchlogs/event_streams'
57
57
 
58
- GEM_VERSION = '1.120.0'
58
+ GEM_VERSION = '1.121.0'
59
59
 
60
60
  end
61
61
 
data/sig/client.rbs CHANGED
@@ -164,7 +164,7 @@ module Aws
164
164
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CloudWatchLogs/Client.html#delete_account_policy-instance_method
165
165
  def delete_account_policy: (
166
166
  policy_name: ::String,
167
- policy_type: ("DATA_PROTECTION_POLICY" | "SUBSCRIPTION_FILTER_POLICY" | "FIELD_INDEX_POLICY" | "TRANSFORMER_POLICY")
167
+ policy_type: ("DATA_PROTECTION_POLICY" | "SUBSCRIPTION_FILTER_POLICY" | "FIELD_INDEX_POLICY" | "TRANSFORMER_POLICY" | "METRIC_EXTRACTION_POLICY")
168
168
  ) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
169
169
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
170
170
 
@@ -293,7 +293,7 @@ module Aws
293
293
  end
294
294
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CloudWatchLogs/Client.html#describe_account_policies-instance_method
295
295
  def describe_account_policies: (
296
- policy_type: ("DATA_PROTECTION_POLICY" | "SUBSCRIPTION_FILTER_POLICY" | "FIELD_INDEX_POLICY" | "TRANSFORMER_POLICY"),
296
+ policy_type: ("DATA_PROTECTION_POLICY" | "SUBSCRIPTION_FILTER_POLICY" | "FIELD_INDEX_POLICY" | "TRANSFORMER_POLICY" | "METRIC_EXTRACTION_POLICY"),
297
297
  ?policy_name: ::String,
298
298
  ?account_identifiers: Array[::String],
299
299
  ?next_token: ::String
@@ -655,6 +655,17 @@ module Aws
655
655
  ) -> _GetLogGroupFieldsResponseSuccess
656
656
  | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetLogGroupFieldsResponseSuccess
657
657
 
658
+ interface _GetLogObjectResponseSuccess
659
+ include ::Seahorse::Client::_ResponseSuccess[Types::GetLogObjectResponse]
660
+ def field_stream: () -> Types::GetLogObjectResponseStream
661
+ end
662
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CloudWatchLogs/Client.html#get_log_object-instance_method
663
+ def get_log_object: (
664
+ ?unmask: bool,
665
+ log_object_pointer: ::String
666
+ ) -> _GetLogObjectResponseSuccess
667
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetLogObjectResponseSuccess
668
+
658
669
  interface _GetLogRecordResponseSuccess
659
670
  include ::Seahorse::Client::_ResponseSuccess[Types::GetLogRecordResponse]
660
671
  def log_record: () -> ::Hash[::String, ::String]
@@ -789,7 +800,7 @@ module Aws
789
800
  def put_account_policy: (
790
801
  policy_name: ::String,
791
802
  policy_document: ::String,
792
- policy_type: ("DATA_PROTECTION_POLICY" | "SUBSCRIPTION_FILTER_POLICY" | "FIELD_INDEX_POLICY" | "TRANSFORMER_POLICY"),
803
+ policy_type: ("DATA_PROTECTION_POLICY" | "SUBSCRIPTION_FILTER_POLICY" | "FIELD_INDEX_POLICY" | "TRANSFORMER_POLICY" | "METRIC_EXTRACTION_POLICY"),
793
804
  ?scope: ("ALL"),
794
805
  ?selection_criteria: ::String
795
806
  ) -> _PutAccountPolicyResponseSuccess
data/sig/errors.rbs CHANGED
@@ -18,6 +18,9 @@ module Aws
18
18
  class DataAlreadyAcceptedException < ::Aws::Errors::ServiceError
19
19
  def expected_sequence_token: () -> ::String
20
20
  end
21
+ class InternalStreamingException < ::Aws::Errors::ServiceError
22
+ def message: () -> ::String
23
+ end
21
24
  class InvalidOperationException < ::Aws::Errors::ServiceError
22
25
  end
23
26
  class InvalidParameterException < ::Aws::Errors::ServiceError
data/sig/types.rbs CHANGED
@@ -15,7 +15,7 @@ module Aws::CloudWatchLogs
15
15
  attr_accessor policy_name: ::String
16
16
  attr_accessor policy_document: ::String
17
17
  attr_accessor last_updated_time: ::Integer
18
- attr_accessor policy_type: ("DATA_PROTECTION_POLICY" | "SUBSCRIPTION_FILTER_POLICY" | "FIELD_INDEX_POLICY" | "TRANSFORMER_POLICY")
18
+ attr_accessor policy_type: ("DATA_PROTECTION_POLICY" | "SUBSCRIPTION_FILTER_POLICY" | "FIELD_INDEX_POLICY" | "TRANSFORMER_POLICY" | "METRIC_EXTRACTION_POLICY")
19
19
  attr_accessor scope: ("ALL")
20
20
  attr_accessor selection_criteria: ::String
21
21
  attr_accessor account_id: ::String
@@ -206,7 +206,7 @@ module Aws::CloudWatchLogs
206
206
 
207
207
  class DeleteAccountPolicyRequest
208
208
  attr_accessor policy_name: ::String
209
- attr_accessor policy_type: ("DATA_PROTECTION_POLICY" | "SUBSCRIPTION_FILTER_POLICY" | "FIELD_INDEX_POLICY" | "TRANSFORMER_POLICY")
209
+ attr_accessor policy_type: ("DATA_PROTECTION_POLICY" | "SUBSCRIPTION_FILTER_POLICY" | "FIELD_INDEX_POLICY" | "TRANSFORMER_POLICY" | "METRIC_EXTRACTION_POLICY")
210
210
  SENSITIVE: []
211
211
  end
212
212
 
@@ -356,7 +356,7 @@ module Aws::CloudWatchLogs
356
356
  end
357
357
 
358
358
  class DescribeAccountPoliciesRequest
359
- attr_accessor policy_type: ("DATA_PROTECTION_POLICY" | "SUBSCRIPTION_FILTER_POLICY" | "FIELD_INDEX_POLICY" | "TRANSFORMER_POLICY")
359
+ attr_accessor policy_type: ("DATA_PROTECTION_POLICY" | "SUBSCRIPTION_FILTER_POLICY" | "FIELD_INDEX_POLICY" | "TRANSFORMER_POLICY" | "METRIC_EXTRACTION_POLICY")
360
360
  attr_accessor policy_name: ::String
361
361
  attr_accessor account_identifiers: ::Array[::String]
362
362
  attr_accessor next_token: ::String
@@ -636,6 +636,12 @@ module Aws::CloudWatchLogs
636
636
  SENSITIVE: []
637
637
  end
638
638
 
639
+ class FieldsData
640
+ attr_accessor data: ::String
641
+ attr_accessor event_type: untyped
642
+ SENSITIVE: []
643
+ end
644
+
639
645
  class FilterLogEventsRequest
640
646
  attr_accessor log_group_name: ::String
641
647
  attr_accessor log_group_identifier: ::String
@@ -782,6 +788,17 @@ module Aws::CloudWatchLogs
782
788
  SENSITIVE: []
783
789
  end
784
790
 
791
+ class GetLogObjectRequest
792
+ attr_accessor unmask: bool
793
+ attr_accessor log_object_pointer: ::String
794
+ SENSITIVE: []
795
+ end
796
+
797
+ class GetLogObjectResponse
798
+ attr_accessor field_stream: Types::GetLogObjectResponseStream
799
+ SENSITIVE: []
800
+ end
801
+
785
802
  class GetLogRecordRequest
786
803
  attr_accessor log_record_pointer: ::String
787
804
  attr_accessor unmask: bool
@@ -859,6 +876,12 @@ module Aws::CloudWatchLogs
859
876
  SENSITIVE: []
860
877
  end
861
878
 
879
+ class InternalStreamingException
880
+ attr_accessor message: ::String
881
+ attr_accessor event_type: untyped
882
+ SENSITIVE: []
883
+ end
884
+
862
885
  class InvalidOperationException < Aws::EmptyStructure
863
886
  end
864
887
 
@@ -1279,7 +1302,7 @@ module Aws::CloudWatchLogs
1279
1302
  class PutAccountPolicyRequest
1280
1303
  attr_accessor policy_name: ::String
1281
1304
  attr_accessor policy_document: ::String
1282
- attr_accessor policy_type: ("DATA_PROTECTION_POLICY" | "SUBSCRIPTION_FILTER_POLICY" | "FIELD_INDEX_POLICY" | "TRANSFORMER_POLICY")
1305
+ attr_accessor policy_type: ("DATA_PROTECTION_POLICY" | "SUBSCRIPTION_FILTER_POLICY" | "FIELD_INDEX_POLICY" | "TRANSFORMER_POLICY" | "METRIC_EXTRACTION_POLICY")
1283
1306
  attr_accessor scope: ("ALL")
1284
1307
  attr_accessor selection_criteria: ::String
1285
1308
  SENSITIVE: []
@@ -1797,6 +1820,10 @@ module Aws::CloudWatchLogs
1797
1820
  class ValidationException < Aws::EmptyStructure
1798
1821
  end
1799
1822
 
1823
+ class GetLogObjectResponseStream < Enumerator[untyped, untyped]
1824
+ def event_types: () -> [:fields, :internal_streaming_exception]
1825
+ end
1826
+
1800
1827
  class StartLiveTailResponseStream < Enumerator[untyped, untyped]
1801
1828
  def event_types: () -> [:session_start, :session_update, :session_timeout_exception, :session_streaming_exception]
1802
1829
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-cloudwatchlogs
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.120.0
4
+ version: 1.121.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services