aws-sdk-shield 1.34.0 → 1.35.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: 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