aws-sdk-cloudwatchlogs 1.53.0 → 1.55.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: 0073a217c36d30a24ae48797b942882b689936b3a9badb22fe023a4c02975d20
4
- data.tar.gz: a9caa0700d7a293a9a3823f9046b81fe6f1c98c54dfb227e26acbf267c92dd97
3
+ metadata.gz: 32dd7b2068c2e7708061290672e92dd27eaf07b805ca1458c90eadda8f0f8ea2
4
+ data.tar.gz: cf817ef3a444a11c28d29af3da24f1b1b087c7737358048448d3fa658fced57b
5
5
  SHA512:
6
- metadata.gz: 623f1008adc619e8b75f927f0bbb41c79b1fdf68b71bbcf0e8bdf456b3aeba755e120de628d9d0c55d8931578b03aa6ac24e1930b1df62bbd0adbb4db7e5a457
7
- data.tar.gz: 4aa97f603aac1814596d67e74728a220d3c99258fd62d2c85cb7a10dd9ee75527b291f46013a49fc823b2b8790f43ac8be7b9f308c310e87fe30608101e32572
6
+ metadata.gz: 5773ff63b78873baff73be81171dbc795f05edceffd87b8955211c2fe30ff0f81da30d1a87d356f573222adcd742bb453225f011f89347c13533bd855a4927d5
7
+ data.tar.gz: 28c6bf63de8f08a561aa9f9b8031462549687b47b41fc2c3b9cfc9486103a9ed91bfa23459d0089b1d88e38b6b32a96cf465a0fa675a67195ccb70d2564c7564
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.55.0 (2022-10-31)
5
+ ------------------
6
+
7
+ * Feature - SDK release to support tagging for destinations and log groups with TagResource. Also supports tag on create with PutDestination.
8
+
9
+ 1.54.0 (2022-10-25)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
4
14
  1.53.0 (2022-05-20)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.53.0
1
+ 1.55.0
@@ -30,7 +30,7 @@ require 'aws-sdk-core/plugins/http_checksum.rb'
30
30
  require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
31
  require 'aws-sdk-core/plugins/defaults_mode.rb'
32
32
  require 'aws-sdk-core/plugins/recursion_detection.rb'
33
- require 'aws-sdk-core/plugins/signature_v4.rb'
33
+ require 'aws-sdk-core/plugins/sign.rb'
34
34
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
35
35
 
36
36
  Aws::Plugins::GlobalConfiguration.add_identifier(:cloudwatchlogs)
@@ -79,8 +79,9 @@ module Aws::CloudWatchLogs
79
79
  add_plugin(Aws::Plugins::ChecksumAlgorithm)
80
80
  add_plugin(Aws::Plugins::DefaultsMode)
81
81
  add_plugin(Aws::Plugins::RecursionDetection)
82
- add_plugin(Aws::Plugins::SignatureV4)
82
+ add_plugin(Aws::Plugins::Sign)
83
83
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
84
+ add_plugin(Aws::CloudWatchLogs::Plugins::Endpoints)
84
85
 
85
86
  # @overload initialize(options)
86
87
  # @param [Hash] options
@@ -297,6 +298,19 @@ module Aws::CloudWatchLogs
297
298
  # ** Please note ** When response stubbing is enabled, no HTTP
298
299
  # requests are made, and retries are disabled.
299
300
  #
301
+ # @option options [Aws::TokenProvider] :token_provider
302
+ # A Bearer Token Provider. This can be an instance of any one of the
303
+ # following classes:
304
+ #
305
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
306
+ # tokens.
307
+ #
308
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
309
+ # access token generated from `aws login`.
310
+ #
311
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
312
+ # will be used to search for tokens configured for your profile in shared configuration files.
313
+ #
300
314
  # @option options [Boolean] :use_dualstack_endpoint
301
315
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
302
316
  # will be used if available.
@@ -310,6 +324,9 @@ module Aws::CloudWatchLogs
310
324
  # When `true`, request parameters are validated before
311
325
  # sending the request.
312
326
  #
327
+ # @option options [Aws::CloudWatchLogs::EndpointProvider] :endpoint_provider
328
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::CloudWatchLogs::EndpointParameters`
329
+ #
313
330
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
314
331
  # requests through. Formatted like 'http://proxy.com:123'.
315
332
  #
@@ -447,12 +464,6 @@ module Aws::CloudWatchLogs
447
464
  # permission to write to the S3 bucket that you specify as the
448
465
  # destination.
449
466
  #
450
- # Exporting log data to Amazon S3 buckets that are encrypted by KMS is
451
- # not supported. Exporting log data to Amazon S3 buckets that have S3
452
- # Object Lock enabled with a retention period is not supported.
453
- #
454
- # Exporting to S3 buckets that are encrypted with AES-256 is supported.
455
- #
456
467
  # This is an asynchronous call. If all the required information is
457
468
  # provided, this operation initiates an export task and responds with
458
469
  # the ID of the task. After the task has started, you can use
@@ -465,11 +476,8 @@ module Aws::CloudWatchLogs
465
476
  # you can specify a prefix to be used as the Amazon S3 key prefix for
466
477
  # all exported objects.
467
478
  #
468
- # <note markdown="1"> Time-based sorting on chunks of log data inside an exported file is
469
- # not guaranteed. You can sort the exported log fild data by using Linux
470
- # utilities.
471
- #
472
- # </note>
479
+ # Exporting to S3 buckets that are encrypted with AES-256 is supported.
480
+ # Exporting to S3 buckets encrypted with SSE-KMS is not supported.
473
481
  #
474
482
  #
475
483
  #
@@ -1776,8 +1784,58 @@ module Aws::CloudWatchLogs
1776
1784
  req.send_request(options)
1777
1785
  end
1778
1786
 
1787
+ # Displays the tags associated with a CloudWatch Logs resource.
1788
+ # Currently, log groups and destinations support tagging.
1789
+ #
1790
+ # @option params [required, String] :resource_arn
1791
+ # The ARN of the resource that you want to view tags for.
1792
+ #
1793
+ # The ARN format of a log group is
1794
+ # `arn:aws:logs:Region:account-id:log-group:log-group-name `
1795
+ #
1796
+ # The ARN format of a destination is
1797
+ # `arn:aws:logs:Region:account-id:destination:destination-name `
1798
+ #
1799
+ # For more information about ARN format, see [CloudWatch Logs resources
1800
+ # and operations][1].
1801
+ #
1802
+ #
1803
+ #
1804
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html
1805
+ #
1806
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1807
+ #
1808
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
1809
+ #
1810
+ # @example Request syntax with placeholder values
1811
+ #
1812
+ # resp = client.list_tags_for_resource({
1813
+ # resource_arn: "AmazonResourceName", # required
1814
+ # })
1815
+ #
1816
+ # @example Response structure
1817
+ #
1818
+ # resp.tags #=> Hash
1819
+ # resp.tags["TagKey"] #=> String
1820
+ #
1821
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ListTagsForResource AWS API Documentation
1822
+ #
1823
+ # @overload list_tags_for_resource(params = {})
1824
+ # @param [Hash] params ({})
1825
+ def list_tags_for_resource(params = {}, options = {})
1826
+ req = build_request(:list_tags_for_resource, params)
1827
+ req.send_request(options)
1828
+ end
1829
+
1830
+ # The ListTagsLogGroup operation is on the path to deprecation. We
1831
+ # recommend that you use [ListTagsForResource][1] instead.
1832
+ #
1779
1833
  # Lists the tags for the specified log group.
1780
1834
  #
1835
+ #
1836
+ #
1837
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_ListTagsForResource.html
1838
+ #
1781
1839
  # @option params [required, String] :log_group_name
1782
1840
  # The name of the log group.
1783
1841
  #
@@ -1839,6 +1897,16 @@ module Aws::CloudWatchLogs
1839
1897
  # The ARN of an IAM role that grants CloudWatch Logs permissions to call
1840
1898
  # the Amazon Kinesis `PutRecord` operation on the destination stream.
1841
1899
  #
1900
+ # @option params [Hash<String,String>] :tags
1901
+ # An optional list of key-value pairs to associate with the resource.
1902
+ #
1903
+ # For more information about tagging, see [Tagging Amazon Web Services
1904
+ # resources][1]
1905
+ #
1906
+ #
1907
+ #
1908
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
1909
+ #
1842
1910
  # @return [Types::PutDestinationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1843
1911
  #
1844
1912
  # * {Types::PutDestinationResponse#destination #destination} => Types::Destination
@@ -1849,6 +1917,9 @@ module Aws::CloudWatchLogs
1849
1917
  # destination_name: "DestinationName", # required
1850
1918
  # target_arn: "TargetArn", # required
1851
1919
  # role_arn: "RoleArn", # required
1920
+ # tags: {
1921
+ # "TagKey" => "TagValue",
1922
+ # },
1852
1923
  # })
1853
1924
  #
1854
1925
  # @example Response structure
@@ -2260,7 +2331,7 @@ module Aws::CloudWatchLogs
2260
2331
  # @option params [required, Integer] :retention_in_days
2261
2332
  # The number of days to retain the log events in the specified log
2262
2333
  # group. Possible values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180,
2263
- # 365, 400, 545, 731, 1827, 2192, 2557, 2922, 3288, and 3653.
2334
+ # 365, 400, 545, 731, 1827, and 3653.
2264
2335
  #
2265
2336
  # To set a log group to never have log events expire, use
2266
2337
  # [DeleteRetentionPolicy][1].
@@ -2503,26 +2574,30 @@ module Aws::CloudWatchLogs
2503
2574
  req.send_request(options)
2504
2575
  end
2505
2576
 
2577
+ # The TagLogGroup operation is on the path to deprecation. We recommend
2578
+ # that you use [TagResource][1] instead.
2579
+ #
2506
2580
  # Adds or updates the specified tags for the specified log group.
2507
2581
  #
2508
- # To list the tags for a log group, use [ListTagsLogGroup][1]. To remove
2509
- # tags, use [UntagLogGroup][2].
2582
+ # To list the tags for a log group, use [ListTagsForResource][2]. To
2583
+ # remove tags, use [UntagResource][3].
2510
2584
  #
2511
2585
  # For more information about tags, see [Tag Log Groups in Amazon
2512
- # CloudWatch Logs][3] in the *Amazon CloudWatch Logs User Guide*.
2586
+ # CloudWatch Logs][4] in the *Amazon CloudWatch Logs User Guide*.
2513
2587
  #
2514
2588
  # CloudWatch Logs doesn’t support IAM policies that prevent users from
2515
2589
  # assigning specified tags to log groups using the
2516
2590
  # `aws:Resource/key-name ` or `aws:TagKeys` condition keys. For more
2517
2591
  # information about using tags to control access, see [Controlling
2518
- # access to Amazon Web Services resources using tags][4].
2592
+ # access to Amazon Web Services resources using tags][5].
2519
2593
  #
2520
2594
  #
2521
2595
  #
2522
- # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_ListTagsLogGroup.html
2523
- # [2]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_UntagLogGroup.html
2524
- # [3]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#log-group-tagging
2525
- # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html
2596
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_TagResource.html
2597
+ # [2]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_ListTagsForResource.html
2598
+ # [3]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_UntagResource.html
2599
+ # [4]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#log-group-tagging
2600
+ # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html
2526
2601
  #
2527
2602
  # @option params [required, String] :log_group_name
2528
2603
  # The name of the log group.
@@ -2550,6 +2625,64 @@ module Aws::CloudWatchLogs
2550
2625
  req.send_request(options)
2551
2626
  end
2552
2627
 
2628
+ # Assigns one or more tags (key-value pairs) to the specified CloudWatch
2629
+ # Logs resource. Currently, the only CloudWatch Logs resources that can
2630
+ # be tagged are log groups and destinations.
2631
+ #
2632
+ # Tags can help you organize and categorize your resources. You can also
2633
+ # use them to scope user permissions by granting a user permission to
2634
+ # access or change only resources with certain tag values.
2635
+ #
2636
+ # Tags don't have any semantic meaning to Amazon Web Services and are
2637
+ # interpreted strictly as strings of characters.
2638
+ #
2639
+ # You can use the `TagResource` action with a resource that already has
2640
+ # tags. If you specify a new tag key for the alarm, this tag is appended
2641
+ # to the list of tags associated with the alarm. If you specify a tag
2642
+ # key that is already associated with the alarm, the new tag value that
2643
+ # you specify replaces the previous value for that tag.
2644
+ #
2645
+ # You can associate as many as 50 tags with a CloudWatch Logs resource.
2646
+ #
2647
+ # @option params [required, String] :resource_arn
2648
+ # The ARN of the resource that you're adding tags to.
2649
+ #
2650
+ # The ARN format of a log group is
2651
+ # `arn:aws:logs:Region:account-id:log-group:log-group-name `
2652
+ #
2653
+ # The ARN format of a destination is
2654
+ # `arn:aws:logs:Region:account-id:destination:destination-name `
2655
+ #
2656
+ # For more information about ARN format, see [CloudWatch Logs resources
2657
+ # and operations][1].
2658
+ #
2659
+ #
2660
+ #
2661
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html
2662
+ #
2663
+ # @option params [required, Hash<String,String>] :tags
2664
+ # The list of key-value pairs to associate with the resource.
2665
+ #
2666
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2667
+ #
2668
+ # @example Request syntax with placeholder values
2669
+ #
2670
+ # resp = client.tag_resource({
2671
+ # resource_arn: "AmazonResourceName", # required
2672
+ # tags: { # required
2673
+ # "TagKey" => "TagValue",
2674
+ # },
2675
+ # })
2676
+ #
2677
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/TagResource AWS API Documentation
2678
+ #
2679
+ # @overload tag_resource(params = {})
2680
+ # @param [Hash] params ({})
2681
+ def tag_resource(params = {}, options = {})
2682
+ req = build_request(:tag_resource, params)
2683
+ req.send_request(options)
2684
+ end
2685
+
2553
2686
  # Tests the filter pattern of a metric filter against a sample of log
2554
2687
  # event messages. You can use this operation to validate the correctness
2555
2688
  # of a metric filter pattern.
@@ -2591,10 +2724,13 @@ module Aws::CloudWatchLogs
2591
2724
  req.send_request(options)
2592
2725
  end
2593
2726
 
2727
+ # The UntagLogGroup operation is on the path to deprecation. We
2728
+ # recommend that you use [UntagResource][1] instead.
2729
+ #
2594
2730
  # Removes the specified tags from the specified log group.
2595
2731
  #
2596
- # To list the tags for a log group, use [ListTagsLogGroup][1]. To add
2597
- # tags, use [TagLogGroup][2].
2732
+ # To list the tags for a log group, use [ListTagsForResource][2]. To add
2733
+ # tags, use [TagResource][3].
2598
2734
  #
2599
2735
  # CloudWatch Logs doesn’t support IAM policies that prevent users from
2600
2736
  # assigning specified tags to log groups using the
@@ -2602,8 +2738,9 @@ module Aws::CloudWatchLogs
2602
2738
  #
2603
2739
  #
2604
2740
  #
2605
- # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_ListTagsLogGroup.html
2606
- # [2]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_TagLogGroup.html
2741
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_UntagResource.html
2742
+ # [2]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_ListTagsForResource.html
2743
+ # [3]: https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_TagResource.html
2607
2744
  #
2608
2745
  # @option params [required, String] :log_group_name
2609
2746
  # The name of the log group.
@@ -2629,6 +2766,46 @@ module Aws::CloudWatchLogs
2629
2766
  req.send_request(options)
2630
2767
  end
2631
2768
 
2769
+ # Removes one or more tags from the specified resource.
2770
+ #
2771
+ # @option params [required, String] :resource_arn
2772
+ # The ARN of the CloudWatch Logs resource that you're removing tags
2773
+ # from.
2774
+ #
2775
+ # The ARN format of a log group is
2776
+ # `arn:aws:logs:Region:account-id:log-group:log-group-name `
2777
+ #
2778
+ # The ARN format of a destination is
2779
+ # `arn:aws:logs:Region:account-id:destination:destination-name `
2780
+ #
2781
+ # For more information about ARN format, see [CloudWatch Logs resources
2782
+ # and operations][1].
2783
+ #
2784
+ #
2785
+ #
2786
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html
2787
+ #
2788
+ # @option params [required, Array<String>] :tag_keys
2789
+ # The list of tag keys to remove from the resource.
2790
+ #
2791
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2792
+ #
2793
+ # @example Request syntax with placeholder values
2794
+ #
2795
+ # resp = client.untag_resource({
2796
+ # resource_arn: "AmazonResourceName", # required
2797
+ # tag_keys: ["TagKey"], # required
2798
+ # })
2799
+ #
2800
+ # @see http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/UntagResource AWS API Documentation
2801
+ #
2802
+ # @overload untag_resource(params = {})
2803
+ # @param [Hash] params ({})
2804
+ def untag_resource(params = {}, options = {})
2805
+ req = build_request(:untag_resource, params)
2806
+ req.send_request(options)
2807
+ end
2808
+
2632
2809
  # @!endgroup
2633
2810
 
2634
2811
  # @param params ({})
@@ -2642,7 +2819,7 @@ module Aws::CloudWatchLogs
2642
2819
  params: params,
2643
2820
  config: config)
2644
2821
  context[:gem_name] = 'aws-sdk-cloudwatchlogs'
2645
- context[:gem_version] = '1.53.0'
2822
+ context[:gem_version] = '1.55.0'
2646
2823
  Seahorse::Client::Request.new(handlers, context)
2647
2824
  end
2648
2825
 
@@ -14,6 +14,7 @@ module Aws::CloudWatchLogs
14
14
  include Seahorse::Model
15
15
 
16
16
  AccessPolicy = Shapes::StringShape.new(name: 'AccessPolicy')
17
+ AmazonResourceName = Shapes::StringShape.new(name: 'AmazonResourceName')
17
18
  Arn = Shapes::StringShape.new(name: 'Arn')
18
19
  AssociateKmsKeyRequest = Shapes::StructureShape.new(name: 'AssociateKmsKeyRequest')
19
20
  CancelExportTaskRequest = Shapes::StructureShape.new(name: 'CancelExportTaskRequest')
@@ -104,6 +105,8 @@ module Aws::CloudWatchLogs
104
105
  InvalidSequenceTokenException = Shapes::StructureShape.new(name: 'InvalidSequenceTokenException')
105
106
  KmsKeyId = Shapes::StringShape.new(name: 'KmsKeyId')
106
107
  LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
108
+ ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
109
+ ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
107
110
  ListTagsLogGroupRequest = Shapes::StructureShape.new(name: 'ListTagsLogGroupRequest')
108
111
  ListTagsLogGroupResponse = Shapes::StructureShape.new(name: 'ListTagsLogGroupResponse')
109
112
  LogEventIndex = Shapes::IntegerShape.new(name: 'LogEventIndex')
@@ -189,8 +192,10 @@ module Aws::CloudWatchLogs
189
192
  SubscriptionFilters = Shapes::ListShape.new(name: 'SubscriptionFilters')
190
193
  Success = Shapes::BooleanShape.new(name: 'Success')
191
194
  TagKey = Shapes::StringShape.new(name: 'TagKey')
195
+ TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
192
196
  TagList = Shapes::ListShape.new(name: 'TagList')
193
197
  TagLogGroupRequest = Shapes::StructureShape.new(name: 'TagLogGroupRequest')
198
+ TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest')
194
199
  TagValue = Shapes::StringShape.new(name: 'TagValue')
195
200
  Tags = Shapes::MapShape.new(name: 'Tags')
196
201
  TargetArn = Shapes::StringShape.new(name: 'TargetArn')
@@ -199,8 +204,10 @@ module Aws::CloudWatchLogs
199
204
  TestMetricFilterResponse = Shapes::StructureShape.new(name: 'TestMetricFilterResponse')
200
205
  Timestamp = Shapes::IntegerShape.new(name: 'Timestamp')
201
206
  Token = Shapes::StringShape.new(name: 'Token')
207
+ TooManyTagsException = Shapes::StructureShape.new(name: 'TooManyTagsException')
202
208
  UnrecognizedClientException = Shapes::StructureShape.new(name: 'UnrecognizedClientException')
203
209
  UntagLogGroupRequest = Shapes::StructureShape.new(name: 'UntagLogGroupRequest')
210
+ UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
204
211
  Value = Shapes::StringShape.new(name: 'Value')
205
212
 
206
213
  AssociateKmsKeyRequest.add_member(:log_group_name, Shapes::ShapeRef.new(shape: LogGroupName, required: true, location_name: "logGroupName"))
@@ -470,6 +477,12 @@ module Aws::CloudWatchLogs
470
477
 
471
478
  LimitExceededException.struct_class = Types::LimitExceededException
472
479
 
480
+ ListTagsForResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, required: true, location_name: "resourceArn"))
481
+ ListTagsForResourceRequest.struct_class = Types::ListTagsForResourceRequest
482
+
483
+ ListTagsForResourceResponse.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
484
+ ListTagsForResourceResponse.struct_class = Types::ListTagsForResourceResponse
485
+
473
486
  ListTagsLogGroupRequest.add_member(:log_group_name, Shapes::ShapeRef.new(shape: LogGroupName, required: true, location_name: "logGroupName"))
474
487
  ListTagsLogGroupRequest.struct_class = Types::ListTagsLogGroupRequest
475
488
 
@@ -556,6 +569,7 @@ module Aws::CloudWatchLogs
556
569
  PutDestinationRequest.add_member(:destination_name, Shapes::ShapeRef.new(shape: DestinationName, required: true, location_name: "destinationName"))
557
570
  PutDestinationRequest.add_member(:target_arn, Shapes::ShapeRef.new(shape: TargetArn, required: true, location_name: "targetArn"))
558
571
  PutDestinationRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleArn, required: true, location_name: "roleArn"))
572
+ PutDestinationRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
559
573
  PutDestinationRequest.struct_class = Types::PutDestinationRequest
560
574
 
561
575
  PutDestinationResponse.add_member(:destination, Shapes::ShapeRef.new(shape: Destination, location_name: "destination"))
@@ -696,12 +710,18 @@ module Aws::CloudWatchLogs
696
710
 
697
711
  SubscriptionFilters.member = Shapes::ShapeRef.new(shape: SubscriptionFilter)
698
712
 
713
+ TagKeyList.member = Shapes::ShapeRef.new(shape: TagKey)
714
+
699
715
  TagList.member = Shapes::ShapeRef.new(shape: TagKey)
700
716
 
701
717
  TagLogGroupRequest.add_member(:log_group_name, Shapes::ShapeRef.new(shape: LogGroupName, required: true, location_name: "logGroupName"))
702
718
  TagLogGroupRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, required: true, location_name: "tags"))
703
719
  TagLogGroupRequest.struct_class = Types::TagLogGroupRequest
704
720
 
721
+ TagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, required: true, location_name: "resourceArn"))
722
+ TagResourceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, required: true, location_name: "tags"))
723
+ TagResourceRequest.struct_class = Types::TagResourceRequest
724
+
705
725
  Tags.key = Shapes::ShapeRef.new(shape: TagKey)
706
726
  Tags.value = Shapes::ShapeRef.new(shape: TagValue)
707
727
 
@@ -714,12 +734,20 @@ module Aws::CloudWatchLogs
714
734
  TestMetricFilterResponse.add_member(:matches, Shapes::ShapeRef.new(shape: MetricFilterMatches, location_name: "matches"))
715
735
  TestMetricFilterResponse.struct_class = Types::TestMetricFilterResponse
716
736
 
737
+ TooManyTagsException.add_member(:message, Shapes::ShapeRef.new(shape: Message, location_name: "message"))
738
+ TooManyTagsException.add_member(:resource_name, Shapes::ShapeRef.new(shape: AmazonResourceName, location_name: "resourceName"))
739
+ TooManyTagsException.struct_class = Types::TooManyTagsException
740
+
717
741
  UnrecognizedClientException.struct_class = Types::UnrecognizedClientException
718
742
 
719
743
  UntagLogGroupRequest.add_member(:log_group_name, Shapes::ShapeRef.new(shape: LogGroupName, required: true, location_name: "logGroupName"))
720
744
  UntagLogGroupRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, required: true, location_name: "tags"))
721
745
  UntagLogGroupRequest.struct_class = Types::UntagLogGroupRequest
722
746
 
747
+ UntagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, required: true, location_name: "resourceArn"))
748
+ UntagResourceRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeyList, required: true, location_name: "tagKeys"))
749
+ UntagResourceRequest.struct_class = Types::UntagResourceRequest
750
+
723
751
 
724
752
  # @api private
725
753
  API = Seahorse::Model::Api.new.tap do |api|
@@ -1100,10 +1128,22 @@ module Aws::CloudWatchLogs
1100
1128
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
1101
1129
  end)
1102
1130
 
1131
+ api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
1132
+ o.name = "ListTagsForResource"
1133
+ o.http_method = "POST"
1134
+ o.http_request_uri = "/"
1135
+ o.input = Shapes::ShapeRef.new(shape: ListTagsForResourceRequest)
1136
+ o.output = Shapes::ShapeRef.new(shape: ListTagsForResourceResponse)
1137
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1138
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1139
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
1140
+ end)
1141
+
1103
1142
  api.add_operation(:list_tags_log_group, Seahorse::Model::Operation.new.tap do |o|
1104
1143
  o.name = "ListTagsLogGroup"
1105
1144
  o.http_method = "POST"
1106
1145
  o.http_request_uri = "/"
1146
+ o.deprecated = true
1107
1147
  o.input = Shapes::ShapeRef.new(shape: ListTagsLogGroupRequest)
1108
1148
  o.output = Shapes::ShapeRef.new(shape: ListTagsLogGroupResponse)
1109
1149
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
@@ -1235,12 +1275,25 @@ module Aws::CloudWatchLogs
1235
1275
  o.name = "TagLogGroup"
1236
1276
  o.http_method = "POST"
1237
1277
  o.http_request_uri = "/"
1278
+ o.deprecated = true
1238
1279
  o.input = Shapes::ShapeRef.new(shape: TagLogGroupRequest)
1239
1280
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1240
1281
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1241
1282
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1242
1283
  end)
1243
1284
 
1285
+ api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
1286
+ o.name = "TagResource"
1287
+ o.http_method = "POST"
1288
+ o.http_request_uri = "/"
1289
+ o.input = Shapes::ShapeRef.new(shape: TagResourceRequest)
1290
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1291
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1292
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1293
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
1294
+ o.errors << Shapes::ShapeRef.new(shape: TooManyTagsException)
1295
+ end)
1296
+
1244
1297
  api.add_operation(:test_metric_filter, Seahorse::Model::Operation.new.tap do |o|
1245
1298
  o.name = "TestMetricFilter"
1246
1299
  o.http_method = "POST"
@@ -1255,10 +1308,22 @@ module Aws::CloudWatchLogs
1255
1308
  o.name = "UntagLogGroup"
1256
1309
  o.http_method = "POST"
1257
1310
  o.http_request_uri = "/"
1311
+ o.deprecated = true
1258
1312
  o.input = Shapes::ShapeRef.new(shape: UntagLogGroupRequest)
1259
1313
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1260
1314
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1261
1315
  end)
1316
+
1317
+ api.add_operation(:untag_resource, Seahorse::Model::Operation.new.tap do |o|
1318
+ o.name = "UntagResource"
1319
+ o.http_method = "POST"
1320
+ o.http_request_uri = "/"
1321
+ o.input = Shapes::ShapeRef.new(shape: UntagResourceRequest)
1322
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1323
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1324
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1325
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
1326
+ end)
1262
1327
  end
1263
1328
 
1264
1329
  end
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::CloudWatchLogs
11
+ # Endpoint parameters used to influence endpoints per request.
12
+ #
13
+ # @!attribute region
14
+ # The AWS region used to dispatch the request.
15
+ #
16
+ # @return [String]
17
+ #
18
+ # @!attribute use_dual_stack
19
+ # When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
20
+ #
21
+ # @return [Boolean]
22
+ #
23
+ # @!attribute use_fips
24
+ # When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.
25
+ #
26
+ # @return [Boolean]
27
+ #
28
+ # @!attribute endpoint
29
+ # Override the endpoint used to send this request
30
+ #
31
+ # @return [String]
32
+ #
33
+ EndpointParameters = Struct.new(
34
+ :region,
35
+ :use_dual_stack,
36
+ :use_fips,
37
+ :endpoint,
38
+ ) do
39
+ include Aws::Structure
40
+
41
+ # @api private
42
+ class << self
43
+ PARAM_MAP = {
44
+ 'Region' => :region,
45
+ 'UseDualStack' => :use_dual_stack,
46
+ 'UseFIPS' => :use_fips,
47
+ 'Endpoint' => :endpoint,
48
+ }.freeze
49
+ end
50
+
51
+ def initialize(options = {})
52
+ self[:region] = options[:region]
53
+ self[:use_dual_stack] = options[:use_dual_stack]
54
+ self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
+ if self[:use_dual_stack].nil?
56
+ raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
57
+ end
58
+ self[:use_fips] = options[:use_fips]
59
+ self[:use_fips] = false if self[:use_fips].nil?
60
+ if self[:use_fips].nil?
61
+ raise ArgumentError, "Missing required EndpointParameter: :use_fips"
62
+ end
63
+ self[:endpoint] = options[:endpoint]
64
+ end
65
+ end
66
+ end