aws-sdk-route53resolver 1.20.0 → 1.25.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: 4c63f7fc46b3df0c4fc9ba472b2ac7a9e701b80d3613587926dedfa673a8e364
4
- data.tar.gz: b19ea4b086db1b7f2e67c9710be456a0b73e14dc3aca403c3693b3c25ed0c30d
3
+ metadata.gz: a4ef65852d1c79407730fd644a4d3bb1e13053f99addd945f4e2e416bbb3da4b
4
+ data.tar.gz: 98139c3b4a46b1149edf6c773a25dc6c64bc6fd455abf6bffbe5e4e3b7284342
5
5
  SHA512:
6
- metadata.gz: 23bc67b92f1f6bb8e97ad1c71928dda1d661abba1f6d443dab5c5c1878c7a91de9e68db1c757c36198c71145a953463adca05801a828a9260cdfbc890d39070d
7
- data.tar.gz: 0154ec3b61557548c9d0084d8e4fd715b0299f0a34c070b04fca85e921787275f5613420dde0622ae60ba216fea43fe1291bdaea3c266506e79bc30b93de7443
6
+ metadata.gz: de1651f0de718b3708603a83d2f10be31846585d27d3d07e046667a16e56c52c43bcee835d4278296d6cb7c7a34328afdc9698c58dd74625ed1aedc9919c1e6b
7
+ data.tar.gz: 2646eb6e60eafc7d22ab60f7361bad9e09a2160b18176e60403f4371b20c7f8054415048c5b33c441705e4927a94ad52bb61ce72cf86c5d7c60950ce0b01e7b8
data/CHANGELOG.md ADDED
@@ -0,0 +1,143 @@
1
+ Unreleased Changes
2
+ ------------------
3
+
4
+ 1.25.0 (2021-04-01)
5
+ ------------------
6
+
7
+ * Feature - Route 53 Resolver DNS Firewall is a firewall service that allows you to filter and regulate outbound DNS traffic for your VPCs.
8
+
9
+ 1.24.0 (2021-03-10)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
14
+ 1.23.0 (2021-02-02)
15
+ ------------------
16
+
17
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
18
+
19
+ 1.22.0 (2020-12-17)
20
+ ------------------
21
+
22
+ * Feature - Route 53 Resolver adds support for enabling resolver DNSSEC validation in virtual private cloud (VPC).
23
+
24
+ 1.21.0 (2020-09-30)
25
+ ------------------
26
+
27
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
28
+
29
+ 1.20.0 (2020-09-15)
30
+ ------------------
31
+
32
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
33
+
34
+ 1.19.0 (2020-08-26)
35
+ ------------------
36
+
37
+ * Feature - Route 53 Resolver adds support for resolver query logs
38
+
39
+ 1.18.0 (2020-08-25)
40
+ ------------------
41
+
42
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
43
+
44
+ 1.17.0 (2020-07-02)
45
+ ------------------
46
+
47
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
48
+
49
+ 1.16.0 (2020-06-23)
50
+ ------------------
51
+
52
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
53
+
54
+ 1.15.1 (2020-06-11)
55
+ ------------------
56
+
57
+ * Issue - Republish previous version with correct dependency on `aws-sdk-core`.
58
+
59
+ 1.15.0 (2020-06-10)
60
+ ------------------
61
+
62
+ * Issue - This version has been yanked. (#2327).
63
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
64
+
65
+ 1.14.0 (2020-05-28)
66
+ ------------------
67
+
68
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
69
+
70
+ 1.13.0 (2020-05-07)
71
+ ------------------
72
+
73
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
74
+
75
+ 1.12.0 (2020-03-09)
76
+ ------------------
77
+
78
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
79
+
80
+ 1.11.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.10.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.9.0 (2019-07-01)
91
+ ------------------
92
+
93
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
94
+
95
+ 1.8.0 (2019-06-17)
96
+ ------------------
97
+
98
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
99
+
100
+ 1.7.0 (2019-05-21)
101
+ ------------------
102
+
103
+ * Feature - API update.
104
+
105
+ 1.6.0 (2019-05-15)
106
+ ------------------
107
+
108
+ * Feature - API update.
109
+
110
+ 1.5.0 (2019-05-14)
111
+ ------------------
112
+
113
+ * Feature - API update.
114
+
115
+ 1.4.0 (2019-03-21)
116
+ ------------------
117
+
118
+ * Feature - API update.
119
+
120
+ 1.3.0 (2019-03-18)
121
+ ------------------
122
+
123
+ * Feature - API update.
124
+
125
+ 1.2.0 (2019-03-14)
126
+ ------------------
127
+
128
+ * Feature - API update.
129
+
130
+ 1.1.0 (2018-11-20)
131
+ ------------------
132
+
133
+ * Feature - API update.
134
+
135
+ 1.0.1 (2018-11-16)
136
+ ------------------
137
+
138
+ * Issue - Update version dependency on `aws-sdk-core` to support endpoint discovery.
139
+
140
+ 1.0.0 (2018-11-15)
141
+ ------------------
142
+
143
+ * Feature - Initial release of `aws-sdk-route53resolver`.
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.25.0
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -28,7 +28,7 @@ require_relative 'aws-sdk-route53resolver/customizations'
28
28
  # structure.
29
29
  #
30
30
  # route_53_resolver = Aws::Route53Resolver::Client.new
31
- # resp = route_53_resolver.associate_resolver_endpoint_ip_address(params)
31
+ # resp = route_53_resolver.associate_firewall_rule_group(params)
32
32
  #
33
33
  # See {Client} for more information.
34
34
  #
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-route53resolver/customizations'
48
48
  # @!group service
49
49
  module Aws::Route53Resolver
50
50
 
51
- GEM_VERSION = '1.20.0'
51
+ GEM_VERSION = '1.25.0'
52
52
 
53
53
  end
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -337,6 +337,96 @@ module Aws::Route53Resolver
337
337
 
338
338
  # @!group API Operations
339
339
 
340
+ # Associates a FirewallRuleGroup with a VPC, to provide DNS filtering
341
+ # for the VPC.
342
+ #
343
+ # @option params [required, String] :creator_request_id
344
+ # A unique string that identifies the request and that allows failed
345
+ # requests to be retried without the risk of executing the operation
346
+ # twice. `CreatorRequestId` can be any unique string, for example, a
347
+ # date/time stamp.
348
+ #
349
+ # **A suitable default value is auto-generated.** You should normally
350
+ # not need to pass this option.**
351
+ #
352
+ # @option params [required, String] :firewall_rule_group_id
353
+ # The unique identifier of the firewall rule group.
354
+ #
355
+ # @option params [required, String] :vpc_id
356
+ # The unique identifier of the VPC that you want to associate with the
357
+ # rule group.
358
+ #
359
+ # @option params [required, Integer] :priority
360
+ # The setting that determines the processing order of the rule group
361
+ # among the rule groups that you associate with the specified VPC. DNS
362
+ # Firewall filters VPC traffic starting from rule group with the lowest
363
+ # numeric priority setting.
364
+ #
365
+ # You must specify a unique priority for each rule group that you
366
+ # associate with a single VPC. To make it easier to insert rule groups
367
+ # later, leave space between the numbers, for example, use 100, 200, and
368
+ # so on. You can change the priority setting for a rule group
369
+ # association after you create it.
370
+ #
371
+ # @option params [required, String] :name
372
+ # A name that lets you identify the association, to manage and use it.
373
+ #
374
+ # @option params [String] :mutation_protection
375
+ # If enabled, this setting disallows modification or removal of the
376
+ # association, to help prevent against accidentally altering DNS
377
+ # firewall protections. When you create the association, the default
378
+ # setting is `DISABLED`.
379
+ #
380
+ # @option params [Array<Types::Tag>] :tags
381
+ # A list of the tag keys and values that you want to associate with the
382
+ # rule group association.
383
+ #
384
+ # @return [Types::AssociateFirewallRuleGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
385
+ #
386
+ # * {Types::AssociateFirewallRuleGroupResponse#firewall_rule_group_association #firewall_rule_group_association} => Types::FirewallRuleGroupAssociation
387
+ #
388
+ # @example Request syntax with placeholder values
389
+ #
390
+ # resp = client.associate_firewall_rule_group({
391
+ # creator_request_id: "CreatorRequestId", # required
392
+ # firewall_rule_group_id: "ResourceId", # required
393
+ # vpc_id: "ResourceId", # required
394
+ # priority: 1, # required
395
+ # name: "Name", # required
396
+ # mutation_protection: "ENABLED", # accepts ENABLED, DISABLED
397
+ # tags: [
398
+ # {
399
+ # key: "TagKey", # required
400
+ # value: "TagValue", # required
401
+ # },
402
+ # ],
403
+ # })
404
+ #
405
+ # @example Response structure
406
+ #
407
+ # resp.firewall_rule_group_association.id #=> String
408
+ # resp.firewall_rule_group_association.arn #=> String
409
+ # resp.firewall_rule_group_association.firewall_rule_group_id #=> String
410
+ # resp.firewall_rule_group_association.vpc_id #=> String
411
+ # resp.firewall_rule_group_association.name #=> String
412
+ # resp.firewall_rule_group_association.priority #=> Integer
413
+ # resp.firewall_rule_group_association.mutation_protection #=> String, one of "ENABLED", "DISABLED"
414
+ # resp.firewall_rule_group_association.managed_owner_name #=> String
415
+ # resp.firewall_rule_group_association.status #=> String, one of "COMPLETE", "DELETING", "UPDATING"
416
+ # resp.firewall_rule_group_association.status_message #=> String
417
+ # resp.firewall_rule_group_association.creator_request_id #=> String
418
+ # resp.firewall_rule_group_association.creation_time #=> String
419
+ # resp.firewall_rule_group_association.modification_time #=> String
420
+ #
421
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/AssociateFirewallRuleGroup AWS API Documentation
422
+ #
423
+ # @overload associate_firewall_rule_group(params = {})
424
+ # @param [Hash] params ({})
425
+ def associate_firewall_rule_group(params = {}, options = {})
426
+ req = build_request(:associate_firewall_rule_group, params)
427
+ req.send_request(options)
428
+ end
429
+
340
430
  # Adds IP addresses to an inbound or an outbound Resolver endpoint. If
341
431
  # you want to add more than one IP address, submit one
342
432
  # `AssociateResolverEndpointIpAddress` request for each IP address.
@@ -514,6 +604,249 @@ module Aws::Route53Resolver
514
604
  req.send_request(options)
515
605
  end
516
606
 
607
+ # Creates an empty firewall domain list for use in DNS Firewall rules.
608
+ # You can populate the domains for the new list with a file, using
609
+ # ImportFirewallDomains, or with domain strings, using
610
+ # UpdateFirewallDomains.
611
+ #
612
+ # @option params [required, String] :creator_request_id
613
+ # A unique string that identifies the request and that allows you to
614
+ # retry failed requests without the risk of executing the operation
615
+ # twice. `CreatorRequestId` can be any unique string, for example, a
616
+ # date/time stamp.
617
+ #
618
+ # **A suitable default value is auto-generated.** You should normally
619
+ # not need to pass this option.**
620
+ #
621
+ # @option params [required, String] :name
622
+ # A name that lets you identify the domain list to manage and use it.
623
+ #
624
+ # @option params [Array<Types::Tag>] :tags
625
+ # A list of the tag keys and values that you want to associate with the
626
+ # domain list.
627
+ #
628
+ # @return [Types::CreateFirewallDomainListResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
629
+ #
630
+ # * {Types::CreateFirewallDomainListResponse#firewall_domain_list #firewall_domain_list} => Types::FirewallDomainList
631
+ #
632
+ # @example Request syntax with placeholder values
633
+ #
634
+ # resp = client.create_firewall_domain_list({
635
+ # creator_request_id: "CreatorRequestId", # required
636
+ # name: "Name", # required
637
+ # tags: [
638
+ # {
639
+ # key: "TagKey", # required
640
+ # value: "TagValue", # required
641
+ # },
642
+ # ],
643
+ # })
644
+ #
645
+ # @example Response structure
646
+ #
647
+ # resp.firewall_domain_list.id #=> String
648
+ # resp.firewall_domain_list.arn #=> String
649
+ # resp.firewall_domain_list.name #=> String
650
+ # resp.firewall_domain_list.domain_count #=> Integer
651
+ # resp.firewall_domain_list.status #=> String, one of "COMPLETE", "COMPLETE_IMPORT_FAILED", "IMPORTING", "DELETING", "UPDATING"
652
+ # resp.firewall_domain_list.status_message #=> String
653
+ # resp.firewall_domain_list.managed_owner_name #=> String
654
+ # resp.firewall_domain_list.creator_request_id #=> String
655
+ # resp.firewall_domain_list.creation_time #=> String
656
+ # resp.firewall_domain_list.modification_time #=> String
657
+ #
658
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateFirewallDomainList AWS API Documentation
659
+ #
660
+ # @overload create_firewall_domain_list(params = {})
661
+ # @param [Hash] params ({})
662
+ def create_firewall_domain_list(params = {}, options = {})
663
+ req = build_request(:create_firewall_domain_list, params)
664
+ req.send_request(options)
665
+ end
666
+
667
+ # Creates a single DNS Firewall rule in the specified rule group, using
668
+ # the specified domain list.
669
+ #
670
+ # @option params [required, String] :creator_request_id
671
+ # A unique string that identifies the request and that allows you to
672
+ # retry failed requests without the risk of executing the operation
673
+ # twice. `CreatorRequestId` can be any unique string, for example, a
674
+ # date/time stamp.
675
+ #
676
+ # **A suitable default value is auto-generated.** You should normally
677
+ # not need to pass this option.**
678
+ #
679
+ # @option params [required, String] :firewall_rule_group_id
680
+ # The unique identifier of the firewall rule group where you want to
681
+ # create the rule.
682
+ #
683
+ # @option params [required, String] :firewall_domain_list_id
684
+ # The ID of the domain list that you want to use in the rule.
685
+ #
686
+ # @option params [required, Integer] :priority
687
+ # The setting that determines the processing order of the rule in the
688
+ # rule group. DNS Firewall processes the rules in a rule group by order
689
+ # of priority, starting from the lowest setting.
690
+ #
691
+ # You must specify a unique priority for each rule in a rule group. To
692
+ # make it easier to insert rules later, leave space between the numbers,
693
+ # for example, use 100, 200, and so on. You can change the priority
694
+ # setting for the rules in a rule group at any time.
695
+ #
696
+ # @option params [required, String] :action
697
+ # The action that DNS Firewall should take on a DNS query when it
698
+ # matches one of the domains in the rule's domain list:
699
+ #
700
+ # * `ALLOW` - Permit the request to go through.
701
+ #
702
+ # * `ALERT` - Permit the request and send metrics and log to Cloud
703
+ # Watch.
704
+ #
705
+ # * `BLOCK` - Disallow the request. This option requires additional
706
+ # details in the rule's `BlockResponse`.
707
+ #
708
+ # @option params [String] :block_response
709
+ # The way that you want DNS Firewall to block the request, used with the
710
+ # rule aciton setting `BLOCK`.
711
+ #
712
+ # * `NODATA` - Respond indicating that the query was successful, but no
713
+ # response is available for it.
714
+ #
715
+ # * `NXDOMAIN` - Respond indicating that the domain name that's in the
716
+ # query doesn't exist.
717
+ #
718
+ # * `OVERRIDE` - Provide a custom override in the response. This option
719
+ # requires custom handling details in the rule's `BlockOverride*`
720
+ # settings.
721
+ #
722
+ # This setting is required if the rule action setting is `BLOCK`.
723
+ #
724
+ # @option params [String] :block_override_domain
725
+ # The custom DNS record to send back in response to the query. Used for
726
+ # the rule action `BLOCK` with a `BlockResponse` setting of `OVERRIDE`.
727
+ #
728
+ # This setting is required if the `BlockResponse` setting is `OVERRIDE`.
729
+ #
730
+ # @option params [String] :block_override_dns_type
731
+ # The DNS record's type. This determines the format of the record value
732
+ # that you provided in `BlockOverrideDomain`. Used for the rule action
733
+ # `BLOCK` with a `BlockResponse` setting of `OVERRIDE`.
734
+ #
735
+ # This setting is required if the `BlockResponse` setting is `OVERRIDE`.
736
+ #
737
+ # @option params [Integer] :block_override_ttl
738
+ # The recommended amount of time, in seconds, for the DNS resolver or
739
+ # web browser to cache the provided override record. Used for the rule
740
+ # action `BLOCK` with a `BlockResponse` setting of `OVERRIDE`.
741
+ #
742
+ # This setting is required if the `BlockResponse` setting is `OVERRIDE`.
743
+ #
744
+ # @option params [required, String] :name
745
+ # A name that lets you identify the rule in the rule group.
746
+ #
747
+ # @return [Types::CreateFirewallRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
748
+ #
749
+ # * {Types::CreateFirewallRuleResponse#firewall_rule #firewall_rule} => Types::FirewallRule
750
+ #
751
+ # @example Request syntax with placeholder values
752
+ #
753
+ # resp = client.create_firewall_rule({
754
+ # creator_request_id: "CreatorRequestId", # required
755
+ # firewall_rule_group_id: "ResourceId", # required
756
+ # firewall_domain_list_id: "ResourceId", # required
757
+ # priority: 1, # required
758
+ # action: "ALLOW", # required, accepts ALLOW, BLOCK, ALERT
759
+ # block_response: "NODATA", # accepts NODATA, NXDOMAIN, OVERRIDE
760
+ # block_override_domain: "BlockOverrideDomain",
761
+ # block_override_dns_type: "CNAME", # accepts CNAME
762
+ # block_override_ttl: 1,
763
+ # name: "Name", # required
764
+ # })
765
+ #
766
+ # @example Response structure
767
+ #
768
+ # resp.firewall_rule.firewall_rule_group_id #=> String
769
+ # resp.firewall_rule.firewall_domain_list_id #=> String
770
+ # resp.firewall_rule.name #=> String
771
+ # resp.firewall_rule.priority #=> Integer
772
+ # resp.firewall_rule.action #=> String, one of "ALLOW", "BLOCK", "ALERT"
773
+ # resp.firewall_rule.block_response #=> String, one of "NODATA", "NXDOMAIN", "OVERRIDE"
774
+ # resp.firewall_rule.block_override_domain #=> String
775
+ # resp.firewall_rule.block_override_dns_type #=> String, one of "CNAME"
776
+ # resp.firewall_rule.block_override_ttl #=> Integer
777
+ # resp.firewall_rule.creator_request_id #=> String
778
+ # resp.firewall_rule.creation_time #=> String
779
+ # resp.firewall_rule.modification_time #=> String
780
+ #
781
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateFirewallRule AWS API Documentation
782
+ #
783
+ # @overload create_firewall_rule(params = {})
784
+ # @param [Hash] params ({})
785
+ def create_firewall_rule(params = {}, options = {})
786
+ req = build_request(:create_firewall_rule, params)
787
+ req.send_request(options)
788
+ end
789
+
790
+ # Creates an empty DNS Firewall rule group for filtering DNS network
791
+ # traffic in a VPC. You can add rules to the new rule group by calling
792
+ # CreateFirewallRule.
793
+ #
794
+ # @option params [required, String] :creator_request_id
795
+ # A unique string defined by you to identify the request. This allows
796
+ # you to retry failed requests without the risk of executing the
797
+ # operation twice. This can be any unique string, for example, a
798
+ # timestamp.
799
+ #
800
+ # **A suitable default value is auto-generated.** You should normally
801
+ # not need to pass this option.**
802
+ #
803
+ # @option params [required, String] :name
804
+ # A name that lets you identify the rule group, to manage and use it.
805
+ #
806
+ # @option params [Array<Types::Tag>] :tags
807
+ # A list of the tag keys and values that you want to associate with the
808
+ # rule group.
809
+ #
810
+ # @return [Types::CreateFirewallRuleGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
811
+ #
812
+ # * {Types::CreateFirewallRuleGroupResponse#firewall_rule_group #firewall_rule_group} => Types::FirewallRuleGroup
813
+ #
814
+ # @example Request syntax with placeholder values
815
+ #
816
+ # resp = client.create_firewall_rule_group({
817
+ # creator_request_id: "CreatorRequestId", # required
818
+ # name: "Name", # required
819
+ # tags: [
820
+ # {
821
+ # key: "TagKey", # required
822
+ # value: "TagValue", # required
823
+ # },
824
+ # ],
825
+ # })
826
+ #
827
+ # @example Response structure
828
+ #
829
+ # resp.firewall_rule_group.id #=> String
830
+ # resp.firewall_rule_group.arn #=> String
831
+ # resp.firewall_rule_group.name #=> String
832
+ # resp.firewall_rule_group.rule_count #=> Integer
833
+ # resp.firewall_rule_group.status #=> String, one of "COMPLETE", "DELETING", "UPDATING"
834
+ # resp.firewall_rule_group.status_message #=> String
835
+ # resp.firewall_rule_group.owner_id #=> String
836
+ # resp.firewall_rule_group.creator_request_id #=> String
837
+ # resp.firewall_rule_group.share_status #=> String, one of "NOT_SHARED", "SHARED_WITH_ME", "SHARED_BY_ME"
838
+ # resp.firewall_rule_group.creation_time #=> String
839
+ # resp.firewall_rule_group.modification_time #=> String
840
+ #
841
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateFirewallRuleGroup AWS API Documentation
842
+ #
843
+ # @overload create_firewall_rule_group(params = {})
844
+ # @param [Hash] params ({})
845
+ def create_firewall_rule_group(params = {}, options = {})
846
+ req = build_request(:create_firewall_rule_group, params)
847
+ req.send_request(options)
848
+ end
849
+
517
850
  # Creates a Resolver endpoint. There are two types of Resolver
518
851
  # endpoints, inbound and outbound:
519
852
  #
@@ -814,6 +1147,126 @@ module Aws::Route53Resolver
814
1147
  req.send_request(options)
815
1148
  end
816
1149
 
1150
+ # Deletes the specified domain list.
1151
+ #
1152
+ # @option params [required, String] :firewall_domain_list_id
1153
+ # The ID of the domain list that you want to delete.
1154
+ #
1155
+ # @return [Types::DeleteFirewallDomainListResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1156
+ #
1157
+ # * {Types::DeleteFirewallDomainListResponse#firewall_domain_list #firewall_domain_list} => Types::FirewallDomainList
1158
+ #
1159
+ # @example Request syntax with placeholder values
1160
+ #
1161
+ # resp = client.delete_firewall_domain_list({
1162
+ # firewall_domain_list_id: "ResourceId", # required
1163
+ # })
1164
+ #
1165
+ # @example Response structure
1166
+ #
1167
+ # resp.firewall_domain_list.id #=> String
1168
+ # resp.firewall_domain_list.arn #=> String
1169
+ # resp.firewall_domain_list.name #=> String
1170
+ # resp.firewall_domain_list.domain_count #=> Integer
1171
+ # resp.firewall_domain_list.status #=> String, one of "COMPLETE", "COMPLETE_IMPORT_FAILED", "IMPORTING", "DELETING", "UPDATING"
1172
+ # resp.firewall_domain_list.status_message #=> String
1173
+ # resp.firewall_domain_list.managed_owner_name #=> String
1174
+ # resp.firewall_domain_list.creator_request_id #=> String
1175
+ # resp.firewall_domain_list.creation_time #=> String
1176
+ # resp.firewall_domain_list.modification_time #=> String
1177
+ #
1178
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteFirewallDomainList AWS API Documentation
1179
+ #
1180
+ # @overload delete_firewall_domain_list(params = {})
1181
+ # @param [Hash] params ({})
1182
+ def delete_firewall_domain_list(params = {}, options = {})
1183
+ req = build_request(:delete_firewall_domain_list, params)
1184
+ req.send_request(options)
1185
+ end
1186
+
1187
+ # Deletes the specified firewall rule.
1188
+ #
1189
+ # @option params [required, String] :firewall_rule_group_id
1190
+ # The unique identifier of the firewall rule group that you want to
1191
+ # delete the rule from.
1192
+ #
1193
+ # @option params [required, String] :firewall_domain_list_id
1194
+ # The ID of the domain list that's used in the rule.
1195
+ #
1196
+ # @return [Types::DeleteFirewallRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1197
+ #
1198
+ # * {Types::DeleteFirewallRuleResponse#firewall_rule #firewall_rule} => Types::FirewallRule
1199
+ #
1200
+ # @example Request syntax with placeholder values
1201
+ #
1202
+ # resp = client.delete_firewall_rule({
1203
+ # firewall_rule_group_id: "ResourceId", # required
1204
+ # firewall_domain_list_id: "ResourceId", # required
1205
+ # })
1206
+ #
1207
+ # @example Response structure
1208
+ #
1209
+ # resp.firewall_rule.firewall_rule_group_id #=> String
1210
+ # resp.firewall_rule.firewall_domain_list_id #=> String
1211
+ # resp.firewall_rule.name #=> String
1212
+ # resp.firewall_rule.priority #=> Integer
1213
+ # resp.firewall_rule.action #=> String, one of "ALLOW", "BLOCK", "ALERT"
1214
+ # resp.firewall_rule.block_response #=> String, one of "NODATA", "NXDOMAIN", "OVERRIDE"
1215
+ # resp.firewall_rule.block_override_domain #=> String
1216
+ # resp.firewall_rule.block_override_dns_type #=> String, one of "CNAME"
1217
+ # resp.firewall_rule.block_override_ttl #=> Integer
1218
+ # resp.firewall_rule.creator_request_id #=> String
1219
+ # resp.firewall_rule.creation_time #=> String
1220
+ # resp.firewall_rule.modification_time #=> String
1221
+ #
1222
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteFirewallRule AWS API Documentation
1223
+ #
1224
+ # @overload delete_firewall_rule(params = {})
1225
+ # @param [Hash] params ({})
1226
+ def delete_firewall_rule(params = {}, options = {})
1227
+ req = build_request(:delete_firewall_rule, params)
1228
+ req.send_request(options)
1229
+ end
1230
+
1231
+ # Deletes the specified firewall rule group.
1232
+ #
1233
+ # @option params [required, String] :firewall_rule_group_id
1234
+ # The unique identifier of the firewall rule group that you want to
1235
+ # delete.
1236
+ #
1237
+ # @return [Types::DeleteFirewallRuleGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1238
+ #
1239
+ # * {Types::DeleteFirewallRuleGroupResponse#firewall_rule_group #firewall_rule_group} => Types::FirewallRuleGroup
1240
+ #
1241
+ # @example Request syntax with placeholder values
1242
+ #
1243
+ # resp = client.delete_firewall_rule_group({
1244
+ # firewall_rule_group_id: "ResourceId", # required
1245
+ # })
1246
+ #
1247
+ # @example Response structure
1248
+ #
1249
+ # resp.firewall_rule_group.id #=> String
1250
+ # resp.firewall_rule_group.arn #=> String
1251
+ # resp.firewall_rule_group.name #=> String
1252
+ # resp.firewall_rule_group.rule_count #=> Integer
1253
+ # resp.firewall_rule_group.status #=> String, one of "COMPLETE", "DELETING", "UPDATING"
1254
+ # resp.firewall_rule_group.status_message #=> String
1255
+ # resp.firewall_rule_group.owner_id #=> String
1256
+ # resp.firewall_rule_group.creator_request_id #=> String
1257
+ # resp.firewall_rule_group.share_status #=> String, one of "NOT_SHARED", "SHARED_WITH_ME", "SHARED_BY_ME"
1258
+ # resp.firewall_rule_group.creation_time #=> String
1259
+ # resp.firewall_rule_group.modification_time #=> String
1260
+ #
1261
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteFirewallRuleGroup AWS API Documentation
1262
+ #
1263
+ # @overload delete_firewall_rule_group(params = {})
1264
+ # @param [Hash] params ({})
1265
+ def delete_firewall_rule_group(params = {}, options = {})
1266
+ req = build_request(:delete_firewall_rule_group, params)
1267
+ req.send_request(options)
1268
+ end
1269
+
817
1270
  # Deletes a Resolver endpoint. The effect of deleting a Resolver
818
1271
  # endpoint depends on whether it's an inbound or an outbound Resolver
819
1272
  # endpoint:
@@ -970,6 +1423,47 @@ module Aws::Route53Resolver
970
1423
  req.send_request(options)
971
1424
  end
972
1425
 
1426
+ # Disassociates a FirewallRuleGroup from a VPC, to remove DNS filtering
1427
+ # from the VPC.
1428
+ #
1429
+ # @option params [required, String] :firewall_rule_group_association_id
1430
+ # The identifier of the FirewallRuleGroupAssociation.
1431
+ #
1432
+ # @return [Types::DisassociateFirewallRuleGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1433
+ #
1434
+ # * {Types::DisassociateFirewallRuleGroupResponse#firewall_rule_group_association #firewall_rule_group_association} => Types::FirewallRuleGroupAssociation
1435
+ #
1436
+ # @example Request syntax with placeholder values
1437
+ #
1438
+ # resp = client.disassociate_firewall_rule_group({
1439
+ # firewall_rule_group_association_id: "ResourceId", # required
1440
+ # })
1441
+ #
1442
+ # @example Response structure
1443
+ #
1444
+ # resp.firewall_rule_group_association.id #=> String
1445
+ # resp.firewall_rule_group_association.arn #=> String
1446
+ # resp.firewall_rule_group_association.firewall_rule_group_id #=> String
1447
+ # resp.firewall_rule_group_association.vpc_id #=> String
1448
+ # resp.firewall_rule_group_association.name #=> String
1449
+ # resp.firewall_rule_group_association.priority #=> Integer
1450
+ # resp.firewall_rule_group_association.mutation_protection #=> String, one of "ENABLED", "DISABLED"
1451
+ # resp.firewall_rule_group_association.managed_owner_name #=> String
1452
+ # resp.firewall_rule_group_association.status #=> String, one of "COMPLETE", "DELETING", "UPDATING"
1453
+ # resp.firewall_rule_group_association.status_message #=> String
1454
+ # resp.firewall_rule_group_association.creator_request_id #=> String
1455
+ # resp.firewall_rule_group_association.creation_time #=> String
1456
+ # resp.firewall_rule_group_association.modification_time #=> String
1457
+ #
1458
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateFirewallRuleGroup AWS API Documentation
1459
+ #
1460
+ # @overload disassociate_firewall_rule_group(params = {})
1461
+ # @param [Hash] params ({})
1462
+ def disassociate_firewall_rule_group(params = {}, options = {})
1463
+ req = build_request(:disassociate_firewall_rule_group, params)
1464
+ req.send_request(options)
1465
+ end
1466
+
973
1467
  # Removes IP addresses from an inbound or an outbound Resolver endpoint.
974
1468
  # If you want to remove more than one IP address, submit one
975
1469
  # `DisassociateResolverEndpointIpAddress` request for each IP address.
@@ -1125,81 +1619,294 @@ module Aws::Route53Resolver
1125
1619
  req.send_request(options)
1126
1620
  end
1127
1621
 
1128
- # Gets information about a specified Resolver endpoint, such as whether
1129
- # it's an inbound or an outbound Resolver endpoint, and the current
1130
- # status of the endpoint.
1622
+ # Retrieves the configuration of the firewall behavior provided by DNS
1623
+ # Firewall for a single Amazon virtual private cloud (VPC).
1131
1624
  #
1132
- # @option params [required, String] :resolver_endpoint_id
1133
- # The ID of the Resolver endpoint that you want to get information
1134
- # about.
1625
+ # @option params [required, String] :resource_id
1626
+ # The ID of the Amazon virtual private cloud (VPC) that the
1627
+ # configuration is for.
1135
1628
  #
1136
- # @return [Types::GetResolverEndpointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1629
+ # @return [Types::GetFirewallConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1137
1630
  #
1138
- # * {Types::GetResolverEndpointResponse#resolver_endpoint #resolver_endpoint} => Types::ResolverEndpoint
1631
+ # * {Types::GetFirewallConfigResponse#firewall_config #firewall_config} => Types::FirewallConfig
1139
1632
  #
1140
1633
  # @example Request syntax with placeholder values
1141
1634
  #
1142
- # resp = client.get_resolver_endpoint({
1143
- # resolver_endpoint_id: "ResourceId", # required
1635
+ # resp = client.get_firewall_config({
1636
+ # resource_id: "ResourceId", # required
1144
1637
  # })
1145
1638
  #
1146
1639
  # @example Response structure
1147
1640
  #
1148
- # resp.resolver_endpoint.id #=> String
1149
- # resp.resolver_endpoint.creator_request_id #=> String
1150
- # resp.resolver_endpoint.arn #=> String
1151
- # resp.resolver_endpoint.name #=> String
1152
- # resp.resolver_endpoint.security_group_ids #=> Array
1153
- # resp.resolver_endpoint.security_group_ids[0] #=> String
1154
- # resp.resolver_endpoint.direction #=> String, one of "INBOUND", "OUTBOUND"
1155
- # resp.resolver_endpoint.ip_address_count #=> Integer
1156
- # resp.resolver_endpoint.host_vpc_id #=> String
1157
- # resp.resolver_endpoint.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "AUTO_RECOVERING", "ACTION_NEEDED", "DELETING"
1158
- # resp.resolver_endpoint.status_message #=> String
1159
- # resp.resolver_endpoint.creation_time #=> String
1160
- # resp.resolver_endpoint.modification_time #=> String
1641
+ # resp.firewall_config.id #=> String
1642
+ # resp.firewall_config.resource_id #=> String
1643
+ # resp.firewall_config.owner_id #=> String
1644
+ # resp.firewall_config.firewall_fail_open #=> String, one of "ENABLED", "DISABLED"
1161
1645
  #
1162
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverEndpoint AWS API Documentation
1646
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetFirewallConfig AWS API Documentation
1163
1647
  #
1164
- # @overload get_resolver_endpoint(params = {})
1648
+ # @overload get_firewall_config(params = {})
1165
1649
  # @param [Hash] params ({})
1166
- def get_resolver_endpoint(params = {}, options = {})
1167
- req = build_request(:get_resolver_endpoint, params)
1650
+ def get_firewall_config(params = {}, options = {})
1651
+ req = build_request(:get_firewall_config, params)
1168
1652
  req.send_request(options)
1169
1653
  end
1170
1654
 
1171
- # Gets information about a specified Resolver query logging
1172
- # configuration, such as the number of VPCs that the configuration is
1173
- # logging queries for and the location that logs are sent to.
1655
+ # Retrieves the specified firewall domain list.
1174
1656
  #
1175
- # @option params [required, String] :resolver_query_log_config_id
1176
- # The ID of the Resolver query logging configuration that you want to
1177
- # get information about.
1657
+ # @option params [required, String] :firewall_domain_list_id
1658
+ # The ID of the domain list.
1178
1659
  #
1179
- # @return [Types::GetResolverQueryLogConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1660
+ # @return [Types::GetFirewallDomainListResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1180
1661
  #
1181
- # * {Types::GetResolverQueryLogConfigResponse#resolver_query_log_config #resolver_query_log_config} => Types::ResolverQueryLogConfig
1662
+ # * {Types::GetFirewallDomainListResponse#firewall_domain_list #firewall_domain_list} => Types::FirewallDomainList
1182
1663
  #
1183
1664
  # @example Request syntax with placeholder values
1184
1665
  #
1185
- # resp = client.get_resolver_query_log_config({
1186
- # resolver_query_log_config_id: "ResourceId", # required
1666
+ # resp = client.get_firewall_domain_list({
1667
+ # firewall_domain_list_id: "ResourceId", # required
1187
1668
  # })
1188
1669
  #
1189
1670
  # @example Response structure
1190
1671
  #
1191
- # resp.resolver_query_log_config.id #=> String
1192
- # resp.resolver_query_log_config.owner_id #=> String
1193
- # resp.resolver_query_log_config.status #=> String, one of "CREATING", "CREATED", "DELETING", "FAILED"
1194
- # resp.resolver_query_log_config.share_status #=> String, one of "NOT_SHARED", "SHARED_WITH_ME", "SHARED_BY_ME"
1195
- # resp.resolver_query_log_config.association_count #=> Integer
1196
- # resp.resolver_query_log_config.arn #=> String
1197
- # resp.resolver_query_log_config.name #=> String
1198
- # resp.resolver_query_log_config.destination_arn #=> String
1199
- # resp.resolver_query_log_config.creator_request_id #=> String
1200
- # resp.resolver_query_log_config.creation_time #=> String
1672
+ # resp.firewall_domain_list.id #=> String
1673
+ # resp.firewall_domain_list.arn #=> String
1674
+ # resp.firewall_domain_list.name #=> String
1675
+ # resp.firewall_domain_list.domain_count #=> Integer
1676
+ # resp.firewall_domain_list.status #=> String, one of "COMPLETE", "COMPLETE_IMPORT_FAILED", "IMPORTING", "DELETING", "UPDATING"
1677
+ # resp.firewall_domain_list.status_message #=> String
1678
+ # resp.firewall_domain_list.managed_owner_name #=> String
1679
+ # resp.firewall_domain_list.creator_request_id #=> String
1680
+ # resp.firewall_domain_list.creation_time #=> String
1681
+ # resp.firewall_domain_list.modification_time #=> String
1201
1682
  #
1202
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfig AWS API Documentation
1683
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetFirewallDomainList AWS API Documentation
1684
+ #
1685
+ # @overload get_firewall_domain_list(params = {})
1686
+ # @param [Hash] params ({})
1687
+ def get_firewall_domain_list(params = {}, options = {})
1688
+ req = build_request(:get_firewall_domain_list, params)
1689
+ req.send_request(options)
1690
+ end
1691
+
1692
+ # Retrieves the specified firewall rule group.
1693
+ #
1694
+ # @option params [required, String] :firewall_rule_group_id
1695
+ # The unique identifier of the firewall rule group.
1696
+ #
1697
+ # @return [Types::GetFirewallRuleGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1698
+ #
1699
+ # * {Types::GetFirewallRuleGroupResponse#firewall_rule_group #firewall_rule_group} => Types::FirewallRuleGroup
1700
+ #
1701
+ # @example Request syntax with placeholder values
1702
+ #
1703
+ # resp = client.get_firewall_rule_group({
1704
+ # firewall_rule_group_id: "ResourceId", # required
1705
+ # })
1706
+ #
1707
+ # @example Response structure
1708
+ #
1709
+ # resp.firewall_rule_group.id #=> String
1710
+ # resp.firewall_rule_group.arn #=> String
1711
+ # resp.firewall_rule_group.name #=> String
1712
+ # resp.firewall_rule_group.rule_count #=> Integer
1713
+ # resp.firewall_rule_group.status #=> String, one of "COMPLETE", "DELETING", "UPDATING"
1714
+ # resp.firewall_rule_group.status_message #=> String
1715
+ # resp.firewall_rule_group.owner_id #=> String
1716
+ # resp.firewall_rule_group.creator_request_id #=> String
1717
+ # resp.firewall_rule_group.share_status #=> String, one of "NOT_SHARED", "SHARED_WITH_ME", "SHARED_BY_ME"
1718
+ # resp.firewall_rule_group.creation_time #=> String
1719
+ # resp.firewall_rule_group.modification_time #=> String
1720
+ #
1721
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetFirewallRuleGroup AWS API Documentation
1722
+ #
1723
+ # @overload get_firewall_rule_group(params = {})
1724
+ # @param [Hash] params ({})
1725
+ def get_firewall_rule_group(params = {}, options = {})
1726
+ req = build_request(:get_firewall_rule_group, params)
1727
+ req.send_request(options)
1728
+ end
1729
+
1730
+ # Retrieves a firewall rule group association, which enables DNS
1731
+ # filtering for a VPC with one rule group. A VPC can have more than one
1732
+ # firewall rule group association, and a rule group can be associated
1733
+ # with more than one VPC.
1734
+ #
1735
+ # @option params [required, String] :firewall_rule_group_association_id
1736
+ # The identifier of the FirewallRuleGroupAssociation.
1737
+ #
1738
+ # @return [Types::GetFirewallRuleGroupAssociationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1739
+ #
1740
+ # * {Types::GetFirewallRuleGroupAssociationResponse#firewall_rule_group_association #firewall_rule_group_association} => Types::FirewallRuleGroupAssociation
1741
+ #
1742
+ # @example Request syntax with placeholder values
1743
+ #
1744
+ # resp = client.get_firewall_rule_group_association({
1745
+ # firewall_rule_group_association_id: "ResourceId", # required
1746
+ # })
1747
+ #
1748
+ # @example Response structure
1749
+ #
1750
+ # resp.firewall_rule_group_association.id #=> String
1751
+ # resp.firewall_rule_group_association.arn #=> String
1752
+ # resp.firewall_rule_group_association.firewall_rule_group_id #=> String
1753
+ # resp.firewall_rule_group_association.vpc_id #=> String
1754
+ # resp.firewall_rule_group_association.name #=> String
1755
+ # resp.firewall_rule_group_association.priority #=> Integer
1756
+ # resp.firewall_rule_group_association.mutation_protection #=> String, one of "ENABLED", "DISABLED"
1757
+ # resp.firewall_rule_group_association.managed_owner_name #=> String
1758
+ # resp.firewall_rule_group_association.status #=> String, one of "COMPLETE", "DELETING", "UPDATING"
1759
+ # resp.firewall_rule_group_association.status_message #=> String
1760
+ # resp.firewall_rule_group_association.creator_request_id #=> String
1761
+ # resp.firewall_rule_group_association.creation_time #=> String
1762
+ # resp.firewall_rule_group_association.modification_time #=> String
1763
+ #
1764
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetFirewallRuleGroupAssociation AWS API Documentation
1765
+ #
1766
+ # @overload get_firewall_rule_group_association(params = {})
1767
+ # @param [Hash] params ({})
1768
+ def get_firewall_rule_group_association(params = {}, options = {})
1769
+ req = build_request(:get_firewall_rule_group_association, params)
1770
+ req.send_request(options)
1771
+ end
1772
+
1773
+ # Returns the AWS Identity and Access Management (AWS IAM) policy for
1774
+ # sharing the specified rule group. You can use the policy to share the
1775
+ # rule group using AWS Resource Access Manager (RAM).
1776
+ #
1777
+ # @option params [required, String] :arn
1778
+ # The ARN (Amazon Resource Name) for the rule group.
1779
+ #
1780
+ # @return [Types::GetFirewallRuleGroupPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1781
+ #
1782
+ # * {Types::GetFirewallRuleGroupPolicyResponse#firewall_rule_group_policy #firewall_rule_group_policy} => String
1783
+ #
1784
+ # @example Request syntax with placeholder values
1785
+ #
1786
+ # resp = client.get_firewall_rule_group_policy({
1787
+ # arn: "Arn", # required
1788
+ # })
1789
+ #
1790
+ # @example Response structure
1791
+ #
1792
+ # resp.firewall_rule_group_policy #=> String
1793
+ #
1794
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetFirewallRuleGroupPolicy AWS API Documentation
1795
+ #
1796
+ # @overload get_firewall_rule_group_policy(params = {})
1797
+ # @param [Hash] params ({})
1798
+ def get_firewall_rule_group_policy(params = {}, options = {})
1799
+ req = build_request(:get_firewall_rule_group_policy, params)
1800
+ req.send_request(options)
1801
+ end
1802
+
1803
+ # Gets DNSSEC validation information for a specified resource.
1804
+ #
1805
+ # @option params [required, String] :resource_id
1806
+ # The ID of the virtual private cloud (VPC) for the DNSSEC validation
1807
+ # status.
1808
+ #
1809
+ # @return [Types::GetResolverDnssecConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1810
+ #
1811
+ # * {Types::GetResolverDnssecConfigResponse#resolver_dnssec_config #resolver_dnssec_config} => Types::ResolverDnssecConfig
1812
+ #
1813
+ # @example Request syntax with placeholder values
1814
+ #
1815
+ # resp = client.get_resolver_dnssec_config({
1816
+ # resource_id: "ResourceId", # required
1817
+ # })
1818
+ #
1819
+ # @example Response structure
1820
+ #
1821
+ # resp.resolver_dnssec_config.id #=> String
1822
+ # resp.resolver_dnssec_config.owner_id #=> String
1823
+ # resp.resolver_dnssec_config.resource_id #=> String
1824
+ # resp.resolver_dnssec_config.validation_status #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED"
1825
+ #
1826
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverDnssecConfig AWS API Documentation
1827
+ #
1828
+ # @overload get_resolver_dnssec_config(params = {})
1829
+ # @param [Hash] params ({})
1830
+ def get_resolver_dnssec_config(params = {}, options = {})
1831
+ req = build_request(:get_resolver_dnssec_config, params)
1832
+ req.send_request(options)
1833
+ end
1834
+
1835
+ # Gets information about a specified Resolver endpoint, such as whether
1836
+ # it's an inbound or an outbound Resolver endpoint, and the current
1837
+ # status of the endpoint.
1838
+ #
1839
+ # @option params [required, String] :resolver_endpoint_id
1840
+ # The ID of the Resolver endpoint that you want to get information
1841
+ # about.
1842
+ #
1843
+ # @return [Types::GetResolverEndpointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1844
+ #
1845
+ # * {Types::GetResolverEndpointResponse#resolver_endpoint #resolver_endpoint} => Types::ResolverEndpoint
1846
+ #
1847
+ # @example Request syntax with placeholder values
1848
+ #
1849
+ # resp = client.get_resolver_endpoint({
1850
+ # resolver_endpoint_id: "ResourceId", # required
1851
+ # })
1852
+ #
1853
+ # @example Response structure
1854
+ #
1855
+ # resp.resolver_endpoint.id #=> String
1856
+ # resp.resolver_endpoint.creator_request_id #=> String
1857
+ # resp.resolver_endpoint.arn #=> String
1858
+ # resp.resolver_endpoint.name #=> String
1859
+ # resp.resolver_endpoint.security_group_ids #=> Array
1860
+ # resp.resolver_endpoint.security_group_ids[0] #=> String
1861
+ # resp.resolver_endpoint.direction #=> String, one of "INBOUND", "OUTBOUND"
1862
+ # resp.resolver_endpoint.ip_address_count #=> Integer
1863
+ # resp.resolver_endpoint.host_vpc_id #=> String
1864
+ # resp.resolver_endpoint.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "AUTO_RECOVERING", "ACTION_NEEDED", "DELETING"
1865
+ # resp.resolver_endpoint.status_message #=> String
1866
+ # resp.resolver_endpoint.creation_time #=> String
1867
+ # resp.resolver_endpoint.modification_time #=> String
1868
+ #
1869
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverEndpoint AWS API Documentation
1870
+ #
1871
+ # @overload get_resolver_endpoint(params = {})
1872
+ # @param [Hash] params ({})
1873
+ def get_resolver_endpoint(params = {}, options = {})
1874
+ req = build_request(:get_resolver_endpoint, params)
1875
+ req.send_request(options)
1876
+ end
1877
+
1878
+ # Gets information about a specified Resolver query logging
1879
+ # configuration, such as the number of VPCs that the configuration is
1880
+ # logging queries for and the location that logs are sent to.
1881
+ #
1882
+ # @option params [required, String] :resolver_query_log_config_id
1883
+ # The ID of the Resolver query logging configuration that you want to
1884
+ # get information about.
1885
+ #
1886
+ # @return [Types::GetResolverQueryLogConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1887
+ #
1888
+ # * {Types::GetResolverQueryLogConfigResponse#resolver_query_log_config #resolver_query_log_config} => Types::ResolverQueryLogConfig
1889
+ #
1890
+ # @example Request syntax with placeholder values
1891
+ #
1892
+ # resp = client.get_resolver_query_log_config({
1893
+ # resolver_query_log_config_id: "ResourceId", # required
1894
+ # })
1895
+ #
1896
+ # @example Response structure
1897
+ #
1898
+ # resp.resolver_query_log_config.id #=> String
1899
+ # resp.resolver_query_log_config.owner_id #=> String
1900
+ # resp.resolver_query_log_config.status #=> String, one of "CREATING", "CREATED", "DELETING", "FAILED"
1901
+ # resp.resolver_query_log_config.share_status #=> String, one of "NOT_SHARED", "SHARED_WITH_ME", "SHARED_BY_ME"
1902
+ # resp.resolver_query_log_config.association_count #=> Integer
1903
+ # resp.resolver_query_log_config.arn #=> String
1904
+ # resp.resolver_query_log_config.name #=> String
1905
+ # resp.resolver_query_log_config.destination_arn #=> String
1906
+ # resp.resolver_query_log_config.creator_request_id #=> String
1907
+ # resp.resolver_query_log_config.creation_time #=> String
1908
+ #
1909
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfig AWS API Documentation
1203
1910
  #
1204
1911
  # @overload get_resolver_query_log_config(params = {})
1205
1912
  # @param [Hash] params ({})
@@ -1250,146 +1957,683 @@ module Aws::Route53Resolver
1250
1957
  # specifies the Resolver query logging operations and resources that you
1251
1958
  # want to allow another AWS account to be able to use.
1252
1959
  #
1253
- # @option params [required, String] :arn
1254
- # The ARN of the query logging configuration that you want to get the
1255
- # query logging policy for.
1960
+ # @option params [required, String] :arn
1961
+ # The ARN of the query logging configuration that you want to get the
1962
+ # query logging policy for.
1963
+ #
1964
+ # @return [Types::GetResolverQueryLogConfigPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1965
+ #
1966
+ # * {Types::GetResolverQueryLogConfigPolicyResponse#resolver_query_log_config_policy #resolver_query_log_config_policy} => String
1967
+ #
1968
+ # @example Request syntax with placeholder values
1969
+ #
1970
+ # resp = client.get_resolver_query_log_config_policy({
1971
+ # arn: "Arn", # required
1972
+ # })
1973
+ #
1974
+ # @example Response structure
1975
+ #
1976
+ # resp.resolver_query_log_config_policy #=> String
1977
+ #
1978
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfigPolicy AWS API Documentation
1979
+ #
1980
+ # @overload get_resolver_query_log_config_policy(params = {})
1981
+ # @param [Hash] params ({})
1982
+ def get_resolver_query_log_config_policy(params = {}, options = {})
1983
+ req = build_request(:get_resolver_query_log_config_policy, params)
1984
+ req.send_request(options)
1985
+ end
1986
+
1987
+ # Gets information about a specified Resolver rule, such as the domain
1988
+ # name that the rule forwards DNS queries for and the ID of the outbound
1989
+ # Resolver endpoint that the rule is associated with.
1990
+ #
1991
+ # @option params [required, String] :resolver_rule_id
1992
+ # The ID of the Resolver rule that you want to get information about.
1993
+ #
1994
+ # @return [Types::GetResolverRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1995
+ #
1996
+ # * {Types::GetResolverRuleResponse#resolver_rule #resolver_rule} => Types::ResolverRule
1997
+ #
1998
+ # @example Request syntax with placeholder values
1999
+ #
2000
+ # resp = client.get_resolver_rule({
2001
+ # resolver_rule_id: "ResourceId", # required
2002
+ # })
2003
+ #
2004
+ # @example Response structure
2005
+ #
2006
+ # resp.resolver_rule.id #=> String
2007
+ # resp.resolver_rule.creator_request_id #=> String
2008
+ # resp.resolver_rule.arn #=> String
2009
+ # resp.resolver_rule.domain_name #=> String
2010
+ # resp.resolver_rule.status #=> String, one of "COMPLETE", "DELETING", "UPDATING", "FAILED"
2011
+ # resp.resolver_rule.status_message #=> String
2012
+ # resp.resolver_rule.rule_type #=> String, one of "FORWARD", "SYSTEM", "RECURSIVE"
2013
+ # resp.resolver_rule.name #=> String
2014
+ # resp.resolver_rule.target_ips #=> Array
2015
+ # resp.resolver_rule.target_ips[0].ip #=> String
2016
+ # resp.resolver_rule.target_ips[0].port #=> Integer
2017
+ # resp.resolver_rule.resolver_endpoint_id #=> String
2018
+ # resp.resolver_rule.owner_id #=> String
2019
+ # resp.resolver_rule.share_status #=> String, one of "NOT_SHARED", "SHARED_WITH_ME", "SHARED_BY_ME"
2020
+ # resp.resolver_rule.creation_time #=> String
2021
+ # resp.resolver_rule.modification_time #=> String
2022
+ #
2023
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRule AWS API Documentation
2024
+ #
2025
+ # @overload get_resolver_rule(params = {})
2026
+ # @param [Hash] params ({})
2027
+ def get_resolver_rule(params = {}, options = {})
2028
+ req = build_request(:get_resolver_rule, params)
2029
+ req.send_request(options)
2030
+ end
2031
+
2032
+ # Gets information about an association between a specified Resolver
2033
+ # rule and a VPC. You associate a Resolver rule and a VPC using
2034
+ # [AssociateResolverRule][1].
2035
+ #
2036
+ #
2037
+ #
2038
+ # [1]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverRule.html
2039
+ #
2040
+ # @option params [required, String] :resolver_rule_association_id
2041
+ # The ID of the Resolver rule association that you want to get
2042
+ # information about.
2043
+ #
2044
+ # @return [Types::GetResolverRuleAssociationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2045
+ #
2046
+ # * {Types::GetResolverRuleAssociationResponse#resolver_rule_association #resolver_rule_association} => Types::ResolverRuleAssociation
2047
+ #
2048
+ # @example Request syntax with placeholder values
2049
+ #
2050
+ # resp = client.get_resolver_rule_association({
2051
+ # resolver_rule_association_id: "ResourceId", # required
2052
+ # })
2053
+ #
2054
+ # @example Response structure
2055
+ #
2056
+ # resp.resolver_rule_association.id #=> String
2057
+ # resp.resolver_rule_association.resolver_rule_id #=> String
2058
+ # resp.resolver_rule_association.name #=> String
2059
+ # resp.resolver_rule_association.vpc_id #=> String
2060
+ # resp.resolver_rule_association.status #=> String, one of "CREATING", "COMPLETE", "DELETING", "FAILED", "OVERRIDDEN"
2061
+ # resp.resolver_rule_association.status_message #=> String
2062
+ #
2063
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRuleAssociation AWS API Documentation
2064
+ #
2065
+ # @overload get_resolver_rule_association(params = {})
2066
+ # @param [Hash] params ({})
2067
+ def get_resolver_rule_association(params = {}, options = {})
2068
+ req = build_request(:get_resolver_rule_association, params)
2069
+ req.send_request(options)
2070
+ end
2071
+
2072
+ # Gets information about the Resolver rule policy for a specified rule.
2073
+ # A Resolver rule policy includes the rule that you want to share with
2074
+ # another account, the account that you want to share the rule with, and
2075
+ # the Resolver operations that you want to allow the account to use.
2076
+ #
2077
+ # @option params [required, String] :arn
2078
+ # The ID of the Resolver rule that you want to get the Resolver rule
2079
+ # policy for.
2080
+ #
2081
+ # @return [Types::GetResolverRulePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2082
+ #
2083
+ # * {Types::GetResolverRulePolicyResponse#resolver_rule_policy #resolver_rule_policy} => String
2084
+ #
2085
+ # @example Request syntax with placeholder values
2086
+ #
2087
+ # resp = client.get_resolver_rule_policy({
2088
+ # arn: "Arn", # required
2089
+ # })
2090
+ #
2091
+ # @example Response structure
2092
+ #
2093
+ # resp.resolver_rule_policy #=> String
2094
+ #
2095
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRulePolicy AWS API Documentation
2096
+ #
2097
+ # @overload get_resolver_rule_policy(params = {})
2098
+ # @param [Hash] params ({})
2099
+ def get_resolver_rule_policy(params = {}, options = {})
2100
+ req = build_request(:get_resolver_rule_policy, params)
2101
+ req.send_request(options)
2102
+ end
2103
+
2104
+ # Imports domain names from a file into a domain list, for use in a DNS
2105
+ # firewall rule group.
2106
+ #
2107
+ # Each domain specification in your domain list must satisfy the
2108
+ # following requirements:
2109
+ #
2110
+ # * It can optionally start with `*` (asterisk).
2111
+ #
2112
+ # * With the exception of the optional starting asterisk, it must only
2113
+ # contain the following characters: `A-Z`, `a-z`, `0-9`, `-` (hyphen).
2114
+ #
2115
+ # * It must be from 1-255 characters in length.
2116
+ #
2117
+ # @option params [required, String] :firewall_domain_list_id
2118
+ # The ID of the domain list that you want to modify with the import
2119
+ # operation.
2120
+ #
2121
+ # @option params [required, String] :operation
2122
+ # What you want DNS Firewall to do with the domains that are listed in
2123
+ # the file. This must be set to `REPLACE`, which updates the domain list
2124
+ # to exactly match the list in the file.
2125
+ #
2126
+ # @option params [required, String] :domain_file_url
2127
+ # The fully qualified URL or URI of the file stored in Amazon Simple
2128
+ # Storage Service (S3) that contains the list of domains to import.
2129
+ #
2130
+ # The file must be in an S3 bucket that's in the same Region as your
2131
+ # DNS Firewall. The file must be a text file and must contain a single
2132
+ # domain per line.
2133
+ #
2134
+ # @return [Types::ImportFirewallDomainsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2135
+ #
2136
+ # * {Types::ImportFirewallDomainsResponse#id #id} => String
2137
+ # * {Types::ImportFirewallDomainsResponse#name #name} => String
2138
+ # * {Types::ImportFirewallDomainsResponse#status #status} => String
2139
+ # * {Types::ImportFirewallDomainsResponse#status_message #status_message} => String
2140
+ #
2141
+ # @example Request syntax with placeholder values
2142
+ #
2143
+ # resp = client.import_firewall_domains({
2144
+ # firewall_domain_list_id: "ResourceId", # required
2145
+ # operation: "REPLACE", # required, accepts REPLACE
2146
+ # domain_file_url: "DomainListFileUrl", # required
2147
+ # })
2148
+ #
2149
+ # @example Response structure
2150
+ #
2151
+ # resp.id #=> String
2152
+ # resp.name #=> String
2153
+ # resp.status #=> String, one of "COMPLETE", "COMPLETE_IMPORT_FAILED", "IMPORTING", "DELETING", "UPDATING"
2154
+ # resp.status_message #=> String
2155
+ #
2156
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ImportFirewallDomains AWS API Documentation
2157
+ #
2158
+ # @overload import_firewall_domains(params = {})
2159
+ # @param [Hash] params ({})
2160
+ def import_firewall_domains(params = {}, options = {})
2161
+ req = build_request(:import_firewall_domains, params)
2162
+ req.send_request(options)
2163
+ end
2164
+
2165
+ # Retrieves the firewall configurations that you have defined. DNS
2166
+ # Firewall uses the configurations to manage firewall behavior for your
2167
+ # VPCs.
2168
+ #
2169
+ # A single call might return only a partial list of the configurations.
2170
+ # For information, see `MaxResults`.
2171
+ #
2172
+ # @option params [Integer] :max_results
2173
+ # The maximum number of objects that you want Resolver to return for
2174
+ # this request. If more objects are available, in the response, Resolver
2175
+ # provides a `NextToken` value that you can use in a subsequent call to
2176
+ # get the next batch of objects.
2177
+ #
2178
+ # If you don't specify a value for `MaxResults`, Resolver returns up to
2179
+ # 100 objects.
2180
+ #
2181
+ # @option params [String] :next_token
2182
+ # For the first call to this list request, omit this value.
2183
+ #
2184
+ # When you request a list of objects, Resolver returns at most the
2185
+ # number of objects specified in `MaxResults`. If more objects are
2186
+ # available for retrieval, Resolver returns a `NextToken` value in the
2187
+ # response. To retrieve the next batch of objects, use the token that
2188
+ # was returned for the prior request in your next request.
2189
+ #
2190
+ # @return [Types::ListFirewallConfigsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2191
+ #
2192
+ # * {Types::ListFirewallConfigsResponse#next_token #next_token} => String
2193
+ # * {Types::ListFirewallConfigsResponse#firewall_configs #firewall_configs} => Array&lt;Types::FirewallConfig&gt;
2194
+ #
2195
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2196
+ #
2197
+ # @example Request syntax with placeholder values
2198
+ #
2199
+ # resp = client.list_firewall_configs({
2200
+ # max_results: 1,
2201
+ # next_token: "NextToken",
2202
+ # })
2203
+ #
2204
+ # @example Response structure
2205
+ #
2206
+ # resp.next_token #=> String
2207
+ # resp.firewall_configs #=> Array
2208
+ # resp.firewall_configs[0].id #=> String
2209
+ # resp.firewall_configs[0].resource_id #=> String
2210
+ # resp.firewall_configs[0].owner_id #=> String
2211
+ # resp.firewall_configs[0].firewall_fail_open #=> String, one of "ENABLED", "DISABLED"
2212
+ #
2213
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallConfigs AWS API Documentation
2214
+ #
2215
+ # @overload list_firewall_configs(params = {})
2216
+ # @param [Hash] params ({})
2217
+ def list_firewall_configs(params = {}, options = {})
2218
+ req = build_request(:list_firewall_configs, params)
2219
+ req.send_request(options)
2220
+ end
2221
+
2222
+ # Retrieves the firewall domain lists that you have defined. For each
2223
+ # firewall domain list, you can retrieve the domains that are defined
2224
+ # for a list by calling ListFirewallDomains.
2225
+ #
2226
+ # A single call to this list operation might return only a partial list
2227
+ # of the domain lists. For information, see `MaxResults`.
2228
+ #
2229
+ # @option params [Integer] :max_results
2230
+ # The maximum number of objects that you want Resolver to return for
2231
+ # this request. If more objects are available, in the response, Resolver
2232
+ # provides a `NextToken` value that you can use in a subsequent call to
2233
+ # get the next batch of objects.
2234
+ #
2235
+ # If you don't specify a value for `MaxResults`, Resolver returns up to
2236
+ # 100 objects.
2237
+ #
2238
+ # @option params [String] :next_token
2239
+ # For the first call to this list request, omit this value.
2240
+ #
2241
+ # When you request a list of objects, Resolver returns at most the
2242
+ # number of objects specified in `MaxResults`. If more objects are
2243
+ # available for retrieval, Resolver returns a `NextToken` value in the
2244
+ # response. To retrieve the next batch of objects, use the token that
2245
+ # was returned for the prior request in your next request.
2246
+ #
2247
+ # @return [Types::ListFirewallDomainListsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2248
+ #
2249
+ # * {Types::ListFirewallDomainListsResponse#next_token #next_token} => String
2250
+ # * {Types::ListFirewallDomainListsResponse#firewall_domain_lists #firewall_domain_lists} => Array&lt;Types::FirewallDomainListMetadata&gt;
2251
+ #
2252
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2253
+ #
2254
+ # @example Request syntax with placeholder values
2255
+ #
2256
+ # resp = client.list_firewall_domain_lists({
2257
+ # max_results: 1,
2258
+ # next_token: "NextToken",
2259
+ # })
2260
+ #
2261
+ # @example Response structure
2262
+ #
2263
+ # resp.next_token #=> String
2264
+ # resp.firewall_domain_lists #=> Array
2265
+ # resp.firewall_domain_lists[0].id #=> String
2266
+ # resp.firewall_domain_lists[0].arn #=> String
2267
+ # resp.firewall_domain_lists[0].name #=> String
2268
+ # resp.firewall_domain_lists[0].creator_request_id #=> String
2269
+ # resp.firewall_domain_lists[0].managed_owner_name #=> String
2270
+ #
2271
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallDomainLists AWS API Documentation
2272
+ #
2273
+ # @overload list_firewall_domain_lists(params = {})
2274
+ # @param [Hash] params ({})
2275
+ def list_firewall_domain_lists(params = {}, options = {})
2276
+ req = build_request(:list_firewall_domain_lists, params)
2277
+ req.send_request(options)
2278
+ end
2279
+
2280
+ # Retrieves the domains that you have defined for the specified firewall
2281
+ # domain list.
2282
+ #
2283
+ # A single call might return only a partial list of the domains. For
2284
+ # information, see `MaxResults`.
2285
+ #
2286
+ # @option params [required, String] :firewall_domain_list_id
2287
+ # The ID of the domain list whose domains you want to retrieve.
2288
+ #
2289
+ # @option params [Integer] :max_results
2290
+ # The maximum number of objects that you want Resolver to return for
2291
+ # this request. If more objects are available, in the response, Resolver
2292
+ # provides a `NextToken` value that you can use in a subsequent call to
2293
+ # get the next batch of objects.
2294
+ #
2295
+ # If you don't specify a value for `MaxResults`, Resolver returns up to
2296
+ # 100 objects.
2297
+ #
2298
+ # @option params [String] :next_token
2299
+ # For the first call to this list request, omit this value.
2300
+ #
2301
+ # When you request a list of objects, Resolver returns at most the
2302
+ # number of objects specified in `MaxResults`. If more objects are
2303
+ # available for retrieval, Resolver returns a `NextToken` value in the
2304
+ # response. To retrieve the next batch of objects, use the token that
2305
+ # was returned for the prior request in your next request.
2306
+ #
2307
+ # @return [Types::ListFirewallDomainsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2308
+ #
2309
+ # * {Types::ListFirewallDomainsResponse#next_token #next_token} => String
2310
+ # * {Types::ListFirewallDomainsResponse#domains #domains} => Array&lt;String&gt;
2311
+ #
2312
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2313
+ #
2314
+ # @example Request syntax with placeholder values
2315
+ #
2316
+ # resp = client.list_firewall_domains({
2317
+ # firewall_domain_list_id: "ResourceId", # required
2318
+ # max_results: 1,
2319
+ # next_token: "NextToken",
2320
+ # })
2321
+ #
2322
+ # @example Response structure
2323
+ #
2324
+ # resp.next_token #=> String
2325
+ # resp.domains #=> Array
2326
+ # resp.domains[0] #=> String
2327
+ #
2328
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallDomains AWS API Documentation
2329
+ #
2330
+ # @overload list_firewall_domains(params = {})
2331
+ # @param [Hash] params ({})
2332
+ def list_firewall_domains(params = {}, options = {})
2333
+ req = build_request(:list_firewall_domains, params)
2334
+ req.send_request(options)
2335
+ end
2336
+
2337
+ # Retrieves the firewall rule group associations that you have defined.
2338
+ # Each association enables DNS filtering for a VPC with one rule group.
2339
+ #
2340
+ # A single call might return only a partial list of the associations.
2341
+ # For information, see `MaxResults`.
2342
+ #
2343
+ # @option params [String] :firewall_rule_group_id
2344
+ # The unique identifier of the firewall rule group that you want to
2345
+ # retrieve the associations for. Leave this blank to retrieve
2346
+ # associations for any rule group.
2347
+ #
2348
+ # @option params [String] :vpc_id
2349
+ # The unique identifier of the VPC that you want to retrieve the
2350
+ # associations for. Leave this blank to retrieve associations for any
2351
+ # VPC.
2352
+ #
2353
+ # @option params [Integer] :priority
2354
+ # The setting that determines the processing order of the rule group
2355
+ # among the rule groups that are associated with a single VPC. DNS
2356
+ # Firewall filters VPC traffic starting from rule group with the lowest
2357
+ # numeric priority setting.
2358
+ #
2359
+ # @option params [String] :status
2360
+ # The association `Status` setting that you want DNS Firewall to filter
2361
+ # on for the list. If you don't specify this, then DNS Firewall returns
2362
+ # all associations, regardless of status.
2363
+ #
2364
+ # @option params [Integer] :max_results
2365
+ # The maximum number of objects that you want Resolver to return for
2366
+ # this request. If more objects are available, in the response, Resolver
2367
+ # provides a `NextToken` value that you can use in a subsequent call to
2368
+ # get the next batch of objects.
2369
+ #
2370
+ # If you don't specify a value for `MaxResults`, Resolver returns up to
2371
+ # 100 objects.
2372
+ #
2373
+ # @option params [String] :next_token
2374
+ # For the first call to this list request, omit this value.
2375
+ #
2376
+ # When you request a list of objects, Resolver returns at most the
2377
+ # number of objects specified in `MaxResults`. If more objects are
2378
+ # available for retrieval, Resolver returns a `NextToken` value in the
2379
+ # response. To retrieve the next batch of objects, use the token that
2380
+ # was returned for the prior request in your next request.
2381
+ #
2382
+ # @return [Types::ListFirewallRuleGroupAssociationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2383
+ #
2384
+ # * {Types::ListFirewallRuleGroupAssociationsResponse#next_token #next_token} => String
2385
+ # * {Types::ListFirewallRuleGroupAssociationsResponse#firewall_rule_group_associations #firewall_rule_group_associations} => Array&lt;Types::FirewallRuleGroupAssociation&gt;
2386
+ #
2387
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2388
+ #
2389
+ # @example Request syntax with placeholder values
2390
+ #
2391
+ # resp = client.list_firewall_rule_group_associations({
2392
+ # firewall_rule_group_id: "ResourceId",
2393
+ # vpc_id: "ResourceId",
2394
+ # priority: 1,
2395
+ # status: "COMPLETE", # accepts COMPLETE, DELETING, UPDATING
2396
+ # max_results: 1,
2397
+ # next_token: "NextToken",
2398
+ # })
2399
+ #
2400
+ # @example Response structure
2401
+ #
2402
+ # resp.next_token #=> String
2403
+ # resp.firewall_rule_group_associations #=> Array
2404
+ # resp.firewall_rule_group_associations[0].id #=> String
2405
+ # resp.firewall_rule_group_associations[0].arn #=> String
2406
+ # resp.firewall_rule_group_associations[0].firewall_rule_group_id #=> String
2407
+ # resp.firewall_rule_group_associations[0].vpc_id #=> String
2408
+ # resp.firewall_rule_group_associations[0].name #=> String
2409
+ # resp.firewall_rule_group_associations[0].priority #=> Integer
2410
+ # resp.firewall_rule_group_associations[0].mutation_protection #=> String, one of "ENABLED", "DISABLED"
2411
+ # resp.firewall_rule_group_associations[0].managed_owner_name #=> String
2412
+ # resp.firewall_rule_group_associations[0].status #=> String, one of "COMPLETE", "DELETING", "UPDATING"
2413
+ # resp.firewall_rule_group_associations[0].status_message #=> String
2414
+ # resp.firewall_rule_group_associations[0].creator_request_id #=> String
2415
+ # resp.firewall_rule_group_associations[0].creation_time #=> String
2416
+ # resp.firewall_rule_group_associations[0].modification_time #=> String
2417
+ #
2418
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallRuleGroupAssociations AWS API Documentation
2419
+ #
2420
+ # @overload list_firewall_rule_group_associations(params = {})
2421
+ # @param [Hash] params ({})
2422
+ def list_firewall_rule_group_associations(params = {}, options = {})
2423
+ req = build_request(:list_firewall_rule_group_associations, params)
2424
+ req.send_request(options)
2425
+ end
2426
+
2427
+ # Retrieves the minimal high-level information for the rule groups that
2428
+ # you have defined.
2429
+ #
2430
+ # A single call might return only a partial list of the rule groups. For
2431
+ # information, see `MaxResults`.
2432
+ #
2433
+ # @option params [Integer] :max_results
2434
+ # The maximum number of objects that you want Resolver to return for
2435
+ # this request. If more objects are available, in the response, Resolver
2436
+ # provides a `NextToken` value that you can use in a subsequent call to
2437
+ # get the next batch of objects.
2438
+ #
2439
+ # If you don't specify a value for `MaxResults`, Resolver returns up to
2440
+ # 100 objects.
1256
2441
  #
1257
- # @return [Types::GetResolverQueryLogConfigPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2442
+ # @option params [String] :next_token
2443
+ # For the first call to this list request, omit this value.
1258
2444
  #
1259
- # * {Types::GetResolverQueryLogConfigPolicyResponse#resolver_query_log_config_policy #resolver_query_log_config_policy} => String
2445
+ # When you request a list of objects, Resolver returns at most the
2446
+ # number of objects specified in `MaxResults`. If more objects are
2447
+ # available for retrieval, Resolver returns a `NextToken` value in the
2448
+ # response. To retrieve the next batch of objects, use the token that
2449
+ # was returned for the prior request in your next request.
2450
+ #
2451
+ # @return [Types::ListFirewallRuleGroupsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2452
+ #
2453
+ # * {Types::ListFirewallRuleGroupsResponse#next_token #next_token} => String
2454
+ # * {Types::ListFirewallRuleGroupsResponse#firewall_rule_groups #firewall_rule_groups} => Array&lt;Types::FirewallRuleGroupMetadata&gt;
2455
+ #
2456
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1260
2457
  #
1261
2458
  # @example Request syntax with placeholder values
1262
2459
  #
1263
- # resp = client.get_resolver_query_log_config_policy({
1264
- # arn: "Arn", # required
2460
+ # resp = client.list_firewall_rule_groups({
2461
+ # max_results: 1,
2462
+ # next_token: "NextToken",
1265
2463
  # })
1266
2464
  #
1267
2465
  # @example Response structure
1268
2466
  #
1269
- # resp.resolver_query_log_config_policy #=> String
2467
+ # resp.next_token #=> String
2468
+ # resp.firewall_rule_groups #=> Array
2469
+ # resp.firewall_rule_groups[0].id #=> String
2470
+ # resp.firewall_rule_groups[0].arn #=> String
2471
+ # resp.firewall_rule_groups[0].name #=> String
2472
+ # resp.firewall_rule_groups[0].owner_id #=> String
2473
+ # resp.firewall_rule_groups[0].creator_request_id #=> String
2474
+ # resp.firewall_rule_groups[0].share_status #=> String, one of "NOT_SHARED", "SHARED_WITH_ME", "SHARED_BY_ME"
1270
2475
  #
1271
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfigPolicy AWS API Documentation
2476
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallRuleGroups AWS API Documentation
1272
2477
  #
1273
- # @overload get_resolver_query_log_config_policy(params = {})
2478
+ # @overload list_firewall_rule_groups(params = {})
1274
2479
  # @param [Hash] params ({})
1275
- def get_resolver_query_log_config_policy(params = {}, options = {})
1276
- req = build_request(:get_resolver_query_log_config_policy, params)
2480
+ def list_firewall_rule_groups(params = {}, options = {})
2481
+ req = build_request(:list_firewall_rule_groups, params)
1277
2482
  req.send_request(options)
1278
2483
  end
1279
2484
 
1280
- # Gets information about a specified Resolver rule, such as the domain
1281
- # name that the rule forwards DNS queries for and the ID of the outbound
1282
- # Resolver endpoint that the rule is associated with.
2485
+ # Retrieves the firewall rules that you have defined for the specified
2486
+ # firewall rule group. DNS Firewall uses the rules in a rule group to
2487
+ # filter DNS network traffic for a VPC.
1283
2488
  #
1284
- # @option params [required, String] :resolver_rule_id
1285
- # The ID of the Resolver rule that you want to get information about.
2489
+ # A single call might return only a partial list of the rules. For
2490
+ # information, see `MaxResults`.
1286
2491
  #
1287
- # @return [Types::GetResolverRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2492
+ # @option params [required, String] :firewall_rule_group_id
2493
+ # The unique identifier of the firewall rule group that you want to
2494
+ # retrieve the rules for.
1288
2495
  #
1289
- # * {Types::GetResolverRuleResponse#resolver_rule #resolver_rule} => Types::ResolverRule
2496
+ # @option params [Integer] :priority
2497
+ # Optional additional filter for the rules to retrieve.
1290
2498
  #
1291
- # @example Request syntax with placeholder values
2499
+ # The setting that determines the processing order of the rules in a
2500
+ # rule group. DNS Firewall processes the rules in a rule group by order
2501
+ # of priority, starting from the lowest setting.
1292
2502
  #
1293
- # resp = client.get_resolver_rule({
1294
- # resolver_rule_id: "ResourceId", # required
1295
- # })
2503
+ # @option params [String] :action
2504
+ # Optional additional filter for the rules to retrieve.
1296
2505
  #
1297
- # @example Response structure
2506
+ # The action that DNS Firewall should take on a DNS query when it
2507
+ # matches one of the domains in the rule's domain list:
1298
2508
  #
1299
- # resp.resolver_rule.id #=> String
1300
- # resp.resolver_rule.creator_request_id #=> String
1301
- # resp.resolver_rule.arn #=> String
1302
- # resp.resolver_rule.domain_name #=> String
1303
- # resp.resolver_rule.status #=> String, one of "COMPLETE", "DELETING", "UPDATING", "FAILED"
1304
- # resp.resolver_rule.status_message #=> String
1305
- # resp.resolver_rule.rule_type #=> String, one of "FORWARD", "SYSTEM", "RECURSIVE"
1306
- # resp.resolver_rule.name #=> String
1307
- # resp.resolver_rule.target_ips #=> Array
1308
- # resp.resolver_rule.target_ips[0].ip #=> String
1309
- # resp.resolver_rule.target_ips[0].port #=> Integer
1310
- # resp.resolver_rule.resolver_endpoint_id #=> String
1311
- # resp.resolver_rule.owner_id #=> String
1312
- # resp.resolver_rule.share_status #=> String, one of "NOT_SHARED", "SHARED_WITH_ME", "SHARED_BY_ME"
1313
- # resp.resolver_rule.creation_time #=> String
1314
- # resp.resolver_rule.modification_time #=> String
2509
+ # * `ALLOW` - Permit the request to go through.
1315
2510
  #
1316
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRule AWS API Documentation
2511
+ # * `ALERT` - Permit the request to go through but send an alert to the
2512
+ # logs.
1317
2513
  #
1318
- # @overload get_resolver_rule(params = {})
1319
- # @param [Hash] params ({})
1320
- def get_resolver_rule(params = {}, options = {})
1321
- req = build_request(:get_resolver_rule, params)
1322
- req.send_request(options)
1323
- end
1324
-
1325
- # Gets information about an association between a specified Resolver
1326
- # rule and a VPC. You associate a Resolver rule and a VPC using
1327
- # [AssociateResolverRule][1].
2514
+ # * `BLOCK` - Disallow the request. If this is specified, additional
2515
+ # handling details are provided in the rule's `BlockResponse`
2516
+ # setting.
1328
2517
  #
2518
+ # @option params [Integer] :max_results
2519
+ # The maximum number of objects that you want Resolver to return for
2520
+ # this request. If more objects are available, in the response, Resolver
2521
+ # provides a `NextToken` value that you can use in a subsequent call to
2522
+ # get the next batch of objects.
1329
2523
  #
2524
+ # If you don't specify a value for `MaxResults`, Resolver returns up to
2525
+ # 100 objects.
1330
2526
  #
1331
- # [1]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverRule.html
2527
+ # @option params [String] :next_token
2528
+ # For the first call to this list request, omit this value.
1332
2529
  #
1333
- # @option params [required, String] :resolver_rule_association_id
1334
- # The ID of the Resolver rule association that you want to get
1335
- # information about.
2530
+ # When you request a list of objects, Resolver returns at most the
2531
+ # number of objects specified in `MaxResults`. If more objects are
2532
+ # available for retrieval, Resolver returns a `NextToken` value in the
2533
+ # response. To retrieve the next batch of objects, use the token that
2534
+ # was returned for the prior request in your next request.
1336
2535
  #
1337
- # @return [Types::GetResolverRuleAssociationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2536
+ # @return [Types::ListFirewallRulesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1338
2537
  #
1339
- # * {Types::GetResolverRuleAssociationResponse#resolver_rule_association #resolver_rule_association} => Types::ResolverRuleAssociation
2538
+ # * {Types::ListFirewallRulesResponse#next_token #next_token} => String
2539
+ # * {Types::ListFirewallRulesResponse#firewall_rules #firewall_rules} => Array&lt;Types::FirewallRule&gt;
2540
+ #
2541
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1340
2542
  #
1341
2543
  # @example Request syntax with placeholder values
1342
2544
  #
1343
- # resp = client.get_resolver_rule_association({
1344
- # resolver_rule_association_id: "ResourceId", # required
2545
+ # resp = client.list_firewall_rules({
2546
+ # firewall_rule_group_id: "ResourceId", # required
2547
+ # priority: 1,
2548
+ # action: "ALLOW", # accepts ALLOW, BLOCK, ALERT
2549
+ # max_results: 1,
2550
+ # next_token: "NextToken",
1345
2551
  # })
1346
2552
  #
1347
2553
  # @example Response structure
1348
2554
  #
1349
- # resp.resolver_rule_association.id #=> String
1350
- # resp.resolver_rule_association.resolver_rule_id #=> String
1351
- # resp.resolver_rule_association.name #=> String
1352
- # resp.resolver_rule_association.vpc_id #=> String
1353
- # resp.resolver_rule_association.status #=> String, one of "CREATING", "COMPLETE", "DELETING", "FAILED", "OVERRIDDEN"
1354
- # resp.resolver_rule_association.status_message #=> String
1355
- #
1356
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRuleAssociation AWS API Documentation
1357
- #
1358
- # @overload get_resolver_rule_association(params = {})
2555
+ # resp.next_token #=> String
2556
+ # resp.firewall_rules #=> Array
2557
+ # resp.firewall_rules[0].firewall_rule_group_id #=> String
2558
+ # resp.firewall_rules[0].firewall_domain_list_id #=> String
2559
+ # resp.firewall_rules[0].name #=> String
2560
+ # resp.firewall_rules[0].priority #=> Integer
2561
+ # resp.firewall_rules[0].action #=> String, one of "ALLOW", "BLOCK", "ALERT"
2562
+ # resp.firewall_rules[0].block_response #=> String, one of "NODATA", "NXDOMAIN", "OVERRIDE"
2563
+ # resp.firewall_rules[0].block_override_domain #=> String
2564
+ # resp.firewall_rules[0].block_override_dns_type #=> String, one of "CNAME"
2565
+ # resp.firewall_rules[0].block_override_ttl #=> Integer
2566
+ # resp.firewall_rules[0].creator_request_id #=> String
2567
+ # resp.firewall_rules[0].creation_time #=> String
2568
+ # resp.firewall_rules[0].modification_time #=> String
2569
+ #
2570
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallRules AWS API Documentation
2571
+ #
2572
+ # @overload list_firewall_rules(params = {})
1359
2573
  # @param [Hash] params ({})
1360
- def get_resolver_rule_association(params = {}, options = {})
1361
- req = build_request(:get_resolver_rule_association, params)
2574
+ def list_firewall_rules(params = {}, options = {})
2575
+ req = build_request(:list_firewall_rules, params)
1362
2576
  req.send_request(options)
1363
2577
  end
1364
2578
 
1365
- # Gets information about a Resolver rule policy. A Resolver rule policy
1366
- # specifies the Resolver operations and resources that you want to allow
1367
- # another AWS account to be able to use.
2579
+ # Lists the configurations for DNSSEC validation that are associated
2580
+ # with the current AWS account.
1368
2581
  #
1369
- # @option params [required, String] :arn
1370
- # The ID of the Resolver rule policy that you want to get information
1371
- # about.
2582
+ # @option params [Integer] :max_results
2583
+ # *Optional*\: An integer that specifies the maximum number of DNSSEC
2584
+ # configuration results that you want Amazon Route 53 to return. If you
2585
+ # don't specify a value for `MaxResults`, Route 53 returns up to 100
2586
+ # configuration per page.
1372
2587
  #
1373
- # @return [Types::GetResolverRulePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2588
+ # @option params [String] :next_token
2589
+ # (Optional) If the current AWS account has more than `MaxResults`
2590
+ # DNSSEC configurations, use `NextToken` to get the second and
2591
+ # subsequent pages of results.
1374
2592
  #
1375
- # * {Types::GetResolverRulePolicyResponse#resolver_rule_policy #resolver_rule_policy} => String
2593
+ # For the first `ListResolverDnssecConfigs` request, omit this value.
2594
+ #
2595
+ # For the second and subsequent requests, get the value of `NextToken`
2596
+ # from the previous response and specify that value for `NextToken` in
2597
+ # the request.
2598
+ #
2599
+ # @option params [Array<Types::Filter>] :filters
2600
+ # An optional specification to return a subset of objects.
2601
+ #
2602
+ # @return [Types::ListResolverDnssecConfigsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2603
+ #
2604
+ # * {Types::ListResolverDnssecConfigsResponse#next_token #next_token} => String
2605
+ # * {Types::ListResolverDnssecConfigsResponse#resolver_dnssec_configs #resolver_dnssec_configs} => Array&lt;Types::ResolverDnssecConfig&gt;
2606
+ #
2607
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1376
2608
  #
1377
2609
  # @example Request syntax with placeholder values
1378
2610
  #
1379
- # resp = client.get_resolver_rule_policy({
1380
- # arn: "Arn", # required
2611
+ # resp = client.list_resolver_dnssec_configs({
2612
+ # max_results: 1,
2613
+ # next_token: "NextToken",
2614
+ # filters: [
2615
+ # {
2616
+ # name: "FilterName",
2617
+ # values: ["FilterValue"],
2618
+ # },
2619
+ # ],
1381
2620
  # })
1382
2621
  #
1383
2622
  # @example Response structure
1384
2623
  #
1385
- # resp.resolver_rule_policy #=> String
2624
+ # resp.next_token #=> String
2625
+ # resp.resolver_dnssec_configs #=> Array
2626
+ # resp.resolver_dnssec_configs[0].id #=> String
2627
+ # resp.resolver_dnssec_configs[0].owner_id #=> String
2628
+ # resp.resolver_dnssec_configs[0].resource_id #=> String
2629
+ # resp.resolver_dnssec_configs[0].validation_status #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED"
1386
2630
  #
1387
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRulePolicy AWS API Documentation
2631
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverDnssecConfigs AWS API Documentation
1388
2632
  #
1389
- # @overload get_resolver_rule_policy(params = {})
2633
+ # @overload list_resolver_dnssec_configs(params = {})
1390
2634
  # @param [Hash] params ({})
1391
- def get_resolver_rule_policy(params = {}, options = {})
1392
- req = build_request(:get_resolver_rule_policy, params)
2635
+ def list_resolver_dnssec_configs(params = {}, options = {})
2636
+ req = build_request(:list_resolver_dnssec_configs, params)
1393
2637
  req.send_request(options)
1394
2638
  end
1395
2639
 
@@ -2012,6 +3256,42 @@ module Aws::Route53Resolver
2012
3256
  req.send_request(options)
2013
3257
  end
2014
3258
 
3259
+ # Attaches an AWS Identity and Access Management (AWS IAM) policy for
3260
+ # sharing the rule group. You can use the policy to share the rule group
3261
+ # using AWS Resource Access Manager (RAM).
3262
+ #
3263
+ # @option params [required, String] :arn
3264
+ # The ARN (Amazon Resource Name) for the rule group that you want to
3265
+ # share.
3266
+ #
3267
+ # @option params [required, String] :firewall_rule_group_policy
3268
+ # The AWS Identity and Access Management (AWS IAM) policy to attach to
3269
+ # the rule group.
3270
+ #
3271
+ # @return [Types::PutFirewallRuleGroupPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3272
+ #
3273
+ # * {Types::PutFirewallRuleGroupPolicyResponse#return_value #return_value} => Boolean
3274
+ #
3275
+ # @example Request syntax with placeholder values
3276
+ #
3277
+ # resp = client.put_firewall_rule_group_policy({
3278
+ # arn: "Arn", # required
3279
+ # firewall_rule_group_policy: "FirewallRuleGroupPolicy", # required
3280
+ # })
3281
+ #
3282
+ # @example Response structure
3283
+ #
3284
+ # resp.return_value #=> Boolean
3285
+ #
3286
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/PutFirewallRuleGroupPolicy AWS API Documentation
3287
+ #
3288
+ # @overload put_firewall_rule_group_policy(params = {})
3289
+ # @param [Hash] params ({})
3290
+ def put_firewall_rule_group_policy(params = {}, options = {})
3291
+ req = build_request(:put_firewall_rule_group_policy, params)
3292
+ req.send_request(options)
3293
+ end
3294
+
2015
3295
  # Specifies an AWS account that you want to share a query logging
2016
3296
  # configuration with, the query logging configuration that you want to
2017
3297
  # share, and the operations that you want the account to be able to
@@ -2064,19 +3344,19 @@ module Aws::Route53Resolver
2064
3344
  req.send_request(options)
2065
3345
  end
2066
3346
 
2067
- # Specifies an AWS account that you want to share rules with, the
2068
- # Resolver rules that you want to share, and the operations that you
2069
- # want the account to be able to perform on those rules.
3347
+ # Specifies an AWS rule that you want to share with another account, the
3348
+ # account that you want to share the rule with, and the operations that
3349
+ # you want the account to be able to perform on the rule.
2070
3350
  #
2071
3351
  # @option params [required, String] :arn
2072
- # The Amazon Resource Name (ARN) of the account that you want to share
2073
- # rules with.
3352
+ # The Amazon Resource Name (ARN) of the rule that you want to share with
3353
+ # another account.
2074
3354
  #
2075
3355
  # @option params [required, String] :resolver_rule_policy
2076
3356
  # An AWS Identity and Access Management policy statement that lists the
2077
3357
  # rules that you want to share with another AWS account and the
2078
3358
  # operations that you want the account to be able to perform. You can
2079
- # specify the following operations in the `Actions` section of the
3359
+ # specify the following operations in the `Action` section of the
2080
3360
  # statement:
2081
3361
  #
2082
3362
  # * `route53resolver:GetResolverRule`
@@ -2089,9 +3369,9 @@ module Aws::Route53Resolver
2089
3369
  #
2090
3370
  # * `route53resolver:ListResolverRuleAssociations`
2091
3371
  #
2092
- # In the `Resource` section of the statement, you specify the ARNs for
2093
- # the rules that you want to share with the account that you specified
2094
- # in `Arn`.
3372
+ # In the `Resource` section of the statement, specify the ARN for the
3373
+ # rule that you want to share with another account. Specify the same ARN
3374
+ # that you specified in `Arn`.
2095
3375
  #
2096
3376
  # @return [Types::PutResolverRulePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2097
3377
  #
@@ -2220,6 +3500,325 @@ module Aws::Route53Resolver
2220
3500
  req.send_request(options)
2221
3501
  end
2222
3502
 
3503
+ # Updates the configuration of the firewall behavior provided by DNS
3504
+ # Firewall for a single Amazon virtual private cloud (VPC).
3505
+ #
3506
+ # @option params [required, String] :resource_id
3507
+ # The ID of the Amazon virtual private cloud (VPC) that the
3508
+ # configuration is for.
3509
+ #
3510
+ # @option params [required, String] :firewall_fail_open
3511
+ # Determines how Route 53 Resolver handles queries during failures, for
3512
+ # example when all traffic that is sent to DNS Firewall fails to receive
3513
+ # a reply.
3514
+ #
3515
+ # * By default, fail open is disabled, which means the failure mode is
3516
+ # closed. This approach favors security over availability. DNS
3517
+ # Firewall blocks queries that it is unable to evaluate properly.
3518
+ #
3519
+ # * If you enable this option, the failure mode is open. This approach
3520
+ # favors availability over security. DNS Firewall allows queries to
3521
+ # proceed if it is unable to properly evaluate them.
3522
+ #
3523
+ # This behavior is only enforced for VPCs that have at least one DNS
3524
+ # Firewall rule group association.
3525
+ #
3526
+ # @return [Types::UpdateFirewallConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3527
+ #
3528
+ # * {Types::UpdateFirewallConfigResponse#firewall_config #firewall_config} => Types::FirewallConfig
3529
+ #
3530
+ # @example Request syntax with placeholder values
3531
+ #
3532
+ # resp = client.update_firewall_config({
3533
+ # resource_id: "ResourceId", # required
3534
+ # firewall_fail_open: "ENABLED", # required, accepts ENABLED, DISABLED
3535
+ # })
3536
+ #
3537
+ # @example Response structure
3538
+ #
3539
+ # resp.firewall_config.id #=> String
3540
+ # resp.firewall_config.resource_id #=> String
3541
+ # resp.firewall_config.owner_id #=> String
3542
+ # resp.firewall_config.firewall_fail_open #=> String, one of "ENABLED", "DISABLED"
3543
+ #
3544
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateFirewallConfig AWS API Documentation
3545
+ #
3546
+ # @overload update_firewall_config(params = {})
3547
+ # @param [Hash] params ({})
3548
+ def update_firewall_config(params = {}, options = {})
3549
+ req = build_request(:update_firewall_config, params)
3550
+ req.send_request(options)
3551
+ end
3552
+
3553
+ # Updates the firewall domain list from an array of domain
3554
+ # specifications.
3555
+ #
3556
+ # @option params [required, String] :firewall_domain_list_id
3557
+ # The ID of the domain list whose domains you want to update.
3558
+ #
3559
+ # @option params [required, String] :operation
3560
+ # What you want DNS Firewall to do with the domains that you are
3561
+ # providing:
3562
+ #
3563
+ # * `ADD` - Add the domains to the ones that are already in the domain
3564
+ # list.
3565
+ #
3566
+ # * `REMOVE` - Search the domain list for the domains and remove them
3567
+ # from the list.
3568
+ #
3569
+ # * `REPLACE` - Update the domain list to exactly match the list that
3570
+ # you are providing.
3571
+ #
3572
+ # @option params [required, Array<String>] :domains
3573
+ # A list of domains to use in the update operation.
3574
+ #
3575
+ # Each domain specification in your domain list must satisfy the
3576
+ # following requirements:
3577
+ #
3578
+ # * It can optionally start with `*` (asterisk).
3579
+ #
3580
+ # * With the exception of the optional starting asterisk, it must only
3581
+ # contain the following characters: `A-Z`, `a-z`, `0-9`, `-` (hyphen).
3582
+ #
3583
+ # * It must be from 1-255 characters in length.
3584
+ #
3585
+ # @return [Types::UpdateFirewallDomainsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3586
+ #
3587
+ # * {Types::UpdateFirewallDomainsResponse#id #id} => String
3588
+ # * {Types::UpdateFirewallDomainsResponse#name #name} => String
3589
+ # * {Types::UpdateFirewallDomainsResponse#status #status} => String
3590
+ # * {Types::UpdateFirewallDomainsResponse#status_message #status_message} => String
3591
+ #
3592
+ # @example Request syntax with placeholder values
3593
+ #
3594
+ # resp = client.update_firewall_domains({
3595
+ # firewall_domain_list_id: "ResourceId", # required
3596
+ # operation: "ADD", # required, accepts ADD, REMOVE, REPLACE
3597
+ # domains: ["FirewallDomainName"], # required
3598
+ # })
3599
+ #
3600
+ # @example Response structure
3601
+ #
3602
+ # resp.id #=> String
3603
+ # resp.name #=> String
3604
+ # resp.status #=> String, one of "COMPLETE", "COMPLETE_IMPORT_FAILED", "IMPORTING", "DELETING", "UPDATING"
3605
+ # resp.status_message #=> String
3606
+ #
3607
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateFirewallDomains AWS API Documentation
3608
+ #
3609
+ # @overload update_firewall_domains(params = {})
3610
+ # @param [Hash] params ({})
3611
+ def update_firewall_domains(params = {}, options = {})
3612
+ req = build_request(:update_firewall_domains, params)
3613
+ req.send_request(options)
3614
+ end
3615
+
3616
+ # Updates the specified firewall rule.
3617
+ #
3618
+ # @option params [required, String] :firewall_rule_group_id
3619
+ # The unique identifier of the firewall rule group for the rule.
3620
+ #
3621
+ # @option params [required, String] :firewall_domain_list_id
3622
+ # The ID of the domain list to use in the rule.
3623
+ #
3624
+ # @option params [Integer] :priority
3625
+ # The setting that determines the processing order of the rule in the
3626
+ # rule group. DNS Firewall processes the rules in a rule group by order
3627
+ # of priority, starting from the lowest setting.
3628
+ #
3629
+ # You must specify a unique priority for each rule in a rule group. To
3630
+ # make it easier to insert rules later, leave space between the numbers,
3631
+ # for example, use 100, 200, and so on. You can change the priority
3632
+ # setting for the rules in a rule group at any time.
3633
+ #
3634
+ # @option params [String] :action
3635
+ # The action that DNS Firewall should take on a DNS query when it
3636
+ # matches one of the domains in the rule's domain list:
3637
+ #
3638
+ # * `ALLOW` - Permit the request to go through.
3639
+ #
3640
+ # * `ALERT` - Permit the request to go through but send an alert to the
3641
+ # logs.
3642
+ #
3643
+ # * `BLOCK` - Disallow the request. This option requires additional
3644
+ # details in the rule's `BlockResponse`.
3645
+ #
3646
+ # @option params [String] :block_response
3647
+ # The way that you want DNS Firewall to block the request. Used for the
3648
+ # rule action setting `BLOCK`.
3649
+ #
3650
+ # * `NODATA` - Respond indicating that the query was successful, but no
3651
+ # response is available for it.
3652
+ #
3653
+ # * `NXDOMAIN` - Respond indicating that the domain name that's in the
3654
+ # query doesn't exist.
3655
+ #
3656
+ # * `OVERRIDE` - Provide a custom override in the response. This option
3657
+ # requires custom handling details in the rule's `BlockOverride*`
3658
+ # settings.
3659
+ #
3660
+ # @option params [String] :block_override_domain
3661
+ # The custom DNS record to send back in response to the query. Used for
3662
+ # the rule action `BLOCK` with a `BlockResponse` setting of `OVERRIDE`.
3663
+ #
3664
+ # @option params [String] :block_override_dns_type
3665
+ # The DNS record's type. This determines the format of the record value
3666
+ # that you provided in `BlockOverrideDomain`. Used for the rule action
3667
+ # `BLOCK` with a `BlockResponse` setting of `OVERRIDE`.
3668
+ #
3669
+ # @option params [Integer] :block_override_ttl
3670
+ # The recommended amount of time, in seconds, for the DNS resolver or
3671
+ # web browser to cache the provided override record. Used for the rule
3672
+ # action `BLOCK` with a `BlockResponse` setting of `OVERRIDE`.
3673
+ #
3674
+ # @option params [String] :name
3675
+ # The name of the rule.
3676
+ #
3677
+ # @return [Types::UpdateFirewallRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3678
+ #
3679
+ # * {Types::UpdateFirewallRuleResponse#firewall_rule #firewall_rule} => Types::FirewallRule
3680
+ #
3681
+ # @example Request syntax with placeholder values
3682
+ #
3683
+ # resp = client.update_firewall_rule({
3684
+ # firewall_rule_group_id: "ResourceId", # required
3685
+ # firewall_domain_list_id: "ResourceId", # required
3686
+ # priority: 1,
3687
+ # action: "ALLOW", # accepts ALLOW, BLOCK, ALERT
3688
+ # block_response: "NODATA", # accepts NODATA, NXDOMAIN, OVERRIDE
3689
+ # block_override_domain: "BlockOverrideDomain",
3690
+ # block_override_dns_type: "CNAME", # accepts CNAME
3691
+ # block_override_ttl: 1,
3692
+ # name: "Name",
3693
+ # })
3694
+ #
3695
+ # @example Response structure
3696
+ #
3697
+ # resp.firewall_rule.firewall_rule_group_id #=> String
3698
+ # resp.firewall_rule.firewall_domain_list_id #=> String
3699
+ # resp.firewall_rule.name #=> String
3700
+ # resp.firewall_rule.priority #=> Integer
3701
+ # resp.firewall_rule.action #=> String, one of "ALLOW", "BLOCK", "ALERT"
3702
+ # resp.firewall_rule.block_response #=> String, one of "NODATA", "NXDOMAIN", "OVERRIDE"
3703
+ # resp.firewall_rule.block_override_domain #=> String
3704
+ # resp.firewall_rule.block_override_dns_type #=> String, one of "CNAME"
3705
+ # resp.firewall_rule.block_override_ttl #=> Integer
3706
+ # resp.firewall_rule.creator_request_id #=> String
3707
+ # resp.firewall_rule.creation_time #=> String
3708
+ # resp.firewall_rule.modification_time #=> String
3709
+ #
3710
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateFirewallRule AWS API Documentation
3711
+ #
3712
+ # @overload update_firewall_rule(params = {})
3713
+ # @param [Hash] params ({})
3714
+ def update_firewall_rule(params = {}, options = {})
3715
+ req = build_request(:update_firewall_rule, params)
3716
+ req.send_request(options)
3717
+ end
3718
+
3719
+ # Changes the association of a FirewallRuleGroup with a VPC. The
3720
+ # association enables DNS filtering for the VPC.
3721
+ #
3722
+ # @option params [required, String] :firewall_rule_group_association_id
3723
+ # The identifier of the FirewallRuleGroupAssociation.
3724
+ #
3725
+ # @option params [Integer] :priority
3726
+ # The setting that determines the processing order of the rule group
3727
+ # among the rule groups that you associate with the specified VPC. DNS
3728
+ # Firewall filters VPC traffic starting from rule group with the lowest
3729
+ # numeric priority setting.
3730
+ #
3731
+ # You must specify a unique priority for each rule group that you
3732
+ # associate with a single VPC. To make it easier to insert rule groups
3733
+ # later, leave space between the numbers, for example, use 100, 200, and
3734
+ # so on. You can change the priority setting for a rule group
3735
+ # association after you create it.
3736
+ #
3737
+ # @option params [String] :mutation_protection
3738
+ # If enabled, this setting disallows modification or removal of the
3739
+ # association, to help prevent against accidentally altering DNS
3740
+ # firewall protections.
3741
+ #
3742
+ # @option params [String] :name
3743
+ # The name of the rule group association.
3744
+ #
3745
+ # @return [Types::UpdateFirewallRuleGroupAssociationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3746
+ #
3747
+ # * {Types::UpdateFirewallRuleGroupAssociationResponse#firewall_rule_group_association #firewall_rule_group_association} => Types::FirewallRuleGroupAssociation
3748
+ #
3749
+ # @example Request syntax with placeholder values
3750
+ #
3751
+ # resp = client.update_firewall_rule_group_association({
3752
+ # firewall_rule_group_association_id: "ResourceId", # required
3753
+ # priority: 1,
3754
+ # mutation_protection: "ENABLED", # accepts ENABLED, DISABLED
3755
+ # name: "Name",
3756
+ # })
3757
+ #
3758
+ # @example Response structure
3759
+ #
3760
+ # resp.firewall_rule_group_association.id #=> String
3761
+ # resp.firewall_rule_group_association.arn #=> String
3762
+ # resp.firewall_rule_group_association.firewall_rule_group_id #=> String
3763
+ # resp.firewall_rule_group_association.vpc_id #=> String
3764
+ # resp.firewall_rule_group_association.name #=> String
3765
+ # resp.firewall_rule_group_association.priority #=> Integer
3766
+ # resp.firewall_rule_group_association.mutation_protection #=> String, one of "ENABLED", "DISABLED"
3767
+ # resp.firewall_rule_group_association.managed_owner_name #=> String
3768
+ # resp.firewall_rule_group_association.status #=> String, one of "COMPLETE", "DELETING", "UPDATING"
3769
+ # resp.firewall_rule_group_association.status_message #=> String
3770
+ # resp.firewall_rule_group_association.creator_request_id #=> String
3771
+ # resp.firewall_rule_group_association.creation_time #=> String
3772
+ # resp.firewall_rule_group_association.modification_time #=> String
3773
+ #
3774
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateFirewallRuleGroupAssociation AWS API Documentation
3775
+ #
3776
+ # @overload update_firewall_rule_group_association(params = {})
3777
+ # @param [Hash] params ({})
3778
+ def update_firewall_rule_group_association(params = {}, options = {})
3779
+ req = build_request(:update_firewall_rule_group_association, params)
3780
+ req.send_request(options)
3781
+ end
3782
+
3783
+ # Updates an existing DNSSEC validation configuration. If there is no
3784
+ # existing DNSSEC validation configuration, one is created.
3785
+ #
3786
+ # @option params [required, String] :resource_id
3787
+ # The ID of the virtual private cloud (VPC) that you're updating the
3788
+ # DNSSEC validation status for.
3789
+ #
3790
+ # @option params [required, String] :validation
3791
+ # The new value that you are specifying for DNSSEC validation for the
3792
+ # VPC. The value can be `ENABLE` or `DISABLE`. Be aware that it can take
3793
+ # time for a validation status change to be completed.
3794
+ #
3795
+ # @return [Types::UpdateResolverDnssecConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3796
+ #
3797
+ # * {Types::UpdateResolverDnssecConfigResponse#resolver_dnssec_config #resolver_dnssec_config} => Types::ResolverDnssecConfig
3798
+ #
3799
+ # @example Request syntax with placeholder values
3800
+ #
3801
+ # resp = client.update_resolver_dnssec_config({
3802
+ # resource_id: "ResourceId", # required
3803
+ # validation: "ENABLE", # required, accepts ENABLE, DISABLE
3804
+ # })
3805
+ #
3806
+ # @example Response structure
3807
+ #
3808
+ # resp.resolver_dnssec_config.id #=> String
3809
+ # resp.resolver_dnssec_config.owner_id #=> String
3810
+ # resp.resolver_dnssec_config.resource_id #=> String
3811
+ # resp.resolver_dnssec_config.validation_status #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED"
3812
+ #
3813
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateResolverDnssecConfig AWS API Documentation
3814
+ #
3815
+ # @overload update_resolver_dnssec_config(params = {})
3816
+ # @param [Hash] params ({})
3817
+ def update_resolver_dnssec_config(params = {}, options = {})
3818
+ req = build_request(:update_resolver_dnssec_config, params)
3819
+ req.send_request(options)
3820
+ end
3821
+
2223
3822
  # Updates the name of an inbound or an outbound Resolver endpoint.
2224
3823
  #
2225
3824
  # @option params [required, String] :resolver_endpoint_id
@@ -2335,7 +3934,7 @@ module Aws::Route53Resolver
2335
3934
  params: params,
2336
3935
  config: config)
2337
3936
  context[:gem_name] = 'aws-sdk-route53resolver'
2338
- context[:gem_version] = '1.20.0'
3937
+ context[:gem_version] = '1.25.0'
2339
3938
  Seahorse::Client::Request.new(handlers, context)
2340
3939
  end
2341
3940