aws-sdk-route53resolver 1.100.0 → 1.101.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: efd6430dbae6c2ba036f0a1bc4338544e840d4fdc2e9659755deca283b2b8cf3
4
- data.tar.gz: 3d4649de55d4e6136fa98a7de1a2d6794cb66ff4027537816937dad3b82b3b19
3
+ metadata.gz: 83def7e84e7a26e21459ab69aa76314865727965f30b8ef4f4833bd2053fd4f8
4
+ data.tar.gz: 0675b70291c19e819bee1271928582077fab82f5c0c18b9db7ba0791f7033af5
5
5
  SHA512:
6
- metadata.gz: c035131029f92c2ab3f356e45a6eea11c716c54ce4399e07614bb2b944dd0b67086ecf0ee8b32fbd52712f048023def461e3e9aae40db970eac93c3c5a8d5132
7
- data.tar.gz: 5dedd76c17cb7045fe41cbbc1426ae6347a4763d8692faa36738b931dd375fcbeaa33388e541b43ebca3c5a342c7974e2cd708a6d85d6766124bd1ced3f7b800
6
+ metadata.gz: d1d20a4e0dcb1736051cb5e0dd5e08a234c3ba7a7cb10fd2bca951a5f023c4335b56776b108ff12528e1029893b5d58585bab296715898b88554201bccbc5b34
7
+ data.tar.gz: 9f2306b56ef6b28d14a8719a6f800865632729359f513a2bab908b7a163a145c414a1649fe8138e2cf8f7a66bbcc2fa0d0f0d5bf4fcbbdcbd5c47533782ca2d0
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.101.0 (2026-06-16)
5
+ ------------------
6
+
7
+ * Feature - Adds supports for PartnerManagedRules
8
+
4
9
  1.100.0 (2026-05-29)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.100.0
1
+ 1.101.0
@@ -484,6 +484,11 @@ module Aws::Route53Resolver
484
484
  # Associates a FirewallRuleGroup with a VPC, to provide DNS filtering
485
485
  # for the VPC.
486
486
  #
487
+ # If the rule group contains any rule configured with the
488
+ # `PartnerThreatProtection` rule type, the calling account must hold an
489
+ # active AWS Marketplace subscription to the named partner. If the
490
+ # subscription is missing, the association request is rejected.
491
+ #
487
492
  # @option params [required, String] :creator_request_id
488
493
  # A unique string that identifies the request and that allows failed
489
494
  # requests to be retried without the risk of running the operation
@@ -794,6 +799,9 @@ module Aws::Route53Resolver
794
799
  # dns_threat_protection: "DGA", # accepts DGA, DNS_TUNNELING, DICTIONARY_DGA
795
800
  # confidence_threshold: "LOW", # accepts LOW, MEDIUM, HIGH
796
801
  # firewall_rule_type: {
802
+ # partner_threat_protection: {
803
+ # partner: "PartnerValue", # required
804
+ # },
797
805
  # firewall_advanced_content_category: {
798
806
  # category: "FirewallAdvancedContentCategoryValue", # required
799
807
  # },
@@ -829,10 +837,13 @@ module Aws::Route53Resolver
829
837
  # resp.created_firewall_rules[0].qtype #=> String
830
838
  # resp.created_firewall_rules[0].dns_threat_protection #=> String, one of "DGA", "DNS_TUNNELING", "DICTIONARY_DGA"
831
839
  # resp.created_firewall_rules[0].confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
840
+ # resp.created_firewall_rules[0].firewall_rule_type.partner_threat_protection.partner #=> String
832
841
  # resp.created_firewall_rules[0].firewall_rule_type.firewall_advanced_content_category.category #=> String
833
842
  # resp.created_firewall_rules[0].firewall_rule_type.firewall_advanced_threat_category.category #=> String
834
843
  # resp.created_firewall_rules[0].firewall_rule_type.dns_threat_protection.value #=> String
835
844
  # resp.created_firewall_rules[0].firewall_rule_type.dns_threat_protection.confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
845
+ # resp.created_firewall_rules[0].status #=> String
846
+ # resp.created_firewall_rules[0].status_message #=> String
836
847
  # resp.create_errors #=> Array
837
848
  # resp.create_errors[0].firewall_rule.creator_request_id #=> String
838
849
  # resp.create_errors[0].firewall_rule.firewall_rule_group_id #=> String
@@ -848,6 +859,7 @@ module Aws::Route53Resolver
848
859
  # resp.create_errors[0].firewall_rule.qtype #=> String
849
860
  # resp.create_errors[0].firewall_rule.dns_threat_protection #=> String, one of "DGA", "DNS_TUNNELING", "DICTIONARY_DGA"
850
861
  # resp.create_errors[0].firewall_rule.confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
862
+ # resp.create_errors[0].firewall_rule.firewall_rule_type.partner_threat_protection.partner #=> String
851
863
  # resp.create_errors[0].firewall_rule.firewall_rule_type.firewall_advanced_content_category.category #=> String
852
864
  # resp.create_errors[0].firewall_rule.firewall_rule_type.firewall_advanced_threat_category.category #=> String
853
865
  # resp.create_errors[0].firewall_rule.firewall_rule_type.dns_threat_protection.value #=> String
@@ -907,10 +919,13 @@ module Aws::Route53Resolver
907
919
  # resp.deleted_firewall_rules[0].qtype #=> String
908
920
  # resp.deleted_firewall_rules[0].dns_threat_protection #=> String, one of "DGA", "DNS_TUNNELING", "DICTIONARY_DGA"
909
921
  # resp.deleted_firewall_rules[0].confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
922
+ # resp.deleted_firewall_rules[0].firewall_rule_type.partner_threat_protection.partner #=> String
910
923
  # resp.deleted_firewall_rules[0].firewall_rule_type.firewall_advanced_content_category.category #=> String
911
924
  # resp.deleted_firewall_rules[0].firewall_rule_type.firewall_advanced_threat_category.category #=> String
912
925
  # resp.deleted_firewall_rules[0].firewall_rule_type.dns_threat_protection.value #=> String
913
926
  # resp.deleted_firewall_rules[0].firewall_rule_type.dns_threat_protection.confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
927
+ # resp.deleted_firewall_rules[0].status #=> String
928
+ # resp.deleted_firewall_rules[0].status_message #=> String
914
929
  # resp.delete_errors #=> Array
915
930
  # resp.delete_errors[0].firewall_rule.firewall_rule_group_id #=> String
916
931
  # resp.delete_errors[0].firewall_rule.firewall_domain_list_id #=> String
@@ -958,6 +973,9 @@ module Aws::Route53Resolver
958
973
  # dns_threat_protection: "DGA", # accepts DGA, DNS_TUNNELING, DICTIONARY_DGA
959
974
  # confidence_threshold: "LOW", # accepts LOW, MEDIUM, HIGH
960
975
  # firewall_rule_type: {
976
+ # partner_threat_protection: {
977
+ # partner: "PartnerValue", # required
978
+ # },
961
979
  # firewall_advanced_content_category: {
962
980
  # category: "FirewallAdvancedContentCategoryValue", # required
963
981
  # },
@@ -993,10 +1011,13 @@ module Aws::Route53Resolver
993
1011
  # resp.updated_firewall_rules[0].qtype #=> String
994
1012
  # resp.updated_firewall_rules[0].dns_threat_protection #=> String, one of "DGA", "DNS_TUNNELING", "DICTIONARY_DGA"
995
1013
  # resp.updated_firewall_rules[0].confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
1014
+ # resp.updated_firewall_rules[0].firewall_rule_type.partner_threat_protection.partner #=> String
996
1015
  # resp.updated_firewall_rules[0].firewall_rule_type.firewall_advanced_content_category.category #=> String
997
1016
  # resp.updated_firewall_rules[0].firewall_rule_type.firewall_advanced_threat_category.category #=> String
998
1017
  # resp.updated_firewall_rules[0].firewall_rule_type.dns_threat_protection.value #=> String
999
1018
  # resp.updated_firewall_rules[0].firewall_rule_type.dns_threat_protection.confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
1019
+ # resp.updated_firewall_rules[0].status #=> String
1020
+ # resp.updated_firewall_rules[0].status_message #=> String
1000
1021
  # resp.update_errors #=> Array
1001
1022
  # resp.update_errors[0].firewall_rule.firewall_rule_group_id #=> String
1002
1023
  # resp.update_errors[0].firewall_rule.firewall_domain_list_id #=> String
@@ -1012,6 +1033,7 @@ module Aws::Route53Resolver
1012
1033
  # resp.update_errors[0].firewall_rule.qtype #=> String
1013
1034
  # resp.update_errors[0].firewall_rule.dns_threat_protection #=> String, one of "DGA", "DNS_TUNNELING", "DICTIONARY_DGA"
1014
1035
  # resp.update_errors[0].firewall_rule.confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
1036
+ # resp.update_errors[0].firewall_rule.firewall_rule_type.partner_threat_protection.partner #=> String
1015
1037
  # resp.update_errors[0].firewall_rule.firewall_rule_type.firewall_advanced_content_category.category #=> String
1016
1038
  # resp.update_errors[0].firewall_rule.firewall_rule_type.firewall_advanced_threat_category.category #=> String
1017
1039
  # resp.update_errors[0].firewall_rule.firewall_rule_type.dns_threat_protection.value #=> String
@@ -1090,8 +1112,31 @@ module Aws::Route53Resolver
1090
1112
  req.send_request(options)
1091
1113
  end
1092
1114
 
1093
- # Creates a single DNS Firewall rule in the specified rule group, using
1094
- # the specified domain list.
1115
+ # Creates a single DNS Firewall rule in the specified rule group. The
1116
+ # rule can use any one of the following match sources, and the chosen
1117
+ # source must be supplied through the matching request field — they are
1118
+ # mutually exclusive:
1119
+ #
1120
+ # * `FirewallDomainListId` — match a customer-managed or AWS-managed
1121
+ # domain list.
1122
+ #
1123
+ # * `DnsThreatProtection` — match a built-in DNS Firewall Advanced
1124
+ # threat detector (`DGA`, `DNS_TUNNELING`, or `DICTIONARY_DGA`).
1125
+ #
1126
+ # * `FirewallRuleType` — match one of the rule-type variants returned by
1127
+ # ListFirewallRuleTypes: `FirewallAdvancedContentCategory`,
1128
+ # `FirewallAdvancedThreatCategory`, `DnsThreatProtection`, or
1129
+ # `PartnerThreatProtection`. The `PartnerThreatProtection` variant
1130
+ # requires an active AWS Marketplace subscription to the named partner
1131
+ # product.
1132
+ #
1133
+ # For rules that require asynchronous provisioning (today, the
1134
+ # `PartnerThreatProtection` rule type), the rule's `Status` begins at
1135
+ # `CREATING` and transitions to `COMPLETE` once the rule is provisioned
1136
+ # and the marketplace entitlement is verified. If provisioning fails,
1137
+ # `Status` becomes `CREATION_FAILED` and `StatusMessage` contains a
1138
+ # human-readable reason; the rule is then immutable and must be removed
1139
+ # with DeleteFirewallRule.
1095
1140
  #
1096
1141
  # @option params [required, String] :creator_request_id
1097
1142
  # A unique string that identifies the request and that allows you to
@@ -1226,7 +1271,22 @@ module Aws::Route53Resolver
1226
1271
  # [1]: https://en.wikipedia.org/wiki/List_of_DNS_record_types
1227
1272
  #
1228
1273
  # @option params [String] :dns_threat_protection
1229
- # Use to create a DNS Firewall Advanced rule.
1274
+ # The type of the DNS Firewall Advanced rule. This setting is mutually
1275
+ # exclusive with `FirewallDomainListId` and `FirewallRuleType`. Valid
1276
+ # values are:
1277
+ #
1278
+ # * `DGA`: Domain generation algorithms detection. DGAs are used by
1279
+ # attackers to generate a large number of domains to launch malware
1280
+ # attacks.
1281
+ #
1282
+ # * `DNS_TUNNELING`: DNS tunneling detection. DNS tunneling is used by
1283
+ # attackers to exfiltrate data from the client by using the DNS tunnel
1284
+ # without making a network connection to the client.
1285
+ #
1286
+ # * `DICTIONARY_DGA`: Dictionary-based domain generation algorithms
1287
+ # detection. Dictionary DGAs use wordlists to generate domains that
1288
+ # appear more legitimate, making them harder to detect than
1289
+ # traditional DGAs.
1230
1290
  #
1231
1291
  # @option params [String] :confidence_threshold
1232
1292
  # The confidence threshold for DNS Firewall Advanced. You must provide
@@ -1243,9 +1303,26 @@ module Aws::Route53Resolver
1243
1303
  # rate of false positives.
1244
1304
  #
1245
1305
  # @option params [Types::FirewallRuleType] :firewall_rule_type
1246
- # The rule type configuration for the firewall rule. This setting is
1247
- # mutually exclusive with the top-level `FirewallDomainListId` and
1248
- # `DnsThreatProtection` fields.
1306
+ # The rule type configuration for the firewall rule. This is a tagged
1307
+ # union set exactly one of its members. This setting is mutually
1308
+ # exclusive with the top-level `FirewallDomainListId` and
1309
+ # `DnsThreatProtection` fields. Use one of:
1310
+ #
1311
+ # * `FirewallAdvancedContentCategory` — match an AWS-managed content
1312
+ # category (for example, `VIOLENCE_AND_HATE_SPEECH`).
1313
+ #
1314
+ # * `FirewallAdvancedThreatCategory` — match an AWS-managed advanced
1315
+ # threat category (for example, `PHISHING`).
1316
+ #
1317
+ # * `DnsThreatProtection` — match a built-in DNS Firewall Advanced
1318
+ # threat detector (`DGA`, `DNS_TUNNELING`, or `DICTIONARY_DGA`).
1319
+ #
1320
+ # * `PartnerThreatProtection` — match a third-party threat feed
1321
+ # delivered through AWS Marketplace. The selected partner must be an
1322
+ # active subscription on the calling account.
1323
+ #
1324
+ # To enumerate the values supported in your account, call
1325
+ # ListFirewallRuleTypes.
1249
1326
  #
1250
1327
  # @return [Types::CreateFirewallRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1251
1328
  #
@@ -1269,6 +1346,9 @@ module Aws::Route53Resolver
1269
1346
  # dns_threat_protection: "DGA", # accepts DGA, DNS_TUNNELING, DICTIONARY_DGA
1270
1347
  # confidence_threshold: "LOW", # accepts LOW, MEDIUM, HIGH
1271
1348
  # firewall_rule_type: {
1349
+ # partner_threat_protection: {
1350
+ # partner: "PartnerValue", # required
1351
+ # },
1272
1352
  # firewall_advanced_content_category: {
1273
1353
  # category: "FirewallAdvancedContentCategoryValue", # required
1274
1354
  # },
@@ -1301,10 +1381,13 @@ module Aws::Route53Resolver
1301
1381
  # resp.firewall_rule.qtype #=> String
1302
1382
  # resp.firewall_rule.dns_threat_protection #=> String, one of "DGA", "DNS_TUNNELING", "DICTIONARY_DGA"
1303
1383
  # resp.firewall_rule.confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
1384
+ # resp.firewall_rule.firewall_rule_type.partner_threat_protection.partner #=> String
1304
1385
  # resp.firewall_rule.firewall_rule_type.firewall_advanced_content_category.category #=> String
1305
1386
  # resp.firewall_rule.firewall_rule_type.firewall_advanced_threat_category.category #=> String
1306
1387
  # resp.firewall_rule.firewall_rule_type.dns_threat_protection.value #=> String
1307
1388
  # resp.firewall_rule.firewall_rule_type.dns_threat_protection.confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
1389
+ # resp.firewall_rule.status #=> String
1390
+ # resp.firewall_rule.status_message #=> String
1308
1391
  #
1309
1392
  # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateFirewallRule AWS API Documentation
1310
1393
  #
@@ -1953,7 +2036,13 @@ module Aws::Route53Resolver
1953
2036
  req.send_request(options)
1954
2037
  end
1955
2038
 
1956
- # Deletes the specified firewall rule.
2039
+ # Deletes the specified firewall rule. Identify the rule using either
2040
+ # `FirewallDomainListId` (for domain-list and DNS Firewall Advanced
2041
+ # rules) or `FirewallThreatProtectionId` (for partner-managed and DNS
2042
+ # Firewall Advanced rules) — together with `FirewallRuleGroupId`.
2043
+ #
2044
+ # `DeleteFirewallRule` is the only operation that succeeds against a
2045
+ # rule whose `Status` is `CREATION_FAILED`.
1957
2046
  #
1958
2047
  # @option params [required, String] :firewall_rule_group_id
1959
2048
  # The unique identifier of the firewall rule group that you want to
@@ -2038,10 +2127,13 @@ module Aws::Route53Resolver
2038
2127
  # resp.firewall_rule.qtype #=> String
2039
2128
  # resp.firewall_rule.dns_threat_protection #=> String, one of "DGA", "DNS_TUNNELING", "DICTIONARY_DGA"
2040
2129
  # resp.firewall_rule.confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
2130
+ # resp.firewall_rule.firewall_rule_type.partner_threat_protection.partner #=> String
2041
2131
  # resp.firewall_rule.firewall_rule_type.firewall_advanced_content_category.category #=> String
2042
2132
  # resp.firewall_rule.firewall_rule_type.firewall_advanced_threat_category.category #=> String
2043
2133
  # resp.firewall_rule.firewall_rule_type.dns_threat_protection.value #=> String
2044
2134
  # resp.firewall_rule.firewall_rule_type.dns_threat_protection.confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
2135
+ # resp.firewall_rule.status #=> String
2136
+ # resp.firewall_rule.status_message #=> String
2045
2137
  #
2046
2138
  # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteFirewallRule AWS API Documentation
2047
2139
  #
@@ -3457,12 +3549,28 @@ module Aws::Route53Resolver
3457
3549
  req.send_request(options)
3458
3550
  end
3459
3551
 
3460
- # Retrieves the available rule types that can be used in DNS Firewall
3461
- # rules.
3552
+ # Retrieves the rule-type variants that can be used in the
3553
+ # `FirewallRuleType` field of CreateFirewallRule and UpdateFirewallRule.
3554
+ # Each returned FirewallRuleTypeDefinition identifies one variant +
3555
+ # value combination — for example, `FirewallAdvancedContentCategory` +
3556
+ # `VIOLENCE_AND_HATE_SPEECH`, or `PartnerThreatProtection` + a
3557
+ # partner-managed feed.
3558
+ #
3559
+ # The supported `RuleType` filter values are
3560
+ # `FirewallAdvancedContentCategory`, `FirewallAdvancedThreatCategory`,
3561
+ # `DnsThreatProtection`, and `PartnerThreatProtection`. When a returned
3562
+ # definition's variant requires an external subscription (currently
3563
+ # only `PartnerThreatProtection`), the response also includes a
3564
+ # SubscriptionInfo identifying the AWS Marketplace product that backs
3565
+ # it; absence of `SubscriptionInfo` means the variant is fully managed
3566
+ # by AWS and requires no separate subscription.
3462
3567
  #
3463
3568
  # @option params [String] :rule_type
3464
- # The rule type to filter by. If specified, only rule types matching
3465
- # this value are returned.
3569
+ # An optional filter that restricts the response to a single
3570
+ # FirewallRuleType variant. Supported values:
3571
+ # `FirewallAdvancedContentCategory`, `FirewallAdvancedThreatCategory`,
3572
+ # `DnsThreatProtection`, and `PartnerThreatProtection`. If omitted,
3573
+ # definitions across all variants are returned.
3466
3574
  #
3467
3575
  # @option params [Integer] :max_results
3468
3576
  # The maximum number of objects that you want Resolver to return for
@@ -3500,6 +3608,8 @@ module Aws::Route53Resolver
3500
3608
  # resp.firewall_rule_types[0].value #=> String
3501
3609
  # resp.firewall_rule_types[0].display_name #=> String
3502
3610
  # resp.firewall_rule_types[0].description #=> String
3611
+ # resp.firewall_rule_types[0].subscription_info.vendor_name #=> String
3612
+ # resp.firewall_rule_types[0].subscription_info.product_id #=> String
3503
3613
  # resp.next_token #=> String
3504
3614
  #
3505
3615
  # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallRuleTypes AWS API Documentation
@@ -3518,6 +3628,10 @@ module Aws::Route53Resolver
3518
3628
  # A single call might return only a partial list of the rules. For
3519
3629
  # information, see `MaxResults`.
3520
3630
  #
3631
+ # For rules that require asynchronous provisioning, the response
3632
+ # includes `Status` (see FirewallRuleStatus) and, on failure,
3633
+ # `StatusMessage` with the reason.
3634
+ #
3521
3635
  # @option params [required, String] :firewall_rule_group_id
3522
3636
  # The unique identifier of the firewall rule group that you want to
3523
3637
  # retrieve the rules for.
@@ -3602,10 +3716,13 @@ module Aws::Route53Resolver
3602
3716
  # resp.firewall_rules[0].qtype #=> String
3603
3717
  # resp.firewall_rules[0].dns_threat_protection #=> String, one of "DGA", "DNS_TUNNELING", "DICTIONARY_DGA"
3604
3718
  # resp.firewall_rules[0].confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
3719
+ # resp.firewall_rules[0].firewall_rule_type.partner_threat_protection.partner #=> String
3605
3720
  # resp.firewall_rules[0].firewall_rule_type.firewall_advanced_content_category.category #=> String
3606
3721
  # resp.firewall_rules[0].firewall_rule_type.firewall_advanced_threat_category.category #=> String
3607
3722
  # resp.firewall_rules[0].firewall_rule_type.dns_threat_protection.value #=> String
3608
3723
  # resp.firewall_rules[0].firewall_rule_type.dns_threat_protection.confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
3724
+ # resp.firewall_rules[0].status #=> String
3725
+ # resp.firewall_rules[0].status_message #=> String
3609
3726
  #
3610
3727
  # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallRules AWS API Documentation
3611
3728
  #
@@ -3830,7 +3947,7 @@ module Aws::Route53Resolver
3830
3947
  # resp.ip_addresses[0].subnet_id #=> String
3831
3948
  # resp.ip_addresses[0].ip #=> String
3832
3949
  # resp.ip_addresses[0].ipv_6 #=> String
3833
- # resp.ip_addresses[0].status #=> String, one of "CREATING", "FAILED_CREATION", "ATTACHING", "ATTACHED", "REMAP_DETACHING", "REMAP_ATTACHING", "DETACHING", "FAILED_RESOURCE_GONE", "DELETING", "DELETE_FAILED_FAS_EXPIRED", "UPDATING", "UPDATE_FAILED", "ISOLATED"
3950
+ # resp.ip_addresses[0].status #=> String, one of "CREATING", "FAILED_CREATION", "FAILED_CREATION_INSUFFICIENT_EC2_CAPACITY_IN_OUTPOST", "ATTACHING", "ATTACHED", "REMAP_DETACHING", "REMAP_ATTACHING", "DETACHING", "FAILED_RESOURCE_GONE", "DELETING", "DELETE_FAILED_FAS_EXPIRED", "UPDATING", "UPDATE_FAILED", "ISOLATED"
3834
3951
  # resp.ip_addresses[0].status_message #=> String
3835
3952
  # resp.ip_addresses[0].creation_time #=> String
3836
3953
  # resp.ip_addresses[0].modification_time #=> String
@@ -4775,7 +4892,11 @@ module Aws::Route53Resolver
4775
4892
  req.send_request(options)
4776
4893
  end
4777
4894
 
4778
- # Updates the specified firewall rule.
4895
+ # Updates the specified firewall rule. The rule's `FirewallRuleType`,
4896
+ # `FirewallDomainListId`, and top-level `DnsThreatProtection` match
4897
+ # source cannot be changed after creation. Rules whose `Status` is
4898
+ # `CREATING` or `CREATION_FAILED` cannot be updated; remove a failed
4899
+ # rule with DeleteFirewallRule.
4779
4900
  #
4780
4901
  # @option params [required, String] :firewall_rule_group_id
4781
4902
  # The unique identifier of the firewall rule group for the rule.
@@ -4900,16 +5021,23 @@ module Aws::Route53Resolver
4900
5021
  # [1]: https://en.wikipedia.org/wiki/List_of_DNS_record_types
4901
5022
  #
4902
5023
  # @option params [String] :dns_threat_protection
4903
- # The type of the DNS Firewall Advanced rule. Valid values are:
5024
+ # The type of the DNS Firewall Advanced rule. This setting is mutually
5025
+ # exclusive with `FirewallDomainListId` and `FirewallRuleType`. Valid
5026
+ # values are:
4904
5027
  #
4905
5028
  # * `DGA`: Domain generation algorithms detection. DGAs are used by
4906
- # attackers to generate a large number of domains to to launch malware
5029
+ # attackers to generate a large number of domains to launch malware
4907
5030
  # attacks.
4908
5031
  #
4909
5032
  # * `DNS_TUNNELING`: DNS tunneling detection. DNS tunneling is used by
4910
5033
  # attackers to exfiltrate data from the client by using the DNS tunnel
4911
5034
  # without making a network connection to the client.
4912
5035
  #
5036
+ # * `DICTIONARY_DGA`: Dictionary-based domain generation algorithms
5037
+ # detection. Dictionary DGAs use wordlists to generate domains that
5038
+ # appear more legitimate, making them harder to detect than
5039
+ # traditional DGAs.
5040
+ #
4913
5041
  # @option params [String] :confidence_threshold
4914
5042
  # The confidence threshold for DNS Firewall Advanced. You must provide
4915
5043
  # this value when you create a DNS Firewall Advanced rule. The
@@ -4925,9 +5053,26 @@ module Aws::Route53Resolver
4925
5053
  # rate of false positives.
4926
5054
  #
4927
5055
  # @option params [Types::FirewallRuleType] :firewall_rule_type
4928
- # The rule type configuration for the firewall rule. This setting is
4929
- # mutually exclusive with the top-level `FirewallDomainListId` and
4930
- # `DnsThreatProtection` fields.
5056
+ # The rule type configuration for the firewall rule. This is a tagged
5057
+ # union set exactly one of its members. This setting is mutually
5058
+ # exclusive with the top-level `FirewallDomainListId` and
5059
+ # `DnsThreatProtection` fields. Use one of:
5060
+ #
5061
+ # * `FirewallAdvancedContentCategory` — match an AWS-managed content
5062
+ # category (for example, `VIOLENCE_AND_HATE_SPEECH`).
5063
+ #
5064
+ # * `FirewallAdvancedThreatCategory` — match an AWS-managed advanced
5065
+ # threat category (for example, `PHISHING`).
5066
+ #
5067
+ # * `DnsThreatProtection` — match a built-in DNS Firewall Advanced
5068
+ # threat detector (`DGA`, `DNS_TUNNELING`, or `DICTIONARY_DGA`).
5069
+ #
5070
+ # * `PartnerThreatProtection` — match a third-party threat feed
5071
+ # delivered through AWS Marketplace. The selected partner must be an
5072
+ # active subscription on the calling account.
5073
+ #
5074
+ # To enumerate the values supported in your account, call
5075
+ # ListFirewallRuleTypes.
4931
5076
  #
4932
5077
  # @return [Types::UpdateFirewallRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4933
5078
  #
@@ -4951,6 +5096,9 @@ module Aws::Route53Resolver
4951
5096
  # dns_threat_protection: "DGA", # accepts DGA, DNS_TUNNELING, DICTIONARY_DGA
4952
5097
  # confidence_threshold: "LOW", # accepts LOW, MEDIUM, HIGH
4953
5098
  # firewall_rule_type: {
5099
+ # partner_threat_protection: {
5100
+ # partner: "PartnerValue", # required
5101
+ # },
4954
5102
  # firewall_advanced_content_category: {
4955
5103
  # category: "FirewallAdvancedContentCategoryValue", # required
4956
5104
  # },
@@ -4983,10 +5131,13 @@ module Aws::Route53Resolver
4983
5131
  # resp.firewall_rule.qtype #=> String
4984
5132
  # resp.firewall_rule.dns_threat_protection #=> String, one of "DGA", "DNS_TUNNELING", "DICTIONARY_DGA"
4985
5133
  # resp.firewall_rule.confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
5134
+ # resp.firewall_rule.firewall_rule_type.partner_threat_protection.partner #=> String
4986
5135
  # resp.firewall_rule.firewall_rule_type.firewall_advanced_content_category.category #=> String
4987
5136
  # resp.firewall_rule.firewall_rule_type.firewall_advanced_threat_category.category #=> String
4988
5137
  # resp.firewall_rule.firewall_rule_type.dns_threat_protection.value #=> String
4989
5138
  # resp.firewall_rule.firewall_rule_type.dns_threat_protection.confidence_threshold #=> String, one of "LOW", "MEDIUM", "HIGH"
5139
+ # resp.firewall_rule.status #=> String
5140
+ # resp.firewall_rule.status_message #=> String
4990
5141
  #
4991
5142
  # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateFirewallRule AWS API Documentation
4992
5143
  #
@@ -5467,7 +5618,7 @@ module Aws::Route53Resolver
5467
5618
  tracer: tracer
5468
5619
  )
5469
5620
  context[:gem_name] = 'aws-sdk-route53resolver'
5470
- context[:gem_version] = '1.100.0'
5621
+ context[:gem_version] = '1.101.0'
5471
5622
  Seahorse::Client::Request.new(handlers, context)
5472
5623
  end
5473
5624
 
@@ -130,6 +130,8 @@ module Aws::Route53Resolver
130
130
  FirewallRuleGroupMetadataList = Shapes::ListShape.new(name: 'FirewallRuleGroupMetadataList')
131
131
  FirewallRuleGroupPolicy = Shapes::StringShape.new(name: 'FirewallRuleGroupPolicy')
132
132
  FirewallRuleGroupStatus = Shapes::StringShape.new(name: 'FirewallRuleGroupStatus')
133
+ FirewallRuleStatus = Shapes::StringShape.new(name: 'FirewallRuleStatus')
134
+ FirewallRuleStatusMessage = Shapes::StringShape.new(name: 'FirewallRuleStatusMessage')
133
135
  FirewallRuleType = Shapes::StructureShape.new(name: 'FirewallRuleType')
134
136
  FirewallRuleTypeDefinition = Shapes::StructureShape.new(name: 'FirewallRuleTypeDefinition')
135
137
  FirewallRuleTypeDefinitions = Shapes::ListShape.new(name: 'FirewallRuleTypeDefinitions')
@@ -232,8 +234,11 @@ module Aws::Route53Resolver
232
234
  OutpostResolverName = Shapes::StringShape.new(name: 'OutpostResolverName')
233
235
  OutpostResolverStatus = Shapes::StringShape.new(name: 'OutpostResolverStatus')
234
236
  OutpostResolverStatusMessage = Shapes::StringShape.new(name: 'OutpostResolverStatusMessage')
237
+ PartnerThreatProtectionConfig = Shapes::StructureShape.new(name: 'PartnerThreatProtectionConfig')
238
+ PartnerValue = Shapes::StringShape.new(name: 'PartnerValue')
235
239
  Port = Shapes::IntegerShape.new(name: 'Port')
236
240
  Priority = Shapes::IntegerShape.new(name: 'Priority')
241
+ ProductId = Shapes::StringShape.new(name: 'ProductId')
237
242
  Protocol = Shapes::StringShape.new(name: 'Protocol')
238
243
  ProtocolList = Shapes::ListShape.new(name: 'ProtocolList')
239
244
  PutFirewallRuleGroupPolicyRequest = Shapes::StructureShape.new(name: 'PutFirewallRuleGroupPolicyRequest')
@@ -293,6 +298,7 @@ module Aws::Route53Resolver
293
298
  StatusMessage = Shapes::StringShape.new(name: 'StatusMessage')
294
299
  String = Shapes::StringShape.new(name: 'String')
295
300
  SubnetId = Shapes::StringShape.new(name: 'SubnetId')
301
+ SubscriptionInfo = Shapes::StructureShape.new(name: 'SubscriptionInfo')
296
302
  Tag = Shapes::StructureShape.new(name: 'Tag')
297
303
  TagKey = Shapes::StringShape.new(name: 'TagKey')
298
304
  TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
@@ -332,6 +338,7 @@ module Aws::Route53Resolver
332
338
  UpdateResolverRuleResponse = Shapes::StructureShape.new(name: 'UpdateResolverRuleResponse')
333
339
  Validation = Shapes::StringShape.new(name: 'Validation')
334
340
  ValidationException = Shapes::StructureShape.new(name: 'ValidationException')
341
+ VendorName = Shapes::StringShape.new(name: 'VendorName')
335
342
 
336
343
  AccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "Message"))
337
344
  AccessDeniedException.struct_class = Types::AccessDeniedException
@@ -673,6 +680,8 @@ module Aws::Route53Resolver
673
680
  FirewallRule.add_member(:dns_threat_protection, Shapes::ShapeRef.new(shape: DnsThreatProtection, location_name: "DnsThreatProtection"))
674
681
  FirewallRule.add_member(:confidence_threshold, Shapes::ShapeRef.new(shape: ConfidenceThreshold, location_name: "ConfidenceThreshold"))
675
682
  FirewallRule.add_member(:firewall_rule_type, Shapes::ShapeRef.new(shape: FirewallRuleType, location_name: "FirewallRuleType"))
683
+ FirewallRule.add_member(:status, Shapes::ShapeRef.new(shape: FirewallRuleStatus, location_name: "Status"))
684
+ FirewallRule.add_member(:status_message, Shapes::ShapeRef.new(shape: FirewallRuleStatusMessage, location_name: "StatusMessage"))
676
685
  FirewallRule.struct_class = Types::FirewallRule
677
686
 
678
687
  FirewallRuleGroup.add_member(:id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "Id"))
@@ -715,6 +724,7 @@ module Aws::Route53Resolver
715
724
 
716
725
  FirewallRuleGroupMetadataList.member = Shapes::ShapeRef.new(shape: FirewallRuleGroupMetadata)
717
726
 
727
+ FirewallRuleType.add_member(:partner_threat_protection, Shapes::ShapeRef.new(shape: PartnerThreatProtectionConfig, location_name: "PartnerThreatProtection", metadata: {"box" => true}))
718
728
  FirewallRuleType.add_member(:firewall_advanced_content_category, Shapes::ShapeRef.new(shape: FirewallAdvancedContentCategoryConfig, location_name: "FirewallAdvancedContentCategory", metadata: {"box" => true}))
719
729
  FirewallRuleType.add_member(:firewall_advanced_threat_category, Shapes::ShapeRef.new(shape: FirewallAdvancedThreatCategoryConfig, location_name: "FirewallAdvancedThreatCategory", metadata: {"box" => true}))
720
730
  FirewallRuleType.add_member(:dns_threat_protection, Shapes::ShapeRef.new(shape: DnsThreatProtectionRuleTypeConfig, location_name: "DnsThreatProtection", metadata: {"box" => true}))
@@ -724,6 +734,7 @@ module Aws::Route53Resolver
724
734
  FirewallRuleTypeDefinition.add_member(:value, Shapes::ShapeRef.new(shape: RuleTypeValue, location_name: "Value"))
725
735
  FirewallRuleTypeDefinition.add_member(:display_name, Shapes::ShapeRef.new(shape: DisplayName, location_name: "DisplayName"))
726
736
  FirewallRuleTypeDefinition.add_member(:description, Shapes::ShapeRef.new(shape: RuleTypeDescription, location_name: "Description"))
737
+ FirewallRuleTypeDefinition.add_member(:subscription_info, Shapes::ShapeRef.new(shape: SubscriptionInfo, location_name: "SubscriptionInfo", metadata: {"box" => true}))
727
738
  FirewallRuleTypeDefinition.struct_class = Types::FirewallRuleTypeDefinition
728
739
 
729
740
  FirewallRuleTypeDefinitions.member = Shapes::ShapeRef.new(shape: FirewallRuleTypeDefinition)
@@ -1060,6 +1071,9 @@ module Aws::Route53Resolver
1060
1071
 
1061
1072
  OutpostResolverList.member = Shapes::ShapeRef.new(shape: OutpostResolver)
1062
1073
 
1074
+ PartnerThreatProtectionConfig.add_member(:partner, Shapes::ShapeRef.new(shape: PartnerValue, required: true, location_name: "Partner"))
1075
+ PartnerThreatProtectionConfig.struct_class = Types::PartnerThreatProtectionConfig
1076
+
1063
1077
  ProtocolList.member = Shapes::ShapeRef.new(shape: Protocol)
1064
1078
 
1065
1079
  PutFirewallRuleGroupPolicyRequest.add_member(:arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "Arn"))
@@ -1203,6 +1217,10 @@ module Aws::Route53Resolver
1203
1217
  ServiceQuotaExceededException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "Message"))
1204
1218
  ServiceQuotaExceededException.struct_class = Types::ServiceQuotaExceededException
1205
1219
 
1220
+ SubscriptionInfo.add_member(:vendor_name, Shapes::ShapeRef.new(shape: VendorName, location_name: "VendorName"))
1221
+ SubscriptionInfo.add_member(:product_id, Shapes::ShapeRef.new(shape: ProductId, location_name: "ProductId"))
1222
+ SubscriptionInfo.struct_class = Types::SubscriptionInfo
1223
+
1206
1224
  Tag.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, required: true, location_name: "Key"))
1207
1225
  Tag.add_member(:value, Shapes::ShapeRef.new(shape: TagValue, required: true, location_name: "Value"))
1208
1226
  Tag.struct_class = Types::Tag
@@ -587,7 +587,7 @@ module Aws::Route53Resolver
587
587
  # attackers to exfiltrate data from the client by using the DNS
588
588
  # tunnel without making a network connection to the client.
589
589
  #
590
- # * `DICT_DGA`: Dictionary-based domain generation algorithms
590
+ # * `DICTIONARY_DGA`: Dictionary-based domain generation algorithms
591
591
  # detection. Dictionary DGAs use wordlists to generate domains that
592
592
  # appear more legitimate, making them harder to detect than
593
593
  # traditional DGAs.
@@ -609,9 +609,26 @@ module Aws::Route53Resolver
609
609
  # @return [String]
610
610
  #
611
611
  # @!attribute [rw] firewall_rule_type
612
- # The rule type configuration for the firewall rule. This setting is
613
- # mutually exclusive with the top-level `FirewallDomainListId` and
614
- # `DnsThreatProtection` fields.
612
+ # The rule type configuration for the firewall rule. This is a tagged
613
+ # union set exactly one of its members. This setting is mutually
614
+ # exclusive with the top-level `FirewallDomainListId` and
615
+ # `DnsThreatProtection` fields. Use one of:
616
+ #
617
+ # * `FirewallAdvancedContentCategory` — match an AWS-managed content
618
+ # category (for example, `VIOLENCE_AND_HATE_SPEECH`).
619
+ #
620
+ # * `FirewallAdvancedThreatCategory` — match an AWS-managed advanced
621
+ # threat category (for example, `PHISHING`).
622
+ #
623
+ # * `DnsThreatProtection` — match a built-in DNS Firewall Advanced
624
+ # threat detector (`DGA`, `DNS_TUNNELING`, or `DICTIONARY_DGA`).
625
+ #
626
+ # * `PartnerThreatProtection` — match a third-party threat feed
627
+ # delivered through AWS Marketplace. The selected partner must be an
628
+ # active subscription on the calling account.
629
+ #
630
+ # To enumerate the values supported in your account, call
631
+ # ListFirewallRuleTypes.
615
632
  # @return [Types::FirewallRuleType]
616
633
  #
617
634
  # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateFirewallRuleEntry AWS API Documentation
@@ -827,7 +844,22 @@ module Aws::Route53Resolver
827
844
  # @return [String]
828
845
  #
829
846
  # @!attribute [rw] dns_threat_protection
830
- # Use to create a DNS Firewall Advanced rule.
847
+ # The type of the DNS Firewall Advanced rule. This setting is mutually
848
+ # exclusive with `FirewallDomainListId` and `FirewallRuleType`. Valid
849
+ # values are:
850
+ #
851
+ # * `DGA`: Domain generation algorithms detection. DGAs are used by
852
+ # attackers to generate a large number of domains to launch malware
853
+ # attacks.
854
+ #
855
+ # * `DNS_TUNNELING`: DNS tunneling detection. DNS tunneling is used by
856
+ # attackers to exfiltrate data from the client by using the DNS
857
+ # tunnel without making a network connection to the client.
858
+ #
859
+ # * `DICTIONARY_DGA`: Dictionary-based domain generation algorithms
860
+ # detection. Dictionary DGAs use wordlists to generate domains that
861
+ # appear more legitimate, making them harder to detect than
862
+ # traditional DGAs.
831
863
  # @return [String]
832
864
  #
833
865
  # @!attribute [rw] confidence_threshold
@@ -846,9 +878,26 @@ module Aws::Route53Resolver
846
878
  # @return [String]
847
879
  #
848
880
  # @!attribute [rw] firewall_rule_type
849
- # The rule type configuration for the firewall rule. This setting is
850
- # mutually exclusive with the top-level `FirewallDomainListId` and
851
- # `DnsThreatProtection` fields.
881
+ # The rule type configuration for the firewall rule. This is a tagged
882
+ # union set exactly one of its members. This setting is mutually
883
+ # exclusive with the top-level `FirewallDomainListId` and
884
+ # `DnsThreatProtection` fields. Use one of:
885
+ #
886
+ # * `FirewallAdvancedContentCategory` — match an AWS-managed content
887
+ # category (for example, `VIOLENCE_AND_HATE_SPEECH`).
888
+ #
889
+ # * `FirewallAdvancedThreatCategory` — match an AWS-managed advanced
890
+ # threat category (for example, `PHISHING`).
891
+ #
892
+ # * `DnsThreatProtection` — match a built-in DNS Firewall Advanced
893
+ # threat detector (`DGA`, `DNS_TUNNELING`, or `DICTIONARY_DGA`).
894
+ #
895
+ # * `PartnerThreatProtection` — match a third-party threat feed
896
+ # delivered through AWS Marketplace. The selected partner must be an
897
+ # active subscription on the calling account.
898
+ #
899
+ # To enumerate the values supported in your account, call
900
+ # ListFirewallRuleTypes.
852
901
  # @return [Types::FirewallRuleType]
853
902
  #
854
903
  # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateFirewallRuleRequest AWS API Documentation
@@ -1713,7 +1762,7 @@ module Aws::Route53Resolver
1713
1762
  # attackers to exfiltrate data from the client by using the DNS
1714
1763
  # tunnel without making a network connection to the client.
1715
1764
  #
1716
- # * `DICT_DGA`: Dictionary-based domain generation algorithms
1765
+ # * `DICTIONARY_DGA`: Dictionary-based domain generation algorithms
1717
1766
  # detection. Dictionary DGAs use wordlists to generate domains that
1718
1767
  # appear more legitimate, making them harder to detect than
1719
1768
  # traditional DGAs.
@@ -2327,12 +2376,17 @@ module Aws::Route53Resolver
2327
2376
  # The type of the DNS Firewall Advanced rule. Valid values are:
2328
2377
  #
2329
2378
  # * `DGA`: Domain generation algorithms detection. DGAs are used by
2330
- # attackers to generate a large number of domains to to launch
2331
- # malware attacks.
2379
+ # attackers to generate a large number of domains to launch malware
2380
+ # attacks.
2332
2381
  #
2333
2382
  # * `DNS_TUNNELING`: DNS tunneling detection. DNS tunneling is used by
2334
2383
  # attackers to exfiltrate data from the client by using the DNS
2335
2384
  # tunnel without making a network connection to the client.
2385
+ #
2386
+ # * `DICTIONARY_DGA`: Dictionary-based domain generation algorithms
2387
+ # detection. Dictionary DGAs use wordlists to generate domains that
2388
+ # appear more legitimate, making them harder to detect than
2389
+ # traditional DGAs.
2336
2390
  # @return [String]
2337
2391
  #
2338
2392
  # @!attribute [rw] confidence_threshold
@@ -2351,10 +2405,51 @@ module Aws::Route53Resolver
2351
2405
  # @return [String]
2352
2406
  #
2353
2407
  # @!attribute [rw] firewall_rule_type
2354
- # The rule type configuration for the firewall rule. Exactly one
2355
- # member of this union should be set.
2408
+ # The rule type configuration for the firewall rule. This is a tagged
2409
+ # union — exactly one of its members will be populated. Possible
2410
+ # members are:
2411
+ #
2412
+ # * `FirewallAdvancedContentCategory` — an AWS-managed content
2413
+ # category (for example, `VIOLENCE_AND_HATE_SPEECH`).
2414
+ #
2415
+ # * `FirewallAdvancedThreatCategory` — an AWS-managed advanced threat
2416
+ # category (for example, `PHISHING`).
2417
+ #
2418
+ # * `DnsThreatProtection` — a built-in DNS Firewall Advanced threat
2419
+ # detector (`DGA`, `DNS_TUNNELING`, or `DICTIONARY_DGA`).
2420
+ #
2421
+ # * `PartnerThreatProtection` — a third-party threat feed delivered
2422
+ # through AWS Marketplace.
2423
+ #
2424
+ # To enumerate the values supported in your account, call
2425
+ # ListFirewallRuleTypes.
2356
2426
  # @return [Types::FirewallRuleType]
2357
2427
  #
2428
+ # @!attribute [rw] status
2429
+ # The lifecycle state of the firewall rule. Possible values:
2430
+ #
2431
+ # * `CREATING` — DNS Firewall is provisioning the rule. Rules created
2432
+ # with the `PartnerThreatProtection` rule type begin in this state
2433
+ # while DNS Firewall verifies the calling account's AWS Marketplace
2434
+ # entitlement.
2435
+ #
2436
+ # * `COMPLETE` — The rule is provisioned and enforcing matches.
2437
+ #
2438
+ # * `CREATION_FAILED` — Provisioning failed. `StatusMessage` contains
2439
+ # a human-readable reason. A rule in this state is immutable:
2440
+ # UpdateFirewallRule rejects the request, and the rule must be
2441
+ # removed with DeleteFirewallRule.
2442
+ #
2443
+ # For rules that do not require asynchronous provisioning, this field
2444
+ # may be absent.
2445
+ # @return [String]
2446
+ #
2447
+ # @!attribute [rw] status_message
2448
+ # An additional message about the rule's lifecycle state. Populated
2449
+ # when `Status` is `CREATION_FAILED` to describe why provisioning
2450
+ # failed.
2451
+ # @return [String]
2452
+ #
2358
2453
  # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/FirewallRule AWS API Documentation
2359
2454
  #
2360
2455
  class FirewallRule < Struct.new(
@@ -2375,7 +2470,9 @@ module Aws::Route53Resolver
2375
2470
  :qtype,
2376
2471
  :dns_threat_protection,
2377
2472
  :confidence_threshold,
2378
- :firewall_rule_type)
2473
+ :firewall_rule_type,
2474
+ :status,
2475
+ :status_message)
2379
2476
  SENSITIVE = []
2380
2477
  include Aws::Structure
2381
2478
  end
@@ -2599,25 +2696,47 @@ module Aws::Route53Resolver
2599
2696
  include Aws::Structure
2600
2697
  end
2601
2698
 
2602
- # The configuration for a rule type in a DNS Firewall rule. This is a
2603
- # union type — exactly one member should be set.
2699
+ # The rule-type configuration for a DNS Firewall rule.
2700
+ # `FirewallRuleType` is a tagged union — exactly one member must be set
2701
+ # per rule, and the member determines what the rule matches against.
2702
+ # This shape is mutually exclusive with the top-level
2703
+ # `FirewallDomainListId` and `DnsThreatProtection` fields on
2704
+ # CreateFirewallRule and UpdateFirewallRule.
2705
+ #
2706
+ # Call ListFirewallRuleTypes to discover which rule-type variants and
2707
+ # which values within each variant are available in your account and
2708
+ # Region.
2709
+ #
2710
+ # @!attribute [rw] partner_threat_protection
2711
+ # Configures the rule to match a third-party threat feed delivered
2712
+ # through AWS Marketplace. The calling account must hold an active
2713
+ # subscription to the partner product named in `Partner`; if the
2714
+ # subscription is missing or revoked, the rule is created with
2715
+ # `Status` `CREATION_FAILED` and cannot be modified — only deleted.
2716
+ # See PartnerThreatProtectionConfig.
2717
+ # @return [Types::PartnerThreatProtectionConfig]
2604
2718
  #
2605
2719
  # @!attribute [rw] firewall_advanced_content_category
2606
- # The configuration for a content category-based filtering rule.
2720
+ # Configures the rule to match an AWS-managed content category (for
2721
+ # example, `VIOLENCE_AND_HATE_SPEECH`). See
2722
+ # FirewallAdvancedContentCategoryConfig.
2607
2723
  # @return [Types::FirewallAdvancedContentCategoryConfig]
2608
2724
  #
2609
2725
  # @!attribute [rw] firewall_advanced_threat_category
2610
- # The configuration for a threat category-based filtering rule.
2726
+ # Configures the rule to match an AWS-managed advanced threat category
2727
+ # (for example, `PHISHING`). See FirewallAdvancedThreatCategoryConfig.
2611
2728
  # @return [Types::FirewallAdvancedThreatCategoryConfig]
2612
2729
  #
2613
2730
  # @!attribute [rw] dns_threat_protection
2614
- # The configuration for a DNS threat protection rule type, such as DGA
2615
- # or DNS tunneling detection.
2731
+ # Configures the rule to match a built-in DNS Firewall Advanced threat
2732
+ # detector — `DGA`, `DNS_TUNNELING`, or `DICTIONARY_DGA`. See
2733
+ # DnsThreatProtectionRuleTypeConfig.
2616
2734
  # @return [Types::DnsThreatProtectionRuleTypeConfig]
2617
2735
  #
2618
2736
  # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/FirewallRuleType AWS API Documentation
2619
2737
  #
2620
2738
  class FirewallRuleType < Struct.new(
2739
+ :partner_threat_protection,
2621
2740
  :firewall_advanced_content_category,
2622
2741
  :firewall_advanced_threat_category,
2623
2742
  :dns_threat_protection)
@@ -2647,13 +2766,22 @@ module Aws::Route53Resolver
2647
2766
  # A description of the rule type.
2648
2767
  # @return [String]
2649
2768
  #
2769
+ # @!attribute [rw] subscription_info
2770
+ # For rule types that require an external subscription (today, only
2771
+ # the `PartnerThreatProtection` variant), describes the AWS
2772
+ # Marketplace product that backs the rule type. Absent for rule types
2773
+ # that are managed by AWS and do not require a separate subscription.
2774
+ # See SubscriptionInfo.
2775
+ # @return [Types::SubscriptionInfo]
2776
+ #
2650
2777
  # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/FirewallRuleTypeDefinition AWS API Documentation
2651
2778
  #
2652
2779
  class FirewallRuleTypeDefinition < Struct.new(
2653
2780
  :rule_type,
2654
2781
  :value,
2655
2782
  :display_name,
2656
- :description)
2783
+ :description,
2784
+ :subscription_info)
2657
2785
  SENSITIVE = []
2658
2786
  include Aws::Structure
2659
2787
  end
@@ -3625,8 +3753,11 @@ module Aws::Route53Resolver
3625
3753
  end
3626
3754
 
3627
3755
  # @!attribute [rw] rule_type
3628
- # The rule type to filter by. If specified, only rule types matching
3629
- # this value are returned.
3756
+ # An optional filter that restricts the response to a single
3757
+ # FirewallRuleType variant. Supported values:
3758
+ # `FirewallAdvancedContentCategory`, `FirewallAdvancedThreatCategory`,
3759
+ # `DnsThreatProtection`, and `PartnerThreatProtection`. If omitted,
3760
+ # definitions across all variants are returned.
3630
3761
  # @return [String]
3631
3762
  #
3632
3763
  # @!attribute [rw] max_results
@@ -4601,6 +4732,27 @@ module Aws::Route53Resolver
4601
4732
  include Aws::Structure
4602
4733
  end
4603
4734
 
4735
+ # The configuration for a partner threat-protection rule. To enumerate
4736
+ # the partners available in your account, call ListFirewallRuleTypes
4737
+ # with `RuleType` set to `PartnerThreatProtection` — each returned
4738
+ # FirewallRuleTypeDefinition includes a SubscriptionInfo identifying the
4739
+ # AWS Marketplace product that backs it.
4740
+ #
4741
+ # @!attribute [rw] partner
4742
+ # The identifier of the partner threat-protection product, exactly as
4743
+ # returned in the `Value` field of a FirewallRuleTypeDefinition with
4744
+ # `RuleType` set to `PartnerThreatProtection`. The calling account
4745
+ # must hold an active AWS Marketplace subscription to this product.
4746
+ # @return [String]
4747
+ #
4748
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/PartnerThreatProtectionConfig AWS API Documentation
4749
+ #
4750
+ class PartnerThreatProtectionConfig < Struct.new(
4751
+ :partner)
4752
+ SENSITIVE = []
4753
+ include Aws::Structure
4754
+ end
4755
+
4604
4756
  # @!attribute [rw] arn
4605
4757
  # The ARN (Amazon Resource Name) for the rule group that you want to
4606
4758
  # share.
@@ -5544,6 +5696,32 @@ module Aws::Route53Resolver
5544
5696
  include Aws::Structure
5545
5697
  end
5546
5698
 
5699
+ # Identifies the AWS Marketplace product that backs a partner-managed
5700
+ # rule type. Returned as part of FirewallRuleTypeDefinition when the
5701
+ # rule type variant requires an active customer subscription to the
5702
+ # named product.
5703
+ #
5704
+ # @!attribute [rw] vendor_name
5705
+ # The name of the AWS Marketplace seller (vendor) that publishes the
5706
+ # partner threat-protection product (for example, `Palo Alto
5707
+ # Networks`).
5708
+ # @return [String]
5709
+ #
5710
+ # @!attribute [rw] product_id
5711
+ # The AWS Marketplace product identifier of the partner
5712
+ # threat-protection product. Use this value to verify or manage the
5713
+ # calling account's subscription in AWS Marketplace.
5714
+ # @return [String]
5715
+ #
5716
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/SubscriptionInfo AWS API Documentation
5717
+ #
5718
+ class SubscriptionInfo < Struct.new(
5719
+ :vendor_name,
5720
+ :product_id)
5721
+ SENSITIVE = []
5722
+ include Aws::Structure
5723
+ end
5724
+
5547
5725
  # One tag that you want to add to the specified resource. A tag consists
5548
5726
  # of a `Key` (a name for the tag) and a `Value`.
5549
5727
  #
@@ -5984,7 +6162,7 @@ module Aws::Route53Resolver
5984
6162
  # attackers to exfiltrate data from the client by using the DNS
5985
6163
  # tunnel without making a network connection to the client.
5986
6164
  #
5987
- # * `DICT_DGA`: Dictionary-based domain generation algorithms
6165
+ # * `DICTIONARY_DGA`: Dictionary-based domain generation algorithms
5988
6166
  # detection. Dictionary DGAs use wordlists to generate domains that
5989
6167
  # appear more legitimate, making them harder to detect than
5990
6168
  # traditional DGAs.
@@ -6006,9 +6184,26 @@ module Aws::Route53Resolver
6006
6184
  # @return [String]
6007
6185
  #
6008
6186
  # @!attribute [rw] firewall_rule_type
6009
- # The rule type configuration for the firewall rule. This setting is
6010
- # mutually exclusive with the top-level `FirewallDomainListId` and
6011
- # `DnsThreatProtection` fields.
6187
+ # The rule type configuration for the firewall rule. This is a tagged
6188
+ # union set exactly one of its members. This setting is mutually
6189
+ # exclusive with the top-level `FirewallDomainListId` and
6190
+ # `DnsThreatProtection` fields. Use one of:
6191
+ #
6192
+ # * `FirewallAdvancedContentCategory` — match an AWS-managed content
6193
+ # category (for example, `VIOLENCE_AND_HATE_SPEECH`).
6194
+ #
6195
+ # * `FirewallAdvancedThreatCategory` — match an AWS-managed advanced
6196
+ # threat category (for example, `PHISHING`).
6197
+ #
6198
+ # * `DnsThreatProtection` — match a built-in DNS Firewall Advanced
6199
+ # threat detector (`DGA`, `DNS_TUNNELING`, or `DICTIONARY_DGA`).
6200
+ #
6201
+ # * `PartnerThreatProtection` — match a third-party threat feed
6202
+ # delivered through AWS Marketplace. The selected partner must be an
6203
+ # active subscription on the calling account.
6204
+ #
6205
+ # To enumerate the values supported in your account, call
6206
+ # ListFirewallRuleTypes.
6012
6207
  # @return [Types::FirewallRuleType]
6013
6208
  #
6014
6209
  # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateFirewallRuleEntry AWS API Documentation
@@ -6220,15 +6415,22 @@ module Aws::Route53Resolver
6220
6415
  # @return [String]
6221
6416
  #
6222
6417
  # @!attribute [rw] dns_threat_protection
6223
- # The type of the DNS Firewall Advanced rule. Valid values are:
6418
+ # The type of the DNS Firewall Advanced rule. This setting is mutually
6419
+ # exclusive with `FirewallDomainListId` and `FirewallRuleType`. Valid
6420
+ # values are:
6224
6421
  #
6225
6422
  # * `DGA`: Domain generation algorithms detection. DGAs are used by
6226
- # attackers to generate a large number of domains to to launch
6227
- # malware attacks.
6423
+ # attackers to generate a large number of domains to launch malware
6424
+ # attacks.
6228
6425
  #
6229
6426
  # * `DNS_TUNNELING`: DNS tunneling detection. DNS tunneling is used by
6230
6427
  # attackers to exfiltrate data from the client by using the DNS
6231
6428
  # tunnel without making a network connection to the client.
6429
+ #
6430
+ # * `DICTIONARY_DGA`: Dictionary-based domain generation algorithms
6431
+ # detection. Dictionary DGAs use wordlists to generate domains that
6432
+ # appear more legitimate, making them harder to detect than
6433
+ # traditional DGAs.
6232
6434
  # @return [String]
6233
6435
  #
6234
6436
  # @!attribute [rw] confidence_threshold
@@ -6247,9 +6449,26 @@ module Aws::Route53Resolver
6247
6449
  # @return [String]
6248
6450
  #
6249
6451
  # @!attribute [rw] firewall_rule_type
6250
- # The rule type configuration for the firewall rule. This setting is
6251
- # mutually exclusive with the top-level `FirewallDomainListId` and
6252
- # `DnsThreatProtection` fields.
6452
+ # The rule type configuration for the firewall rule. This is a tagged
6453
+ # union set exactly one of its members. This setting is mutually
6454
+ # exclusive with the top-level `FirewallDomainListId` and
6455
+ # `DnsThreatProtection` fields. Use one of:
6456
+ #
6457
+ # * `FirewallAdvancedContentCategory` — match an AWS-managed content
6458
+ # category (for example, `VIOLENCE_AND_HATE_SPEECH`).
6459
+ #
6460
+ # * `FirewallAdvancedThreatCategory` — match an AWS-managed advanced
6461
+ # threat category (for example, `PHISHING`).
6462
+ #
6463
+ # * `DnsThreatProtection` — match a built-in DNS Firewall Advanced
6464
+ # threat detector (`DGA`, `DNS_TUNNELING`, or `DICTIONARY_DGA`).
6465
+ #
6466
+ # * `PartnerThreatProtection` — match a third-party threat feed
6467
+ # delivered through AWS Marketplace. The selected partner must be an
6468
+ # active subscription on the calling account.
6469
+ #
6470
+ # To enumerate the values supported in your account, call
6471
+ # ListFirewallRuleTypes.
6253
6472
  # @return [Types::FirewallRuleType]
6254
6473
  #
6255
6474
  # @see http://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateFirewallRuleRequest AWS API Documentation
@@ -54,7 +54,7 @@ module Aws::Route53Resolver
54
54
  autoload :EndpointProvider, 'aws-sdk-route53resolver/endpoint_provider'
55
55
  autoload :Endpoints, 'aws-sdk-route53resolver/endpoints'
56
56
 
57
- GEM_VERSION = '1.100.0'
57
+ GEM_VERSION = '1.101.0'
58
58
 
59
59
  end
60
60
 
data/sig/params.rbs CHANGED
@@ -9,6 +9,9 @@ module Aws
9
9
  module Route53Resolver
10
10
  module Params
11
11
  type firewall_rule_type = {
12
+ partner_threat_protection: {
13
+ partner: ::String
14
+ }?,
12
15
  firewall_advanced_content_category: {
13
16
  category: ::String
14
17
  }?,
data/sig/types.rbs CHANGED
@@ -457,6 +457,8 @@ module Aws::Route53Resolver
457
457
  attr_accessor dns_threat_protection: ("DGA" | "DNS_TUNNELING" | "DICTIONARY_DGA")
458
458
  attr_accessor confidence_threshold: ("LOW" | "MEDIUM" | "HIGH")
459
459
  attr_accessor firewall_rule_type: Types::FirewallRuleType
460
+ attr_accessor status: ::String
461
+ attr_accessor status_message: ::String
460
462
  SENSITIVE: []
461
463
  end
462
464
 
@@ -503,6 +505,7 @@ module Aws::Route53Resolver
503
505
  end
504
506
 
505
507
  class FirewallRuleType
508
+ attr_accessor partner_threat_protection: Types::PartnerThreatProtectionConfig
506
509
  attr_accessor firewall_advanced_content_category: Types::FirewallAdvancedContentCategoryConfig
507
510
  attr_accessor firewall_advanced_threat_category: Types::FirewallAdvancedThreatCategoryConfig
508
511
  attr_accessor dns_threat_protection: Types::DnsThreatProtectionRuleTypeConfig
@@ -514,6 +517,7 @@ module Aws::Route53Resolver
514
517
  attr_accessor value: ::String
515
518
  attr_accessor display_name: ::String
516
519
  attr_accessor description: ::String
520
+ attr_accessor subscription_info: Types::SubscriptionInfo
517
521
  SENSITIVE: []
518
522
  end
519
523
 
@@ -725,7 +729,7 @@ module Aws::Route53Resolver
725
729
  attr_accessor subnet_id: ::String
726
730
  attr_accessor ip: ::String
727
731
  attr_accessor ipv_6: ::String
728
- attr_accessor status: ("CREATING" | "FAILED_CREATION" | "ATTACHING" | "ATTACHED" | "REMAP_DETACHING" | "REMAP_ATTACHING" | "DETACHING" | "FAILED_RESOURCE_GONE" | "DELETING" | "DELETE_FAILED_FAS_EXPIRED" | "UPDATING" | "UPDATE_FAILED" | "ISOLATED")
732
+ attr_accessor status: ("CREATING" | "FAILED_CREATION" | "FAILED_CREATION_INSUFFICIENT_EC2_CAPACITY_IN_OUTPOST" | "ATTACHING" | "ATTACHED" | "REMAP_DETACHING" | "REMAP_ATTACHING" | "DETACHING" | "FAILED_RESOURCE_GONE" | "DELETING" | "DELETE_FAILED_FAS_EXPIRED" | "UPDATING" | "UPDATE_FAILED" | "ISOLATED")
729
733
  attr_accessor status_message: ::String
730
734
  attr_accessor creation_time: ::String
731
735
  attr_accessor modification_time: ::String
@@ -995,6 +999,11 @@ module Aws::Route53Resolver
995
999
  SENSITIVE: []
996
1000
  end
997
1001
 
1002
+ class PartnerThreatProtectionConfig
1003
+ attr_accessor partner: ::String
1004
+ SENSITIVE: []
1005
+ end
1006
+
998
1007
  class PutFirewallRuleGroupPolicyRequest
999
1008
  attr_accessor arn: ::String
1000
1009
  attr_accessor firewall_rule_group_policy: ::String
@@ -1158,6 +1167,12 @@ module Aws::Route53Resolver
1158
1167
  SENSITIVE: []
1159
1168
  end
1160
1169
 
1170
+ class SubscriptionInfo
1171
+ attr_accessor vendor_name: ::String
1172
+ attr_accessor product_id: ::String
1173
+ SENSITIVE: []
1174
+ end
1175
+
1161
1176
  class Tag
1162
1177
  attr_accessor key: ::String
1163
1178
  attr_accessor value: ::String
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-route53resolver
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.100.0
4
+ version: 1.101.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services