aws-sdk-networkfirewall 1.100.0 → 1.102.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: a0dd770cab55fb1827a39a17569190dc63c300a9c0b029713d2523ebecb5dcc8
4
- data.tar.gz: e1a62c5c6b50dd55fb48fe8d830e8db3be44d15c9e45e3520a843fbde57a9a96
3
+ metadata.gz: 8d95481e84999a06af3f932e14065ec9bcc5d3a37eb1fcfd22d9090fe8200fdc
4
+ data.tar.gz: db9012f7dbdd99d0fda7252f276f5911e5f54f15a1164de5047c6c88c076a210
5
5
  SHA512:
6
- metadata.gz: aead6f403d29f1968cbd837a20f626226be6d9299ccf1695ebf7b3a795496133f596e6f257c63812d8161d4254c3906fd732288d1c69990dccb65fbf706dc219
7
- data.tar.gz: c1505c536c4ac51d836418a82592a85b8b7f187b75f693528547b3d5c148f03af73043a106c9197bedf6a7f2d12bfa8d4f61f603d718683bf1f72dda2a562162
6
+ metadata.gz: 6cfc7df260b361d403dbe64068bb3f3316beea454f69c6dc9e5f71602337462559f4e9cd81168e10c70771a71fc3dd22c5b728acd12523652199fe88105b718d
7
+ data.tar.gz: bedeea5a8b525d9e8499f51bcce511ce64db1395d2281120c972c4e75c966b878bbb76b1c49b1f740b01b86d4ff61828cefaa8116387cfc6561145e26c7408c6
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.102.0 (2026-10-21)
5
+ ------------------
6
+
7
+ * Feature - Adds support for Network Firewall Resolved IP validation.
8
+
9
+ 1.101.0 (2026-10-20)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
4
14
  1.100.0 (2026-10-19)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.100.0
1
+ 1.102.0
@@ -199,13 +199,20 @@ module Aws::NetworkFirewall
199
199
  # the required types.
200
200
  #
201
201
  # @option options [Boolean] :correct_clock_skew (true)
202
- # Used only in `standard` and `adaptive` retry modes. Specifies whether to apply
203
- # a clock skew correction and retry requests with skewed client clocks.
202
+ # Used only in `standard` and `adaptive` retry modes. Specifies whether
203
+ # to apply a clock skew correction and retry requests with skewed client
204
+ # clocks. Takes effect only when `disable_clock_skew_correction` is not set.
204
205
  #
205
206
  # @option options [String] :defaults_mode ("legacy")
206
207
  # See {Aws::DefaultsModeConfiguration} for a list of the
207
208
  # accepted modes and the configuration defaults that are included.
208
209
  #
210
+ # @option options [Boolean] :disable_clock_skew_correction
211
+ # Used only in `standard` and `adaptive` retry modes. When `true`, the
212
+ # SDK does not apply a clock skew correction, does not update its stored
213
+ # skew from responses, and does not retry clock skew errors. Clock skew
214
+ # correction is enabled by default.
215
+ #
209
216
  # @option options [Boolean] :disable_host_prefix_injection (false)
210
217
  # When `true`, the SDK will not prepend the modeled host prefix to the endpoint.
211
218
  #
@@ -1324,6 +1331,21 @@ module Aws::NetworkFirewall
1324
1331
  # },
1325
1332
  # },
1326
1333
  # enable_tls_session_holding: false,
1334
+ # route_53_resolved_ip_validation: {
1335
+ # action: "REJECT", # required, accepts REJECT, DROP, ALERT
1336
+ # dns_firewall_rule_group_id: "DNSFirewallRuleGroupId", # required
1337
+ # dns_expiry_exception_policy: "REJECT", # required, accepts REJECT, DROP, CONTINUE
1338
+ # bypass_destination_validation_ip_ranges: [
1339
+ # {
1340
+ # address_definition: "AddressDefinition", # required
1341
+ # },
1342
+ # ],
1343
+ # source_ip_ranges: [
1344
+ # {
1345
+ # address_definition: "AddressDefinition", # required
1346
+ # },
1347
+ # ],
1348
+ # },
1327
1349
  # },
1328
1350
  # description: "Description",
1329
1351
  # tags: [
@@ -1346,7 +1368,8 @@ module Aws::NetworkFirewall
1346
1368
  # resp.firewall_policy_response.firewall_policy_arn #=> String
1347
1369
  # resp.firewall_policy_response.firewall_policy_id #=> String
1348
1370
  # resp.firewall_policy_response.description #=> String
1349
- # resp.firewall_policy_response.firewall_policy_status #=> String, one of "ACTIVE", "DELETING", "ERROR"
1371
+ # resp.firewall_policy_response.firewall_policy_status #=> String, one of "ACTIVE", "DELETING", "ERROR", "UPDATING"
1372
+ # resp.firewall_policy_response.status_message #=> String
1350
1373
  # resp.firewall_policy_response.tags #=> Array
1351
1374
  # resp.firewall_policy_response.tags[0].key #=> String
1352
1375
  # resp.firewall_policy_response.tags[0].value #=> String
@@ -1356,6 +1379,10 @@ module Aws::NetworkFirewall
1356
1379
  # resp.firewall_policy_response.number_of_associations #=> Integer
1357
1380
  # resp.firewall_policy_response.encryption_configuration.key_id #=> String
1358
1381
  # resp.firewall_policy_response.encryption_configuration.type #=> String, one of "CUSTOMER_KMS", "AWS_OWNED_KMS_KEY"
1382
+ # resp.firewall_policy_response.errors #=> Array
1383
+ # resp.firewall_policy_response.errors[0].code #=> String, one of "DNS_FIREWALL_RULE_GROUP_UNAVAILABLE", "ROUTE53_RESOLVED_IP_VALIDATION_MISSING"
1384
+ # resp.firewall_policy_response.errors[0].message #=> String
1385
+ # resp.firewall_policy_response.errors[0].resource_id #=> String
1359
1386
  # resp.firewall_policy_response.last_modified_time #=> Time
1360
1387
  #
1361
1388
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/CreateFirewallPolicy AWS API Documentation
@@ -1997,7 +2024,7 @@ module Aws::NetworkFirewall
1997
2024
  # rules_string: "RulesString",
1998
2025
  # rules_source_list: {
1999
2026
  # targets: ["CollectionMember_String"], # required
2000
- # target_types: ["TLS_SNI"], # required, accepts TLS_SNI, HTTP_HOST
2027
+ # target_types: ["TLS_SNI"], # required, accepts TLS_SNI, HTTP_HOST, AWS_ROUTE_53_RESOLVED_DOMAIN
2001
2028
  # generated_rules_type: "ALLOWLIST", # required, accepts ALLOWLIST, DENYLIST, REJECTLIST, ALERTLIST
2002
2029
  # },
2003
2030
  # stateful_rules: [
@@ -2113,7 +2140,7 @@ module Aws::NetworkFirewall
2113
2140
  # resp.rule_group_response.description #=> String
2114
2141
  # resp.rule_group_response.type #=> String, one of "STATELESS", "STATEFUL", "STATEFUL_DOMAIN"
2115
2142
  # resp.rule_group_response.capacity #=> Integer
2116
- # resp.rule_group_response.rule_group_status #=> String, one of "ACTIVE", "DELETING", "ERROR"
2143
+ # resp.rule_group_response.rule_group_status #=> String, one of "ACTIVE", "DELETING", "ERROR", "UPDATING"
2117
2144
  # resp.rule_group_response.tags #=> Array
2118
2145
  # resp.rule_group_response.tags[0].key #=> String
2119
2146
  # resp.rule_group_response.tags[0].value #=> String
@@ -2292,7 +2319,7 @@ module Aws::NetworkFirewall
2292
2319
  # resp.tls_inspection_configuration_response.tls_inspection_configuration_arn #=> String
2293
2320
  # resp.tls_inspection_configuration_response.tls_inspection_configuration_name #=> String
2294
2321
  # resp.tls_inspection_configuration_response.tls_inspection_configuration_id #=> String
2295
- # resp.tls_inspection_configuration_response.tls_inspection_configuration_status #=> String, one of "ACTIVE", "DELETING", "ERROR"
2322
+ # resp.tls_inspection_configuration_response.tls_inspection_configuration_status #=> String, one of "ACTIVE", "DELETING", "ERROR", "UPDATING"
2296
2323
  # resp.tls_inspection_configuration_response.description #=> String
2297
2324
  # resp.tls_inspection_configuration_response.tags #=> Array
2298
2325
  # resp.tls_inspection_configuration_response.tags[0].key #=> String
@@ -2581,7 +2608,8 @@ module Aws::NetworkFirewall
2581
2608
  # resp.firewall_policy_response.firewall_policy_arn #=> String
2582
2609
  # resp.firewall_policy_response.firewall_policy_id #=> String
2583
2610
  # resp.firewall_policy_response.description #=> String
2584
- # resp.firewall_policy_response.firewall_policy_status #=> String, one of "ACTIVE", "DELETING", "ERROR"
2611
+ # resp.firewall_policy_response.firewall_policy_status #=> String, one of "ACTIVE", "DELETING", "ERROR", "UPDATING"
2612
+ # resp.firewall_policy_response.status_message #=> String
2585
2613
  # resp.firewall_policy_response.tags #=> Array
2586
2614
  # resp.firewall_policy_response.tags[0].key #=> String
2587
2615
  # resp.firewall_policy_response.tags[0].value #=> String
@@ -2591,6 +2619,10 @@ module Aws::NetworkFirewall
2591
2619
  # resp.firewall_policy_response.number_of_associations #=> Integer
2592
2620
  # resp.firewall_policy_response.encryption_configuration.key_id #=> String
2593
2621
  # resp.firewall_policy_response.encryption_configuration.type #=> String, one of "CUSTOMER_KMS", "AWS_OWNED_KMS_KEY"
2622
+ # resp.firewall_policy_response.errors #=> Array
2623
+ # resp.firewall_policy_response.errors[0].code #=> String, one of "DNS_FIREWALL_RULE_GROUP_UNAVAILABLE", "ROUTE53_RESOLVED_IP_VALIDATION_MISSING"
2624
+ # resp.firewall_policy_response.errors[0].message #=> String
2625
+ # resp.firewall_policy_response.errors[0].resource_id #=> String
2594
2626
  # resp.firewall_policy_response.last_modified_time #=> Time
2595
2627
  #
2596
2628
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteFirewallPolicy AWS API Documentation
@@ -2909,7 +2941,7 @@ module Aws::NetworkFirewall
2909
2941
  # resp.rule_group_response.description #=> String
2910
2942
  # resp.rule_group_response.type #=> String, one of "STATELESS", "STATEFUL", "STATEFUL_DOMAIN"
2911
2943
  # resp.rule_group_response.capacity #=> Integer
2912
- # resp.rule_group_response.rule_group_status #=> String, one of "ACTIVE", "DELETING", "ERROR"
2944
+ # resp.rule_group_response.rule_group_status #=> String, one of "ACTIVE", "DELETING", "ERROR", "UPDATING"
2913
2945
  # resp.rule_group_response.tags #=> Array
2914
2946
  # resp.rule_group_response.tags[0].key #=> String
2915
2947
  # resp.rule_group_response.tags[0].value #=> String
@@ -2967,7 +2999,7 @@ module Aws::NetworkFirewall
2967
2999
  # resp.tls_inspection_configuration_response.tls_inspection_configuration_arn #=> String
2968
3000
  # resp.tls_inspection_configuration_response.tls_inspection_configuration_name #=> String
2969
3001
  # resp.tls_inspection_configuration_response.tls_inspection_configuration_id #=> String
2970
- # resp.tls_inspection_configuration_response.tls_inspection_configuration_status #=> String, one of "ACTIVE", "DELETING", "ERROR"
3002
+ # resp.tls_inspection_configuration_response.tls_inspection_configuration_status #=> String, one of "ACTIVE", "DELETING", "ERROR", "UPDATING"
2971
3003
  # resp.tls_inspection_configuration_response.description #=> String
2972
3004
  # resp.tls_inspection_configuration_response.tags #=> Array
2973
3005
  # resp.tls_inspection_configuration_response.tags[0].key #=> String
@@ -3279,7 +3311,8 @@ module Aws::NetworkFirewall
3279
3311
  # resp.firewall_policy_response.firewall_policy_arn #=> String
3280
3312
  # resp.firewall_policy_response.firewall_policy_id #=> String
3281
3313
  # resp.firewall_policy_response.description #=> String
3282
- # resp.firewall_policy_response.firewall_policy_status #=> String, one of "ACTIVE", "DELETING", "ERROR"
3314
+ # resp.firewall_policy_response.firewall_policy_status #=> String, one of "ACTIVE", "DELETING", "ERROR", "UPDATING"
3315
+ # resp.firewall_policy_response.status_message #=> String
3283
3316
  # resp.firewall_policy_response.tags #=> Array
3284
3317
  # resp.firewall_policy_response.tags[0].key #=> String
3285
3318
  # resp.firewall_policy_response.tags[0].value #=> String
@@ -3289,6 +3322,10 @@ module Aws::NetworkFirewall
3289
3322
  # resp.firewall_policy_response.number_of_associations #=> Integer
3290
3323
  # resp.firewall_policy_response.encryption_configuration.key_id #=> String
3291
3324
  # resp.firewall_policy_response.encryption_configuration.type #=> String, one of "CUSTOMER_KMS", "AWS_OWNED_KMS_KEY"
3325
+ # resp.firewall_policy_response.errors #=> Array
3326
+ # resp.firewall_policy_response.errors[0].code #=> String, one of "DNS_FIREWALL_RULE_GROUP_UNAVAILABLE", "ROUTE53_RESOLVED_IP_VALIDATION_MISSING"
3327
+ # resp.firewall_policy_response.errors[0].message #=> String
3328
+ # resp.firewall_policy_response.errors[0].resource_id #=> String
3292
3329
  # resp.firewall_policy_response.last_modified_time #=> Time
3293
3330
  # resp.firewall_policy.stateless_rule_group_references #=> Array
3294
3331
  # resp.firewall_policy.stateless_rule_group_references[0].resource_arn #=> String
@@ -3316,6 +3353,18 @@ module Aws::NetworkFirewall
3316
3353
  # resp.firewall_policy.policy_variables.rule_variables["RuleVariableName"].definition #=> Array
3317
3354
  # resp.firewall_policy.policy_variables.rule_variables["RuleVariableName"].definition[0] #=> String
3318
3355
  # resp.firewall_policy.enable_tls_session_holding #=> Boolean
3356
+ # resp.firewall_policy.route_53_resolved_ip_validation.action #=> String, one of "REJECT", "DROP", "ALERT"
3357
+ # resp.firewall_policy.route_53_resolved_ip_validation.dns_firewall_rule_group_id #=> String
3358
+ # resp.firewall_policy.route_53_resolved_ip_validation.dns_expiry_exception_policy #=> String, one of "REJECT", "DROP", "CONTINUE"
3359
+ # resp.firewall_policy.route_53_resolved_ip_validation.bypass_destination_validation_ip_ranges #=> Array
3360
+ # resp.firewall_policy.route_53_resolved_ip_validation.bypass_destination_validation_ip_ranges[0].address_definition #=> String
3361
+ # resp.firewall_policy.route_53_resolved_ip_validation.source_ip_ranges #=> Array
3362
+ # resp.firewall_policy.route_53_resolved_ip_validation.source_ip_ranges[0].address_definition #=> String
3363
+ #
3364
+ #
3365
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
3366
+ #
3367
+ # * firewall_policy_active
3319
3368
  #
3320
3369
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeFirewallPolicy AWS API Documentation
3321
3370
  #
@@ -3332,12 +3381,20 @@ module Aws::NetworkFirewall
3332
3381
  # The Amazon Resource Name (ARN) of the firewall.
3333
3382
  #
3334
3383
  # @option params [String] :availability_zone
3335
- # The ID of the Availability Zone where the firewall is located. For
3384
+ # The name of the Availability Zone where the firewall is located. For
3336
3385
  # example, `us-east-2a`.
3337
3386
  #
3338
3387
  # Defines the scope a flow operation. You can use up to 20 filters to
3339
3388
  # configure a single flow operation.
3340
3389
  #
3390
+ # @option params [String] :availability_zone_id
3391
+ # The ID of the Availability Zone where the firewall is located. For
3392
+ # example, `use2-az1`. Availability Zone IDs are the same in every
3393
+ # Amazon Web Services account, so use this parameter when you coordinate
3394
+ # resources across accounts. Specify either `AvailabilityZone` or
3395
+ # `AvailabilityZoneId`, not both. If you specify both, the request
3396
+ # fails.
3397
+ #
3341
3398
  # @option params [String] :vpc_endpoint_association_arn
3342
3399
  # The Amazon Resource Name (ARN) of a VPC endpoint association.
3343
3400
  #
@@ -3354,6 +3411,7 @@ module Aws::NetworkFirewall
3354
3411
  #
3355
3412
  # * {Types::DescribeFlowOperationResponse#firewall_arn #firewall_arn} => String
3356
3413
  # * {Types::DescribeFlowOperationResponse#availability_zone #availability_zone} => String
3414
+ # * {Types::DescribeFlowOperationResponse#availability_zone_id #availability_zone_id} => String
3357
3415
  # * {Types::DescribeFlowOperationResponse#vpc_endpoint_association_arn #vpc_endpoint_association_arn} => String
3358
3416
  # * {Types::DescribeFlowOperationResponse#vpc_endpoint_id #vpc_endpoint_id} => String
3359
3417
  # * {Types::DescribeFlowOperationResponse#flow_operation_id #flow_operation_id} => String
@@ -3368,6 +3426,7 @@ module Aws::NetworkFirewall
3368
3426
  # resp = client.describe_flow_operation({
3369
3427
  # firewall_arn: "ResourceArn", # required
3370
3428
  # availability_zone: "AvailabilityZone",
3429
+ # availability_zone_id: "AvailabilityZoneId",
3371
3430
  # vpc_endpoint_association_arn: "ResourceArn",
3372
3431
  # vpc_endpoint_id: "VpcEndpointId",
3373
3432
  # flow_operation_id: "FlowOperationId", # required
@@ -3377,6 +3436,7 @@ module Aws::NetworkFirewall
3377
3436
  #
3378
3437
  # resp.firewall_arn #=> String
3379
3438
  # resp.availability_zone #=> String
3439
+ # resp.availability_zone_id #=> String
3380
3440
  # resp.vpc_endpoint_association_arn #=> String
3381
3441
  # resp.vpc_endpoint_id #=> String
3382
3442
  # resp.flow_operation_id #=> String
@@ -3774,7 +3834,7 @@ module Aws::NetworkFirewall
3774
3834
  # resp.rule_group.rules_source.rules_source_list.targets #=> Array
3775
3835
  # resp.rule_group.rules_source.rules_source_list.targets[0] #=> String
3776
3836
  # resp.rule_group.rules_source.rules_source_list.target_types #=> Array
3777
- # resp.rule_group.rules_source.rules_source_list.target_types[0] #=> String, one of "TLS_SNI", "HTTP_HOST"
3837
+ # resp.rule_group.rules_source.rules_source_list.target_types[0] #=> String, one of "TLS_SNI", "HTTP_HOST", "AWS_ROUTE_53_RESOLVED_DOMAIN"
3778
3838
  # resp.rule_group.rules_source.rules_source_list.generated_rules_type #=> String, one of "ALLOWLIST", "DENYLIST", "REJECTLIST", "ALERTLIST"
3779
3839
  # resp.rule_group.rules_source.stateful_rules #=> Array
3780
3840
  # resp.rule_group.rules_source.stateful_rules[0].action #=> String, one of "PASS", "DROP", "ALERT", "REJECT"
@@ -3820,7 +3880,7 @@ module Aws::NetworkFirewall
3820
3880
  # resp.rule_group_response.description #=> String
3821
3881
  # resp.rule_group_response.type #=> String, one of "STATELESS", "STATEFUL", "STATEFUL_DOMAIN"
3822
3882
  # resp.rule_group_response.capacity #=> Integer
3823
- # resp.rule_group_response.rule_group_status #=> String, one of "ACTIVE", "DELETING", "ERROR"
3883
+ # resp.rule_group_response.rule_group_status #=> String, one of "ACTIVE", "DELETING", "ERROR", "UPDATING"
3824
3884
  # resp.rule_group_response.tags #=> Array
3825
3885
  # resp.rule_group_response.tags[0].key #=> String
3826
3886
  # resp.rule_group_response.tags[0].value #=> String
@@ -4034,7 +4094,7 @@ module Aws::NetworkFirewall
4034
4094
  # resp.tls_inspection_configuration_response.tls_inspection_configuration_arn #=> String
4035
4095
  # resp.tls_inspection_configuration_response.tls_inspection_configuration_name #=> String
4036
4096
  # resp.tls_inspection_configuration_response.tls_inspection_configuration_id #=> String
4037
- # resp.tls_inspection_configuration_response.tls_inspection_configuration_status #=> String, one of "ACTIVE", "DELETING", "ERROR"
4097
+ # resp.tls_inspection_configuration_response.tls_inspection_configuration_status #=> String, one of "ACTIVE", "DELETING", "ERROR", "UPDATING"
4038
4098
  # resp.tls_inspection_configuration_response.description #=> String
4039
4099
  # resp.tls_inspection_configuration_response.tags #=> Array
4040
4100
  # resp.tls_inspection_configuration_response.tags[0].key #=> String
@@ -4668,12 +4728,20 @@ module Aws::NetworkFirewall
4668
4728
  # subsequent call to get the next batch of objects.
4669
4729
  #
4670
4730
  # @option params [String] :availability_zone
4671
- # The ID of the Availability Zone where the firewall is located. For
4731
+ # The name of the Availability Zone where the firewall is located. For
4672
4732
  # example, `us-east-2a`.
4673
4733
  #
4674
4734
  # Defines the scope a flow operation. You can use up to 20 filters to
4675
4735
  # configure a single flow operation.
4676
4736
  #
4737
+ # @option params [String] :availability_zone_id
4738
+ # The ID of the Availability Zone where the firewall is located. For
4739
+ # example, `use2-az1`. Availability Zone IDs are the same in every
4740
+ # Amazon Web Services account, so use this parameter when you coordinate
4741
+ # resources across accounts. Specify either `AvailabilityZone` or
4742
+ # `AvailabilityZoneId`, not both. If you specify both, the request
4743
+ # fails.
4744
+ #
4677
4745
  # @option params [String] :vpc_endpoint_id
4678
4746
  # A unique identifier for the primary endpoint associated with a
4679
4747
  # firewall.
@@ -4685,6 +4753,7 @@ module Aws::NetworkFirewall
4685
4753
  #
4686
4754
  # * {Types::ListFlowOperationResultsResponse#firewall_arn #firewall_arn} => String
4687
4755
  # * {Types::ListFlowOperationResultsResponse#availability_zone #availability_zone} => String
4756
+ # * {Types::ListFlowOperationResultsResponse#availability_zone_id #availability_zone_id} => String
4688
4757
  # * {Types::ListFlowOperationResultsResponse#vpc_endpoint_association_arn #vpc_endpoint_association_arn} => String
4689
4758
  # * {Types::ListFlowOperationResultsResponse#vpc_endpoint_id #vpc_endpoint_id} => String
4690
4759
  # * {Types::ListFlowOperationResultsResponse#flow_operation_id #flow_operation_id} => String
@@ -4704,6 +4773,7 @@ module Aws::NetworkFirewall
4704
4773
  # next_token: "PaginationToken",
4705
4774
  # max_results: 1,
4706
4775
  # availability_zone: "AvailabilityZone",
4776
+ # availability_zone_id: "AvailabilityZoneId",
4707
4777
  # vpc_endpoint_id: "VpcEndpointId",
4708
4778
  # vpc_endpoint_association_arn: "ResourceArn",
4709
4779
  # })
@@ -4712,6 +4782,7 @@ module Aws::NetworkFirewall
4712
4782
  #
4713
4783
  # resp.firewall_arn #=> String
4714
4784
  # resp.availability_zone #=> String
4785
+ # resp.availability_zone_id #=> String
4715
4786
  # resp.vpc_endpoint_association_arn #=> String
4716
4787
  # resp.vpc_endpoint_id #=> String
4717
4788
  # resp.flow_operation_id #=> String
@@ -4755,12 +4826,20 @@ module Aws::NetworkFirewall
4755
4826
  # The Amazon Resource Name (ARN) of the firewall.
4756
4827
  #
4757
4828
  # @option params [String] :availability_zone
4758
- # The ID of the Availability Zone where the firewall is located. For
4829
+ # The name of the Availability Zone where the firewall is located. For
4759
4830
  # example, `us-east-2a`.
4760
4831
  #
4761
4832
  # Defines the scope a flow operation. You can use up to 20 filters to
4762
4833
  # configure a single flow operation.
4763
4834
  #
4835
+ # @option params [String] :availability_zone_id
4836
+ # The ID of the Availability Zone where the firewall is located. For
4837
+ # example, `use2-az1`. Availability Zone IDs are the same in every
4838
+ # Amazon Web Services account, so use this parameter when you coordinate
4839
+ # resources across accounts. Specify either `AvailabilityZone` or
4840
+ # `AvailabilityZoneId`, not both. If you specify both, the request
4841
+ # fails.
4842
+ #
4764
4843
  # @option params [String] :vpc_endpoint_association_arn
4765
4844
  # The Amazon Resource Name (ARN) of a VPC endpoint association.
4766
4845
  #
@@ -4797,6 +4876,7 @@ module Aws::NetworkFirewall
4797
4876
  # resp = client.list_flow_operations({
4798
4877
  # firewall_arn: "ResourceArn", # required
4799
4878
  # availability_zone: "AvailabilityZone",
4879
+ # availability_zone_id: "AvailabilityZoneId",
4800
4880
  # vpc_endpoint_association_arn: "ResourceArn",
4801
4881
  # vpc_endpoint_id: "VpcEndpointId",
4802
4882
  # flow_operation_type: "FLOW_FLUSH", # accepts FLOW_FLUSH, FLOW_CAPTURE
@@ -5402,12 +5482,20 @@ module Aws::NetworkFirewall
5402
5482
  # The Amazon Resource Name (ARN) of the firewall.
5403
5483
  #
5404
5484
  # @option params [String] :availability_zone
5405
- # The ID of the Availability Zone where the firewall is located. For
5485
+ # The name of the Availability Zone where the firewall is located. For
5406
5486
  # example, `us-east-2a`.
5407
5487
  #
5408
5488
  # Defines the scope a flow operation. You can use up to 20 filters to
5409
5489
  # configure a single flow operation.
5410
5490
  #
5491
+ # @option params [String] :availability_zone_id
5492
+ # The ID of the Availability Zone where the firewall is located. For
5493
+ # example, `use2-az1`. Availability Zone IDs are the same in every
5494
+ # Amazon Web Services account, so use this parameter when you coordinate
5495
+ # resources across accounts. Specify either `AvailabilityZone` or
5496
+ # `AvailabilityZoneId`, not both. If you specify both, the request
5497
+ # fails.
5498
+ #
5411
5499
  # @option params [String] :vpc_endpoint_association_arn
5412
5500
  # The Amazon Resource Name (ARN) of a VPC endpoint association.
5413
5501
  #
@@ -5440,6 +5528,7 @@ module Aws::NetworkFirewall
5440
5528
  # resp = client.start_flow_capture({
5441
5529
  # firewall_arn: "ResourceArn", # required
5442
5530
  # availability_zone: "AvailabilityZone",
5531
+ # availability_zone_id: "AvailabilityZoneId",
5443
5532
  # vpc_endpoint_association_arn: "ResourceArn",
5444
5533
  # vpc_endpoint_id: "VpcEndpointId",
5445
5534
  # minimum_flow_age_in_seconds: 1,
@@ -5487,12 +5576,20 @@ module Aws::NetworkFirewall
5487
5576
  # The Amazon Resource Name (ARN) of the firewall.
5488
5577
  #
5489
5578
  # @option params [String] :availability_zone
5490
- # The ID of the Availability Zone where the firewall is located. For
5579
+ # The name of the Availability Zone where the firewall is located. For
5491
5580
  # example, `us-east-2a`.
5492
5581
  #
5493
5582
  # Defines the scope a flow operation. You can use up to 20 filters to
5494
5583
  # configure a single flow operation.
5495
5584
  #
5585
+ # @option params [String] :availability_zone_id
5586
+ # The ID of the Availability Zone where the firewall is located. For
5587
+ # example, `use2-az1`. Availability Zone IDs are the same in every
5588
+ # Amazon Web Services account, so use this parameter when you coordinate
5589
+ # resources across accounts. Specify either `AvailabilityZone` or
5590
+ # `AvailabilityZoneId`, not both. If you specify both, the request
5591
+ # fails.
5592
+ #
5496
5593
  # @option params [String] :vpc_endpoint_association_arn
5497
5594
  # The Amazon Resource Name (ARN) of a VPC endpoint association.
5498
5595
  #
@@ -5520,6 +5617,7 @@ module Aws::NetworkFirewall
5520
5617
  # resp = client.start_flow_flush({
5521
5618
  # firewall_arn: "ResourceArn", # required
5522
5619
  # availability_zone: "AvailabilityZone",
5620
+ # availability_zone_id: "AvailabilityZoneId",
5523
5621
  # vpc_endpoint_association_arn: "ResourceArn",
5524
5622
  # vpc_endpoint_id: "VpcEndpointId",
5525
5623
  # minimum_flow_age_in_seconds: 1,
@@ -6226,6 +6324,21 @@ module Aws::NetworkFirewall
6226
6324
  # },
6227
6325
  # },
6228
6326
  # enable_tls_session_holding: false,
6327
+ # route_53_resolved_ip_validation: {
6328
+ # action: "REJECT", # required, accepts REJECT, DROP, ALERT
6329
+ # dns_firewall_rule_group_id: "DNSFirewallRuleGroupId", # required
6330
+ # dns_expiry_exception_policy: "REJECT", # required, accepts REJECT, DROP, CONTINUE
6331
+ # bypass_destination_validation_ip_ranges: [
6332
+ # {
6333
+ # address_definition: "AddressDefinition", # required
6334
+ # },
6335
+ # ],
6336
+ # source_ip_ranges: [
6337
+ # {
6338
+ # address_definition: "AddressDefinition", # required
6339
+ # },
6340
+ # ],
6341
+ # },
6229
6342
  # },
6230
6343
  # description: "Description",
6231
6344
  # dry_run: false,
@@ -6242,7 +6355,8 @@ module Aws::NetworkFirewall
6242
6355
  # resp.firewall_policy_response.firewall_policy_arn #=> String
6243
6356
  # resp.firewall_policy_response.firewall_policy_id #=> String
6244
6357
  # resp.firewall_policy_response.description #=> String
6245
- # resp.firewall_policy_response.firewall_policy_status #=> String, one of "ACTIVE", "DELETING", "ERROR"
6358
+ # resp.firewall_policy_response.firewall_policy_status #=> String, one of "ACTIVE", "DELETING", "ERROR", "UPDATING"
6359
+ # resp.firewall_policy_response.status_message #=> String
6246
6360
  # resp.firewall_policy_response.tags #=> Array
6247
6361
  # resp.firewall_policy_response.tags[0].key #=> String
6248
6362
  # resp.firewall_policy_response.tags[0].value #=> String
@@ -6252,6 +6366,10 @@ module Aws::NetworkFirewall
6252
6366
  # resp.firewall_policy_response.number_of_associations #=> Integer
6253
6367
  # resp.firewall_policy_response.encryption_configuration.key_id #=> String
6254
6368
  # resp.firewall_policy_response.encryption_configuration.type #=> String, one of "CUSTOMER_KMS", "AWS_OWNED_KMS_KEY"
6369
+ # resp.firewall_policy_response.errors #=> Array
6370
+ # resp.firewall_policy_response.errors[0].code #=> String, one of "DNS_FIREWALL_RULE_GROUP_UNAVAILABLE", "ROUTE53_RESOLVED_IP_VALIDATION_MISSING"
6371
+ # resp.firewall_policy_response.errors[0].message #=> String
6372
+ # resp.firewall_policy_response.errors[0].resource_id #=> String
6255
6373
  # resp.firewall_policy_response.last_modified_time #=> Time
6256
6374
  #
6257
6375
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateFirewallPolicy AWS API Documentation
@@ -7080,7 +7198,7 @@ module Aws::NetworkFirewall
7080
7198
  # rules_string: "RulesString",
7081
7199
  # rules_source_list: {
7082
7200
  # targets: ["CollectionMember_String"], # required
7083
- # target_types: ["TLS_SNI"], # required, accepts TLS_SNI, HTTP_HOST
7201
+ # target_types: ["TLS_SNI"], # required, accepts TLS_SNI, HTTP_HOST, AWS_ROUTE_53_RESOLVED_DOMAIN
7084
7202
  # generated_rules_type: "ALLOWLIST", # required, accepts ALLOWLIST, DENYLIST, REJECTLIST, ALERTLIST
7085
7203
  # },
7086
7204
  # stateful_rules: [
@@ -7189,7 +7307,7 @@ module Aws::NetworkFirewall
7189
7307
  # resp.rule_group_response.description #=> String
7190
7308
  # resp.rule_group_response.type #=> String, one of "STATELESS", "STATEFUL", "STATEFUL_DOMAIN"
7191
7309
  # resp.rule_group_response.capacity #=> Integer
7192
- # resp.rule_group_response.rule_group_status #=> String, one of "ACTIVE", "DELETING", "ERROR"
7310
+ # resp.rule_group_response.rule_group_status #=> String, one of "ACTIVE", "DELETING", "ERROR", "UPDATING"
7193
7311
  # resp.rule_group_response.tags #=> Array
7194
7312
  # resp.rule_group_response.tags[0].key #=> String
7195
7313
  # resp.rule_group_response.tags[0].value #=> String
@@ -7418,7 +7536,7 @@ module Aws::NetworkFirewall
7418
7536
  # resp.tls_inspection_configuration_response.tls_inspection_configuration_arn #=> String
7419
7537
  # resp.tls_inspection_configuration_response.tls_inspection_configuration_name #=> String
7420
7538
  # resp.tls_inspection_configuration_response.tls_inspection_configuration_id #=> String
7421
- # resp.tls_inspection_configuration_response.tls_inspection_configuration_status #=> String, one of "ACTIVE", "DELETING", "ERROR"
7539
+ # resp.tls_inspection_configuration_response.tls_inspection_configuration_status #=> String, one of "ACTIVE", "DELETING", "ERROR", "UPDATING"
7422
7540
  # resp.tls_inspection_configuration_response.description #=> String
7423
7541
  # resp.tls_inspection_configuration_response.tags #=> Array
7424
7542
  # resp.tls_inspection_configuration_response.tags[0].key #=> String
@@ -7464,14 +7582,127 @@ module Aws::NetworkFirewall
7464
7582
  tracer: tracer
7465
7583
  )
7466
7584
  context[:gem_name] = 'aws-sdk-networkfirewall'
7467
- context[:gem_version] = '1.100.0'
7585
+ context[:gem_version] = '1.102.0'
7468
7586
  Seahorse::Client::Request.new(handlers, context)
7469
7587
  end
7470
7588
 
7589
+ # Polls an API operation until a resource enters a desired state.
7590
+ #
7591
+ # ## Basic Usage
7592
+ #
7593
+ # A waiter will call an API operation until:
7594
+ #
7595
+ # * It is successful
7596
+ # * It enters a terminal state
7597
+ # * It makes the maximum number of attempts
7598
+ #
7599
+ # In between attempts, the waiter will sleep.
7600
+ #
7601
+ # # polls in a loop, sleeping between attempts
7602
+ # client.wait_until(waiter_name, params)
7603
+ #
7604
+ # ## Configuration
7605
+ #
7606
+ # You can configure the maximum number of polling attempts, and the
7607
+ # delay (in seconds) between each polling attempt. You can pass
7608
+ # configuration as the final arguments hash.
7609
+ #
7610
+ # # poll for ~25 seconds
7611
+ # client.wait_until(waiter_name, params, {
7612
+ # max_attempts: 5,
7613
+ # delay: 5,
7614
+ # })
7615
+ #
7616
+ # ## Callbacks
7617
+ #
7618
+ # You can be notified before each polling attempt and before each
7619
+ # delay. If you throw `:success` or `:failure` from these callbacks,
7620
+ # it will terminate the waiter.
7621
+ #
7622
+ # started_at = Time.now
7623
+ # client.wait_until(waiter_name, params, {
7624
+ #
7625
+ # # disable max attempts
7626
+ # max_attempts: nil,
7627
+ #
7628
+ # # poll for 1 hour, instead of a number of attempts
7629
+ # before_wait: -> (attempts, response) do
7630
+ # throw :failure if Time.now - started_at > 3600
7631
+ # end
7632
+ # })
7633
+ #
7634
+ # ## Handling Errors
7635
+ #
7636
+ # When a waiter is unsuccessful, it will raise an error.
7637
+ # All of the failure errors extend from
7638
+ # {Aws::Waiters::Errors::WaiterFailed}.
7639
+ #
7640
+ # begin
7641
+ # client.wait_until(...)
7642
+ # rescue Aws::Waiters::Errors::WaiterFailed
7643
+ # # resource did not enter the desired state in time
7644
+ # end
7645
+ #
7646
+ # ## Valid Waiters
7647
+ #
7648
+ # The following table lists the valid waiter names, the operations they call,
7649
+ # and the default `:delay` and `:max_attempts` values.
7650
+ #
7651
+ # | waiter_name | params | :delay | :max_attempts |
7652
+ # | ---------------------- | --------------------------------- | -------- | ------------- |
7653
+ # | firewall_policy_active | {Client#describe_firewall_policy} | 15 | 40 |
7654
+ #
7655
+ # @raise [Errors::FailureStateError] Raised when the waiter terminates
7656
+ # because the waiter has entered a state that it will not transition
7657
+ # out of, preventing success.
7658
+ #
7659
+ # @raise [Errors::TooManyAttemptsError] Raised when the configured
7660
+ # maximum number of attempts have been made, and the waiter is not
7661
+ # yet successful.
7662
+ #
7663
+ # @raise [Errors::UnexpectedError] Raised when an error is encounted
7664
+ # while polling for a resource that is not expected.
7665
+ #
7666
+ # @raise [Errors::NoSuchWaiterError] Raised when you request to wait
7667
+ # for an unknown state.
7668
+ #
7669
+ # @return [Boolean] Returns `true` if the waiter was successful.
7670
+ # @param [Symbol] waiter_name
7671
+ # @param [Hash] params ({})
7672
+ # @param [Hash] options ({})
7673
+ # @option options [Integer] :max_attempts
7674
+ # @option options [Integer] :delay
7675
+ # @option options [Proc] :before_attempt
7676
+ # @option options [Proc] :before_wait
7677
+ def wait_until(waiter_name, params = {}, options = {})
7678
+ w = waiter(waiter_name, options)
7679
+ yield(w.waiter) if block_given? # deprecated
7680
+ w.wait(params)
7681
+ end
7682
+
7471
7683
  # @api private
7472
7684
  # @deprecated
7473
7685
  def waiter_names
7474
- []
7686
+ waiters.keys
7687
+ end
7688
+
7689
+ private
7690
+
7691
+ # @param [Symbol] waiter_name
7692
+ # @param [Hash] options ({})
7693
+ def waiter(waiter_name, options = {})
7694
+ waiter_class = waiters[waiter_name]
7695
+ if waiter_class
7696
+ waiter_class.new(options.merge(client: self))
7697
+ else
7698
+ raise Aws::Waiters::Errors::NoSuchWaiterError.new(waiter_name, waiters.keys)
7699
+ end
7700
+ end
7701
+
7702
+ def waiters
7703
+ {
7704
+ firewall_policy_active: Waiters::FirewallPolicyActive
7705
+ }
7475
7706
  end
7476
7707
 
7477
7708
  class << self