aws-sdk-networkfirewall 1.68.0 → 1.70.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.
@@ -37,6 +37,59 @@ module Aws::NetworkFirewall
37
37
  include Aws::Structure
38
38
  end
39
39
 
40
+ # @!attribute [rw] transit_gateway_attachment_id
41
+ # Required. The unique identifier of the transit gateway attachment to
42
+ # accept. This ID is returned in the response when creating a transit
43
+ # gateway-attached firewall.
44
+ # @return [String]
45
+ #
46
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/AcceptNetworkFirewallTransitGatewayAttachmentRequest AWS API Documentation
47
+ #
48
+ class AcceptNetworkFirewallTransitGatewayAttachmentRequest < Struct.new(
49
+ :transit_gateway_attachment_id)
50
+ SENSITIVE = []
51
+ include Aws::Structure
52
+ end
53
+
54
+ # @!attribute [rw] transit_gateway_attachment_id
55
+ # The unique identifier of the transit gateway attachment that was
56
+ # accepted.
57
+ # @return [String]
58
+ #
59
+ # @!attribute [rw] transit_gateway_attachment_status
60
+ # The current status of the transit gateway attachment. Valid values
61
+ # are:
62
+ #
63
+ # * `CREATING` - The attachment is being created
64
+ #
65
+ # * `DELETING` - The attachment is being deleted
66
+ #
67
+ # * `DELETED` - The attachment has been deleted
68
+ #
69
+ # * `FAILED` - The attachment creation has failed and cannot be
70
+ # recovered
71
+ #
72
+ # * `ERROR` - The attachment is in an error state that might be
73
+ # recoverable
74
+ #
75
+ # * `READY` - The attachment is active and processing traffic
76
+ #
77
+ # * `PENDING_ACCEPTANCE` - The attachment is waiting to be accepted
78
+ #
79
+ # * `REJECTING` - The attachment is in the process of being rejected
80
+ #
81
+ # * `REJECTED` - The attachment has been rejected
82
+ # @return [String]
83
+ #
84
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/AcceptNetworkFirewallTransitGatewayAttachmentResponse AWS API Documentation
85
+ #
86
+ class AcceptNetworkFirewallTransitGatewayAttachmentResponse < Struct.new(
87
+ :transit_gateway_attachment_id,
88
+ :transit_gateway_attachment_status)
89
+ SENSITIVE = []
90
+ include Aws::Structure
91
+ end
92
+
40
93
  # A custom action to use in stateless rule actions settings. This is
41
94
  # used in CustomAction.
42
95
  #
@@ -253,6 +306,101 @@ module Aws::NetworkFirewall
253
306
  include Aws::Structure
254
307
  end
255
308
 
309
+ # @!attribute [rw] update_token
310
+ # An optional token that you can use for optimistic locking. Network
311
+ # Firewall returns a token to your requests that access the firewall.
312
+ # The token marks the state of the firewall resource at the time of
313
+ # the request.
314
+ #
315
+ # To make an unconditional change to the firewall, omit the token in
316
+ # your update request. Without the token, Network Firewall performs
317
+ # your updates regardless of whether the firewall has changed since
318
+ # you last retrieved it.
319
+ #
320
+ # To make a conditional change to the firewall, provide the token in
321
+ # your update request. Network Firewall uses the token to ensure that
322
+ # the firewall hasn't changed since you last retrieved it. If it has
323
+ # changed, the operation fails with an `InvalidTokenException`. If
324
+ # this happens, retrieve the firewall again to get a current copy of
325
+ # it with a new token. Reapply your changes as needed, then try the
326
+ # operation again using the new token.
327
+ # @return [String]
328
+ #
329
+ # @!attribute [rw] firewall_arn
330
+ # The Amazon Resource Name (ARN) of the firewall.
331
+ #
332
+ # You must specify the ARN or the name, and you can specify both.
333
+ # @return [String]
334
+ #
335
+ # @!attribute [rw] firewall_name
336
+ # The descriptive name of the firewall. You can't change the name of
337
+ # a firewall after you create it.
338
+ #
339
+ # You must specify the ARN or the name, and you can specify both.
340
+ # @return [String]
341
+ #
342
+ # @!attribute [rw] availability_zone_mappings
343
+ # Required. The Availability Zones where you want to create firewall
344
+ # endpoints. You must specify at least one Availability Zone.
345
+ # @return [Array<Types::AvailabilityZoneMapping>]
346
+ #
347
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/AssociateAvailabilityZonesRequest AWS API Documentation
348
+ #
349
+ class AssociateAvailabilityZonesRequest < Struct.new(
350
+ :update_token,
351
+ :firewall_arn,
352
+ :firewall_name,
353
+ :availability_zone_mappings)
354
+ SENSITIVE = []
355
+ include Aws::Structure
356
+ end
357
+
358
+ # @!attribute [rw] firewall_arn
359
+ # The Amazon Resource Name (ARN) of the firewall.
360
+ # @return [String]
361
+ #
362
+ # @!attribute [rw] firewall_name
363
+ # The descriptive name of the firewall. You can't change the name of
364
+ # a firewall after you create it.
365
+ # @return [String]
366
+ #
367
+ # @!attribute [rw] availability_zone_mappings
368
+ # The Availability Zones where Network Firewall created firewall
369
+ # endpoints. Each mapping specifies an Availability Zone where the
370
+ # firewall processes traffic.
371
+ # @return [Array<Types::AvailabilityZoneMapping>]
372
+ #
373
+ # @!attribute [rw] update_token
374
+ # An optional token that you can use for optimistic locking. Network
375
+ # Firewall returns a token to your requests that access the firewall.
376
+ # The token marks the state of the firewall resource at the time of
377
+ # the request.
378
+ #
379
+ # To make an unconditional change to the firewall, omit the token in
380
+ # your update request. Without the token, Network Firewall performs
381
+ # your updates regardless of whether the firewall has changed since
382
+ # you last retrieved it.
383
+ #
384
+ # To make a conditional change to the firewall, provide the token in
385
+ # your update request. Network Firewall uses the token to ensure that
386
+ # the firewall hasn't changed since you last retrieved it. If it has
387
+ # changed, the operation fails with an `InvalidTokenException`. If
388
+ # this happens, retrieve the firewall again to get a current copy of
389
+ # it with a new token. Reapply your changes as needed, then try the
390
+ # operation again using the new token.
391
+ # @return [String]
392
+ #
393
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/AssociateAvailabilityZonesResponse AWS API Documentation
394
+ #
395
+ class AssociateAvailabilityZonesResponse < Struct.new(
396
+ :firewall_arn,
397
+ :firewall_name,
398
+ :availability_zone_mappings,
399
+ :update_token)
400
+ SENSITIVE = []
401
+ include Aws::Structure
402
+ end
403
+
256
404
  # @!attribute [rw] update_token
257
405
  # An optional token that you can use for optimistic locking. Network
258
406
  # Firewall returns a token to your requests that access the firewall.
@@ -499,6 +647,29 @@ module Aws::NetworkFirewall
499
647
  include Aws::Structure
500
648
  end
501
649
 
650
+ # Defines the mapping between an Availability Zone and a firewall
651
+ # endpoint for a transit gateway-attached firewall. Each mapping
652
+ # represents where the firewall can process traffic. You use these
653
+ # mappings when calling CreateFirewall, AssociateAvailabilityZones, and
654
+ # DisassociateAvailabilityZones.
655
+ #
656
+ # To retrieve the current Availability Zone mappings for a firewall, use
657
+ # DescribeFirewall.
658
+ #
659
+ # @!attribute [rw] availability_zone
660
+ # The ID of the Availability Zone where the firewall endpoint is
661
+ # located. For example, `us-east-2a`. The Availability Zone must be in
662
+ # the same Region as the transit gateway.
663
+ # @return [String]
664
+ #
665
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/AvailabilityZoneMapping AWS API Documentation
666
+ #
667
+ class AvailabilityZoneMapping < Struct.new(
668
+ :availability_zone)
669
+ SENSITIVE = []
670
+ include Aws::Structure
671
+ end
672
+
502
673
  # High-level information about an Availability Zone where the firewall
503
674
  # has an endpoint defined.
504
675
  #
@@ -753,6 +924,50 @@ module Aws::NetworkFirewall
753
924
  # to enable on the firewall.
754
925
  # @return [Array<String>]
755
926
  #
927
+ # @!attribute [rw] transit_gateway_id
928
+ # Required when creating a transit gateway-attached firewall. The
929
+ # unique identifier of the transit gateway to attach to this firewall.
930
+ # You can provide either a transit gateway from your account or one
931
+ # that has been shared with you through Resource Access Manager.
932
+ #
933
+ # After creating the firewall, you cannot change the transit gateway
934
+ # association. To use a different transit gateway, you must create a
935
+ # new firewall.
936
+ #
937
+ # For information about creating firewalls, see CreateFirewall. For
938
+ # specific guidance about transit gateway-attached firewalls, see
939
+ # [Considerations for transit gateway-attached firewalls][1] in the
940
+ # *Network Firewall Developer Guide*.
941
+ #
942
+ #
943
+ #
944
+ # [1]: https://docs.aws.amazon.com/network-firewall/latest/developerguide/tgw-firewall-considerations.html
945
+ # @return [String]
946
+ #
947
+ # @!attribute [rw] availability_zone_mappings
948
+ # Required. The Availability Zones where you want to create firewall
949
+ # endpoints for a transit gateway-attached firewall. You must specify
950
+ # at least one Availability Zone. Consider enabling the firewall in
951
+ # every Availability Zone where you have workloads to maintain
952
+ # Availability Zone independence.
953
+ #
954
+ # You can modify Availability Zones later using
955
+ # AssociateAvailabilityZones or DisassociateAvailabilityZones, but
956
+ # this may briefly disrupt traffic. The
957
+ # `AvailabilityZoneChangeProtection` setting controls whether you can
958
+ # make these modifications.
959
+ # @return [Array<Types::AvailabilityZoneMapping>]
960
+ #
961
+ # @!attribute [rw] availability_zone_change_protection
962
+ # Optional. A setting indicating whether the firewall is protected
963
+ # against changes to its Availability Zone configuration. When set to
964
+ # `TRUE`, you cannot add or remove Availability Zones without first
965
+ # disabling this protection using
966
+ # UpdateAvailabilityZoneChangeProtection.
967
+ #
968
+ # Default value: `FALSE`
969
+ # @return [Boolean]
970
+ #
756
971
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/CreateFirewallRequest AWS API Documentation
757
972
  #
758
973
  class CreateFirewallRequest < Struct.new(
@@ -766,7 +981,10 @@ module Aws::NetworkFirewall
766
981
  :description,
767
982
  :tags,
768
983
  :encryption_configuration,
769
- :enabled_analysis_types)
984
+ :enabled_analysis_types,
985
+ :transit_gateway_id,
986
+ :availability_zone_mappings,
987
+ :availability_zone_change_protection)
770
988
  SENSITIVE = []
771
989
  include Aws::Structure
772
990
  end
@@ -928,6 +1146,18 @@ module Aws::NetworkFirewall
928
1146
  # analyzer without creating the rule group, set `DryRun` to `TRUE`.
929
1147
  # @return [Boolean]
930
1148
  #
1149
+ # @!attribute [rw] summary_configuration
1150
+ # An object that contains a `RuleOptions` array of strings. You use
1151
+ # `RuleOptions` to determine which of the following RuleSummary values
1152
+ # are returned in response to `DescribeRuleGroupSummary`.
1153
+ #
1154
+ # * `Metadata` - returns
1155
+ #
1156
+ # * `Msg`
1157
+ #
1158
+ # * `SID`
1159
+ # @return [Types::SummaryConfiguration]
1160
+ #
931
1161
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/CreateRuleGroupRequest AWS API Documentation
932
1162
  #
933
1163
  class CreateRuleGroupRequest < Struct.new(
@@ -941,7 +1171,8 @@ module Aws::NetworkFirewall
941
1171
  :dry_run,
942
1172
  :encryption_configuration,
943
1173
  :source_metadata,
944
- :analyze_rule_group)
1174
+ :analyze_rule_group,
1175
+ :summary_configuration)
945
1176
  SENSITIVE = []
946
1177
  include Aws::Structure
947
1178
  end
@@ -1268,6 +1499,59 @@ module Aws::NetworkFirewall
1268
1499
  include Aws::Structure
1269
1500
  end
1270
1501
 
1502
+ # @!attribute [rw] transit_gateway_attachment_id
1503
+ # Required. The unique identifier of the transit gateway attachment to
1504
+ # delete.
1505
+ # @return [String]
1506
+ #
1507
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteNetworkFirewallTransitGatewayAttachmentRequest AWS API Documentation
1508
+ #
1509
+ class DeleteNetworkFirewallTransitGatewayAttachmentRequest < Struct.new(
1510
+ :transit_gateway_attachment_id)
1511
+ SENSITIVE = []
1512
+ include Aws::Structure
1513
+ end
1514
+
1515
+ # @!attribute [rw] transit_gateway_attachment_id
1516
+ # The ID of the transit gateway attachment that was deleted.
1517
+ # @return [String]
1518
+ #
1519
+ # @!attribute [rw] transit_gateway_attachment_status
1520
+ # The current status of the transit gateway attachment deletion
1521
+ # process.
1522
+ #
1523
+ # Valid values are:
1524
+ #
1525
+ # * `CREATING` - The attachment is being created
1526
+ #
1527
+ # * `DELETING` - The attachment is being deleted
1528
+ #
1529
+ # * `DELETED` - The attachment has been deleted
1530
+ #
1531
+ # * `FAILED` - The attachment creation has failed and cannot be
1532
+ # recovered
1533
+ #
1534
+ # * `ERROR` - The attachment is in an error state that might be
1535
+ # recoverable
1536
+ #
1537
+ # * `READY` - The attachment is active and processing traffic
1538
+ #
1539
+ # * `PENDING_ACCEPTANCE` - The attachment is waiting to be accepted
1540
+ #
1541
+ # * `REJECTING` - The attachment is in the process of being rejected
1542
+ #
1543
+ # * `REJECTED` - The attachment has been rejected
1544
+ # @return [String]
1545
+ #
1546
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteNetworkFirewallTransitGatewayAttachmentResponse AWS API Documentation
1547
+ #
1548
+ class DeleteNetworkFirewallTransitGatewayAttachmentResponse < Struct.new(
1549
+ :transit_gateway_attachment_id,
1550
+ :transit_gateway_attachment_status)
1551
+ SENSITIVE = []
1552
+ include Aws::Structure
1553
+ end
1554
+
1271
1555
  # @!attribute [rw] resource_arn
1272
1556
  # The Amazon Resource Name (ARN) of the rule group or firewall policy
1273
1557
  # whose resource policy you want to delete.
@@ -1444,6 +1728,12 @@ module Aws::NetworkFirewall
1444
1728
  # defined.
1445
1729
  # @return [Hash<String,Types::AvailabilityZoneMetadata>]
1446
1730
  #
1731
+ # @!attribute [rw] transit_gateway_attachment_id
1732
+ # The unique identifier of the transit gateway attachment associated
1733
+ # with this firewall. This field is only present for transit
1734
+ # gateway-attached firewalls.
1735
+ # @return [String]
1736
+ #
1447
1737
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeFirewallMetadataResponse AWS API Documentation
1448
1738
  #
1449
1739
  class DescribeFirewallMetadataResponse < Struct.new(
@@ -1451,7 +1741,8 @@ module Aws::NetworkFirewall
1451
1741
  :firewall_policy_arn,
1452
1742
  :description,
1453
1743
  :status,
1454
- :supported_availability_zones)
1744
+ :supported_availability_zones,
1745
+ :transit_gateway_attachment_id)
1455
1746
  SENSITIVE = []
1456
1747
  include Aws::Structure
1457
1748
  end
@@ -1851,7 +2142,7 @@ module Aws::NetworkFirewall
1851
2142
  # @return [Types::StatefulRuleOptions]
1852
2143
  #
1853
2144
  # @!attribute [rw] last_modified_time
1854
- # The last time that the rule group was changed.
2145
+ # A timestamp indicating when the rule group was last modified.
1855
2146
  # @return [Time]
1856
2147
  #
1857
2148
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeRuleGroupMetadataResponse AWS API Documentation
@@ -1955,6 +2246,73 @@ module Aws::NetworkFirewall
1955
2246
  include Aws::Structure
1956
2247
  end
1957
2248
 
2249
+ # @!attribute [rw] rule_group_name
2250
+ # The descriptive name of the rule group. You can't change the name
2251
+ # of a rule group after you create it.
2252
+ #
2253
+ # You must specify the ARN or the name, and you can specify both.
2254
+ # @return [String]
2255
+ #
2256
+ # @!attribute [rw] rule_group_arn
2257
+ # Required. The Amazon Resource Name (ARN) of the rule group.
2258
+ #
2259
+ # You must specify the ARN or the name, and you can specify both.
2260
+ # @return [String]
2261
+ #
2262
+ # @!attribute [rw] type
2263
+ # The type of rule group you want a summary for. This is a required
2264
+ # field.
2265
+ #
2266
+ # Valid value: `STATEFUL`
2267
+ #
2268
+ # Note that `STATELESS` exists but is not currently supported. If you
2269
+ # provide `STATELESS`, an exception is returned.
2270
+ # @return [String]
2271
+ #
2272
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeRuleGroupSummaryRequest AWS API Documentation
2273
+ #
2274
+ class DescribeRuleGroupSummaryRequest < Struct.new(
2275
+ :rule_group_name,
2276
+ :rule_group_arn,
2277
+ :type)
2278
+ SENSITIVE = []
2279
+ include Aws::Structure
2280
+ end
2281
+
2282
+ # @!attribute [rw] rule_group_name
2283
+ # The descriptive name of the rule group. You can't change the name
2284
+ # of a rule group after you create it.
2285
+ # @return [String]
2286
+ #
2287
+ # @!attribute [rw] description
2288
+ # A description of the rule group.
2289
+ # @return [String]
2290
+ #
2291
+ # @!attribute [rw] summary
2292
+ # A complex type that contains rule information based on the rule
2293
+ # group's configured summary settings. The content varies depending
2294
+ # on the fields that you specified to extract in your
2295
+ # SummaryConfiguration. When you haven't configured any summary
2296
+ # settings, this returns an empty array. The response might include:
2297
+ #
2298
+ # * Rule identifiers
2299
+ #
2300
+ # * Rule descriptions
2301
+ #
2302
+ # * Any metadata fields that you specified in your
2303
+ # SummaryConfiguration
2304
+ # @return [Types::Summary]
2305
+ #
2306
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeRuleGroupSummaryResponse AWS API Documentation
2307
+ #
2308
+ class DescribeRuleGroupSummaryResponse < Struct.new(
2309
+ :rule_group_name,
2310
+ :description,
2311
+ :summary)
2312
+ SENSITIVE = []
2313
+ include Aws::Structure
2314
+ end
2315
+
1958
2316
  # @!attribute [rw] tls_inspection_configuration_arn
1959
2317
  # The Amazon Resource Name (ARN) of the TLS inspection configuration.
1960
2318
  #
@@ -2084,17 +2442,111 @@ module Aws::NetworkFirewall
2084
2442
  #
2085
2443
  #
2086
2444
  #
2087
- # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html#usingDimensions
2088
- # [2]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html
2445
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html#usingDimensions
2446
+ # [2]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html
2447
+ #
2448
+ # @!attribute [rw] value
2449
+ # The value to use in the custom metric dimension.
2450
+ # @return [String]
2451
+ #
2452
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/Dimension AWS API Documentation
2453
+ #
2454
+ class Dimension < Struct.new(
2455
+ :value)
2456
+ SENSITIVE = []
2457
+ include Aws::Structure
2458
+ end
2459
+
2460
+ # @!attribute [rw] update_token
2461
+ # An optional token that you can use for optimistic locking. Network
2462
+ # Firewall returns a token to your requests that access the firewall.
2463
+ # The token marks the state of the firewall resource at the time of
2464
+ # the request.
2465
+ #
2466
+ # To make an unconditional change to the firewall, omit the token in
2467
+ # your update request. Without the token, Network Firewall performs
2468
+ # your updates regardless of whether the firewall has changed since
2469
+ # you last retrieved it.
2470
+ #
2471
+ # To make a conditional change to the firewall, provide the token in
2472
+ # your update request. Network Firewall uses the token to ensure that
2473
+ # the firewall hasn't changed since you last retrieved it. If it has
2474
+ # changed, the operation fails with an `InvalidTokenException`. If
2475
+ # this happens, retrieve the firewall again to get a current copy of
2476
+ # it with a new token. Reapply your changes as needed, then try the
2477
+ # operation again using the new token.
2478
+ # @return [String]
2479
+ #
2480
+ # @!attribute [rw] firewall_arn
2481
+ # The Amazon Resource Name (ARN) of the firewall.
2482
+ #
2483
+ # You must specify the ARN or the name, and you can specify both.
2484
+ # @return [String]
2485
+ #
2486
+ # @!attribute [rw] firewall_name
2487
+ # The descriptive name of the firewall. You can't change the name of
2488
+ # a firewall after you create it.
2489
+ #
2490
+ # You must specify the ARN or the name, and you can specify both.
2491
+ # @return [String]
2492
+ #
2493
+ # @!attribute [rw] availability_zone_mappings
2494
+ # Required. The Availability Zones to remove from the firewall's
2495
+ # configuration.
2496
+ # @return [Array<Types::AvailabilityZoneMapping>]
2497
+ #
2498
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DisassociateAvailabilityZonesRequest AWS API Documentation
2499
+ #
2500
+ class DisassociateAvailabilityZonesRequest < Struct.new(
2501
+ :update_token,
2502
+ :firewall_arn,
2503
+ :firewall_name,
2504
+ :availability_zone_mappings)
2505
+ SENSITIVE = []
2506
+ include Aws::Structure
2507
+ end
2508
+
2509
+ # @!attribute [rw] firewall_arn
2510
+ # The Amazon Resource Name (ARN) of the firewall.
2511
+ # @return [String]
2512
+ #
2513
+ # @!attribute [rw] firewall_name
2514
+ # The descriptive name of the firewall. You can't change the name of
2515
+ # a firewall after you create it.
2516
+ # @return [String]
2517
+ #
2518
+ # @!attribute [rw] availability_zone_mappings
2519
+ # The remaining Availability Zones where the firewall has endpoints
2520
+ # after the disassociation.
2521
+ # @return [Array<Types::AvailabilityZoneMapping>]
2522
+ #
2523
+ # @!attribute [rw] update_token
2524
+ # An optional token that you can use for optimistic locking. Network
2525
+ # Firewall returns a token to your requests that access the firewall.
2526
+ # The token marks the state of the firewall resource at the time of
2527
+ # the request.
2089
2528
  #
2090
- # @!attribute [rw] value
2091
- # The value to use in the custom metric dimension.
2529
+ # To make an unconditional change to the firewall, omit the token in
2530
+ # your update request. Without the token, Network Firewall performs
2531
+ # your updates regardless of whether the firewall has changed since
2532
+ # you last retrieved it.
2533
+ #
2534
+ # To make a conditional change to the firewall, provide the token in
2535
+ # your update request. Network Firewall uses the token to ensure that
2536
+ # the firewall hasn't changed since you last retrieved it. If it has
2537
+ # changed, the operation fails with an `InvalidTokenException`. If
2538
+ # this happens, retrieve the firewall again to get a current copy of
2539
+ # it with a new token. Reapply your changes as needed, then try the
2540
+ # operation again using the new token.
2092
2541
  # @return [String]
2093
2542
  #
2094
- # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/Dimension AWS API Documentation
2543
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DisassociateAvailabilityZonesResponse AWS API Documentation
2095
2544
  #
2096
- class Dimension < Struct.new(
2097
- :value)
2545
+ class DisassociateAvailabilityZonesResponse < Struct.new(
2546
+ :firewall_arn,
2547
+ :firewall_name,
2548
+ :availability_zone_mappings,
2549
+ :update_token)
2098
2550
  SENSITIVE = []
2099
2551
  include Aws::Structure
2100
2552
  end
@@ -2340,6 +2792,31 @@ module Aws::NetworkFirewall
2340
2792
  # to enable on the firewall.
2341
2793
  # @return [Array<String>]
2342
2794
  #
2795
+ # @!attribute [rw] transit_gateway_id
2796
+ # The unique identifier of the transit gateway associated with this
2797
+ # firewall. This field is only present for transit gateway-attached
2798
+ # firewalls.
2799
+ # @return [String]
2800
+ #
2801
+ # @!attribute [rw] transit_gateway_owner_account_id
2802
+ # The Amazon Web Services account ID that owns the transit gateway.
2803
+ # This may be different from the firewall owner's account ID when
2804
+ # using a shared transit gateway.
2805
+ # @return [String]
2806
+ #
2807
+ # @!attribute [rw] availability_zone_mappings
2808
+ # The Availability Zones where the firewall endpoints are created for
2809
+ # a transit gateway-attached firewall. Each mapping specifies an
2810
+ # Availability Zone where the firewall processes traffic.
2811
+ # @return [Array<Types::AvailabilityZoneMapping>]
2812
+ #
2813
+ # @!attribute [rw] availability_zone_change_protection
2814
+ # A setting indicating whether the firewall is protected against
2815
+ # changes to its Availability Zone configuration. When set to `TRUE`,
2816
+ # you must first disable this protection before adding or removing
2817
+ # Availability Zones.
2818
+ # @return [Boolean]
2819
+ #
2343
2820
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/Firewall AWS API Documentation
2344
2821
  #
2345
2822
  class Firewall < Struct.new(
@@ -2356,7 +2833,11 @@ module Aws::NetworkFirewall
2356
2833
  :tags,
2357
2834
  :encryption_configuration,
2358
2835
  :number_of_associations,
2359
- :enabled_analysis_types)
2836
+ :enabled_analysis_types,
2837
+ :transit_gateway_id,
2838
+ :transit_gateway_owner_account_id,
2839
+ :availability_zone_mappings,
2840
+ :availability_zone_change_protection)
2360
2841
  SENSITIVE = []
2361
2842
  include Aws::Structure
2362
2843
  end
@@ -2374,11 +2855,18 @@ module Aws::NetworkFirewall
2374
2855
  # The Amazon Resource Name (ARN) of the firewall.
2375
2856
  # @return [String]
2376
2857
  #
2858
+ # @!attribute [rw] transit_gateway_attachment_id
2859
+ # The unique identifier of the transit gateway attachment associated
2860
+ # with this firewall. This field is only present for transit
2861
+ # gateway-attached firewalls.
2862
+ # @return [String]
2863
+ #
2377
2864
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/FirewallMetadata AWS API Documentation
2378
2865
  #
2379
2866
  class FirewallMetadata < Struct.new(
2380
2867
  :firewall_name,
2381
- :firewall_arn)
2868
+ :firewall_arn,
2869
+ :transit_gateway_attachment_id)
2382
2870
  SENSITIVE = []
2383
2871
  include Aws::Structure
2384
2872
  end
@@ -2651,13 +3139,21 @@ module Aws::NetworkFirewall
2651
3139
  # all of the reference sets in a firewall.
2652
3140
  # @return [Types::CapacityUsageSummary]
2653
3141
  #
3142
+ # @!attribute [rw] transit_gateway_attachment_sync_state
3143
+ # The synchronization state of the transit gateway attachment. This
3144
+ # indicates whether the firewall's transit gateway configuration is
3145
+ # properly synchronized and operational. Use this to verify that your
3146
+ # transit gateway configuration changes have been applied.
3147
+ # @return [Types::TransitGatewayAttachmentSyncState]
3148
+ #
2654
3149
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/FirewallStatus AWS API Documentation
2655
3150
  #
2656
3151
  class FirewallStatus < Struct.new(
2657
3152
  :status,
2658
3153
  :configuration_sync_state_summary,
2659
3154
  :sync_states,
2660
- :capacity_usage_summary)
3155
+ :capacity_usage_summary,
3156
+ :transit_gateway_attachment_sync_state)
2661
3157
  SENSITIVE = []
2662
3158
  include Aws::Structure
2663
3159
  end
@@ -4176,6 +4672,67 @@ module Aws::NetworkFirewall
4176
4672
  include Aws::Structure
4177
4673
  end
4178
4674
 
4675
+ # @!attribute [rw] transit_gateway_attachment_id
4676
+ # Required. The unique identifier of the transit gateway attachment to
4677
+ # reject. This ID is returned in the response when creating a transit
4678
+ # gateway-attached firewall.
4679
+ # @return [String]
4680
+ #
4681
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/RejectNetworkFirewallTransitGatewayAttachmentRequest AWS API Documentation
4682
+ #
4683
+ class RejectNetworkFirewallTransitGatewayAttachmentRequest < Struct.new(
4684
+ :transit_gateway_attachment_id)
4685
+ SENSITIVE = []
4686
+ include Aws::Structure
4687
+ end
4688
+
4689
+ # @!attribute [rw] transit_gateway_attachment_id
4690
+ # The unique identifier of the transit gateway attachment that was
4691
+ # rejected.
4692
+ # @return [String]
4693
+ #
4694
+ # @!attribute [rw] transit_gateway_attachment_status
4695
+ # The current status of the transit gateway attachment. Valid values
4696
+ # are:
4697
+ #
4698
+ # * `CREATING` - The attachment is being created
4699
+ #
4700
+ # * `DELETING` - The attachment is being deleted
4701
+ #
4702
+ # * `DELETED` - The attachment has been deleted
4703
+ #
4704
+ # * `FAILED` - The attachment creation has failed and cannot be
4705
+ # recovered
4706
+ #
4707
+ # * `ERROR` - The attachment is in an error state that might be
4708
+ # recoverable
4709
+ #
4710
+ # * `READY` - The attachment is active and processing traffic
4711
+ #
4712
+ # * `PENDING_ACCEPTANCE` - The attachment is waiting to be accepted
4713
+ #
4714
+ # * `REJECTING` - The attachment is in the process of being rejected
4715
+ #
4716
+ # * `REJECTED` - The attachment has been rejected
4717
+ #
4718
+ # For information about troubleshooting endpoint failures, see
4719
+ # [Troubleshooting firewall endpoint failures][1] in the *Network
4720
+ # Firewall Developer Guide*.
4721
+ #
4722
+ #
4723
+ #
4724
+ # [1]: https://docs.aws.amazon.com/network-firewall/latest/developerguide/firewall-troubleshooting-endpoint-failures.html
4725
+ # @return [String]
4726
+ #
4727
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/RejectNetworkFirewallTransitGatewayAttachmentResponse AWS API Documentation
4728
+ #
4729
+ class RejectNetworkFirewallTransitGatewayAttachmentResponse < Struct.new(
4730
+ :transit_gateway_attachment_id,
4731
+ :transit_gateway_attachment_status)
4732
+ SENSITIVE = []
4733
+ include Aws::Structure
4734
+ end
4735
+
4179
4736
  # Unable to locate a resource using the parameters that you provided.
4180
4737
  #
4181
4738
  # @!attribute [rw] message
@@ -4407,7 +4964,7 @@ module Aws::NetworkFirewall
4407
4964
  # @return [Types::SourceMetadata]
4408
4965
  #
4409
4966
  # @!attribute [rw] sns_topic
4410
- # The Amazon resource name (ARN) of the Amazon Simple Notification
4967
+ # The Amazon Resource Name (ARN) of the Amazon Simple Notification
4411
4968
  # Service SNS topic that's used to record changes to the managed rule
4412
4969
  # group. You can subscribe to the SNS topic to receive notifications
4413
4970
  # when the managed rule group is modified, such as for new versions
@@ -4434,6 +4991,16 @@ module Aws::NetworkFirewall
4434
4991
  # in the list of analysis results.
4435
4992
  # @return [Array<Types::AnalysisResult>]
4436
4993
  #
4994
+ # @!attribute [rw] summary_configuration
4995
+ # A complex type containing the currently selected rule option fields
4996
+ # that will be displayed for rule summarization returned by
4997
+ # DescribeRuleGroupSummary.
4998
+ #
4999
+ # * The `RuleOptions` specified in SummaryConfiguration
5000
+ #
5001
+ # * Rule metadata organization preferences
5002
+ # @return [Types::SummaryConfiguration]
5003
+ #
4437
5004
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/RuleGroupResponse AWS API Documentation
4438
5005
  #
4439
5006
  class RuleGroupResponse < Struct.new(
@@ -4451,7 +5018,8 @@ module Aws::NetworkFirewall
4451
5018
  :source_metadata,
4452
5019
  :sns_topic,
4453
5020
  :last_modified_time,
4454
- :analysis_results)
5021
+ :analysis_results,
5022
+ :summary_configuration)
4455
5023
  SENSITIVE = []
4456
5024
  include Aws::Structure
4457
5025
  end
@@ -4490,8 +5058,42 @@ module Aws::NetworkFirewall
4490
5058
  include Aws::Structure
4491
5059
  end
4492
5060
 
5061
+ # A complex type containing details about a Suricata rule. Contains:
5062
+ #
5063
+ # * `SID`
5064
+ #
5065
+ # * `Msg`
5066
+ #
5067
+ # * `Metadata`
5068
+ #
5069
+ # Summaries are available for rule groups you manage and for active
5070
+ # threat defense Amazon Web Services managed rule groups.
5071
+ #
5072
+ # @!attribute [rw] sid
5073
+ # The unique identifier (Signature ID) of the Suricata rule.
5074
+ # @return [String]
5075
+ #
5076
+ # @!attribute [rw] msg
5077
+ # The contents taken from the rule's msg field.
5078
+ # @return [String]
5079
+ #
5080
+ # @!attribute [rw] metadata
5081
+ # The contents of the rule's metadata.
5082
+ # @return [String]
5083
+ #
5084
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/RuleSummary AWS API Documentation
5085
+ #
5086
+ class RuleSummary < Struct.new(
5087
+ :sid,
5088
+ :msg,
5089
+ :metadata)
5090
+ SENSITIVE = []
5091
+ include Aws::Structure
5092
+ end
5093
+
4493
5094
  # Settings that are available for use in the rules in the RuleGroup
4494
- # where this is defined.
5095
+ # where this is defined. See CreateRuleGroup or UpdateRuleGroup for
5096
+ # usage.
4495
5097
  #
4496
5098
  # @!attribute [rw] ip_sets
4497
5099
  # A list of IP addresses and address ranges, in CIDR notation.
@@ -4682,9 +5284,8 @@ module Aws::NetworkFirewall
4682
5284
  # Authority.
4683
5285
  #
4684
5286
  # For more information about configuring certificates for outbound
4685
- # inspection, see [Using SSL/TLS certificates with certificates with
4686
- # TLS inspection configurations][1] in the *Network Firewall Developer
4687
- # Guide*.
5287
+ # inspection, see [Using SSL/TLS certificates with TLS inspection
5288
+ # configurations][1] in the *Network Firewall Developer Guide*.
4688
5289
  #
4689
5290
  # For information about working with certificates in ACM, see
4690
5291
  # [Importing certificates][2] in the *Certificate Manager User Guide*.
@@ -5001,17 +5602,18 @@ module Aws::NetworkFirewall
5001
5602
  #
5002
5603
  # @!attribute [rw] rule_order
5003
5604
  # Indicates how to manage the order of stateful rule evaluation for
5004
- # the policy. `STRICT_ORDER` is the default and recommended option.
5005
- # With `STRICT_ORDER`, provide your rules in the order that you want
5006
- # them to be evaluated. You can then choose one or more default
5007
- # actions for packets that don't match any rules. Choose
5008
- # `STRICT_ORDER` to have the stateful rules engine determine the
5009
- # evaluation order of your rules. The default action for this rule
5010
- # order is `PASS`, followed by `DROP`, `REJECT`, and `ALERT` actions.
5011
- # Stateful rules are provided to the rule engine as Suricata
5012
- # compatible strings, and Suricata evaluates them based on your
5013
- # settings. For more information, see [Evaluation order for stateful
5014
- # rules][1] in the *Network Firewall Developer Guide*.
5605
+ # the policy. `STRICT_ORDER` is the recommended option, but
5606
+ # `DEFAULT_ACTION_ORDER` is the default option. With `STRICT_ORDER`,
5607
+ # provide your rules in the order that you want them to be evaluated.
5608
+ # You can then choose one or more default actions for packets that
5609
+ # don't match any rules. Choose `STRICT_ORDER` to have the stateful
5610
+ # rules engine determine the evaluation order of your rules. The
5611
+ # default action for this rule order is `PASS`, followed by `DROP`,
5612
+ # `REJECT`, and `ALERT` actions. Stateful rules are provided to the
5613
+ # rule engine as Suricata compatible strings, and Suricata evaluates
5614
+ # them based on your settings. For more information, see [Evaluation
5615
+ # order for stateful rules][1] in the *Network Firewall Developer
5616
+ # Guide*.
5015
5617
  #
5016
5618
  #
5017
5619
  #
@@ -5166,12 +5768,32 @@ module Aws::NetworkFirewall
5166
5768
  # the rule group within a policy.
5167
5769
  # @return [Types::StatefulRuleGroupOverride]
5168
5770
  #
5771
+ # @!attribute [rw] deep_threat_inspection
5772
+ # Network Firewall plans to augment the active threat defense managed
5773
+ # rule group with an additional deep threat inspection capability.
5774
+ # When this capability is released, Amazon Web Services will analyze
5775
+ # service logs of network traffic processed by these rule groups to
5776
+ # identify threat indicators across customers. Amazon Web Services
5777
+ # will use these threat indicators to improve the active threat
5778
+ # defense managed rule groups and protect the security of Amazon Web
5779
+ # Services customers and services.
5780
+ #
5781
+ # <note markdown="1"> Customers can opt-out of deep threat inspection at any time through
5782
+ # the Network Firewall console or API. When customers opt out, Network
5783
+ # Firewall will not use the network traffic processed by those
5784
+ # customers' active threat defense rule groups for rule group
5785
+ # improvement.
5786
+ #
5787
+ # </note>
5788
+ # @return [Boolean]
5789
+ #
5169
5790
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/StatefulRuleGroupReference AWS API Documentation
5170
5791
  #
5171
5792
  class StatefulRuleGroupReference < Struct.new(
5172
5793
  :resource_arn,
5173
5794
  :priority,
5174
- :override)
5795
+ :override,
5796
+ :deep_threat_inspection)
5175
5797
  SENSITIVE = []
5176
5798
  include Aws::Structure
5177
5799
  end
@@ -5309,6 +5931,52 @@ module Aws::NetworkFirewall
5309
5931
  include Aws::Structure
5310
5932
  end
5311
5933
 
5934
+ # A complex type containing summaries of security protections provided
5935
+ # by a rule group.
5936
+ #
5937
+ # Network Firewall extracts this information from selected fields in the
5938
+ # rule group's Suricata rules, based on your SummaryConfiguration
5939
+ # settings.
5940
+ #
5941
+ # @!attribute [rw] rule_summaries
5942
+ # An array of RuleSummary objects containing individual rule details
5943
+ # that had been configured by the rulegroup's SummaryConfiguration.
5944
+ # @return [Array<Types::RuleSummary>]
5945
+ #
5946
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/Summary AWS API Documentation
5947
+ #
5948
+ class Summary < Struct.new(
5949
+ :rule_summaries)
5950
+ SENSITIVE = []
5951
+ include Aws::Structure
5952
+ end
5953
+
5954
+ # A complex type that specifies which Suricata rule metadata fields to
5955
+ # use when displaying threat information. Contains:
5956
+ #
5957
+ # * `RuleOptions` - The Suricata rule options fields to extract and
5958
+ # display
5959
+ #
5960
+ # ^
5961
+ #
5962
+ # These settings affect how threat information appears in both the
5963
+ # console and API responses. Summaries are available for rule groups you
5964
+ # manage and for active threat defense Amazon Web Services managed rule
5965
+ # groups.
5966
+ #
5967
+ # @!attribute [rw] rule_options
5968
+ # Specifies the selected rule options returned by
5969
+ # DescribeRuleGroupSummary.
5970
+ # @return [Array<String>]
5971
+ #
5972
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/SummaryConfiguration AWS API Documentation
5973
+ #
5974
+ class SummaryConfiguration < Struct.new(
5975
+ :rule_options)
5976
+ SENSITIVE = []
5977
+ include Aws::Structure
5978
+ end
5979
+
5312
5980
  # The status of the firewall endpoint and firewall policy configuration
5313
5981
  # for a single VPC subnet. This is part of the FirewallStatus.
5314
5982
  #
@@ -5612,6 +6280,87 @@ module Aws::NetworkFirewall
5612
6280
  include Aws::Structure
5613
6281
  end
5614
6282
 
6283
+ # Contains information about the synchronization state of a transit
6284
+ # gateway attachment, including its current status and any error
6285
+ # messages. Network Firewall uses this to track the state of your
6286
+ # transit gateway configuration changes.
6287
+ #
6288
+ # @!attribute [rw] attachment_id
6289
+ # The unique identifier of the transit gateway attachment.
6290
+ # @return [String]
6291
+ #
6292
+ # @!attribute [rw] transit_gateway_attachment_status
6293
+ # The current status of the transit gateway attachment.
6294
+ #
6295
+ # Valid values are:
6296
+ #
6297
+ # * `CREATING` - The attachment is being created
6298
+ #
6299
+ # * `DELETING` - The attachment is being deleted
6300
+ #
6301
+ # * `DELETED` - The attachment has been deleted
6302
+ #
6303
+ # * `FAILED` - The attachment creation has failed and cannot be
6304
+ # recovered
6305
+ #
6306
+ # * `ERROR` - The attachment is in an error state that might be
6307
+ # recoverable
6308
+ #
6309
+ # * `READY` - The attachment is active and processing traffic
6310
+ #
6311
+ # * `PENDING_ACCEPTANCE` - The attachment is waiting to be accepted
6312
+ #
6313
+ # * `REJECTING` - The attachment is in the process of being rejected
6314
+ #
6315
+ # * `REJECTED` - The attachment has been rejected
6316
+ # @return [String]
6317
+ #
6318
+ # @!attribute [rw] status_message
6319
+ # A message providing additional information about the current status,
6320
+ # particularly useful when the transit gateway attachment is in a
6321
+ # non-`READY` state.
6322
+ #
6323
+ # Valid values are:
6324
+ #
6325
+ # * `CREATING` - The attachment is being created
6326
+ #
6327
+ # * `DELETING` - The attachment is being deleted
6328
+ #
6329
+ # * `DELETED` - The attachment has been deleted
6330
+ #
6331
+ # * `FAILED` - The attachment creation has failed and cannot be
6332
+ # recovered
6333
+ #
6334
+ # * `ERROR` - The attachment is in an error state that might be
6335
+ # recoverable
6336
+ #
6337
+ # * `READY` - The attachment is active and processing traffic
6338
+ #
6339
+ # * `PENDING_ACCEPTANCE` - The attachment is waiting to be accepted
6340
+ #
6341
+ # * `REJECTING` - The attachment is in the process of being rejected
6342
+ #
6343
+ # * `REJECTED` - The attachment has been rejected
6344
+ #
6345
+ # For information about troubleshooting endpoint failures, see
6346
+ # [Troubleshooting firewall endpoint failures][1] in the *Network
6347
+ # Firewall Developer Guide*.
6348
+ #
6349
+ #
6350
+ #
6351
+ # [1]: https://docs.aws.amazon.com/network-firewall/latest/developerguide/firewall-troubleshooting-endpoint-failures.html
6352
+ # @return [String]
6353
+ #
6354
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/TransitGatewayAttachmentSyncState AWS API Documentation
6355
+ #
6356
+ class TransitGatewayAttachmentSyncState < Struct.new(
6357
+ :attachment_id,
6358
+ :transit_gateway_attachment_status,
6359
+ :status_message)
6360
+ SENSITIVE = []
6361
+ include Aws::Structure
6362
+ end
6363
+
5615
6364
  # A unique source IP address that connected to a domain.
5616
6365
  #
5617
6366
  # @!attribute [rw] count
@@ -5659,6 +6408,106 @@ module Aws::NetworkFirewall
5659
6408
  #
5660
6409
  class UntagResourceResponse < Aws::EmptyStructure; end
5661
6410
 
6411
+ # @!attribute [rw] update_token
6412
+ # An optional token that you can use for optimistic locking. Network
6413
+ # Firewall returns a token to your requests that access the firewall.
6414
+ # The token marks the state of the firewall resource at the time of
6415
+ # the request.
6416
+ #
6417
+ # To make an unconditional change to the firewall, omit the token in
6418
+ # your update request. Without the token, Network Firewall performs
6419
+ # your updates regardless of whether the firewall has changed since
6420
+ # you last retrieved it.
6421
+ #
6422
+ # To make a conditional change to the firewall, provide the token in
6423
+ # your update request. Network Firewall uses the token to ensure that
6424
+ # the firewall hasn't changed since you last retrieved it. If it has
6425
+ # changed, the operation fails with an `InvalidTokenException`. If
6426
+ # this happens, retrieve the firewall again to get a current copy of
6427
+ # it with a new token. Reapply your changes as needed, then try the
6428
+ # operation again using the new token.
6429
+ # @return [String]
6430
+ #
6431
+ # @!attribute [rw] firewall_arn
6432
+ # The Amazon Resource Name (ARN) of the firewall.
6433
+ #
6434
+ # You must specify the ARN or the name, and you can specify both.
6435
+ # @return [String]
6436
+ #
6437
+ # @!attribute [rw] firewall_name
6438
+ # The descriptive name of the firewall. You can't change the name of
6439
+ # a firewall after you create it.
6440
+ #
6441
+ # You must specify the ARN or the name, and you can specify both.
6442
+ # @return [String]
6443
+ #
6444
+ # @!attribute [rw] availability_zone_change_protection
6445
+ # A setting indicating whether the firewall is protected against
6446
+ # changes to the subnet associations. Use this setting to protect
6447
+ # against accidentally modifying the subnet associations for a
6448
+ # firewall that is in use. When you create a firewall, the operation
6449
+ # initializes this setting to `TRUE`.
6450
+ # @return [Boolean]
6451
+ #
6452
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateAvailabilityZoneChangeProtectionRequest AWS API Documentation
6453
+ #
6454
+ class UpdateAvailabilityZoneChangeProtectionRequest < Struct.new(
6455
+ :update_token,
6456
+ :firewall_arn,
6457
+ :firewall_name,
6458
+ :availability_zone_change_protection)
6459
+ SENSITIVE = []
6460
+ include Aws::Structure
6461
+ end
6462
+
6463
+ # @!attribute [rw] update_token
6464
+ # An optional token that you can use for optimistic locking. Network
6465
+ # Firewall returns a token to your requests that access the firewall.
6466
+ # The token marks the state of the firewall resource at the time of
6467
+ # the request.
6468
+ #
6469
+ # To make an unconditional change to the firewall, omit the token in
6470
+ # your update request. Without the token, Network Firewall performs
6471
+ # your updates regardless of whether the firewall has changed since
6472
+ # you last retrieved it.
6473
+ #
6474
+ # To make a conditional change to the firewall, provide the token in
6475
+ # your update request. Network Firewall uses the token to ensure that
6476
+ # the firewall hasn't changed since you last retrieved it. If it has
6477
+ # changed, the operation fails with an `InvalidTokenException`. If
6478
+ # this happens, retrieve the firewall again to get a current copy of
6479
+ # it with a new token. Reapply your changes as needed, then try the
6480
+ # operation again using the new token.
6481
+ # @return [String]
6482
+ #
6483
+ # @!attribute [rw] firewall_arn
6484
+ # The Amazon Resource Name (ARN) of the firewall.
6485
+ # @return [String]
6486
+ #
6487
+ # @!attribute [rw] firewall_name
6488
+ # The descriptive name of the firewall. You can't change the name of
6489
+ # a firewall after you create it.
6490
+ # @return [String]
6491
+ #
6492
+ # @!attribute [rw] availability_zone_change_protection
6493
+ # A setting indicating whether the firewall is protected against
6494
+ # changes to the subnet associations. Use this setting to protect
6495
+ # against accidentally modifying the subnet associations for a
6496
+ # firewall that is in use. When you create a firewall, the operation
6497
+ # initializes this setting to `TRUE`.
6498
+ # @return [Boolean]
6499
+ #
6500
+ # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateAvailabilityZoneChangeProtectionResponse AWS API Documentation
6501
+ #
6502
+ class UpdateAvailabilityZoneChangeProtectionResponse < Struct.new(
6503
+ :update_token,
6504
+ :firewall_arn,
6505
+ :firewall_name,
6506
+ :availability_zone_change_protection)
6507
+ SENSITIVE = []
6508
+ include Aws::Structure
6509
+ end
6510
+
5662
6511
  # @!attribute [rw] enabled_analysis_types
5663
6512
  # An optional setting indicating the specific traffic analysis types
5664
6513
  # to enable on the firewall.
@@ -6443,6 +7292,12 @@ module Aws::NetworkFirewall
6443
7292
  # analyzer without updating the rule group, set `DryRun` to `TRUE`.
6444
7293
  # @return [Boolean]
6445
7294
  #
7295
+ # @!attribute [rw] summary_configuration
7296
+ # Updates the selected summary configuration for a rule group.
7297
+ #
7298
+ # Changes affect subsequent responses from DescribeRuleGroupSummary.
7299
+ # @return [Types::SummaryConfiguration]
7300
+ #
6446
7301
  # @see http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateRuleGroupRequest AWS API Documentation
6447
7302
  #
6448
7303
  class UpdateRuleGroupRequest < Struct.new(
@@ -6456,7 +7311,8 @@ module Aws::NetworkFirewall
6456
7311
  :dry_run,
6457
7312
  :encryption_configuration,
6458
7313
  :source_metadata,
6459
- :analyze_rule_group)
7314
+ :analyze_rule_group,
7315
+ :summary_configuration)
6460
7316
  SENSITIVE = []
6461
7317
  include Aws::Structure
6462
7318
  end