aws-sdk-shield 1.34.0 → 1.35.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: 3ac82a17cacca4b5a293b83132ff40d0fe0359bdc28c1d97b72d725daf54c599
4
- data.tar.gz: 7b8ffa6b55123f76e49085a6bce2b572fb7124ae51e7730ba41dc9210ab65303
3
+ metadata.gz: 5f1c1863d3817958a8775b0a57f1255052dc356c91ca87c5082830480bb07c52
4
+ data.tar.gz: 4687411738f1a28821387adad673f438e99e710522336981b6b1723a06af4112
5
5
  SHA512:
6
- metadata.gz: 2376b0ecc10e43857687117258e970390860f492a958f987c904546b55b8a0e65b9d52d1791e7a38292b34592688f639914e0df6ab842f362ed4dfc69681b43e
7
- data.tar.gz: 7ac5d4cd1e504ba48221131e7025b319a451e0a5a01d5054f416ea2f0e5e493015fabe1cca4a65ef5e0ff1110a87996572bf156cf9b24ed816575354bf6aa007
6
+ metadata.gz: 16579e7853bfb899653897050aa82be3f420881ebd88c447020dee26a6f80f31a3722ed5918f2bf86ef4d8066c504de05d809326a408fa71f723034b4dbdae21
7
+ data.tar.gz: 32ffb370a64659e7a2e968d17d77e6ed4e8a9d6023658a3634d0e03e216f831f2d4b764ab6473c51c973df6c34186f2f8187ba3d5d58ee79f655a2cfc972020b
data/CHANGELOG.md ADDED
@@ -0,0 +1,243 @@
1
+ Unreleased Changes
2
+ ------------------
3
+
4
+ 1.35.0 (2021-03-05)
5
+ ------------------
6
+
7
+ * Feature - Add support for tagging of Shield protection and protection group resources.
8
+
9
+ 1.34.0 (2021-02-02)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
14
+ 1.33.0 (2020-11-13)
15
+ ------------------
16
+
17
+ * Feature - This release adds APIs for two new features: 1) Allow customers to bundle resources into protection groups and treat as a single unit. 2) Provide per-account event summaries to all AWS customers.
18
+
19
+ 1.32.0 (2020-09-30)
20
+ ------------------
21
+
22
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
23
+
24
+ 1.31.0 (2020-09-15)
25
+ ------------------
26
+
27
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
28
+
29
+ 1.30.0 (2020-08-25)
30
+ ------------------
31
+
32
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
33
+
34
+ 1.29.0 (2020-07-02)
35
+ ------------------
36
+
37
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
38
+
39
+ 1.28.0 (2020-06-23)
40
+ ------------------
41
+
42
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
43
+
44
+ 1.27.1 (2020-06-11)
45
+ ------------------
46
+
47
+ * Issue - Republish previous version with correct dependency on `aws-sdk-core`.
48
+
49
+ 1.27.0 (2020-06-10)
50
+ ------------------
51
+
52
+ * Issue - This version has been yanked. (#2327).
53
+ * Feature - Corrections to the supported format for contact phone numbers and to the description for the create subscription action.
54
+
55
+ 1.26.0 (2020-06-08)
56
+ ------------------
57
+
58
+ * Feature - This release adds the option for customers to identify a contact name and method that the DDoS Response Team can proactively engage when a Route 53 Health Check that is associated with a Shield protected resource fails.
59
+
60
+ 1.25.0 (2020-05-28)
61
+ ------------------
62
+
63
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
64
+
65
+ 1.24.0 (2020-05-07)
66
+ ------------------
67
+
68
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
69
+
70
+ 1.23.0 (2020-03-09)
71
+ ------------------
72
+
73
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
74
+
75
+ 1.22.0 (2020-02-14)
76
+ ------------------
77
+
78
+ * Feature - This release adds support for associating Amazon Route 53 health checks to AWS Shield Advanced protected resources.
79
+
80
+ 1.21.0 (2019-10-23)
81
+ ------------------
82
+
83
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
84
+
85
+ 1.20.0 (2019-07-25)
86
+ ------------------
87
+
88
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
89
+
90
+ 1.19.0 (2019-07-22)
91
+ ------------------
92
+
93
+ * Feature - Adding new VectorType (HTTP_Reflection) and related top contributor types to describe WordPress Pingback DDoS attacks.
94
+
95
+ 1.18.0 (2019-07-01)
96
+ ------------------
97
+
98
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
99
+
100
+ 1.17.0 (2019-06-17)
101
+ ------------------
102
+
103
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
104
+
105
+ 1.16.0 (2019-05-21)
106
+ ------------------
107
+
108
+ * Feature - API update.
109
+
110
+ 1.15.0 (2019-05-15)
111
+ ------------------
112
+
113
+ * Feature - API update.
114
+
115
+ 1.14.0 (2019-05-14)
116
+ ------------------
117
+
118
+ * Feature - API update.
119
+
120
+ 1.13.0 (2019-03-21)
121
+ ------------------
122
+
123
+ * Feature - API update.
124
+
125
+ 1.12.0 (2019-03-18)
126
+ ------------------
127
+
128
+ * Feature - API update.
129
+
130
+ 1.11.0 (2019-03-14)
131
+ ------------------
132
+
133
+ * Feature - API update.
134
+
135
+ 1.10.0 (2019-02-05)
136
+ ------------------
137
+
138
+ * Feature - API update.
139
+
140
+ 1.9.0 (2018-11-20)
141
+ ------------------
142
+
143
+ * Feature - API update.
144
+
145
+ 1.8.0 (2018-10-24)
146
+ ------------------
147
+
148
+ * Feature - API update.
149
+
150
+ 1.7.0 (2018-10-23)
151
+ ------------------
152
+
153
+ * Feature - API update.
154
+
155
+ 1.6.0 (2018-10-22)
156
+ ------------------
157
+
158
+ * Feature - API update.
159
+
160
+ 1.5.0 (2018-09-06)
161
+ ------------------
162
+
163
+ * Feature - Adds code paths and plugins for future SDK instrumentation and telemetry.
164
+
165
+ 1.4.0 (2018-09-05)
166
+ ------------------
167
+
168
+ * Feature - API update.
169
+
170
+ 1.3.0 (2018-06-26)
171
+ ------------------
172
+
173
+ * Feature - API update.
174
+
175
+ 1.2.0 (2018-06-05)
176
+ ------------------
177
+
178
+ * Feature - API update.
179
+
180
+ 1.1.0 (2017-11-22)
181
+ ------------------
182
+
183
+ * Feature - API update.
184
+
185
+ * Issue - Update `aws-sdk-shield` gemspec metadata.
186
+
187
+ 1.0.0 (2017-08-29)
188
+ ------------------
189
+
190
+ 1.0.0.rc12 (2017-08-15)
191
+ ------------------
192
+
193
+ * Feature - API update.
194
+
195
+ 1.0.0.rc11 (2017-08-01)
196
+ ------------------
197
+
198
+ * Feature - API update.
199
+
200
+ 1.0.0.rc10 (2017-07-25)
201
+ ------------------
202
+
203
+ * Feature - API update.
204
+
205
+ 1.0.0.rc9 (2017-07-13)
206
+ ------------------
207
+
208
+ * Feature - API update.
209
+
210
+ 1.0.0.rc8 (2017-07-06)
211
+ ------------------
212
+
213
+ * Feature - API update.
214
+
215
+ 1.0.0.rc7 (2017-06-29)
216
+ ------------------
217
+
218
+ * Feature - API update.
219
+
220
+ 1.0.0.rc6 (2017-05-23)
221
+ ------------------
222
+
223
+ * Feature - API update.
224
+
225
+ 1.0.0.rc5 (2017-05-09)
226
+ ------------------
227
+
228
+ * Feature - API update.
229
+
230
+ 1.0.0.rc4 (2017-05-09)
231
+ ------------------
232
+
233
+ * Feature - API update.
234
+
235
+ 1.0.0.rc3 (2017-04-21)
236
+ ------------------
237
+
238
+ * Feature - API update.
239
+
240
+ 1.0.0.rc2 (2016-12-09)
241
+ ------------------
242
+
243
+ * Feature - Initial release of `aws-sdk-shield`.
data/LICENSE.txt ADDED
@@ -0,0 +1,202 @@
1
+
2
+ Apache License
3
+ Version 2.0, January 2004
4
+ http://www.apache.org/licenses/
5
+
6
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7
+
8
+ 1. Definitions.
9
+
10
+ "License" shall mean the terms and conditions for use, reproduction,
11
+ and distribution as defined by Sections 1 through 9 of this document.
12
+
13
+ "Licensor" shall mean the copyright owner or entity authorized by
14
+ the copyright owner that is granting the License.
15
+
16
+ "Legal Entity" shall mean the union of the acting entity and all
17
+ other entities that control, are controlled by, or are under common
18
+ control with that entity. For the purposes of this definition,
19
+ "control" means (i) the power, direct or indirect, to cause the
20
+ direction or management of such entity, whether by contract or
21
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
22
+ outstanding shares, or (iii) beneficial ownership of such entity.
23
+
24
+ "You" (or "Your") shall mean an individual or Legal Entity
25
+ exercising permissions granted by this License.
26
+
27
+ "Source" form shall mean the preferred form for making modifications,
28
+ including but not limited to software source code, documentation
29
+ source, and configuration files.
30
+
31
+ "Object" form shall mean any form resulting from mechanical
32
+ transformation or translation of a Source form, including but
33
+ not limited to compiled object code, generated documentation,
34
+ and conversions to other media types.
35
+
36
+ "Work" shall mean the work of authorship, whether in Source or
37
+ Object form, made available under the License, as indicated by a
38
+ copyright notice that is included in or attached to the work
39
+ (an example is provided in the Appendix below).
40
+
41
+ "Derivative Works" shall mean any work, whether in Source or Object
42
+ form, that is based on (or derived from) the Work and for which the
43
+ editorial revisions, annotations, elaborations, or other modifications
44
+ represent, as a whole, an original work of authorship. For the purposes
45
+ of this License, Derivative Works shall not include works that remain
46
+ separable from, or merely link (or bind by name) to the interfaces of,
47
+ the Work and Derivative Works thereof.
48
+
49
+ "Contribution" shall mean any work of authorship, including
50
+ the original version of the Work and any modifications or additions
51
+ to that Work or Derivative Works thereof, that is intentionally
52
+ submitted to Licensor for inclusion in the Work by the copyright owner
53
+ or by an individual or Legal Entity authorized to submit on behalf of
54
+ the copyright owner. For the purposes of this definition, "submitted"
55
+ means any form of electronic, verbal, or written communication sent
56
+ to the Licensor or its representatives, including but not limited to
57
+ communication on electronic mailing lists, source code control systems,
58
+ and issue tracking systems that are managed by, or on behalf of, the
59
+ Licensor for the purpose of discussing and improving the Work, but
60
+ excluding communication that is conspicuously marked or otherwise
61
+ designated in writing by the copyright owner as "Not a Contribution."
62
+
63
+ "Contributor" shall mean Licensor and any individual or Legal Entity
64
+ on behalf of whom a Contribution has been received by Licensor and
65
+ subsequently incorporated within the Work.
66
+
67
+ 2. Grant of Copyright License. Subject to the terms and conditions of
68
+ this License, each Contributor hereby grants to You a perpetual,
69
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
+ copyright license to reproduce, prepare Derivative Works of,
71
+ publicly display, publicly perform, sublicense, and distribute the
72
+ Work and such Derivative Works in Source or Object form.
73
+
74
+ 3. Grant of Patent License. Subject to the terms and conditions of
75
+ this License, each Contributor hereby grants to You a perpetual,
76
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
+ (except as stated in this section) patent license to make, have made,
78
+ use, offer to sell, sell, import, and otherwise transfer the Work,
79
+ where such license applies only to those patent claims licensable
80
+ by such Contributor that are necessarily infringed by their
81
+ Contribution(s) alone or by combination of their Contribution(s)
82
+ with the Work to which such Contribution(s) was submitted. If You
83
+ institute patent litigation against any entity (including a
84
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
85
+ or a Contribution incorporated within the Work constitutes direct
86
+ or contributory patent infringement, then any patent licenses
87
+ granted to You under this License for that Work shall terminate
88
+ as of the date such litigation is filed.
89
+
90
+ 4. Redistribution. You may reproduce and distribute copies of the
91
+ Work or Derivative Works thereof in any medium, with or without
92
+ modifications, and in Source or Object form, provided that You
93
+ meet the following conditions:
94
+
95
+ (a) You must give any other recipients of the Work or
96
+ Derivative Works a copy of this License; and
97
+
98
+ (b) You must cause any modified files to carry prominent notices
99
+ stating that You changed the files; and
100
+
101
+ (c) You must retain, in the Source form of any Derivative Works
102
+ that You distribute, all copyright, patent, trademark, and
103
+ attribution notices from the Source form of the Work,
104
+ excluding those notices that do not pertain to any part of
105
+ the Derivative Works; and
106
+
107
+ (d) If the Work includes a "NOTICE" text file as part of its
108
+ distribution, then any Derivative Works that You distribute must
109
+ include a readable copy of the attribution notices contained
110
+ within such NOTICE file, excluding those notices that do not
111
+ pertain to any part of the Derivative Works, in at least one
112
+ of the following places: within a NOTICE text file distributed
113
+ as part of the Derivative Works; within the Source form or
114
+ documentation, if provided along with the Derivative Works; or,
115
+ within a display generated by the Derivative Works, if and
116
+ wherever such third-party notices normally appear. The contents
117
+ of the NOTICE file are for informational purposes only and
118
+ do not modify the License. You may add Your own attribution
119
+ notices within Derivative Works that You distribute, alongside
120
+ or as an addendum to the NOTICE text from the Work, provided
121
+ that such additional attribution notices cannot be construed
122
+ as modifying the License.
123
+
124
+ You may add Your own copyright statement to Your modifications and
125
+ may provide additional or different license terms and conditions
126
+ for use, reproduction, or distribution of Your modifications, or
127
+ for any such Derivative Works as a whole, provided Your use,
128
+ reproduction, and distribution of the Work otherwise complies with
129
+ the conditions stated in this License.
130
+
131
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
132
+ any Contribution intentionally submitted for inclusion in the Work
133
+ by You to the Licensor shall be under the terms and conditions of
134
+ this License, without any additional terms or conditions.
135
+ Notwithstanding the above, nothing herein shall supersede or modify
136
+ the terms of any separate license agreement you may have executed
137
+ with Licensor regarding such Contributions.
138
+
139
+ 6. Trademarks. This License does not grant permission to use the trade
140
+ names, trademarks, service marks, or product names of the Licensor,
141
+ except as required for reasonable and customary use in describing the
142
+ origin of the Work and reproducing the content of the NOTICE file.
143
+
144
+ 7. Disclaimer of Warranty. Unless required by applicable law or
145
+ agreed to in writing, Licensor provides the Work (and each
146
+ Contributor provides its Contributions) on an "AS IS" BASIS,
147
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
+ implied, including, without limitation, any warranties or conditions
149
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
+ PARTICULAR PURPOSE. You are solely responsible for determining the
151
+ appropriateness of using or redistributing the Work and assume any
152
+ risks associated with Your exercise of permissions under this License.
153
+
154
+ 8. Limitation of Liability. In no event and under no legal theory,
155
+ whether in tort (including negligence), contract, or otherwise,
156
+ unless required by applicable law (such as deliberate and grossly
157
+ negligent acts) or agreed to in writing, shall any Contributor be
158
+ liable to You for damages, including any direct, indirect, special,
159
+ incidental, or consequential damages of any character arising as a
160
+ result of this License or out of the use or inability to use the
161
+ Work (including but not limited to damages for loss of goodwill,
162
+ work stoppage, computer failure or malfunction, or any and all
163
+ other commercial damages or losses), even if such Contributor
164
+ has been advised of the possibility of such damages.
165
+
166
+ 9. Accepting Warranty or Additional Liability. While redistributing
167
+ the Work or Derivative Works thereof, You may choose to offer,
168
+ and charge a fee for, acceptance of support, warranty, indemnity,
169
+ or other liability obligations and/or rights consistent with this
170
+ License. However, in accepting such obligations, You may act only
171
+ on Your own behalf and on Your sole responsibility, not on behalf
172
+ of any other Contributor, and only if You agree to indemnify,
173
+ defend, and hold each Contributor harmless for any liability
174
+ incurred by, or claims asserted against, such Contributor by reason
175
+ of your accepting any such warranty or additional liability.
176
+
177
+ END OF TERMS AND CONDITIONS
178
+
179
+ APPENDIX: How to apply the Apache License to your work.
180
+
181
+ To apply the Apache License to your work, attach the following
182
+ boilerplate notice, with the fields enclosed by brackets "[]"
183
+ replaced with your own identifying information. (Don't include
184
+ the brackets!) The text should be enclosed in the appropriate
185
+ comment syntax for the file format. We also recommend that a
186
+ file or class name and description of purpose be included on the
187
+ same "printed page" as the copyright notice for easier
188
+ identification within third-party archives.
189
+
190
+ Copyright [yyyy] [name of copyright owner]
191
+
192
+ Licensed under the Apache License, Version 2.0 (the "License");
193
+ you may not use this file except in compliance with the License.
194
+ You may obtain a copy of the License at
195
+
196
+ http://www.apache.org/licenses/LICENSE-2.0
197
+
198
+ Unless required by applicable law or agreed to in writing, software
199
+ distributed under the License is distributed on an "AS IS" BASIS,
200
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
+ See the License for the specific language governing permissions and
202
+ limitations under the License.
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.35.0
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-shield/customizations'
48
48
  # @!group service
49
49
  module Aws::Shield
50
50
 
51
- GEM_VERSION = '1.34.0'
51
+ GEM_VERSION = '1.35.0'
52
52
 
53
53
  end
@@ -583,6 +583,10 @@ module Aws::Shield
583
583
  # * For an Elastic IP address:
584
584
  # `arn:aws:ec2:region:account-id:eip-allocation/allocation-id `
585
585
  #
586
+ # @option params [Array<Types::Tag>] :tags
587
+ # One or more tag key-value pairs for the Protection object that is
588
+ # created.
589
+ #
586
590
  # @return [Types::CreateProtectionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
587
591
  #
588
592
  # * {Types::CreateProtectionResponse#protection_id #protection_id} => String
@@ -592,6 +596,12 @@ module Aws::Shield
592
596
  # resp = client.create_protection({
593
597
  # name: "ProtectionName", # required
594
598
  # resource_arn: "ResourceArn", # required
599
+ # tags: [
600
+ # {
601
+ # key: "TagKey",
602
+ # value: "TagValue",
603
+ # },
604
+ # ],
595
605
  # })
596
606
  #
597
607
  # @example Response structure
@@ -651,6 +661,9 @@ module Aws::Shield
651
661
  # protection group. You must set this when you set `Pattern` to
652
662
  # `ARBITRARY` and you must not set it for any other `Pattern` setting.
653
663
  #
664
+ # @option params [Array<Types::Tag>] :tags
665
+ # One or more tag key-value pairs for the protection group.
666
+ #
654
667
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
655
668
  #
656
669
  # @example Request syntax with placeholder values
@@ -661,6 +674,12 @@ module Aws::Shield
661
674
  # pattern: "ALL", # required, accepts ALL, ARBITRARY, BY_RESOURCE_TYPE
662
675
  # resource_type: "CLOUDFRONT_DISTRIBUTION", # accepts CLOUDFRONT_DISTRIBUTION, ROUTE_53_HOSTED_ZONE, ELASTIC_IP_ALLOCATION, CLASSIC_LOAD_BALANCER, APPLICATION_LOAD_BALANCER, GLOBAL_ACCELERATOR
663
676
  # members: ["ResourceArn"],
677
+ # tags: [
678
+ # {
679
+ # key: "TagKey",
680
+ # value: "TagValue",
681
+ # },
682
+ # ],
664
683
  # })
665
684
  #
666
685
  # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/CreateProtectionGroup AWS API Documentation
@@ -937,6 +956,7 @@ module Aws::Shield
937
956
  # resp.protection.resource_arn #=> String
938
957
  # resp.protection.health_check_ids #=> Array
939
958
  # resp.protection.health_check_ids[0] #=> String
959
+ # resp.protection.protection_arn #=> String
940
960
  #
941
961
  # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeProtection AWS API Documentation
942
962
  #
@@ -972,6 +992,7 @@ module Aws::Shield
972
992
  # resp.protection_group.resource_type #=> String, one of "CLOUDFRONT_DISTRIBUTION", "ROUTE_53_HOSTED_ZONE", "ELASTIC_IP_ALLOCATION", "CLASSIC_LOAD_BALANCER", "APPLICATION_LOAD_BALANCER", "GLOBAL_ACCELERATOR"
973
993
  # resp.protection_group.members #=> Array
974
994
  # resp.protection_group.members[0] #=> String
995
+ # resp.protection_group.protection_group_arn #=> String
975
996
  #
976
997
  # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeProtectionGroup AWS API Documentation
977
998
  #
@@ -1004,6 +1025,7 @@ module Aws::Shield
1004
1025
  # resp.subscription.subscription_limits.protection_limits.protected_resource_type_limits[0].max #=> Integer
1005
1026
  # resp.subscription.subscription_limits.protection_group_limits.max_protection_groups #=> Integer
1006
1027
  # resp.subscription.subscription_limits.protection_group_limits.pattern_type_limits.arbitrary_pattern_limits.max_members #=> Integer
1028
+ # resp.subscription.subscription_arn #=> String
1007
1029
  #
1008
1030
  # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeSubscription AWS API Documentation
1009
1031
  #
@@ -1289,6 +1311,7 @@ module Aws::Shield
1289
1311
  # resp.protection_groups[0].resource_type #=> String, one of "CLOUDFRONT_DISTRIBUTION", "ROUTE_53_HOSTED_ZONE", "ELASTIC_IP_ALLOCATION", "CLASSIC_LOAD_BALANCER", "APPLICATION_LOAD_BALANCER", "GLOBAL_ACCELERATOR"
1290
1312
  # resp.protection_groups[0].members #=> Array
1291
1313
  # resp.protection_groups[0].members[0] #=> String
1314
+ # resp.protection_groups[0].protection_group_arn #=> String
1292
1315
  # resp.next_token #=> String
1293
1316
  #
1294
1317
  # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/ListProtectionGroups AWS API Documentation
@@ -1339,6 +1362,7 @@ module Aws::Shield
1339
1362
  # resp.protections[0].resource_arn #=> String
1340
1363
  # resp.protections[0].health_check_ids #=> Array
1341
1364
  # resp.protections[0].health_check_ids[0] #=> String
1365
+ # resp.protections[0].protection_arn #=> String
1342
1366
  # resp.next_token #=> String
1343
1367
  #
1344
1368
  # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/ListProtections AWS API Documentation
@@ -1402,6 +1426,96 @@ module Aws::Shield
1402
1426
  req.send_request(options)
1403
1427
  end
1404
1428
 
1429
+ # Gets information about AWS tags for a specified Amazon Resource Name
1430
+ # (ARN) in AWS Shield.
1431
+ #
1432
+ # @option params [required, String] :resource_arn
1433
+ # The Amazon Resource Name (ARN) of the resource to get tags for.
1434
+ #
1435
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1436
+ #
1437
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Array&lt;Types::Tag&gt;
1438
+ #
1439
+ # @example Request syntax with placeholder values
1440
+ #
1441
+ # resp = client.list_tags_for_resource({
1442
+ # resource_arn: "ResourceArn", # required
1443
+ # })
1444
+ #
1445
+ # @example Response structure
1446
+ #
1447
+ # resp.tags #=> Array
1448
+ # resp.tags[0].key #=> String
1449
+ # resp.tags[0].value #=> String
1450
+ #
1451
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/ListTagsForResource AWS API Documentation
1452
+ #
1453
+ # @overload list_tags_for_resource(params = {})
1454
+ # @param [Hash] params ({})
1455
+ def list_tags_for_resource(params = {}, options = {})
1456
+ req = build_request(:list_tags_for_resource, params)
1457
+ req.send_request(options)
1458
+ end
1459
+
1460
+ # Adds or updates tags for a resource in AWS Shield.
1461
+ #
1462
+ # @option params [required, String] :resource_arn
1463
+ # The Amazon Resource Name (ARN) of the resource that you want to add or
1464
+ # update tags for.
1465
+ #
1466
+ # @option params [required, Array<Types::Tag>] :tags
1467
+ # The tags that you want to modify or add to the resource.
1468
+ #
1469
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1470
+ #
1471
+ # @example Request syntax with placeholder values
1472
+ #
1473
+ # resp = client.tag_resource({
1474
+ # resource_arn: "ResourceArn", # required
1475
+ # tags: [ # required
1476
+ # {
1477
+ # key: "TagKey",
1478
+ # value: "TagValue",
1479
+ # },
1480
+ # ],
1481
+ # })
1482
+ #
1483
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/TagResource AWS API Documentation
1484
+ #
1485
+ # @overload tag_resource(params = {})
1486
+ # @param [Hash] params ({})
1487
+ def tag_resource(params = {}, options = {})
1488
+ req = build_request(:tag_resource, params)
1489
+ req.send_request(options)
1490
+ end
1491
+
1492
+ # Removes tags from a resource in AWS Shield.
1493
+ #
1494
+ # @option params [required, String] :resource_arn
1495
+ # The Amazon Resource Name (ARN) of the resource that you want to remove
1496
+ # tags from.
1497
+ #
1498
+ # @option params [required, Array<String>] :tag_keys
1499
+ # The tag key for each tag that you want to remove from the resource.
1500
+ #
1501
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1502
+ #
1503
+ # @example Request syntax with placeholder values
1504
+ #
1505
+ # resp = client.untag_resource({
1506
+ # resource_arn: "ResourceArn", # required
1507
+ # tag_keys: ["TagKey"], # required
1508
+ # })
1509
+ #
1510
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/UntagResource AWS API Documentation
1511
+ #
1512
+ # @overload untag_resource(params = {})
1513
+ # @param [Hash] params ({})
1514
+ def untag_resource(params = {}, options = {})
1515
+ req = build_request(:untag_resource, params)
1516
+ req.send_request(options)
1517
+ end
1518
+
1405
1519
  # Updates the details of the list of email addresses and phone numbers
1406
1520
  # that the DDoS Response Team (DRT) can use to contact you if you have
1407
1521
  # proactive engagement enabled, for escalations to the DRT and to
@@ -1545,7 +1659,7 @@ module Aws::Shield
1545
1659
  params: params,
1546
1660
  config: config)
1547
1661
  context[:gem_name] = 'aws-sdk-shield'
1548
- context[:gem_version] = '1.34.0'
1662
+ context[:gem_version] = '1.35.0'
1549
1663
  Seahorse::Client::Request.new(handlers, context)
1550
1664
  end
1551
1665
 
@@ -106,6 +106,8 @@ module Aws::Shield
106
106
  ListProtectionsResponse = Shapes::StructureShape.new(name: 'ListProtectionsResponse')
107
107
  ListResourcesInProtectionGroupRequest = Shapes::StructureShape.new(name: 'ListResourcesInProtectionGroupRequest')
108
108
  ListResourcesInProtectionGroupResponse = Shapes::StructureShape.new(name: 'ListResourcesInProtectionGroupResponse')
109
+ ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
110
+ ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
109
111
  LockedSubscriptionException = Shapes::StructureShape.new(name: 'LockedSubscriptionException')
110
112
  LogBucket = Shapes::StringShape.new(name: 'LogBucket')
111
113
  LogBucketList = Shapes::ListShape.new(name: 'LogBucketList')
@@ -149,11 +151,20 @@ module Aws::Shield
149
151
  SummarizedAttackVectorList = Shapes::ListShape.new(name: 'SummarizedAttackVectorList')
150
152
  SummarizedCounter = Shapes::StructureShape.new(name: 'SummarizedCounter')
151
153
  SummarizedCounterList = Shapes::ListShape.new(name: 'SummarizedCounterList')
154
+ Tag = Shapes::StructureShape.new(name: 'Tag')
155
+ TagKey = Shapes::StringShape.new(name: 'TagKey')
156
+ TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
157
+ TagList = Shapes::ListShape.new(name: 'TagList')
158
+ TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest')
159
+ TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse')
160
+ TagValue = Shapes::StringShape.new(name: 'TagValue')
152
161
  TimeRange = Shapes::StructureShape.new(name: 'TimeRange')
153
162
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
154
163
  Token = Shapes::StringShape.new(name: 'Token')
155
164
  TopContributors = Shapes::ListShape.new(name: 'TopContributors')
156
165
  Unit = Shapes::StringShape.new(name: 'Unit')
166
+ UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
167
+ UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
157
168
  UpdateEmergencyContactSettingsRequest = Shapes::StructureShape.new(name: 'UpdateEmergencyContactSettingsRequest')
158
169
  UpdateEmergencyContactSettingsResponse = Shapes::StructureShape.new(name: 'UpdateEmergencyContactSettingsResponse')
159
170
  UpdateProtectionGroupRequest = Shapes::StructureShape.new(name: 'UpdateProtectionGroupRequest')
@@ -248,12 +259,14 @@ module Aws::Shield
248
259
  CreateProtectionGroupRequest.add_member(:pattern, Shapes::ShapeRef.new(shape: ProtectionGroupPattern, required: true, location_name: "Pattern"))
249
260
  CreateProtectionGroupRequest.add_member(:resource_type, Shapes::ShapeRef.new(shape: ProtectedResourceType, location_name: "ResourceType"))
250
261
  CreateProtectionGroupRequest.add_member(:members, Shapes::ShapeRef.new(shape: ProtectionGroupMembers, location_name: "Members"))
262
+ CreateProtectionGroupRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
251
263
  CreateProtectionGroupRequest.struct_class = Types::CreateProtectionGroupRequest
252
264
 
253
265
  CreateProtectionGroupResponse.struct_class = Types::CreateProtectionGroupResponse
254
266
 
255
267
  CreateProtectionRequest.add_member(:name, Shapes::ShapeRef.new(shape: ProtectionName, required: true, location_name: "Name"))
256
268
  CreateProtectionRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "ResourceArn"))
269
+ CreateProtectionRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
257
270
  CreateProtectionRequest.struct_class = Types::CreateProtectionRequest
258
271
 
259
272
  CreateProtectionResponse.add_member(:protection_id, Shapes::ShapeRef.new(shape: ProtectionId, location_name: "ProtectionId"))
@@ -419,6 +432,12 @@ module Aws::Shield
419
432
  ListResourcesInProtectionGroupResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: Token, location_name: "NextToken"))
420
433
  ListResourcesInProtectionGroupResponse.struct_class = Types::ListResourcesInProtectionGroupResponse
421
434
 
435
+ ListTagsForResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "ResourceARN"))
436
+ ListTagsForResourceRequest.struct_class = Types::ListTagsForResourceRequest
437
+
438
+ ListTagsForResourceResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
439
+ ListTagsForResourceResponse.struct_class = Types::ListTagsForResourceResponse
440
+
422
441
  LockedSubscriptionException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
423
442
  LockedSubscriptionException.struct_class = Types::LockedSubscriptionException
424
443
 
@@ -439,6 +458,7 @@ module Aws::Shield
439
458
  Protection.add_member(:name, Shapes::ShapeRef.new(shape: ProtectionName, location_name: "Name"))
440
459
  Protection.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "ResourceArn"))
441
460
  Protection.add_member(:health_check_ids, Shapes::ShapeRef.new(shape: HealthCheckIds, location_name: "HealthCheckIds"))
461
+ Protection.add_member(:protection_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "ProtectionArn"))
442
462
  Protection.struct_class = Types::Protection
443
463
 
444
464
  ProtectionGroup.add_member(:protection_group_id, Shapes::ShapeRef.new(shape: ProtectionGroupId, required: true, location_name: "ProtectionGroupId"))
@@ -446,6 +466,7 @@ module Aws::Shield
446
466
  ProtectionGroup.add_member(:pattern, Shapes::ShapeRef.new(shape: ProtectionGroupPattern, required: true, location_name: "Pattern"))
447
467
  ProtectionGroup.add_member(:resource_type, Shapes::ShapeRef.new(shape: ProtectedResourceType, location_name: "ResourceType"))
448
468
  ProtectionGroup.add_member(:members, Shapes::ShapeRef.new(shape: ProtectionGroupMembers, required: true, location_name: "Members"))
469
+ ProtectionGroup.add_member(:protection_group_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "ProtectionGroupArn"))
449
470
  ProtectionGroup.struct_class = Types::ProtectionGroup
450
471
 
451
472
  ProtectionGroupArbitraryPatternLimits.add_member(:max_members, Shapes::ShapeRef.new(shape: Long, required: true, location_name: "MaxMembers"))
@@ -494,6 +515,7 @@ module Aws::Shield
494
515
  Subscription.add_member(:limits, Shapes::ShapeRef.new(shape: Limits, location_name: "Limits"))
495
516
  Subscription.add_member(:proactive_engagement_status, Shapes::ShapeRef.new(shape: ProactiveEngagementStatus, location_name: "ProactiveEngagementStatus"))
496
517
  Subscription.add_member(:subscription_limits, Shapes::ShapeRef.new(shape: SubscriptionLimits, required: true, location_name: "SubscriptionLimits"))
518
+ Subscription.add_member(:subscription_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "SubscriptionArn"))
497
519
  Subscription.struct_class = Types::Subscription
498
520
 
499
521
  SubscriptionLimits.add_member(:protection_limits, Shapes::ShapeRef.new(shape: ProtectionLimits, required: true, location_name: "ProtectionLimits"))
@@ -516,12 +538,32 @@ module Aws::Shield
516
538
 
517
539
  SummarizedCounterList.member = Shapes::ShapeRef.new(shape: SummarizedCounter)
518
540
 
541
+ Tag.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, location_name: "Key"))
542
+ Tag.add_member(:value, Shapes::ShapeRef.new(shape: TagValue, location_name: "Value"))
543
+ Tag.struct_class = Types::Tag
544
+
545
+ TagKeyList.member = Shapes::ShapeRef.new(shape: TagKey)
546
+
547
+ TagList.member = Shapes::ShapeRef.new(shape: Tag)
548
+
549
+ TagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "ResourceARN"))
550
+ TagResourceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, required: true, location_name: "Tags"))
551
+ TagResourceRequest.struct_class = Types::TagResourceRequest
552
+
553
+ TagResourceResponse.struct_class = Types::TagResourceResponse
554
+
519
555
  TimeRange.add_member(:from_inclusive, Shapes::ShapeRef.new(shape: AttackTimestamp, location_name: "FromInclusive"))
520
556
  TimeRange.add_member(:to_exclusive, Shapes::ShapeRef.new(shape: AttackTimestamp, location_name: "ToExclusive"))
521
557
  TimeRange.struct_class = Types::TimeRange
522
558
 
523
559
  TopContributors.member = Shapes::ShapeRef.new(shape: Contributor)
524
560
 
561
+ UntagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "ResourceARN"))
562
+ UntagResourceRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeyList, required: true, location_name: "TagKeys"))
563
+ UntagResourceRequest.struct_class = Types::UntagResourceRequest
564
+
565
+ UntagResourceResponse.struct_class = Types::UntagResourceResponse
566
+
525
567
  UpdateEmergencyContactSettingsRequest.add_member(:emergency_contact_list, Shapes::ShapeRef.new(shape: EmergencyContactList, location_name: "EmergencyContactList"))
526
568
  UpdateEmergencyContactSettingsRequest.struct_class = Types::UpdateEmergencyContactSettingsRequest
527
569
 
@@ -906,6 +948,41 @@ module Aws::Shield
906
948
  )
907
949
  end)
908
950
 
951
+ api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
952
+ o.name = "ListTagsForResource"
953
+ o.http_method = "POST"
954
+ o.http_request_uri = "/"
955
+ o.input = Shapes::ShapeRef.new(shape: ListTagsForResourceRequest)
956
+ o.output = Shapes::ShapeRef.new(shape: ListTagsForResourceResponse)
957
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
958
+ o.errors << Shapes::ShapeRef.new(shape: InvalidResourceException)
959
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
960
+ end)
961
+
962
+ api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
963
+ o.name = "TagResource"
964
+ o.http_method = "POST"
965
+ o.http_request_uri = "/"
966
+ o.input = Shapes::ShapeRef.new(shape: TagResourceRequest)
967
+ o.output = Shapes::ShapeRef.new(shape: TagResourceResponse)
968
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
969
+ o.errors << Shapes::ShapeRef.new(shape: InvalidResourceException)
970
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
971
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
972
+ end)
973
+
974
+ api.add_operation(:untag_resource, Seahorse::Model::Operation.new.tap do |o|
975
+ o.name = "UntagResource"
976
+ o.http_method = "POST"
977
+ o.http_request_uri = "/"
978
+ o.input = Shapes::ShapeRef.new(shape: UntagResourceRequest)
979
+ o.output = Shapes::ShapeRef.new(shape: UntagResourceResponse)
980
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
981
+ o.errors << Shapes::ShapeRef.new(shape: InvalidResourceException)
982
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
983
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
984
+ end)
985
+
909
986
  api.add_operation(:update_emergency_contact_settings, Seahorse::Model::Operation.new.tap do |o|
910
987
  o.name = "UpdateEmergencyContactSettings"
911
988
  o.http_method = "POST"
@@ -470,6 +470,12 @@ module Aws::Shield
470
470
  # pattern: "ALL", # required, accepts ALL, ARBITRARY, BY_RESOURCE_TYPE
471
471
  # resource_type: "CLOUDFRONT_DISTRIBUTION", # accepts CLOUDFRONT_DISTRIBUTION, ROUTE_53_HOSTED_ZONE, ELASTIC_IP_ALLOCATION, CLASSIC_LOAD_BALANCER, APPLICATION_LOAD_BALANCER, GLOBAL_ACCELERATOR
472
472
  # members: ["ResourceArn"],
473
+ # tags: [
474
+ # {
475
+ # key: "TagKey",
476
+ # value: "TagValue",
477
+ # },
478
+ # ],
473
479
  # }
474
480
  #
475
481
  # @!attribute [rw] protection_group_id
@@ -519,6 +525,10 @@ module Aws::Shield
519
525
  # `ARBITRARY` and you must not set it for any other `Pattern` setting.
520
526
  # @return [Array<String>]
521
527
  #
528
+ # @!attribute [rw] tags
529
+ # One or more tag key-value pairs for the protection group.
530
+ # @return [Array<Types::Tag>]
531
+ #
522
532
  # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/CreateProtectionGroupRequest AWS API Documentation
523
533
  #
524
534
  class CreateProtectionGroupRequest < Struct.new(
@@ -526,7 +536,8 @@ module Aws::Shield
526
536
  :aggregation,
527
537
  :pattern,
528
538
  :resource_type,
529
- :members)
539
+ :members,
540
+ :tags)
530
541
  SENSITIVE = []
531
542
  include Aws::Structure
532
543
  end
@@ -541,6 +552,12 @@ module Aws::Shield
541
552
  # {
542
553
  # name: "ProtectionName", # required
543
554
  # resource_arn: "ResourceArn", # required
555
+ # tags: [
556
+ # {
557
+ # key: "TagKey",
558
+ # value: "TagValue",
559
+ # },
560
+ # ],
544
561
  # }
545
562
  #
546
563
  # @!attribute [rw] name
@@ -574,11 +591,17 @@ module Aws::Shield
574
591
  # `arn:aws:ec2:region:account-id:eip-allocation/allocation-id `
575
592
  # @return [String]
576
593
  #
594
+ # @!attribute [rw] tags
595
+ # One or more tag key-value pairs for the Protection object that is
596
+ # created.
597
+ # @return [Array<Types::Tag>]
598
+ #
577
599
  # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/CreateProtectionRequest AWS API Documentation
578
600
  #
579
601
  class CreateProtectionRequest < Struct.new(
580
602
  :name,
581
- :resource_arn)
603
+ :resource_arn,
604
+ :tags)
582
605
  SENSITIVE = []
583
606
  include Aws::Structure
584
607
  end
@@ -1401,6 +1424,38 @@ module Aws::Shield
1401
1424
  include Aws::Structure
1402
1425
  end
1403
1426
 
1427
+ # @note When making an API call, you may pass ListTagsForResourceRequest
1428
+ # data as a hash:
1429
+ #
1430
+ # {
1431
+ # resource_arn: "ResourceArn", # required
1432
+ # }
1433
+ #
1434
+ # @!attribute [rw] resource_arn
1435
+ # The Amazon Resource Name (ARN) of the resource to get tags for.
1436
+ # @return [String]
1437
+ #
1438
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/ListTagsForResourceRequest AWS API Documentation
1439
+ #
1440
+ class ListTagsForResourceRequest < Struct.new(
1441
+ :resource_arn)
1442
+ SENSITIVE = []
1443
+ include Aws::Structure
1444
+ end
1445
+
1446
+ # @!attribute [rw] tags
1447
+ # A list of tag key and value pairs associated with the specified
1448
+ # resource.
1449
+ # @return [Array<Types::Tag>]
1450
+ #
1451
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/ListTagsForResourceResponse AWS API Documentation
1452
+ #
1453
+ class ListTagsForResourceResponse < Struct.new(
1454
+ :tags)
1455
+ SENSITIVE = []
1456
+ include Aws::Structure
1457
+ end
1458
+
1404
1459
  # You are trying to update a subscription that has not yet completed the
1405
1460
  # 1-year commitment. You can change the `AutoRenew` parameter during the
1406
1461
  # last 30 days of your subscription. This exception indicates that you
@@ -1479,13 +1534,18 @@ module Aws::Shield
1479
1534
  # associated with the protection.
1480
1535
  # @return [Array<String>]
1481
1536
  #
1537
+ # @!attribute [rw] protection_arn
1538
+ # The ARN (Amazon Resource Name) of the protection.
1539
+ # @return [String]
1540
+ #
1482
1541
  # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/Protection AWS API Documentation
1483
1542
  #
1484
1543
  class Protection < Struct.new(
1485
1544
  :id,
1486
1545
  :name,
1487
1546
  :resource_arn,
1488
- :health_check_ids)
1547
+ :health_check_ids,
1548
+ :protection_arn)
1489
1549
  SENSITIVE = []
1490
1550
  include Aws::Structure
1491
1551
  end
@@ -1539,6 +1599,10 @@ module Aws::Shield
1539
1599
  # `ARBITRARY` and you must not set it for any other `Pattern` setting.
1540
1600
  # @return [Array<String>]
1541
1601
  #
1602
+ # @!attribute [rw] protection_group_arn
1603
+ # The ARN (Amazon Resource Name) of the protection group.
1604
+ # @return [String]
1605
+ #
1542
1606
  # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/ProtectionGroup AWS API Documentation
1543
1607
  #
1544
1608
  class ProtectionGroup < Struct.new(
@@ -1546,7 +1610,8 @@ module Aws::Shield
1546
1610
  :aggregation,
1547
1611
  :pattern,
1548
1612
  :resource_type,
1549
- :members)
1613
+ :members,
1614
+ :protection_group_arn)
1550
1615
  SENSITIVE = []
1551
1616
  include Aws::Structure
1552
1617
  end
@@ -1736,6 +1801,10 @@ module Aws::Shield
1736
1801
  # Limits settings for your subscription.
1737
1802
  # @return [Types::SubscriptionLimits]
1738
1803
  #
1804
+ # @!attribute [rw] subscription_arn
1805
+ # The ARN (Amazon Resource Name) of the subscription.
1806
+ # @return [String]
1807
+ #
1739
1808
  # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/Subscription AWS API Documentation
1740
1809
  #
1741
1810
  class Subscription < Struct.new(
@@ -1745,7 +1814,8 @@ module Aws::Shield
1745
1814
  :auto_renew,
1746
1815
  :limits,
1747
1816
  :proactive_engagement_status,
1748
- :subscription_limits)
1817
+ :subscription_limits,
1818
+ :subscription_arn)
1749
1819
  SENSITIVE = []
1750
1820
  include Aws::Structure
1751
1821
  end
@@ -1827,6 +1897,80 @@ module Aws::Shield
1827
1897
  include Aws::Structure
1828
1898
  end
1829
1899
 
1900
+ # A tag associated with an AWS resource. Tags are key:value pairs that
1901
+ # you can use to categorize and manage your resources, for purposes like
1902
+ # billing or other management. Typically, the tag key represents a
1903
+ # category, such as "environment", and the tag value represents a
1904
+ # specific value within that category, such as "test,"
1905
+ # "development," or "production". Or you might set the tag key to
1906
+ # "customer" and the value to the customer name or ID. You can specify
1907
+ # one or more tags to add to each AWS resource, up to 50 tags for a
1908
+ # resource.
1909
+ #
1910
+ # @note When making an API call, you may pass Tag
1911
+ # data as a hash:
1912
+ #
1913
+ # {
1914
+ # key: "TagKey",
1915
+ # value: "TagValue",
1916
+ # }
1917
+ #
1918
+ # @!attribute [rw] key
1919
+ # Part of the key:value pair that defines a tag. You can use a tag key
1920
+ # to describe a category of information, such as "customer." Tag
1921
+ # keys are case-sensitive.
1922
+ # @return [String]
1923
+ #
1924
+ # @!attribute [rw] value
1925
+ # Part of the key:value pair that defines a tag. You can use a tag
1926
+ # value to describe a specific value within a category, such as
1927
+ # "companyA" or "companyB." Tag values are case-sensitive.
1928
+ # @return [String]
1929
+ #
1930
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/Tag AWS API Documentation
1931
+ #
1932
+ class Tag < Struct.new(
1933
+ :key,
1934
+ :value)
1935
+ SENSITIVE = []
1936
+ include Aws::Structure
1937
+ end
1938
+
1939
+ # @note When making an API call, you may pass TagResourceRequest
1940
+ # data as a hash:
1941
+ #
1942
+ # {
1943
+ # resource_arn: "ResourceArn", # required
1944
+ # tags: [ # required
1945
+ # {
1946
+ # key: "TagKey",
1947
+ # value: "TagValue",
1948
+ # },
1949
+ # ],
1950
+ # }
1951
+ #
1952
+ # @!attribute [rw] resource_arn
1953
+ # The Amazon Resource Name (ARN) of the resource that you want to add
1954
+ # or update tags for.
1955
+ # @return [String]
1956
+ #
1957
+ # @!attribute [rw] tags
1958
+ # The tags that you want to modify or add to the resource.
1959
+ # @return [Array<Types::Tag>]
1960
+ #
1961
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/TagResourceRequest AWS API Documentation
1962
+ #
1963
+ class TagResourceRequest < Struct.new(
1964
+ :resource_arn,
1965
+ :tags)
1966
+ SENSITIVE = []
1967
+ include Aws::Structure
1968
+ end
1969
+
1970
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/TagResourceResponse AWS API Documentation
1971
+ #
1972
+ class TagResourceResponse < Aws::EmptyStructure; end
1973
+
1830
1974
  # The time range.
1831
1975
  #
1832
1976
  # @note When making an API call, you may pass TimeRange
@@ -1864,6 +2008,36 @@ module Aws::Shield
1864
2008
  include Aws::Structure
1865
2009
  end
1866
2010
 
2011
+ # @note When making an API call, you may pass UntagResourceRequest
2012
+ # data as a hash:
2013
+ #
2014
+ # {
2015
+ # resource_arn: "ResourceArn", # required
2016
+ # tag_keys: ["TagKey"], # required
2017
+ # }
2018
+ #
2019
+ # @!attribute [rw] resource_arn
2020
+ # The Amazon Resource Name (ARN) of the resource that you want to
2021
+ # remove tags from.
2022
+ # @return [String]
2023
+ #
2024
+ # @!attribute [rw] tag_keys
2025
+ # The tag key for each tag that you want to remove from the resource.
2026
+ # @return [Array<String>]
2027
+ #
2028
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/UntagResourceRequest AWS API Documentation
2029
+ #
2030
+ class UntagResourceRequest < Struct.new(
2031
+ :resource_arn,
2032
+ :tag_keys)
2033
+ SENSITIVE = []
2034
+ include Aws::Structure
2035
+ end
2036
+
2037
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/UntagResourceResponse AWS API Documentation
2038
+ #
2039
+ class UntagResourceResponse < Aws::EmptyStructure; end
2040
+
1867
2041
  # @note When making an API call, you may pass UpdateEmergencyContactSettingsRequest
1868
2042
  # data as a hash:
1869
2043
  #
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-shield
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.34.0
4
+ version: 1.35.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-02 00:00:00.000000000 Z
11
+ date: 2021-03-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -47,11 +47,14 @@ dependencies:
47
47
  description: Official AWS Ruby gem for AWS Shield. This gem is part of the AWS SDK
48
48
  for Ruby.
49
49
  email:
50
- - trevrowe@amazon.com
50
+ - aws-dr-rubygems@amazon.com
51
51
  executables: []
52
52
  extensions: []
53
53
  extra_rdoc_files: []
54
54
  files:
55
+ - CHANGELOG.md
56
+ - LICENSE.txt
57
+ - VERSION
55
58
  - lib/aws-sdk-shield.rb
56
59
  - lib/aws-sdk-shield/client.rb
57
60
  - lib/aws-sdk-shield/client_api.rb