aws-sdk-route53resolver 1.24.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: 7c7ab15f200166ec0058aeef68883431ae265414363d5659ce103b0719aca6a9
4
- data.tar.gz: d53e916cc9b1bbfe4a51cdf2d3f40a8269f1e6b325a30bf8b4a79faf7ce1f18a
3
+ metadata.gz: a4ef65852d1c79407730fd644a4d3bb1e13053f99addd945f4e2e416bbb3da4b
4
+ data.tar.gz: 98139c3b4a46b1149edf6c773a25dc6c64bc6fd455abf6bffbe5e4e3b7284342
5
5
  SHA512:
6
- metadata.gz: 4f717a87c6167cb9c5b608d7591a8a4f42a180291556b7f6c56e9ee0747a3d46a7af0e59f3ba801649ad743f7782c859f5623340f908cb6d8461eb045d532bcf
7
- data.tar.gz: 92ea7bf7a26b01d40348cb17ee8257921b9c3a01dd9c1100738244718edb0a95e3f6d4ad059b2c04faa56e811292187f7554ea6b82e0ff57402f0f1f6e0654f1
6
+ metadata.gz: de1651f0de718b3708603a83d2f10be31846585d27d3d07e046667a16e56c52c43bcee835d4278296d6cb7c7a34328afdc9698c58dd74625ed1aedc9919c1e6b
7
+ data.tar.gz: 2646eb6e60eafc7d22ab60f7361bad9e09a2160b18176e60403f4371b20c7f8054415048c5b33c441705e4927a94ad52bb61ce72cf86c5d7c60950ce0b01e7b8
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
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
+
4
9
  1.24.0 (2021-03-10)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.24.0
1
+ 1.25.0
@@ -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.24.0'
51
+ GEM_VERSION = '1.25.0'
52
52
 
53
53
  end
@@ -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,96 +1619,277 @@ module Aws::Route53Resolver
1125
1619
  req.send_request(options)
1126
1620
  end
1127
1621
 
1128
- # Gets DNSSEC validation information for a specified resource.
1622
+ # Retrieves the configuration of the firewall behavior provided by DNS
1623
+ # Firewall for a single Amazon virtual private cloud (VPC).
1129
1624
  #
1130
1625
  # @option params [required, String] :resource_id
1131
- # The ID of the virtual private cloud (VPC) for the DNSSEC validation
1132
- # status.
1626
+ # The ID of the Amazon virtual private cloud (VPC) that the
1627
+ # configuration is for.
1133
1628
  #
1134
- # @return [Types::GetResolverDnssecConfigResponse] 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:
1135
1630
  #
1136
- # * {Types::GetResolverDnssecConfigResponse#resolver_dnssec_config #resolver_dnssec_config} => Types::ResolverDnssecConfig
1631
+ # * {Types::GetFirewallConfigResponse#firewall_config #firewall_config} => Types::FirewallConfig
1137
1632
  #
1138
1633
  # @example Request syntax with placeholder values
1139
1634
  #
1140
- # resp = client.get_resolver_dnssec_config({
1635
+ # resp = client.get_firewall_config({
1141
1636
  # resource_id: "ResourceId", # required
1142
1637
  # })
1143
1638
  #
1144
1639
  # @example Response structure
1145
1640
  #
1146
- # resp.resolver_dnssec_config.id #=> String
1147
- # resp.resolver_dnssec_config.owner_id #=> String
1148
- # resp.resolver_dnssec_config.resource_id #=> String
1149
- # resp.resolver_dnssec_config.validation_status #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED"
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"
1150
1645
  #
1151
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverDnssecConfig AWS API Documentation
1646
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetFirewallConfig AWS API Documentation
1152
1647
  #
1153
- # @overload get_resolver_dnssec_config(params = {})
1648
+ # @overload get_firewall_config(params = {})
1154
1649
  # @param [Hash] params ({})
1155
- def get_resolver_dnssec_config(params = {}, options = {})
1156
- req = build_request(:get_resolver_dnssec_config, params)
1650
+ def get_firewall_config(params = {}, options = {})
1651
+ req = build_request(:get_firewall_config, params)
1157
1652
  req.send_request(options)
1158
1653
  end
1159
1654
 
1160
- # Gets information about a specified Resolver endpoint, such as whether
1161
- # it's an inbound or an outbound Resolver endpoint, and the current
1162
- # status of the endpoint.
1655
+ # Retrieves the specified firewall domain list.
1163
1656
  #
1164
- # @option params [required, String] :resolver_endpoint_id
1165
- # The ID of the Resolver endpoint that you want to get information
1166
- # about.
1657
+ # @option params [required, String] :firewall_domain_list_id
1658
+ # The ID of the domain list.
1167
1659
  #
1168
- # @return [Types::GetResolverEndpointResponse] 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:
1169
1661
  #
1170
- # * {Types::GetResolverEndpointResponse#resolver_endpoint #resolver_endpoint} => Types::ResolverEndpoint
1662
+ # * {Types::GetFirewallDomainListResponse#firewall_domain_list #firewall_domain_list} => Types::FirewallDomainList
1171
1663
  #
1172
1664
  # @example Request syntax with placeholder values
1173
1665
  #
1174
- # resp = client.get_resolver_endpoint({
1175
- # resolver_endpoint_id: "ResourceId", # required
1666
+ # resp = client.get_firewall_domain_list({
1667
+ # firewall_domain_list_id: "ResourceId", # required
1176
1668
  # })
1177
1669
  #
1178
1670
  # @example Response structure
1179
1671
  #
1180
- # resp.resolver_endpoint.id #=> String
1181
- # resp.resolver_endpoint.creator_request_id #=> String
1182
- # resp.resolver_endpoint.arn #=> String
1183
- # resp.resolver_endpoint.name #=> String
1184
- # resp.resolver_endpoint.security_group_ids #=> Array
1185
- # resp.resolver_endpoint.security_group_ids[0] #=> String
1186
- # resp.resolver_endpoint.direction #=> String, one of "INBOUND", "OUTBOUND"
1187
- # resp.resolver_endpoint.ip_address_count #=> Integer
1188
- # resp.resolver_endpoint.host_vpc_id #=> String
1189
- # resp.resolver_endpoint.status #=> String, one of "CREATING", "OPERATIONAL", "UPDATING", "AUTO_RECOVERING", "ACTION_NEEDED", "DELETING"
1190
- # resp.resolver_endpoint.status_message #=> String
1191
- # resp.resolver_endpoint.creation_time #=> String
1192
- # resp.resolver_endpoint.modification_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
1193
1682
  #
1194
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverEndpoint AWS API Documentation
1683
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetFirewallDomainList AWS API Documentation
1195
1684
  #
1196
- # @overload get_resolver_endpoint(params = {})
1685
+ # @overload get_firewall_domain_list(params = {})
1197
1686
  # @param [Hash] params ({})
1198
- def get_resolver_endpoint(params = {}, options = {})
1199
- req = build_request(:get_resolver_endpoint, params)
1687
+ def get_firewall_domain_list(params = {}, options = {})
1688
+ req = build_request(:get_firewall_domain_list, params)
1200
1689
  req.send_request(options)
1201
1690
  end
1202
1691
 
1203
- # Gets information about a specified Resolver query logging
1204
- # configuration, such as the number of VPCs that the configuration is
1205
- # logging queries for and the location that logs are sent to.
1692
+ # Retrieves the specified firewall rule group.
1206
1693
  #
1207
- # @option params [required, String] :resolver_query_log_config_id
1208
- # The ID of the Resolver query logging configuration that you want to
1209
- # get information about.
1694
+ # @option params [required, String] :firewall_rule_group_id
1695
+ # The unique identifier of the firewall rule group.
1210
1696
  #
1211
- # @return [Types::GetResolverQueryLogConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1697
+ # @return [Types::GetFirewallRuleGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1212
1698
  #
1213
- # * {Types::GetResolverQueryLogConfigResponse#resolver_query_log_config #resolver_query_log_config} => Types::ResolverQueryLogConfig
1699
+ # * {Types::GetFirewallRuleGroupResponse#firewall_rule_group #firewall_rule_group} => Types::FirewallRuleGroup
1214
1700
  #
1215
1701
  # @example Request syntax with placeholder values
1216
1702
  #
1217
- # resp = client.get_resolver_query_log_config({
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({
1218
1893
  # resolver_query_log_config_id: "ResourceId", # required
1219
1894
  # })
1220
1895
  #
@@ -1261,168 +1936,643 @@ module Aws::Route53Resolver
1261
1936
  #
1262
1937
  # @example Response structure
1263
1938
  #
1264
- # resp.resolver_query_log_config_association.id #=> String
1265
- # resp.resolver_query_log_config_association.resolver_query_log_config_id #=> String
1266
- # resp.resolver_query_log_config_association.resource_id #=> String
1267
- # resp.resolver_query_log_config_association.status #=> String, one of "CREATING", "ACTIVE", "ACTION_NEEDED", "DELETING", "FAILED"
1268
- # resp.resolver_query_log_config_association.error #=> String, one of "NONE", "DESTINATION_NOT_FOUND", "ACCESS_DENIED", "INTERNAL_SERVICE_ERROR"
1269
- # resp.resolver_query_log_config_association.error_message #=> String
1270
- # resp.resolver_query_log_config_association.creation_time #=> String
1939
+ # resp.resolver_query_log_config_association.id #=> String
1940
+ # resp.resolver_query_log_config_association.resolver_query_log_config_id #=> String
1941
+ # resp.resolver_query_log_config_association.resource_id #=> String
1942
+ # resp.resolver_query_log_config_association.status #=> String, one of "CREATING", "ACTIVE", "ACTION_NEEDED", "DELETING", "FAILED"
1943
+ # resp.resolver_query_log_config_association.error #=> String, one of "NONE", "DESTINATION_NOT_FOUND", "ACCESS_DENIED", "INTERNAL_SERVICE_ERROR"
1944
+ # resp.resolver_query_log_config_association.error_message #=> String
1945
+ # resp.resolver_query_log_config_association.creation_time #=> String
1946
+ #
1947
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfigAssociation AWS API Documentation
1948
+ #
1949
+ # @overload get_resolver_query_log_config_association(params = {})
1950
+ # @param [Hash] params ({})
1951
+ def get_resolver_query_log_config_association(params = {}, options = {})
1952
+ req = build_request(:get_resolver_query_log_config_association, params)
1953
+ req.send_request(options)
1954
+ end
1955
+
1956
+ # Gets information about a query logging policy. A query logging policy
1957
+ # specifies the Resolver query logging operations and resources that you
1958
+ # want to allow another AWS account to be able to use.
1959
+ #
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
1271
2327
  #
1272
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfigAssociation AWS API Documentation
2328
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallDomains AWS API Documentation
1273
2329
  #
1274
- # @overload get_resolver_query_log_config_association(params = {})
2330
+ # @overload list_firewall_domains(params = {})
1275
2331
  # @param [Hash] params ({})
1276
- def get_resolver_query_log_config_association(params = {}, options = {})
1277
- req = build_request(:get_resolver_query_log_config_association, params)
2332
+ def list_firewall_domains(params = {}, options = {})
2333
+ req = build_request(:list_firewall_domains, params)
1278
2334
  req.send_request(options)
1279
2335
  end
1280
2336
 
1281
- # Gets information about a query logging policy. A query logging policy
1282
- # specifies the Resolver query logging operations and resources that you
1283
- # want to allow another AWS account to be able to use.
2337
+ # Retrieves the firewall rule group associations that you have defined.
2338
+ # Each association enables DNS filtering for a VPC with one rule group.
1284
2339
  #
1285
- # @option params [required, String] :arn
1286
- # The ARN of the query logging configuration that you want to get the
1287
- # query logging policy for.
2340
+ # A single call might return only a partial list of the associations.
2341
+ # For information, see `MaxResults`.
1288
2342
  #
1289
- # @return [Types::GetResolverQueryLogConfigPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
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.
1290
2347
  #
1291
- # * {Types::GetResolverQueryLogConfigPolicyResponse#resolver_query_log_config_policy #resolver_query_log_config_policy} => String
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.
1292
2352
  #
1293
- # @example Request syntax with placeholder values
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.
1294
2358
  #
1295
- # resp = client.get_resolver_query_log_config_policy({
1296
- # arn: "Arn", # required
1297
- # })
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.
1298
2363
  #
1299
- # @example Response structure
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.
1300
2369
  #
1301
- # resp.resolver_query_log_config_policy #=> String
2370
+ # If you don't specify a value for `MaxResults`, Resolver returns up to
2371
+ # 100 objects.
1302
2372
  #
1303
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfigPolicy AWS API Documentation
2373
+ # @option params [String] :next_token
2374
+ # For the first call to this list request, omit this value.
1304
2375
  #
1305
- # @overload get_resolver_query_log_config_policy(params = {})
1306
- # @param [Hash] params ({})
1307
- def get_resolver_query_log_config_policy(params = {}, options = {})
1308
- req = build_request(:get_resolver_query_log_config_policy, params)
1309
- req.send_request(options)
1310
- end
1311
-
1312
- # Gets information about a specified Resolver rule, such as the domain
1313
- # name that the rule forwards DNS queries for and the ID of the outbound
1314
- # Resolver endpoint that the rule is associated with.
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.
1315
2381
  #
1316
- # @option params [required, String] :resolver_rule_id
1317
- # The ID of the Resolver rule that you want to get information about.
2382
+ # @return [Types::ListFirewallRuleGroupAssociationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1318
2383
  #
1319
- # @return [Types::GetResolverRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2384
+ # * {Types::ListFirewallRuleGroupAssociationsResponse#next_token #next_token} => String
2385
+ # * {Types::ListFirewallRuleGroupAssociationsResponse#firewall_rule_group_associations #firewall_rule_group_associations} => Array&lt;Types::FirewallRuleGroupAssociation&gt;
1320
2386
  #
1321
- # * {Types::GetResolverRuleResponse#resolver_rule #resolver_rule} => Types::ResolverRule
2387
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1322
2388
  #
1323
2389
  # @example Request syntax with placeholder values
1324
2390
  #
1325
- # resp = client.get_resolver_rule({
1326
- # resolver_rule_id: "ResourceId", # required
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",
1327
2398
  # })
1328
2399
  #
1329
2400
  # @example Response structure
1330
2401
  #
1331
- # resp.resolver_rule.id #=> String
1332
- # resp.resolver_rule.creator_request_id #=> String
1333
- # resp.resolver_rule.arn #=> String
1334
- # resp.resolver_rule.domain_name #=> String
1335
- # resp.resolver_rule.status #=> String, one of "COMPLETE", "DELETING", "UPDATING", "FAILED"
1336
- # resp.resolver_rule.status_message #=> String
1337
- # resp.resolver_rule.rule_type #=> String, one of "FORWARD", "SYSTEM", "RECURSIVE"
1338
- # resp.resolver_rule.name #=> String
1339
- # resp.resolver_rule.target_ips #=> Array
1340
- # resp.resolver_rule.target_ips[0].ip #=> String
1341
- # resp.resolver_rule.target_ips[0].port #=> Integer
1342
- # resp.resolver_rule.resolver_endpoint_id #=> String
1343
- # resp.resolver_rule.owner_id #=> String
1344
- # resp.resolver_rule.share_status #=> String, one of "NOT_SHARED", "SHARED_WITH_ME", "SHARED_BY_ME"
1345
- # resp.resolver_rule.creation_time #=> String
1346
- # resp.resolver_rule.modification_time #=> String
1347
- #
1348
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRule AWS API Documentation
1349
- #
1350
- # @overload get_resolver_rule(params = {})
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 = {})
1351
2421
  # @param [Hash] params ({})
1352
- def get_resolver_rule(params = {}, options = {})
1353
- req = build_request(:get_resolver_rule, params)
2422
+ def list_firewall_rule_group_associations(params = {}, options = {})
2423
+ req = build_request(:list_firewall_rule_group_associations, params)
1354
2424
  req.send_request(options)
1355
2425
  end
1356
2426
 
1357
- # Gets information about an association between a specified Resolver
1358
- # rule and a VPC. You associate a Resolver rule and a VPC using
1359
- # [AssociateResolverRule][1].
2427
+ # Retrieves the minimal high-level information for the rule groups that
2428
+ # you have defined.
1360
2429
  #
2430
+ # A single call might return only a partial list of the rule groups. For
2431
+ # information, see `MaxResults`.
1361
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.
1362
2438
  #
1363
- # [1]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverRule.html
2439
+ # If you don't specify a value for `MaxResults`, Resolver returns up to
2440
+ # 100 objects.
1364
2441
  #
1365
- # @option params [required, String] :resolver_rule_association_id
1366
- # The ID of the Resolver rule association that you want to get
1367
- # information about.
2442
+ # @option params [String] :next_token
2443
+ # For the first call to this list request, omit this value.
1368
2444
  #
1369
- # @return [Types::GetResolverRuleAssociationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
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.
1370
2450
  #
1371
- # * {Types::GetResolverRuleAssociationResponse#resolver_rule_association #resolver_rule_association} => Types::ResolverRuleAssociation
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}.
1372
2457
  #
1373
2458
  # @example Request syntax with placeholder values
1374
2459
  #
1375
- # resp = client.get_resolver_rule_association({
1376
- # resolver_rule_association_id: "ResourceId", # required
2460
+ # resp = client.list_firewall_rule_groups({
2461
+ # max_results: 1,
2462
+ # next_token: "NextToken",
1377
2463
  # })
1378
2464
  #
1379
2465
  # @example Response structure
1380
2466
  #
1381
- # resp.resolver_rule_association.id #=> String
1382
- # resp.resolver_rule_association.resolver_rule_id #=> String
1383
- # resp.resolver_rule_association.name #=> String
1384
- # resp.resolver_rule_association.vpc_id #=> String
1385
- # resp.resolver_rule_association.status #=> String, one of "CREATING", "COMPLETE", "DELETING", "FAILED", "OVERRIDDEN"
1386
- # resp.resolver_rule_association.status_message #=> 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"
1387
2475
  #
1388
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRuleAssociation AWS API Documentation
2476
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallRuleGroups AWS API Documentation
1389
2477
  #
1390
- # @overload get_resolver_rule_association(params = {})
2478
+ # @overload list_firewall_rule_groups(params = {})
1391
2479
  # @param [Hash] params ({})
1392
- def get_resolver_rule_association(params = {}, options = {})
1393
- req = build_request(:get_resolver_rule_association, params)
2480
+ def list_firewall_rule_groups(params = {}, options = {})
2481
+ req = build_request(:list_firewall_rule_groups, params)
1394
2482
  req.send_request(options)
1395
2483
  end
1396
2484
 
1397
- # Gets information about the Resolver rule policy for a specified rule.
1398
- # A Resolver rule policy includes the rule that you want to share with
1399
- # another account, the account that you want to share the rule with, and
1400
- # the Resolver operations that you want to allow the account to use.
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.
1401
2488
  #
1402
- # @option params [required, String] :arn
1403
- # The ID of the Resolver rule that you want to get the Resolver rule
1404
- # policy for.
2489
+ # A single call might return only a partial list of the rules. For
2490
+ # information, see `MaxResults`.
1405
2491
  #
1406
- # @return [Types::GetResolverRulePolicyResponse] 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.
1407
2495
  #
1408
- # * {Types::GetResolverRulePolicyResponse#resolver_rule_policy #resolver_rule_policy} => String
2496
+ # @option params [Integer] :priority
2497
+ # Optional additional filter for the rules to retrieve.
2498
+ #
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.
2502
+ #
2503
+ # @option params [String] :action
2504
+ # Optional additional filter for the rules to retrieve.
2505
+ #
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:
2508
+ #
2509
+ # * `ALLOW` - Permit the request to go through.
2510
+ #
2511
+ # * `ALERT` - Permit the request to go through but send an alert to the
2512
+ # logs.
2513
+ #
2514
+ # * `BLOCK` - Disallow the request. If this is specified, additional
2515
+ # handling details are provided in the rule's `BlockResponse`
2516
+ # setting.
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.
2523
+ #
2524
+ # If you don't specify a value for `MaxResults`, Resolver returns up to
2525
+ # 100 objects.
2526
+ #
2527
+ # @option params [String] :next_token
2528
+ # For the first call to this list request, omit this value.
2529
+ #
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.
2535
+ #
2536
+ # @return [Types::ListFirewallRulesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2537
+ #
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}.
1409
2542
  #
1410
2543
  # @example Request syntax with placeholder values
1411
2544
  #
1412
- # resp = client.get_resolver_rule_policy({
1413
- # arn: "Arn", # 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",
1414
2551
  # })
1415
2552
  #
1416
2553
  # @example Response structure
1417
2554
  #
1418
- # resp.resolver_rule_policy #=> String
1419
- #
1420
- # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRulePolicy AWS API Documentation
1421
- #
1422
- # @overload get_resolver_rule_policy(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 = {})
1423
2573
  # @param [Hash] params ({})
1424
- def get_resolver_rule_policy(params = {}, options = {})
1425
- req = build_request(:get_resolver_rule_policy, params)
2574
+ def list_firewall_rules(params = {}, options = {})
2575
+ req = build_request(:list_firewall_rules, params)
1426
2576
  req.send_request(options)
1427
2577
  end
1428
2578
 
@@ -2106,6 +3256,42 @@ module Aws::Route53Resolver
2106
3256
  req.send_request(options)
2107
3257
  end
2108
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
+
2109
3295
  # Specifies an AWS account that you want to share a query logging
2110
3296
  # configuration with, the query logging configuration that you want to
2111
3297
  # share, and the operations that you want the account to be able to
@@ -2314,6 +3500,286 @@ module Aws::Route53Resolver
2314
3500
  req.send_request(options)
2315
3501
  end
2316
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
+
2317
3783
  # Updates an existing DNSSEC validation configuration. If there is no
2318
3784
  # existing DNSSEC validation configuration, one is created.
2319
3785
  #
@@ -2468,7 +3934,7 @@ module Aws::Route53Resolver
2468
3934
  params: params,
2469
3935
  config: config)
2470
3936
  context[:gem_name] = 'aws-sdk-route53resolver'
2471
- context[:gem_version] = '1.24.0'
3937
+ context[:gem_version] = '1.25.0'
2472
3938
  Seahorse::Client::Request.new(handlers, context)
2473
3939
  end
2474
3940