aws-sdk-route53resolver 1.71.0 → 1.73.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: e263b48ed0d14f6355ada97a6a27aba189708f14b4611b175b134834f9b7c8dd
4
- data.tar.gz: fdf4165cf09419193022a3396ed35f53a10076a8bad618c2eeca2b001d23eb87
3
+ metadata.gz: 6b52fca6223281d438eb705b809e3df5858a0f90d8de563f60ce8d845d1b435c
4
+ data.tar.gz: d91066c8dfa0e8789b64499e15b9f23dc47f5c646138ceb4727b78ca88e84111
5
5
  SHA512:
6
- metadata.gz: 6c365925a4d9d91da87170a860cf98b3a5b341fc1377b2942c5de823d9f8390efd6744580f1011a0be1ada6307640edf53569d112c74880dcb7c27f7236de4e9
7
- data.tar.gz: cf7520f36c088a73104960756815f7e3902f44dfadb08f64dd87b9226fcfaf9279c17fc51732d5de985625e77add698319cf3c2893d044eba4b81f3c17b29df5
6
+ metadata.gz: 69db2cd9346f1c06b7da716f1a272c11255013f09bb5d11e01c98c090c08a40f042c596688ba460e1f085eef640fbc330870823c0034605eb1ba0b4f8cf36565
7
+ data.tar.gz: a0fdf4df9ad3695094a00566f082d6d0ff73ebe00dffebcd5f24b7767526e2bbb0332b1aeee0d285cfb0af4111f25f379b572ff72637366ae157f06cc25f4a3f
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.73.0 (2024-11-15)
5
+ ------------------
6
+
7
+ * Feature - Route 53 Resolver DNS Firewall Advanced Rules allows you to monitor and block suspicious DNS traffic based on anomalies detected in the queries, such as DNS tunneling and Domain Generation Algorithms (DGAs).
8
+
9
+ 1.72.0 (2024-10-18)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
4
14
  1.71.0 (2024-10-10)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.71.0
1
+ 1.73.0
@@ -805,8 +805,9 @@ module Aws::Route53Resolver
805
805
  # The unique identifier of the firewall rule group where you want to
806
806
  # create the rule.
807
807
  #
808
- # @option params [required, String] :firewall_domain_list_id
809
- # The ID of the domain list that you want to use in the rule.
808
+ # @option params [String] :firewall_domain_list_id
809
+ # The ID of the domain list that you want to use in the rule. Can't be
810
+ # used together with `DnsThreatProtecton`.
810
811
  #
811
812
  # @option params [required, Integer] :priority
812
813
  # The setting that determines the processing order of the rule in the
@@ -820,9 +821,11 @@ module Aws::Route53Resolver
820
821
  #
821
822
  # @option params [required, String] :action
822
823
  # The action that DNS Firewall should take on a DNS query when it
823
- # matches one of the domains in the rule's domain list:
824
+ # matches one of the domains in the rule's domain list, or a threat in
825
+ # a DNS Firewall Advanced rule:
824
826
  #
825
- # * `ALLOW` - Permit the request to go through.
827
+ # * `ALLOW` - Permit the request to go through. Not available for DNS
828
+ # Firewall Advanced rules.
826
829
  #
827
830
  # * `ALERT` - Permit the request and send metrics and logs to Cloud
828
831
  # Watch.
@@ -873,11 +876,11 @@ module Aws::Route53Resolver
873
876
  # How you want the the rule to evaluate DNS redirection in the DNS
874
877
  # redirection chain, such as CNAME or DNAME.
875
878
  #
876
- # `Inspect_Redirection_Domain `(Default) inspects all domains in the
879
+ # `INSPECT_REDIRECTION_DOMAIN`: (Default) inspects all domains in the
877
880
  # redirection chain. The individual domains in the redirection chain
878
881
  # must be added to the domain list.
879
882
  #
880
- # `Trust_Redirection_Domain ` inspects only the first domain in the
883
+ # `TRUST_REDIRECTION_DOMAIN`: Inspects only the first domain in the
881
884
  # redirection chain. You don't need to add the subsequent domains in
882
885
  # the domain in the redirection list to the domain list.
883
886
  #
@@ -921,6 +924,23 @@ module Aws::Route53Resolver
921
924
  #
922
925
  # [1]: https://en.wikipedia.org/wiki/List_of_DNS_record_types
923
926
  #
927
+ # @option params [String] :dns_threat_protection
928
+ # Use to create a DNS Firewall Advanced rule.
929
+ #
930
+ # @option params [String] :confidence_threshold
931
+ # The confidence threshold for DNS Firewall Advanced. You must provide
932
+ # this value when you create a DNS Firewall Advanced rule. The
933
+ # confidence level values mean:
934
+ #
935
+ # * `LOW`: Provides the highest detection rate for threats, but also
936
+ # increases false positives.
937
+ #
938
+ # * `MEDIUM`: Provides a balance between detecting threats and false
939
+ # positives.
940
+ #
941
+ # * `HIGH`: Detects only the most well corroborated threats with a low
942
+ # rate of false positives.
943
+ #
924
944
  # @return [Types::CreateFirewallRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
925
945
  #
926
946
  # * {Types::CreateFirewallRuleResponse#firewall_rule #firewall_rule} => Types::FirewallRule
@@ -930,7 +950,7 @@ module Aws::Route53Resolver
930
950
  # resp = client.create_firewall_rule({
931
951
  # creator_request_id: "CreatorRequestId", # required
932
952
  # firewall_rule_group_id: "ResourceId", # required
933
- # firewall_domain_list_id: "ResourceId", # required
953
+ # firewall_domain_list_id: "ResourceId",
934
954
  # priority: 1, # required
935
955
  # action: "ALLOW", # required, accepts ALLOW, BLOCK, ALERT
936
956
  # block_response: "NODATA", # accepts NODATA, NXDOMAIN, OVERRIDE
@@ -940,12 +960,15 @@ module Aws::Route53Resolver
940
960
  # name: "Name", # required
941
961
  # firewall_domain_redirection_action: "INSPECT_REDIRECTION_DOMAIN", # accepts INSPECT_REDIRECTION_DOMAIN, TRUST_REDIRECTION_DOMAIN
942
962
  # qtype: "Qtype",
963
+ # dns_threat_protection: "DGA", # accepts DGA, DNS_TUNNELING
964
+ # confidence_threshold: "LOW", # accepts LOW, MEDIUM, HIGH
943
965
  # })
944
966
  #
945
967
  # @example Response structure
946
968
  #
947
969
  # resp.firewall_rule.firewall_rule_group_id #=> String
948
970
  # resp.firewall_rule.firewall_domain_list_id #=> String
971
+ # resp.firewall_rule.firewall_threat_protection_id #=> String
949
972
  # resp.firewall_rule.name #=> String
950
973
  # resp.firewall_rule.priority #=> Integer
951
974
  # resp.firewall_rule.action #=> String, one of "ALLOW", "BLOCK", "ALERT"
@@ -958,6 +981,8 @@ module Aws::Route53Resolver
958
981
  # resp.firewall_rule.modification_time #=> String
959
982
  # resp.firewall_rule.firewall_domain_redirection_action #=> String, one of "INSPECT_REDIRECTION_DOMAIN", "TRUST_REDIRECTION_DOMAIN"
960
983
  # resp.firewall_rule.qtype #=> String
984
+ # resp.firewall_rule.dns_threat_protection #=> String, one of "DGA", "DNS_TUNNELING"
985
+ # resp.firewall_rule.confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
961
986
  #
962
987
  # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateFirewallRule AWS API Documentation
963
988
  #
@@ -1518,9 +1543,12 @@ module Aws::Route53Resolver
1518
1543
  # The unique identifier of the firewall rule group that you want to
1519
1544
  # delete the rule from.
1520
1545
  #
1521
- # @option params [required, String] :firewall_domain_list_id
1546
+ # @option params [String] :firewall_domain_list_id
1522
1547
  # The ID of the domain list that's used in the rule.
1523
1548
  #
1549
+ # @option params [String] :firewall_threat_protection_id
1550
+ # The ID that is created for a DNS Firewall Advanced rule.
1551
+ #
1524
1552
  # @option params [String] :qtype
1525
1553
  # The DNS query type that the rule you are deleting evaluates. Allowed
1526
1554
  # values are;
@@ -1570,7 +1598,8 @@ module Aws::Route53Resolver
1570
1598
  #
1571
1599
  # resp = client.delete_firewall_rule({
1572
1600
  # firewall_rule_group_id: "ResourceId", # required
1573
- # firewall_domain_list_id: "ResourceId", # required
1601
+ # firewall_domain_list_id: "ResourceId",
1602
+ # firewall_threat_protection_id: "ResourceId",
1574
1603
  # qtype: "Qtype",
1575
1604
  # })
1576
1605
  #
@@ -1578,6 +1607,7 @@ module Aws::Route53Resolver
1578
1607
  #
1579
1608
  # resp.firewall_rule.firewall_rule_group_id #=> String
1580
1609
  # resp.firewall_rule.firewall_domain_list_id #=> String
1610
+ # resp.firewall_rule.firewall_threat_protection_id #=> String
1581
1611
  # resp.firewall_rule.name #=> String
1582
1612
  # resp.firewall_rule.priority #=> Integer
1583
1613
  # resp.firewall_rule.action #=> String, one of "ALLOW", "BLOCK", "ALERT"
@@ -1590,6 +1620,8 @@ module Aws::Route53Resolver
1590
1620
  # resp.firewall_rule.modification_time #=> String
1591
1621
  # resp.firewall_rule.firewall_domain_redirection_action #=> String, one of "INSPECT_REDIRECTION_DOMAIN", "TRUST_REDIRECTION_DOMAIN"
1592
1622
  # resp.firewall_rule.qtype #=> String
1623
+ # resp.firewall_rule.dns_threat_protection #=> String, one of "DGA", "DNS_TUNNELING"
1624
+ # resp.firewall_rule.confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
1593
1625
  #
1594
1626
  # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteFirewallRule AWS API Documentation
1595
1627
  #
@@ -3009,9 +3041,11 @@ module Aws::Route53Resolver
3009
3041
  # Optional additional filter for the rules to retrieve.
3010
3042
  #
3011
3043
  # The action that DNS Firewall should take on a DNS query when it
3012
- # matches one of the domains in the rule's domain list:
3044
+ # matches one of the domains in the rule's domain list, or a threat in
3045
+ # a DNS Firewall Advanced rule:
3013
3046
  #
3014
- # * `ALLOW` - Permit the request to go through.
3047
+ # * `ALLOW` - Permit the request to go through. Not availabe for DNS
3048
+ # Firewall Advanced rules.
3015
3049
  #
3016
3050
  # * `ALERT` - Permit the request to go through but send an alert to the
3017
3051
  # logs.
@@ -3061,6 +3095,7 @@ module Aws::Route53Resolver
3061
3095
  # resp.firewall_rules #=> Array
3062
3096
  # resp.firewall_rules[0].firewall_rule_group_id #=> String
3063
3097
  # resp.firewall_rules[0].firewall_domain_list_id #=> String
3098
+ # resp.firewall_rules[0].firewall_threat_protection_id #=> String
3064
3099
  # resp.firewall_rules[0].name #=> String
3065
3100
  # resp.firewall_rules[0].priority #=> Integer
3066
3101
  # resp.firewall_rules[0].action #=> String, one of "ALLOW", "BLOCK", "ALERT"
@@ -3073,6 +3108,8 @@ module Aws::Route53Resolver
3073
3108
  # resp.firewall_rules[0].modification_time #=> String
3074
3109
  # resp.firewall_rules[0].firewall_domain_redirection_action #=> String, one of "INSPECT_REDIRECTION_DOMAIN", "TRUST_REDIRECTION_DOMAIN"
3075
3110
  # resp.firewall_rules[0].qtype #=> String
3111
+ # resp.firewall_rules[0].dns_threat_protection #=> String, one of "DGA", "DNS_TUNNELING"
3112
+ # resp.firewall_rules[0].confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
3076
3113
  #
3077
3114
  # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallRules AWS API Documentation
3078
3115
  #
@@ -4243,9 +4280,12 @@ module Aws::Route53Resolver
4243
4280
  # @option params [required, String] :firewall_rule_group_id
4244
4281
  # The unique identifier of the firewall rule group for the rule.
4245
4282
  #
4246
- # @option params [required, String] :firewall_domain_list_id
4283
+ # @option params [String] :firewall_domain_list_id
4247
4284
  # The ID of the domain list to use in the rule.
4248
4285
  #
4286
+ # @option params [String] :firewall_threat_protection_id
4287
+ # The DNS Firewall Advanced rule ID.
4288
+ #
4249
4289
  # @option params [Integer] :priority
4250
4290
  # The setting that determines the processing order of the rule in the
4251
4291
  # rule group. DNS Firewall processes the rules in a rule group by order
@@ -4258,9 +4298,11 @@ module Aws::Route53Resolver
4258
4298
  #
4259
4299
  # @option params [String] :action
4260
4300
  # The action that DNS Firewall should take on a DNS query when it
4261
- # matches one of the domains in the rule's domain list:
4301
+ # matches one of the domains in the rule's domain list, or a threat in
4302
+ # a DNS Firewall Advanced rule:
4262
4303
  #
4263
- # * `ALLOW` - Permit the request to go through.
4304
+ # * `ALLOW` - Permit the request to go through. Not available for DNS
4305
+ # Firewall Advanced rules.
4264
4306
  #
4265
4307
  # * `ALERT` - Permit the request to go through but send an alert to the
4266
4308
  # logs.
@@ -4303,11 +4345,11 @@ module Aws::Route53Resolver
4303
4345
  # How you want the the rule to evaluate DNS redirection in the DNS
4304
4346
  # redirection chain, such as CNAME or DNAME.
4305
4347
  #
4306
- # `Inspect_Redirection_Domain `(Default) inspects all domains in the
4348
+ # `INSPECT_REDIRECTION_DOMAIN`: (Default) inspects all domains in the
4307
4349
  # redirection chain. The individual domains in the redirection chain
4308
4350
  # must be added to the domain list.
4309
4351
  #
4310
- # `Trust_Redirection_Domain ` inspects only the first domain in the
4352
+ # `TRUST_REDIRECTION_DOMAIN`: Inspects only the first domain in the
4311
4353
  # redirection chain. You don't need to add the subsequent domains in
4312
4354
  # the domain in the redirection list to the domain list.
4313
4355
  #
@@ -4357,6 +4399,31 @@ module Aws::Route53Resolver
4357
4399
  #
4358
4400
  # [1]: https://en.wikipedia.org/wiki/List_of_DNS_record_types
4359
4401
  #
4402
+ # @option params [String] :dns_threat_protection
4403
+ # The type of the DNS Firewall Advanced rule. Valid values are:
4404
+ #
4405
+ # * `DGA`: Domain generation algorithms detection. DGAs are used by
4406
+ # attackers to generate a large number of domains to to launch malware
4407
+ # attacks.
4408
+ #
4409
+ # * `DNS_TUNNELING`: DNS tunneling detection. DNS tunneling is used by
4410
+ # attackers to exfiltrate data from the client by using the DNS tunnel
4411
+ # without making a network connection to the client.
4412
+ #
4413
+ # @option params [String] :confidence_threshold
4414
+ # The confidence threshold for DNS Firewall Advanced. You must provide
4415
+ # this value when you create a DNS Firewall Advanced rule. The
4416
+ # confidence level values mean:
4417
+ #
4418
+ # * `LOW`: Provides the highest detection rate for threats, but also
4419
+ # increases false positives.
4420
+ #
4421
+ # * `MEDIUM`: Provides a balance between detecting threats and false
4422
+ # positives.
4423
+ #
4424
+ # * `HIGH`: Detects only the most well corroborated threats with a low
4425
+ # rate of false positives.
4426
+ #
4360
4427
  # @return [Types::UpdateFirewallRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4361
4428
  #
4362
4429
  # * {Types::UpdateFirewallRuleResponse#firewall_rule #firewall_rule} => Types::FirewallRule
@@ -4365,7 +4432,8 @@ module Aws::Route53Resolver
4365
4432
  #
4366
4433
  # resp = client.update_firewall_rule({
4367
4434
  # firewall_rule_group_id: "ResourceId", # required
4368
- # firewall_domain_list_id: "ResourceId", # required
4435
+ # firewall_domain_list_id: "ResourceId",
4436
+ # firewall_threat_protection_id: "ResourceId",
4369
4437
  # priority: 1,
4370
4438
  # action: "ALLOW", # accepts ALLOW, BLOCK, ALERT
4371
4439
  # block_response: "NODATA", # accepts NODATA, NXDOMAIN, OVERRIDE
@@ -4375,12 +4443,15 @@ module Aws::Route53Resolver
4375
4443
  # name: "Name",
4376
4444
  # firewall_domain_redirection_action: "INSPECT_REDIRECTION_DOMAIN", # accepts INSPECT_REDIRECTION_DOMAIN, TRUST_REDIRECTION_DOMAIN
4377
4445
  # qtype: "Qtype",
4446
+ # dns_threat_protection: "DGA", # accepts DGA, DNS_TUNNELING
4447
+ # confidence_threshold: "LOW", # accepts LOW, MEDIUM, HIGH
4378
4448
  # })
4379
4449
  #
4380
4450
  # @example Response structure
4381
4451
  #
4382
4452
  # resp.firewall_rule.firewall_rule_group_id #=> String
4383
4453
  # resp.firewall_rule.firewall_domain_list_id #=> String
4454
+ # resp.firewall_rule.firewall_threat_protection_id #=> String
4384
4455
  # resp.firewall_rule.name #=> String
4385
4456
  # resp.firewall_rule.priority #=> Integer
4386
4457
  # resp.firewall_rule.action #=> String, one of "ALLOW", "BLOCK", "ALERT"
@@ -4393,6 +4464,8 @@ module Aws::Route53Resolver
4393
4464
  # resp.firewall_rule.modification_time #=> String
4394
4465
  # resp.firewall_rule.firewall_domain_redirection_action #=> String, one of "INSPECT_REDIRECTION_DOMAIN", "TRUST_REDIRECTION_DOMAIN"
4395
4466
  # resp.firewall_rule.qtype #=> String
4467
+ # resp.firewall_rule.dns_threat_protection #=> String, one of "DGA", "DNS_TUNNELING"
4468
+ # resp.firewall_rule.confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
4396
4469
  #
4397
4470
  # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateFirewallRule AWS API Documentation
4398
4471
  #
@@ -4802,7 +4875,7 @@ module Aws::Route53Resolver
4802
4875
  tracer: tracer
4803
4876
  )
4804
4877
  context[:gem_name] = 'aws-sdk-route53resolver'
4805
- context[:gem_version] = '1.71.0'
4878
+ context[:gem_version] = '1.73.0'
4806
4879
  Seahorse::Client::Request.new(handlers, context)
4807
4880
  end
4808
4881
 
@@ -32,6 +32,7 @@ module Aws::Route53Resolver
32
32
  BlockOverrideTtl = Shapes::IntegerShape.new(name: 'BlockOverrideTtl')
33
33
  BlockResponse = Shapes::StringShape.new(name: 'BlockResponse')
34
34
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
35
+ ConfidenceThreshold = Shapes::StringShape.new(name: 'ConfidenceThreshold')
35
36
  ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
36
37
  Count = Shapes::IntegerShape.new(name: 'Count')
37
38
  CreateFirewallDomainListRequest = Shapes::StructureShape.new(name: 'CreateFirewallDomainListRequest')
@@ -72,6 +73,7 @@ module Aws::Route53Resolver
72
73
  DisassociateResolverQueryLogConfigResponse = Shapes::StructureShape.new(name: 'DisassociateResolverQueryLogConfigResponse')
73
74
  DisassociateResolverRuleRequest = Shapes::StructureShape.new(name: 'DisassociateResolverRuleRequest')
74
75
  DisassociateResolverRuleResponse = Shapes::StructureShape.new(name: 'DisassociateResolverRuleResponse')
76
+ DnsThreatProtection = Shapes::StringShape.new(name: 'DnsThreatProtection')
75
77
  DomainListFileUrl = Shapes::StringShape.new(name: 'DomainListFileUrl')
76
78
  DomainName = Shapes::StringShape.new(name: 'DomainName')
77
79
  ExceptionMessage = Shapes::StringShape.new(name: 'ExceptionMessage')
@@ -349,7 +351,7 @@ module Aws::Route53Resolver
349
351
 
350
352
  CreateFirewallRuleRequest.add_member(:creator_request_id, Shapes::ShapeRef.new(shape: CreatorRequestId, required: true, location_name: "CreatorRequestId", metadata: {"idempotencyToken"=>true}))
351
353
  CreateFirewallRuleRequest.add_member(:firewall_rule_group_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "FirewallRuleGroupId"))
352
- CreateFirewallRuleRequest.add_member(:firewall_domain_list_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "FirewallDomainListId"))
354
+ CreateFirewallRuleRequest.add_member(:firewall_domain_list_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "FirewallDomainListId", metadata: {"box"=>true}))
353
355
  CreateFirewallRuleRequest.add_member(:priority, Shapes::ShapeRef.new(shape: Priority, required: true, location_name: "Priority"))
354
356
  CreateFirewallRuleRequest.add_member(:action, Shapes::ShapeRef.new(shape: Action, required: true, location_name: "Action"))
355
357
  CreateFirewallRuleRequest.add_member(:block_response, Shapes::ShapeRef.new(shape: BlockResponse, location_name: "BlockResponse", metadata: {"box"=>true}))
@@ -359,6 +361,8 @@ module Aws::Route53Resolver
359
361
  CreateFirewallRuleRequest.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "Name"))
360
362
  CreateFirewallRuleRequest.add_member(:firewall_domain_redirection_action, Shapes::ShapeRef.new(shape: FirewallDomainRedirectionAction, location_name: "FirewallDomainRedirectionAction", metadata: {"box"=>true}))
361
363
  CreateFirewallRuleRequest.add_member(:qtype, Shapes::ShapeRef.new(shape: Qtype, location_name: "Qtype", metadata: {"box"=>true}))
364
+ CreateFirewallRuleRequest.add_member(:dns_threat_protection, Shapes::ShapeRef.new(shape: DnsThreatProtection, location_name: "DnsThreatProtection", metadata: {"box"=>true}))
365
+ CreateFirewallRuleRequest.add_member(:confidence_threshold, Shapes::ShapeRef.new(shape: ConfidenceThreshold, location_name: "ConfidenceThreshold", metadata: {"box"=>true}))
362
366
  CreateFirewallRuleRequest.struct_class = Types::CreateFirewallRuleRequest
363
367
 
364
368
  CreateFirewallRuleResponse.add_member(:firewall_rule, Shapes::ShapeRef.new(shape: FirewallRule, location_name: "FirewallRule"))
@@ -424,7 +428,8 @@ module Aws::Route53Resolver
424
428
  DeleteFirewallRuleGroupResponse.struct_class = Types::DeleteFirewallRuleGroupResponse
425
429
 
426
430
  DeleteFirewallRuleRequest.add_member(:firewall_rule_group_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "FirewallRuleGroupId"))
427
- DeleteFirewallRuleRequest.add_member(:firewall_domain_list_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "FirewallDomainListId"))
431
+ DeleteFirewallRuleRequest.add_member(:firewall_domain_list_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "FirewallDomainListId", metadata: {"box"=>true}))
432
+ DeleteFirewallRuleRequest.add_member(:firewall_threat_protection_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "FirewallThreatProtectionId", metadata: {"box"=>true}))
428
433
  DeleteFirewallRuleRequest.add_member(:qtype, Shapes::ShapeRef.new(shape: Qtype, location_name: "Qtype"))
429
434
  DeleteFirewallRuleRequest.struct_class = Types::DeleteFirewallRuleRequest
430
435
 
@@ -523,6 +528,7 @@ module Aws::Route53Resolver
523
528
 
524
529
  FirewallRule.add_member(:firewall_rule_group_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "FirewallRuleGroupId"))
525
530
  FirewallRule.add_member(:firewall_domain_list_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "FirewallDomainListId"))
531
+ FirewallRule.add_member(:firewall_threat_protection_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "FirewallThreatProtectionId"))
526
532
  FirewallRule.add_member(:name, Shapes::ShapeRef.new(shape: Name, location_name: "Name"))
527
533
  FirewallRule.add_member(:priority, Shapes::ShapeRef.new(shape: Priority, location_name: "Priority"))
528
534
  FirewallRule.add_member(:action, Shapes::ShapeRef.new(shape: Action, location_name: "Action"))
@@ -535,6 +541,8 @@ module Aws::Route53Resolver
535
541
  FirewallRule.add_member(:modification_time, Shapes::ShapeRef.new(shape: Rfc3339TimeString, location_name: "ModificationTime"))
536
542
  FirewallRule.add_member(:firewall_domain_redirection_action, Shapes::ShapeRef.new(shape: FirewallDomainRedirectionAction, location_name: "FirewallDomainRedirectionAction"))
537
543
  FirewallRule.add_member(:qtype, Shapes::ShapeRef.new(shape: Qtype, location_name: "Qtype"))
544
+ FirewallRule.add_member(:dns_threat_protection, Shapes::ShapeRef.new(shape: DnsThreatProtection, location_name: "DnsThreatProtection"))
545
+ FirewallRule.add_member(:confidence_threshold, Shapes::ShapeRef.new(shape: ConfidenceThreshold, location_name: "ConfidenceThreshold"))
538
546
  FirewallRule.struct_class = Types::FirewallRule
539
547
 
540
548
  FirewallRuleGroup.add_member(:id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "Id"))
@@ -1101,7 +1109,8 @@ module Aws::Route53Resolver
1101
1109
  UpdateFirewallRuleGroupAssociationResponse.struct_class = Types::UpdateFirewallRuleGroupAssociationResponse
1102
1110
 
1103
1111
  UpdateFirewallRuleRequest.add_member(:firewall_rule_group_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "FirewallRuleGroupId"))
1104
- UpdateFirewallRuleRequest.add_member(:firewall_domain_list_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "FirewallDomainListId"))
1112
+ UpdateFirewallRuleRequest.add_member(:firewall_domain_list_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "FirewallDomainListId", metadata: {"box"=>true}))
1113
+ UpdateFirewallRuleRequest.add_member(:firewall_threat_protection_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "FirewallThreatProtectionId", metadata: {"box"=>true}))
1105
1114
  UpdateFirewallRuleRequest.add_member(:priority, Shapes::ShapeRef.new(shape: Priority, location_name: "Priority", metadata: {"box"=>true}))
1106
1115
  UpdateFirewallRuleRequest.add_member(:action, Shapes::ShapeRef.new(shape: Action, location_name: "Action", metadata: {"box"=>true}))
1107
1116
  UpdateFirewallRuleRequest.add_member(:block_response, Shapes::ShapeRef.new(shape: BlockResponse, location_name: "BlockResponse", metadata: {"box"=>true}))
@@ -1111,6 +1120,8 @@ module Aws::Route53Resolver
1111
1120
  UpdateFirewallRuleRequest.add_member(:name, Shapes::ShapeRef.new(shape: Name, location_name: "Name", metadata: {"box"=>true}))
1112
1121
  UpdateFirewallRuleRequest.add_member(:firewall_domain_redirection_action, Shapes::ShapeRef.new(shape: FirewallDomainRedirectionAction, location_name: "FirewallDomainRedirectionAction", metadata: {"box"=>true}))
1113
1122
  UpdateFirewallRuleRequest.add_member(:qtype, Shapes::ShapeRef.new(shape: Qtype, location_name: "Qtype"))
1123
+ UpdateFirewallRuleRequest.add_member(:dns_threat_protection, Shapes::ShapeRef.new(shape: DnsThreatProtection, location_name: "DnsThreatProtection", metadata: {"box"=>true}))
1124
+ UpdateFirewallRuleRequest.add_member(:confidence_threshold, Shapes::ShapeRef.new(shape: ConfidenceThreshold, location_name: "ConfidenceThreshold", metadata: {"box"=>true}))
1114
1125
  UpdateFirewallRuleRequest.struct_class = Types::UpdateFirewallRuleRequest
1115
1126
 
1116
1127
  UpdateFirewallRuleResponse.add_member(:firewall_rule, Shapes::ShapeRef.new(shape: FirewallRule, location_name: "FirewallRule"))
@@ -1373,6 +1384,7 @@ module Aws::Route53Resolver
1373
1384
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1374
1385
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1375
1386
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceErrorException)
1387
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1376
1388
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1377
1389
  end)
1378
1390
 
@@ -52,15 +52,18 @@ module Aws::Route53Resolver
52
52
  self[:region] = options[:region]
53
53
  self[:use_dual_stack] = options[:use_dual_stack]
54
54
  self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
- if self[:use_dual_stack].nil?
56
- raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
57
- end
58
55
  self[:use_fips] = options[:use_fips]
59
56
  self[:use_fips] = false if self[:use_fips].nil?
60
- if self[:use_fips].nil?
61
- raise ArgumentError, "Missing required EndpointParameter: :use_fips"
62
- end
63
57
  self[:endpoint] = options[:endpoint]
64
58
  end
59
+
60
+ def self.create(config, options={})
61
+ new({
62
+ region: config.region,
63
+ use_dual_stack: config.use_dualstack_endpoint,
64
+ use_fips: config.use_fips_endpoint,
65
+ endpoint: (config.endpoint.to_s unless config.regional_endpoint),
66
+ }.merge(options))
67
+ end
65
68
  end
66
69
  end