aws-sdk-route53resolver 1.20.0 → 1.25.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 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