aws-sdk-cloudwatchlogs 1.53.0 → 1.55.0

Sign up to get free protection for your applications and to get access to all the features.
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