aws-sdk-cloudwatchlogs 1.119.0 → 1.122.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.
@@ -97,7 +97,7 @@ module Aws::CloudWatchLogs
97
97
  # class name or an instance of a plugin class.
98
98
  #
99
99
  # @option options [required, Aws::CredentialProvider] :credentials
100
- # Your AWS credentials. This can be an instance of any one of the
100
+ # Your AWS credentials used for authentication. This can be an instance of any one of the
101
101
  # following classes:
102
102
  #
103
103
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
@@ -130,18 +130,23 @@ module Aws::CloudWatchLogs
130
130
  # locations will be searched for credentials:
131
131
  #
132
132
  # * `Aws.config[:credentials]`
133
+ #
133
134
  # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
134
135
  # `:account_id` options.
135
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'],
136
- # ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
136
+ #
137
+ # * `ENV['AWS_ACCESS_KEY_ID']`, `ENV['AWS_SECRET_ACCESS_KEY']`,
138
+ # `ENV['AWS_SESSION_TOKEN']`, and `ENV['AWS_ACCOUNT_ID']`.
139
+ #
137
140
  # * `~/.aws/credentials`
141
+ #
138
142
  # * `~/.aws/config`
143
+ #
139
144
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
140
145
  # are very aggressive. Construct and pass an instance of
141
146
  # `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
142
147
  # enable retries and extended timeouts. Instance profile credential
143
- # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
144
- # to true.
148
+ # fetching can be disabled by setting `ENV['AWS_EC2_METADATA_DISABLED']`
149
+ # to `true`.
145
150
  #
146
151
  # @option options [required, String] :region
147
152
  # The AWS region to connect to. The configured `:region` is
@@ -169,6 +174,11 @@ module Aws::CloudWatchLogs
169
174
  # When false, the request will raise a `RetryCapacityNotAvailableError` and will
170
175
  # not retry instead of sleeping.
171
176
  #
177
+ # @option options [Array<String>] :auth_scheme_preference
178
+ # A list of preferred authentication schemes to use when making a request. Supported values are:
179
+ # `sigv4`, `sigv4a`, `httpBearerAuth`, and `noAuth`. When set using `ENV['AWS_AUTH_SCHEME_PREFERENCE']` or in
180
+ # shared config as `auth_scheme_preference`, the value should be a comma-separated list.
181
+ #
172
182
  # @option options [Boolean] :client_side_monitoring (false)
173
183
  # When `true`, client-side metrics will be collected for all API requests from
174
184
  # this client.
@@ -264,8 +274,8 @@ module Aws::CloudWatchLogs
264
274
  # When an EventStream or Proc object is provided, it will be used as callback for each chunk of event stream response received along the way.
265
275
  #
266
276
  # @option options [String] :profile ("default")
267
- # Used when loading credentials from the shared credentials file
268
- # at HOME/.aws/credentials. When not specified, 'default' is used.
277
+ # Used when loading credentials from the shared credentials file at `HOME/.aws/credentials`.
278
+ # When not specified, 'default' is used.
269
279
  #
270
280
  # @option options [String] :request_checksum_calculation ("when_supported")
271
281
  # Determines when a checksum will be calculated for request payloads. Values are:
@@ -385,7 +395,7 @@ module Aws::CloudWatchLogs
385
395
  # `Aws::Telemetry::OTelProvider` for telemetry provider.
386
396
  #
387
397
  # @option options [Aws::TokenProvider] :token_provider
388
- # A Bearer Token Provider. This can be an instance of any one of the
398
+ # Your Bearer token used for authentication. This can be an instance of any one of the
389
399
  # following classes:
390
400
  #
391
401
  # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
@@ -648,7 +658,7 @@ module Aws::CloudWatchLogs
648
658
  # from Amazon Web Services services.][1]
649
659
  #
650
660
  # A delivery destination can represent a log group in CloudWatch Logs,
651
- # an Amazon S3 bucket, or a delivery stream in Firehose.
661
+ # an Amazon S3 bucket, a delivery stream in Firehose, or X-Ray.
652
662
  #
653
663
  # To configure logs delivery between a supported Amazon Web Services
654
664
  # service and a destination, you must do the following:
@@ -740,7 +750,7 @@ module Aws::CloudWatchLogs
740
750
  # resp.delivery.arn #=> String
741
751
  # resp.delivery.delivery_source_name #=> String
742
752
  # resp.delivery.delivery_destination_arn #=> String
743
- # resp.delivery.delivery_destination_type #=> String, one of "S3", "CWL", "FH"
753
+ # resp.delivery.delivery_destination_type #=> String, one of "S3", "CWL", "FH", "XRAY"
744
754
  # resp.delivery.record_fields #=> Array
745
755
  # resp.delivery.record_fields[0] #=> String
746
756
  # resp.delivery.field_delimiter #=> String
@@ -1186,7 +1196,7 @@ module Aws::CloudWatchLogs
1186
1196
  #
1187
1197
  # resp = client.delete_account_policy({
1188
1198
  # policy_name: "PolicyName", # required
1189
- # policy_type: "DATA_PROTECTION_POLICY", # required, accepts DATA_PROTECTION_POLICY, SUBSCRIPTION_FILTER_POLICY, FIELD_INDEX_POLICY, TRANSFORMER_POLICY
1199
+ # policy_type: "DATA_PROTECTION_POLICY", # required, accepts DATA_PROTECTION_POLICY, SUBSCRIPTION_FILTER_POLICY, FIELD_INDEX_POLICY, TRANSFORMER_POLICY, METRIC_EXTRACTION_POLICY
1190
1200
  # })
1191
1201
  #
1192
1202
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteAccountPolicy AWS API Documentation
@@ -1273,7 +1283,7 @@ module Aws::CloudWatchLogs
1273
1283
  #
1274
1284
  # @option params [required, String] :name
1275
1285
  # The name of the delivery destination that you want to delete. You can
1276
- # find a list of delivery destionation names by using the
1286
+ # find a list of delivery destination names by using the
1277
1287
  # [DescribeDeliveryDestinations][1] operation.
1278
1288
  #
1279
1289
  #
@@ -1610,12 +1620,22 @@ module Aws::CloudWatchLogs
1610
1620
  # @option params [String] :policy_name
1611
1621
  # The name of the policy to be revoked. This parameter is required.
1612
1622
  #
1623
+ # @option params [String] :resource_arn
1624
+ # The ARN of the CloudWatch Logs resource for which the resource policy
1625
+ # needs to be deleted
1626
+ #
1627
+ # @option params [String] :expected_revision_id
1628
+ # The expected revision ID of the resource policy. Required when
1629
+ # deleting a resource-scoped policy to prevent concurrent modifications.
1630
+ #
1613
1631
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1614
1632
  #
1615
1633
  # @example Request syntax with placeholder values
1616
1634
  #
1617
1635
  # resp = client.delete_resource_policy({
1618
1636
  # policy_name: "PolicyName",
1637
+ # resource_arn: "Arn",
1638
+ # expected_revision_id: "ExpectedRevisionId",
1619
1639
  # })
1620
1640
  #
1621
1641
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteResourcePolicy AWS API Documentation
@@ -1762,7 +1782,7 @@ module Aws::CloudWatchLogs
1762
1782
  # @example Request syntax with placeholder values
1763
1783
  #
1764
1784
  # resp = client.describe_account_policies({
1765
- # policy_type: "DATA_PROTECTION_POLICY", # required, accepts DATA_PROTECTION_POLICY, SUBSCRIPTION_FILTER_POLICY, FIELD_INDEX_POLICY, TRANSFORMER_POLICY
1785
+ # policy_type: "DATA_PROTECTION_POLICY", # required, accepts DATA_PROTECTION_POLICY, SUBSCRIPTION_FILTER_POLICY, FIELD_INDEX_POLICY, TRANSFORMER_POLICY, METRIC_EXTRACTION_POLICY
1766
1786
  # policy_name: "PolicyName",
1767
1787
  # account_identifiers: ["AccountId"],
1768
1788
  # next_token: "NextToken",
@@ -1774,7 +1794,7 @@ module Aws::CloudWatchLogs
1774
1794
  # resp.account_policies[0].policy_name #=> String
1775
1795
  # resp.account_policies[0].policy_document #=> String
1776
1796
  # resp.account_policies[0].last_updated_time #=> Integer
1777
- # resp.account_policies[0].policy_type #=> String, one of "DATA_PROTECTION_POLICY", "SUBSCRIPTION_FILTER_POLICY", "FIELD_INDEX_POLICY", "TRANSFORMER_POLICY"
1797
+ # resp.account_policies[0].policy_type #=> String, one of "DATA_PROTECTION_POLICY", "SUBSCRIPTION_FILTER_POLICY", "FIELD_INDEX_POLICY", "TRANSFORMER_POLICY", "METRIC_EXTRACTION_POLICY"
1778
1798
  # resp.account_policies[0].scope #=> String, one of "ALL"
1779
1799
  # resp.account_policies[0].selection_criteria #=> String
1780
1800
  # resp.account_policies[0].account_id #=> String
@@ -1839,7 +1859,7 @@ module Aws::CloudWatchLogs
1839
1859
  # service: "Service",
1840
1860
  # log_types: ["LogType"],
1841
1861
  # resource_types: ["ResourceType"],
1842
- # delivery_destination_types: ["S3"], # accepts S3, CWL, FH
1862
+ # delivery_destination_types: ["S3"], # accepts S3, CWL, FH, XRAY
1843
1863
  # next_token: "NextToken",
1844
1864
  # limit: 1,
1845
1865
  # })
@@ -1850,7 +1870,7 @@ module Aws::CloudWatchLogs
1850
1870
  # resp.configuration_templates[0].service #=> String
1851
1871
  # resp.configuration_templates[0].log_type #=> String
1852
1872
  # resp.configuration_templates[0].resource_type #=> String
1853
- # resp.configuration_templates[0].delivery_destination_type #=> String, one of "S3", "CWL", "FH"
1873
+ # resp.configuration_templates[0].delivery_destination_type #=> String, one of "S3", "CWL", "FH", "XRAY"
1854
1874
  # resp.configuration_templates[0].default_delivery_config_values.record_fields #=> Array
1855
1875
  # resp.configuration_templates[0].default_delivery_config_values.record_fields[0] #=> String
1856
1876
  # resp.configuration_templates[0].default_delivery_config_values.field_delimiter #=> String
@@ -1885,9 +1905,10 @@ module Aws::CloudWatchLogs
1885
1905
  #
1886
1906
  # A delivery source represents an Amazon Web Services resource that
1887
1907
  # sends logs to an logs delivery destination. The destination can be
1888
- # CloudWatch Logs, Amazon S3, or Firehose. Only some Amazon Web Services
1889
- # services support being configured as a delivery source. These services
1890
- # are listed in [Enable logging from Amazon Web Services services.][3]
1908
+ # CloudWatch Logs, Amazon S3, Firehose or X-Ray. Only some Amazon Web
1909
+ # Services services support being configured as a delivery source. These
1910
+ # services are listed in [Enable logging from Amazon Web Services
1911
+ # services.][3]
1891
1912
  #
1892
1913
  #
1893
1914
  #
@@ -1924,7 +1945,7 @@ module Aws::CloudWatchLogs
1924
1945
  # resp.deliveries[0].arn #=> String
1925
1946
  # resp.deliveries[0].delivery_source_name #=> String
1926
1947
  # resp.deliveries[0].delivery_destination_arn #=> String
1927
- # resp.deliveries[0].delivery_destination_type #=> String, one of "S3", "CWL", "FH"
1948
+ # resp.deliveries[0].delivery_destination_type #=> String, one of "S3", "CWL", "FH", "XRAY"
1928
1949
  # resp.deliveries[0].record_fields #=> Array
1929
1950
  # resp.deliveries[0].record_fields[0] #=> String
1930
1951
  # resp.deliveries[0].field_delimiter #=> String
@@ -1973,7 +1994,7 @@ module Aws::CloudWatchLogs
1973
1994
  # resp.delivery_destinations #=> Array
1974
1995
  # resp.delivery_destinations[0].name #=> String
1975
1996
  # resp.delivery_destinations[0].arn #=> String
1976
- # resp.delivery_destinations[0].delivery_destination_type #=> String, one of "S3", "CWL", "FH"
1997
+ # resp.delivery_destinations[0].delivery_destination_type #=> String, one of "S3", "CWL", "FH", "XRAY"
1977
1998
  # resp.delivery_destinations[0].output_format #=> String, one of "json", "plain", "w3c", "raw", "parquet"
1978
1999
  # resp.delivery_destinations[0].delivery_destination_configuration.destination_resource_arn #=> String
1979
2000
  # resp.delivery_destinations[0].tags #=> Hash
@@ -2285,9 +2306,10 @@ module Aws::CloudWatchLogs
2285
2306
  # @option params [String] :log_group_name_pattern
2286
2307
  # If you specify a string for this parameter, the operation returns only
2287
2308
  # log groups that have names that match the string based on a
2288
- # case-sensitive substring search. For example, if you specify `Foo`,
2289
- # log groups named `FooBar`, `aws/Foo`, and `GroupFoo` would match, but
2290
- # `foo`, `F/o/o` and `Froo` would not match.
2309
+ # case-sensitive substring search. For example, if you specify
2310
+ # `DataLogs`, log groups named `DataLogs`, `aws/DataLogs`, and
2311
+ # `GroupDataLogs` would match, but `datalogs`, `Data/log/s` and
2312
+ # `Groupdata` would not match.
2291
2313
  #
2292
2314
  # If you specify `logGroupNamePattern` in your request, then only `arn`,
2293
2315
  # `creationTime`, and `logGroupName` are included in the response.
@@ -2720,6 +2742,14 @@ module Aws::CloudWatchLogs
2720
2742
  # The maximum number of resource policies to be displayed with one call
2721
2743
  # of this API.
2722
2744
  #
2745
+ # @option params [String] :resource_arn
2746
+ # The ARN of the CloudWatch Logs resource for which to query the
2747
+ # resource policy.
2748
+ #
2749
+ # @option params [String] :policy_scope
2750
+ # Specifies the scope of the resource policy. Valid values are `ACCOUNT`
2751
+ # or `RESOURCE`. When not specified, defaults to `ACCOUNT`.
2752
+ #
2723
2753
  # @return [Types::DescribeResourcePoliciesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2724
2754
  #
2725
2755
  # * {Types::DescribeResourcePoliciesResponse#resource_policies #resource_policies} => Array&lt;Types::ResourcePolicy&gt;
@@ -2730,6 +2760,8 @@ module Aws::CloudWatchLogs
2730
2760
  # resp = client.describe_resource_policies({
2731
2761
  # next_token: "NextToken",
2732
2762
  # limit: 1,
2763
+ # resource_arn: "Arn",
2764
+ # policy_scope: "ACCOUNT", # accepts ACCOUNT, RESOURCE
2733
2765
  # })
2734
2766
  #
2735
2767
  # @example Response structure
@@ -2738,6 +2770,9 @@ module Aws::CloudWatchLogs
2738
2770
  # resp.resource_policies[0].policy_name #=> String
2739
2771
  # resp.resource_policies[0].policy_document #=> String
2740
2772
  # resp.resource_policies[0].last_updated_time #=> Integer
2773
+ # resp.resource_policies[0].policy_scope #=> String, one of "ACCOUNT", "RESOURCE"
2774
+ # resp.resource_policies[0].resource_arn #=> String
2775
+ # resp.resource_policies[0].revision_id #=> String
2741
2776
  # resp.next_token #=> String
2742
2777
  #
2743
2778
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeResourcePolicies AWS API Documentation
@@ -3141,7 +3176,7 @@ module Aws::CloudWatchLogs
3141
3176
  # resp.delivery.arn #=> String
3142
3177
  # resp.delivery.delivery_source_name #=> String
3143
3178
  # resp.delivery.delivery_destination_arn #=> String
3144
- # resp.delivery.delivery_destination_type #=> String, one of "S3", "CWL", "FH"
3179
+ # resp.delivery.delivery_destination_type #=> String, one of "S3", "CWL", "FH", "XRAY"
3145
3180
  # resp.delivery.record_fields #=> Array
3146
3181
  # resp.delivery.record_fields[0] #=> String
3147
3182
  # resp.delivery.field_delimiter #=> String
@@ -3178,7 +3213,7 @@ module Aws::CloudWatchLogs
3178
3213
  #
3179
3214
  # resp.delivery_destination.name #=> String
3180
3215
  # resp.delivery_destination.arn #=> String
3181
- # resp.delivery_destination.delivery_destination_type #=> String, one of "S3", "CWL", "FH"
3216
+ # resp.delivery_destination.delivery_destination_type #=> String, one of "S3", "CWL", "FH", "XRAY"
3182
3217
  # resp.delivery_destination.output_format #=> String, one of "json", "plain", "w3c", "raw", "parquet"
3183
3218
  # resp.delivery_destination.delivery_destination_configuration.destination_resource_arn #=> String
3184
3219
  # resp.delivery_destination.tags #=> Hash
@@ -3609,6 +3644,180 @@ module Aws::CloudWatchLogs
3609
3644
  req.send_request(options)
3610
3645
  end
3611
3646
 
3647
+ # Retrieves a large logging object (LLO) and streams it back. This API
3648
+ # is used to fetch the content of large portions of log events that have
3649
+ # been ingested through the PutOpenTelemetryLogs API. When log events
3650
+ # contain fields that would cause the total event size to exceed 1MB,
3651
+ # CloudWatch Logs automatically processes up to 10 fields, starting with
3652
+ # the largest fields. Each field is truncated as needed to keep the
3653
+ # total event size as close to 1MB as possible. The excess portions are
3654
+ # stored as Large Log Objects (LLOs) and these fields are processed
3655
+ # separately and LLO reference system fields (in the format
3656
+ # `@ptr.$[path.to.field]`) are added. The path in the reference field
3657
+ # reflects the original JSON structure where the large field was
3658
+ # located. For example, this could be `@ptr.$['input']['message']`,
3659
+ # `@ptr.$['AAA']['BBB']['CCC']['DDD']`, `@ptr.$['AAA']`, or any other
3660
+ # path matching your log structure.
3661
+ #
3662
+ # @option params [Boolean] :unmask
3663
+ # A boolean flag that indicates whether to unmask sensitive log data.
3664
+ # When set to true, any masked or redacted data in the log object will
3665
+ # be displayed in its original form. Default is false.
3666
+ #
3667
+ # @option params [required, String] :log_object_pointer
3668
+ # A pointer to the specific log object to retrieve. This is a required
3669
+ # parameter that uniquely identifies the log object within CloudWatch
3670
+ # Logs. The pointer is typically obtained from a previous query or
3671
+ # filter operation.
3672
+ #
3673
+ # @return [Types::GetLogObjectResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3674
+ #
3675
+ # * {Types::GetLogObjectResponse#field_stream #field_stream} => Types::GetLogObjectResponseStream
3676
+ #
3677
+ # @example EventStream Operation Example
3678
+ #
3679
+ # # You can process the event once it arrives immediately, or wait until the
3680
+ # # full response is complete and iterate through the eventstream enumerator.
3681
+ #
3682
+ # # To interact with event immediately, you need to register get_log_object
3683
+ # # with callbacks. Callbacks can be registered for specific events or for all
3684
+ # # events, including error events.
3685
+ #
3686
+ # # Callbacks can be passed into the `:event_stream_handler` option or within a
3687
+ # # block statement attached to the #get_log_object call directly. Hybrid
3688
+ # # pattern of both is also supported.
3689
+ #
3690
+ # # `:event_stream_handler` option takes in either a Proc object or
3691
+ # # Aws::CloudWatchLogs::EventStreams::GetLogObjectResponseStream object.
3692
+ #
3693
+ # # Usage pattern a): Callbacks with a block attached to #get_log_object
3694
+ # # Example for registering callbacks for all event types and an error event
3695
+ # client.get_log_object(
3696
+ # # params input
3697
+ # ) do |stream|
3698
+ # stream.on_error_event do |event|
3699
+ # # catch unmodeled error event in the stream
3700
+ # raise event
3701
+ # # => Aws::Errors::EventError
3702
+ # # event.event_type => :error
3703
+ # # event.error_code => String
3704
+ # # event.error_message => String
3705
+ # end
3706
+ #
3707
+ # stream.on_event do |event|
3708
+ # # process all events arrive
3709
+ # puts event.event_type
3710
+ # # ...
3711
+ # end
3712
+ # end
3713
+ #
3714
+ # # Usage pattern b): Pass in `:event_stream_handler` for #get_log_object
3715
+ # # 1) Create a Aws::CloudWatchLogs::EventStreams::GetLogObjectResponseStream object
3716
+ # # Example for registering callbacks with specific events
3717
+ #
3718
+ # handler = Aws::CloudWatchLogs::EventStreams::GetLogObjectResponseStream.new
3719
+ # handler.on_fields_event do |event|
3720
+ # event # => Aws::CloudWatchLogs::Types::fields
3721
+ # end
3722
+ # handler.on_internal_streaming_exception_event do |event|
3723
+ # event # => Aws::CloudWatchLogs::Types::InternalStreamingException
3724
+ # end
3725
+ #
3726
+ # client.get_log_object(
3727
+ # # params inputs
3728
+ # event_stream_handler: handler
3729
+ # )
3730
+ #
3731
+ # # 2) Use a Ruby Proc object
3732
+ # # Example for registering callbacks with specific events
3733
+ # handler = Proc.new do |stream|
3734
+ # stream.on_fields_event do |event|
3735
+ # event # => Aws::CloudWatchLogs::Types::fields
3736
+ # end
3737
+ # stream.on_internal_streaming_exception_event do |event|
3738
+ # event # => Aws::CloudWatchLogs::Types::InternalStreamingException
3739
+ # end
3740
+ # end
3741
+ #
3742
+ # client.get_log_object(
3743
+ # # params inputs
3744
+ # event_stream_handler: handler
3745
+ # )
3746
+ #
3747
+ # # Usage pattern c): Hybrid pattern of a) and b)
3748
+ # handler = Aws::CloudWatchLogs::EventStreams::GetLogObjectResponseStream.new
3749
+ # handler.on_fields_event do |event|
3750
+ # event # => Aws::CloudWatchLogs::Types::fields
3751
+ # end
3752
+ # handler.on_internal_streaming_exception_event do |event|
3753
+ # event # => Aws::CloudWatchLogs::Types::InternalStreamingException
3754
+ # end
3755
+ #
3756
+ # client.get_log_object(
3757
+ # # params input
3758
+ # event_stream_handler: handler
3759
+ # ) do |stream|
3760
+ # stream.on_error_event do |event|
3761
+ # # catch unmodeled error event in the stream
3762
+ # raise event
3763
+ # # => Aws::Errors::EventError
3764
+ # # event.event_type => :error
3765
+ # # event.error_code => String
3766
+ # # event.error_message => String
3767
+ # end
3768
+ # end
3769
+ #
3770
+ # # You can also iterate through events after the response complete.
3771
+ # # Events are available at
3772
+ # resp.field_stream # => Enumerator
3773
+ # # For parameter input example, please refer to following request syntax.
3774
+ #
3775
+ # @example Request syntax with placeholder values
3776
+ #
3777
+ # resp = client.get_log_object({
3778
+ # unmask: false,
3779
+ # log_object_pointer: "LogObjectPointer", # required
3780
+ # })
3781
+ #
3782
+ # @example Response structure
3783
+ #
3784
+ # # All events are available at resp.field_stream:
3785
+ # resp.field_stream #=> Enumerator
3786
+ # resp.field_stream.event_types #=> [:fields, :internal_streaming_exception]
3787
+ #
3788
+ # # For :fields event available at #on_fields_event callback and response eventstream enumerator:
3789
+ # event.data #=> String
3790
+ #
3791
+ # # For :internal_streaming_exception event available at #on_internal_streaming_exception_event callback and response eventstream enumerator:
3792
+ # event.message #=> String
3793
+ #
3794
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/GetLogObject AWS API Documentation
3795
+ #
3796
+ # @overload get_log_object(params = {})
3797
+ # @param [Hash] params ({})
3798
+ def get_log_object(params = {}, options = {})
3799
+ params = params.dup
3800
+ event_stream_handler = case handler = params.delete(:event_stream_handler)
3801
+ when EventStreams::GetLogObjectResponseStream then handler
3802
+ when Proc then EventStreams::GetLogObjectResponseStream.new.tap(&handler)
3803
+ when nil then EventStreams::GetLogObjectResponseStream.new
3804
+ else
3805
+ msg = "expected :event_stream_handler to be a block or "\
3806
+ "instance of Aws::CloudWatchLogs::EventStreams::GetLogObjectResponseStream"\
3807
+ ", got `#{handler.inspect}` instead"
3808
+ raise ArgumentError, msg
3809
+ end
3810
+
3811
+ yield(event_stream_handler) if block_given?
3812
+
3813
+ req = build_request(:get_log_object, params)
3814
+
3815
+ req.context[:event_stream_handler] = event_stream_handler
3816
+ req.handlers.add(Aws::Binary::DecodeHandler, priority: 95)
3817
+
3818
+ req.send_request(options)
3819
+ end
3820
+
3612
3821
  # Retrieves all of the fields and values of a single log event. All
3613
3822
  # fields are retrieved, even if the original query that produced the
3614
3823
  # `logRecordPointer` retrieved only a subset of fields. Fields are
@@ -4259,8 +4468,9 @@ module Aws::CloudWatchLogs
4259
4468
  end
4260
4469
 
4261
4470
  # Creates an account-level data protection policy, subscription filter
4262
- # policy, or field index policy that applies to all log groups or a
4263
- # subset of log groups in the account.
4471
+ # policy, field index policy, transformer policy, or metric extraction
4472
+ # policy that applies to all log groups or a subset of log groups in the
4473
+ # account.
4264
4474
  #
4265
4475
  # To use this operation, you must be signed on with the correct
4266
4476
  # permissions depending on the type of policy that you are creating.
@@ -4270,7 +4480,8 @@ module Aws::CloudWatchLogs
4270
4480
  # permissions.
4271
4481
  #
4272
4482
  # * To create a subscription filter policy, you must have the
4273
- # `logs:PutSubscriptionFilter` and `logs:PutccountPolicy` permissions.
4483
+ # `logs:PutSubscriptionFilter` and `logs:PutAccountPolicy`
4484
+ # permissions.
4274
4485
  #
4275
4486
  # * To create a transformer policy, you must have the
4276
4487
  # `logs:PutTransformer` and `logs:PutAccountPolicy` permissions.
@@ -4278,6 +4489,10 @@ module Aws::CloudWatchLogs
4278
4489
  # * To create a field index policy, you must have the
4279
4490
  # `logs:PutIndexPolicy` and `logs:PutAccountPolicy` permissions.
4280
4491
  #
4492
+ # * To create a metric extraction policy, you must have the
4493
+ # `logs:PutMetricExtractionPolicy` and `logs:PutAccountPolicy`
4494
+ # permissions.
4495
+ #
4281
4496
  # **Data protection policy**
4282
4497
  #
4283
4498
  # A data protection policy can help safeguard sensitive data that's
@@ -4445,6 +4660,68 @@ module Aws::CloudWatchLogs
4445
4660
  # ignore the account-level policy that you create with
4446
4661
  # [PutAccountPolicy][11].
4447
4662
  #
4663
+ # **Metric extraction policy**
4664
+ #
4665
+ # A metric extraction policy controls whether CloudWatch Metrics can be
4666
+ # created through the Embedded Metrics Format (EMF) for log groups in
4667
+ # your account. By default, EMF metric creation is enabled for all log
4668
+ # groups. You can use metric extraction policies to disable EMF metric
4669
+ # creation for your entire account or specific log groups.
4670
+ #
4671
+ # When a policy disables EMF metric creation for a log group, log events
4672
+ # in the EMF format are still ingested, but no CloudWatch Metrics are
4673
+ # created from them.
4674
+ #
4675
+ # Creating a policy disables metrics for AWS features that use EMF to
4676
+ # create metrics, such as CloudWatch Container Insights and CloudWatch
4677
+ # Application Signals. To prevent turning off those features by
4678
+ # accident, we recommend that you exclude the underlying log-groups
4679
+ # through a selection-criteria such as `LogGroupNamePrefix NOT IN
4680
+ # ["/aws/containerinsights", "/aws/ecs/containerinsights",
4681
+ # "/aws/application-signals/data"]`.
4682
+ #
4683
+ # Each account can have either one account-level metric extraction
4684
+ # policy that applies to all log groups, or up to 5 policies that are
4685
+ # each scoped to a subset of log groups with the `selectionCriteria`
4686
+ # parameter. The selection criteria supports filtering by `LogGroupName`
4687
+ # and `LogGroupNamePrefix` using the operators `IN` and `NOT IN`. You
4688
+ # can specify up to 50 values in each `IN` or `NOT IN` list.
4689
+ #
4690
+ # The selection criteria can be specified in these formats:
4691
+ #
4692
+ # `LogGroupName IN ["log-group-1", "log-group-2"]`
4693
+ #
4694
+ # `LogGroupNamePrefix NOT IN ["/aws/prefix1", "/aws/prefix2"]`
4695
+ #
4696
+ # If you have multiple account-level metric extraction policies with
4697
+ # selection criteria, no two of them can have overlapping criteria. For
4698
+ # example, if you have one policy with selection criteria
4699
+ # `LogGroupNamePrefix IN ["my-log"]`, you can't have another metric
4700
+ # extraction policy with selection criteria `LogGroupNamePrefix IN
4701
+ # ["/my-log-prod"]` or `LogGroupNamePrefix IN ["/my-logging"]`, as the
4702
+ # set of log groups matching these prefixes would be a subset of the log
4703
+ # groups matching the first policy's prefix, creating an overlap.
4704
+ #
4705
+ # When using `NOT IN`, only one policy with this operator is allowed per
4706
+ # account.
4707
+ #
4708
+ # When combining policies with `IN` and `NOT IN` operators, the overlap
4709
+ # check ensures that policies don't have conflicting effects. Two
4710
+ # policies with `IN` and `NOT IN` operators do not overlap if and only
4711
+ # if every value in the `IN `policy is completely contained within some
4712
+ # value in the `NOT IN` policy. For example:
4713
+ #
4714
+ # * If you have a `NOT IN` policy for prefix `"/aws/lambda"`, you can
4715
+ # create an `IN` policy for the exact log group name
4716
+ # `"/aws/lambda/function1"` because the set of log groups matching
4717
+ # `"/aws/lambda/function1"` is a subset of the log groups matching
4718
+ # `"/aws/lambda"`.
4719
+ #
4720
+ # * If you have a `NOT IN` policy for prefix `"/aws/lambda"`, you cannot
4721
+ # create an `IN` policy for prefix `"/aws"` because the set of log
4722
+ # groups matching `"/aws"` is not a subset of the log groups matching
4723
+ # `"/aws/lambda"`.
4724
+ #
4448
4725
  #
4449
4726
  #
4450
4727
  # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_GetLogEvents.html
@@ -4580,7 +4857,7 @@ module Aws::CloudWatchLogs
4580
4857
  # Use this parameter to apply the new policy to a subset of log groups
4581
4858
  # in the account.
4582
4859
  #
4583
- # Specifing `selectionCriteria` is valid only when you specify
4860
+ # Specifying `selectionCriteria` is valid only when you specify
4584
4861
  # `SUBSCRIPTION_FILTER_POLICY`, `FIELD_INDEX_POLICY` or
4585
4862
  # `TRANSFORMER_POLICY`for `policyType`.
4586
4863
  #
@@ -4610,7 +4887,7 @@ module Aws::CloudWatchLogs
4610
4887
  # resp = client.put_account_policy({
4611
4888
  # policy_name: "PolicyName", # required
4612
4889
  # policy_document: "AccountPolicyDocument", # required
4613
- # policy_type: "DATA_PROTECTION_POLICY", # required, accepts DATA_PROTECTION_POLICY, SUBSCRIPTION_FILTER_POLICY, FIELD_INDEX_POLICY, TRANSFORMER_POLICY
4890
+ # policy_type: "DATA_PROTECTION_POLICY", # required, accepts DATA_PROTECTION_POLICY, SUBSCRIPTION_FILTER_POLICY, FIELD_INDEX_POLICY, TRANSFORMER_POLICY, METRIC_EXTRACTION_POLICY
4614
4891
  # scope: "ALL", # accepts ALL
4615
4892
  # selection_criteria: "SelectionCriteria",
4616
4893
  # })
@@ -4620,7 +4897,7 @@ module Aws::CloudWatchLogs
4620
4897
  # resp.account_policy.policy_name #=> String
4621
4898
  # resp.account_policy.policy_document #=> String
4622
4899
  # resp.account_policy.last_updated_time #=> Integer
4623
- # resp.account_policy.policy_type #=> String, one of "DATA_PROTECTION_POLICY", "SUBSCRIPTION_FILTER_POLICY", "FIELD_INDEX_POLICY", "TRANSFORMER_POLICY"
4900
+ # resp.account_policy.policy_type #=> String, one of "DATA_PROTECTION_POLICY", "SUBSCRIPTION_FILTER_POLICY", "FIELD_INDEX_POLICY", "TRANSFORMER_POLICY", "METRIC_EXTRACTION_POLICY"
4624
4901
  # resp.account_policy.scope #=> String, one of "ALL"
4625
4902
  # resp.account_policy.selection_criteria #=> String
4626
4903
  # resp.account_policy.account_id #=> String
@@ -4746,7 +5023,8 @@ module Aws::CloudWatchLogs
4746
5023
  # Creates or updates a logical *delivery destination*. A delivery
4747
5024
  # destination is an Amazon Web Services resource that represents an
4748
5025
  # Amazon Web Services service that logs can be sent to. CloudWatch Logs,
4749
- # Amazon S3, and Firehose are supported as logs delivery destinations.
5026
+ # Amazon S3, and Firehose are supported as logs delivery destinations
5027
+ # and X-Ray as the trace delivery destination.
4750
5028
  #
4751
5029
  # To configure logs delivery between a supported Amazon Web Services
4752
5030
  # service and a destination, you must do the following:
@@ -4797,10 +5075,34 @@ module Aws::CloudWatchLogs
4797
5075
  # @option params [String] :output_format
4798
5076
  # The format for the logs that this delivery destination will receive.
4799
5077
  #
4800
- # @option params [required, Types::DeliveryDestinationConfiguration] :delivery_destination_configuration
5078
+ # @option params [Types::DeliveryDestinationConfiguration] :delivery_destination_configuration
4801
5079
  # A structure that contains the ARN of the Amazon Web Services resource
4802
5080
  # that will receive the logs.
4803
5081
  #
5082
+ # <note markdown="1"> `deliveryDestinationConfiguration` is required for CloudWatch Logs,
5083
+ # Amazon S3, Firehose log delivery destinations and not required for
5084
+ # X-Ray trace delivery destinations. `deliveryDestinationType` is needed
5085
+ # for X-Ray trace delivery destinations but not required for other logs
5086
+ # delivery destinations.
5087
+ #
5088
+ # </note>
5089
+ #
5090
+ # @option params [String] :delivery_destination_type
5091
+ # The type of delivery destination. This parameter specifies the target
5092
+ # service where log data will be delivered. Valid values include:
5093
+ #
5094
+ # * `S3` - Amazon S3 for long-term storage and analytics
5095
+ #
5096
+ # * `CWL` - CloudWatch Logs for centralized log management
5097
+ #
5098
+ # * `FH` - Amazon Kinesis Data Firehose for real-time data streaming
5099
+ #
5100
+ # * `XRAY` - Amazon Web Services X-Ray for distributed tracing and
5101
+ # application monitoring
5102
+ #
5103
+ # The delivery destination type determines the format and configuration
5104
+ # options available for log delivery.
5105
+ #
4804
5106
  # @option params [Hash<String,String>] :tags
4805
5107
  # An optional list of key-value pairs to associate with the resource.
4806
5108
  #
@@ -4820,9 +5122,10 @@ module Aws::CloudWatchLogs
4820
5122
  # resp = client.put_delivery_destination({
4821
5123
  # name: "DeliveryDestinationName", # required
4822
5124
  # output_format: "json", # accepts json, plain, w3c, raw, parquet
4823
- # delivery_destination_configuration: { # required
5125
+ # delivery_destination_configuration: {
4824
5126
  # destination_resource_arn: "Arn", # required
4825
5127
  # },
5128
+ # delivery_destination_type: "S3", # accepts S3, CWL, FH, XRAY
4826
5129
  # tags: {
4827
5130
  # "TagKey" => "TagValue",
4828
5131
  # },
@@ -4832,7 +5135,7 @@ module Aws::CloudWatchLogs
4832
5135
  #
4833
5136
  # resp.delivery_destination.name #=> String
4834
5137
  # resp.delivery_destination.arn #=> String
4835
- # resp.delivery_destination.delivery_destination_type #=> String, one of "S3", "CWL", "FH"
5138
+ # resp.delivery_destination.delivery_destination_type #=> String, one of "S3", "CWL", "FH", "XRAY"
4836
5139
  # resp.delivery_destination.output_format #=> String, one of "json", "plain", "w3c", "raw", "parquet"
4837
5140
  # resp.delivery_destination.delivery_destination_configuration.destination_resource_arn #=> String
4838
5141
  # resp.delivery_destination.tags #=> Hash
@@ -4917,7 +5220,7 @@ module Aws::CloudWatchLogs
4917
5220
  # Creates or updates a logical *delivery source*. A delivery source
4918
5221
  # represents an Amazon Web Services resource that sends logs to an logs
4919
5222
  # delivery destination. The destination can be CloudWatch Logs, Amazon
4920
- # S3, or Firehose.
5223
+ # S3, Firehose or X-Ray for sending traces.
4921
5224
  #
4922
5225
  # To configure logs delivery between a delivery destination and an
4923
5226
  # Amazon Web Services service that is supported as a delivery source,
@@ -4973,7 +5276,8 @@ module Aws::CloudWatchLogs
4973
5276
  # @option params [required, String] :log_type
4974
5277
  # Defines the type of log that the source is sending.
4975
5278
  #
4976
- # * For Amazon Bedrock, the valid value is `APPLICATION_LOGS`.
5279
+ # * For Amazon Bedrock, the valid value is `APPLICATION_LOGS` and
5280
+ # `TRACES`.
4977
5281
  #
4978
5282
  # * For CloudFront, the valid value is `ACCESS_LOGS`.
4979
5283
  #
@@ -4990,6 +5294,9 @@ module Aws::CloudWatchLogs
4990
5294
  #
4991
5295
  # * For IAM Identity Center, the valid value is `ERROR_LOGS`.
4992
5296
  #
5297
+ # * For PCS, the valid values are `PCS_SCHEDULER_LOGS` and
5298
+ # `PCS_JOBCOMP_LOGS`.
5299
+ #
4993
5300
  # * For Amazon Q, the valid value is `EVENT_LOGS`.
4994
5301
  #
4995
5302
  # * For Amazon SES mail manager, the valid values are `APPLICATION_LOG`
@@ -5000,6 +5307,8 @@ module Aws::CloudWatchLogs
5000
5307
  # `WORKMAIL_MAILBOX_ACCESS_LOGS`, and
5001
5308
  # `WORKMAIL_PERSONAL_ACCESS_TOKEN_LOGS`.
5002
5309
  #
5310
+ # * For Amazon VPC Route Server, the valid value is `EVENT_LOGS`.
5311
+ #
5003
5312
  # @option params [Hash<String,String>] :tags
5004
5313
  # An optional list of key-value pairs to associate with the resource.
5005
5314
  #
@@ -5696,15 +6005,27 @@ module Aws::CloudWatchLogs
5696
6005
  # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn
5697
6006
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount
5698
6007
  #
6008
+ # @option params [String] :resource_arn
6009
+ # The ARN of the CloudWatch Logs resource to which the resource policy
6010
+ # needs to be added or attached. Currently only supports LogGroup ARN.
6011
+ #
6012
+ # @option params [String] :expected_revision_id
6013
+ # The expected revision ID of the resource policy. Required when
6014
+ # `resourceArn` is provided to prevent concurrent modifications. Use
6015
+ # `null` when creating a resource policy for the first time.
6016
+ #
5699
6017
  # @return [Types::PutResourcePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5700
6018
  #
5701
6019
  # * {Types::PutResourcePolicyResponse#resource_policy #resource_policy} => Types::ResourcePolicy
6020
+ # * {Types::PutResourcePolicyResponse#revision_id #revision_id} => String
5702
6021
  #
5703
6022
  # @example Request syntax with placeholder values
5704
6023
  #
5705
6024
  # resp = client.put_resource_policy({
5706
6025
  # policy_name: "PolicyName",
5707
6026
  # policy_document: "PolicyDocument",
6027
+ # resource_arn: "Arn",
6028
+ # expected_revision_id: "ExpectedRevisionId",
5708
6029
  # })
5709
6030
  #
5710
6031
  # @example Response structure
@@ -5712,6 +6033,10 @@ module Aws::CloudWatchLogs
5712
6033
  # resp.resource_policy.policy_name #=> String
5713
6034
  # resp.resource_policy.policy_document #=> String
5714
6035
  # resp.resource_policy.last_updated_time #=> Integer
6036
+ # resp.resource_policy.policy_scope #=> String, one of "ACCOUNT", "RESOURCE"
6037
+ # resp.resource_policy.resource_arn #=> String
6038
+ # resp.resource_policy.revision_id #=> String
6039
+ # resp.revision_id #=> String
5715
6040
  #
5716
6041
  # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutResourcePolicy AWS API Documentation
5717
6042
  #
@@ -6947,9 +7272,9 @@ module Aws::CloudWatchLogs
6947
7272
  # To list the tags for a log group, use [ListTagsForResource][2]. To add
6948
7273
  # tags, use [TagResource][3].
6949
7274
  #
6950
- # CloudWatch Logs doesn't support IAM policies that prevent users from
6951
- # assigning specified tags to log groups using the
6952
- # `aws:Resource/key-name ` or `aws:TagKeys` condition keys.
7275
+ # When using IAM policies to control tag management for CloudWatch Logs
7276
+ # log groups, the condition keys `aws:Resource/key-name` and
7277
+ # `aws:TagKeys` cannot be used to restrict which tags users can assign.
6953
7278
  #
6954
7279
  #
6955
7280
  #
@@ -7217,7 +7542,7 @@ module Aws::CloudWatchLogs
7217
7542
  tracer: tracer
7218
7543
  )
7219
7544
  context[:gem_name] = 'aws-sdk-cloudwatchlogs'
7220
- context[:gem_version] = '1.119.0'
7545
+ context[:gem_version] = '1.122.0'
7221
7546
  Seahorse::Client::Request.new(handlers, context)
7222
7547
  end
7223
7548