@aws-sdk/client-network-firewall 3.828.0 → 3.831.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.
Files changed (57) hide show
  1. package/README.md +56 -0
  2. package/dist-cjs/index.js +343 -58
  3. package/dist-es/NetworkFirewall.js +14 -0
  4. package/dist-es/commands/AcceptNetworkFirewallTransitGatewayAttachmentCommand.js +22 -0
  5. package/dist-es/commands/AssociateAvailabilityZonesCommand.js +22 -0
  6. package/dist-es/commands/DeleteNetworkFirewallTransitGatewayAttachmentCommand.js +22 -0
  7. package/dist-es/commands/DescribeRuleGroupSummaryCommand.js +22 -0
  8. package/dist-es/commands/DisassociateAvailabilityZonesCommand.js +22 -0
  9. package/dist-es/commands/RejectNetworkFirewallTransitGatewayAttachmentCommand.js +22 -0
  10. package/dist-es/commands/UpdateAvailabilityZoneChangeProtectionCommand.js +22 -0
  11. package/dist-es/commands/index.js +7 -0
  12. package/dist-es/models/models_0.js +58 -39
  13. package/dist-es/protocols/Aws_json1_0.js +142 -6
  14. package/dist-types/NetworkFirewall.d.ts +50 -0
  15. package/dist-types/NetworkFirewallClient.d.ts +9 -2
  16. package/dist-types/commands/AcceptNetworkFirewallTransitGatewayAttachmentCommand.d.ts +104 -0
  17. package/dist-types/commands/AssociateAvailabilityZonesCommand.d.ts +124 -0
  18. package/dist-types/commands/CreateFirewallCommand.d.ts +20 -0
  19. package/dist-types/commands/CreateFirewallPolicyCommand.d.ts +1 -0
  20. package/dist-types/commands/CreateRuleGroupCommand.d.ts +11 -1
  21. package/dist-types/commands/DeleteFirewallCommand.d.ts +13 -0
  22. package/dist-types/commands/DeleteNetworkFirewallTransitGatewayAttachmentCommand.d.ts +103 -0
  23. package/dist-types/commands/DeleteRuleGroupCommand.d.ts +5 -0
  24. package/dist-types/commands/DescribeFirewallCommand.d.ts +13 -0
  25. package/dist-types/commands/DescribeFirewallMetadataCommand.d.ts +1 -0
  26. package/dist-types/commands/DescribeFirewallPolicyCommand.d.ts +1 -0
  27. package/dist-types/commands/DescribeRuleGroupCommand.d.ts +6 -1
  28. package/dist-types/commands/DescribeRuleGroupSummaryCommand.d.ts +112 -0
  29. package/dist-types/commands/DisassociateAvailabilityZonesCommand.d.ts +123 -0
  30. package/dist-types/commands/ListFirewallsCommand.d.ts +1 -0
  31. package/dist-types/commands/ListRuleGroupsCommand.d.ts +1 -1
  32. package/dist-types/commands/RejectNetworkFirewallTransitGatewayAttachmentCommand.d.ts +104 -0
  33. package/dist-types/commands/UpdateAvailabilityZoneChangeProtectionCommand.d.ts +111 -0
  34. package/dist-types/commands/UpdateFirewallPolicyCommand.d.ts +1 -0
  35. package/dist-types/commands/UpdateRuleGroupCommand.d.ts +11 -1
  36. package/dist-types/commands/index.d.ts +7 -0
  37. package/dist-types/endpoint/EndpointParameters.d.ts +7 -7
  38. package/dist-types/models/models_0.d.ts +884 -138
  39. package/dist-types/protocols/Aws_json1_0.d.ts +63 -0
  40. package/dist-types/runtimeConfig.browser.d.ts +2 -2
  41. package/dist-types/runtimeConfig.native.d.ts +2 -2
  42. package/dist-types/ts3.4/NetworkFirewall.d.ts +144 -0
  43. package/dist-types/ts3.4/NetworkFirewallClient.d.ts +42 -0
  44. package/dist-types/ts3.4/commands/AcceptNetworkFirewallTransitGatewayAttachmentCommand.d.ts +51 -0
  45. package/dist-types/ts3.4/commands/AssociateAvailabilityZonesCommand.d.ts +51 -0
  46. package/dist-types/ts3.4/commands/DeleteNetworkFirewallTransitGatewayAttachmentCommand.d.ts +51 -0
  47. package/dist-types/ts3.4/commands/DescribeRuleGroupSummaryCommand.d.ts +51 -0
  48. package/dist-types/ts3.4/commands/DisassociateAvailabilityZonesCommand.d.ts +51 -0
  49. package/dist-types/ts3.4/commands/RejectNetworkFirewallTransitGatewayAttachmentCommand.d.ts +51 -0
  50. package/dist-types/ts3.4/commands/UpdateAvailabilityZoneChangeProtectionCommand.d.ts +51 -0
  51. package/dist-types/ts3.4/commands/index.d.ts +7 -0
  52. package/dist-types/ts3.4/endpoint/EndpointParameters.d.ts +7 -7
  53. package/dist-types/ts3.4/models/models_0.d.ts +170 -45
  54. package/dist-types/ts3.4/protocols/Aws_json1_0.d.ts +84 -0
  55. package/dist-types/ts3.4/runtimeConfig.browser.d.ts +4 -2
  56. package/dist-types/ts3.4/runtimeConfig.native.d.ts +4 -2
  57. package/package.json +2 -2
@@ -1,5 +1,153 @@
1
1
  import { ExceptionOptionType as __ExceptionOptionType } from "@smithy/smithy-client";
2
2
  import { NetworkFirewallServiceException as __BaseException } from "./NetworkFirewallServiceException";
3
+ /**
4
+ * @public
5
+ */
6
+ export interface AcceptNetworkFirewallTransitGatewayAttachmentRequest {
7
+ /**
8
+ * <p>Required. The unique identifier of the transit gateway attachment to accept. This ID is returned in the response when creating a transit gateway-attached firewall.</p>
9
+ * @public
10
+ */
11
+ TransitGatewayAttachmentId: string | undefined;
12
+ }
13
+ /**
14
+ * @public
15
+ * @enum
16
+ */
17
+ export declare const TransitGatewayAttachmentStatus: {
18
+ readonly CREATING: "CREATING";
19
+ readonly DELETED: "DELETED";
20
+ readonly DELETING: "DELETING";
21
+ readonly ERROR: "ERROR";
22
+ readonly FAILED: "FAILED";
23
+ readonly PENDING_ACCEPTANCE: "PENDING_ACCEPTANCE";
24
+ readonly READY: "READY";
25
+ readonly REJECTED: "REJECTED";
26
+ readonly REJECTING: "REJECTING";
27
+ };
28
+ /**
29
+ * @public
30
+ */
31
+ export type TransitGatewayAttachmentStatus = (typeof TransitGatewayAttachmentStatus)[keyof typeof TransitGatewayAttachmentStatus];
32
+ /**
33
+ * @public
34
+ */
35
+ export interface AcceptNetworkFirewallTransitGatewayAttachmentResponse {
36
+ /**
37
+ * <p>The unique identifier of the transit gateway attachment that was accepted.</p>
38
+ * @public
39
+ */
40
+ TransitGatewayAttachmentId: string | undefined;
41
+ /**
42
+ * <p>The current status of the transit gateway attachment. Valid values are:</p>
43
+ * <ul>
44
+ * <li>
45
+ * <p>
46
+ * <code>CREATING</code> - The attachment is being created</p>
47
+ * </li>
48
+ * <li>
49
+ * <p>
50
+ * <code>DELETING</code> - The attachment is being deleted</p>
51
+ * </li>
52
+ * <li>
53
+ * <p>
54
+ * <code>DELETED</code> - The attachment has been deleted</p>
55
+ * </li>
56
+ * <li>
57
+ * <p>
58
+ * <code>FAILED</code> - The attachment creation has failed and cannot be recovered</p>
59
+ * </li>
60
+ * <li>
61
+ * <p>
62
+ * <code>ERROR</code> - The attachment is in an error state that might be recoverable</p>
63
+ * </li>
64
+ * <li>
65
+ * <p>
66
+ * <code>READY</code> - The attachment is active and processing traffic</p>
67
+ * </li>
68
+ * <li>
69
+ * <p>
70
+ * <code>PENDING_ACCEPTANCE</code> - The attachment is waiting to be accepted</p>
71
+ * </li>
72
+ * <li>
73
+ * <p>
74
+ * <code>REJECTING</code> - The attachment is in the process of being rejected</p>
75
+ * </li>
76
+ * <li>
77
+ * <p>
78
+ * <code>REJECTED</code> - The attachment has been rejected</p>
79
+ * </li>
80
+ * </ul>
81
+ * @public
82
+ */
83
+ TransitGatewayAttachmentStatus: TransitGatewayAttachmentStatus | undefined;
84
+ }
85
+ /**
86
+ * <p>Your request is valid, but Network Firewall couldn't perform the operation because of a
87
+ * system problem. Retry your request. </p>
88
+ * @public
89
+ */
90
+ export declare class InternalServerError extends __BaseException {
91
+ readonly name: "InternalServerError";
92
+ readonly $fault: "server";
93
+ Message?: string | undefined;
94
+ /**
95
+ * @internal
96
+ */
97
+ constructor(opts: __ExceptionOptionType<InternalServerError, __BaseException>);
98
+ }
99
+ /**
100
+ * <p>The operation failed because of a problem with your request. Examples include: </p>
101
+ * <ul>
102
+ * <li>
103
+ * <p>You specified an unsupported parameter name or value.</p>
104
+ * </li>
105
+ * <li>
106
+ * <p>You tried to update a property with a value that isn't among the available
107
+ * types.</p>
108
+ * </li>
109
+ * <li>
110
+ * <p>Your request references an ARN that is malformed, or corresponds to a resource
111
+ * that isn't valid in the context of the request.</p>
112
+ * </li>
113
+ * </ul>
114
+ * @public
115
+ */
116
+ export declare class InvalidRequestException extends __BaseException {
117
+ readonly name: "InvalidRequestException";
118
+ readonly $fault: "client";
119
+ Message?: string | undefined;
120
+ /**
121
+ * @internal
122
+ */
123
+ constructor(opts: __ExceptionOptionType<InvalidRequestException, __BaseException>);
124
+ }
125
+ /**
126
+ * <p>Unable to locate a resource using the parameters that you provided.</p>
127
+ * @public
128
+ */
129
+ export declare class ResourceNotFoundException extends __BaseException {
130
+ readonly name: "ResourceNotFoundException";
131
+ readonly $fault: "client";
132
+ Message?: string | undefined;
133
+ /**
134
+ * @internal
135
+ */
136
+ constructor(opts: __ExceptionOptionType<ResourceNotFoundException, __BaseException>);
137
+ }
138
+ /**
139
+ * <p>Unable to process the request due to throttling limitations.</p>
140
+ * @public
141
+ */
142
+ export declare class ThrottlingException extends __BaseException {
143
+ readonly name: "ThrottlingException";
144
+ readonly $fault: "client";
145
+ Message?: string | undefined;
146
+ /**
147
+ * @internal
148
+ */
149
+ constructor(opts: __ExceptionOptionType<ThrottlingException, __BaseException>);
150
+ }
3
151
  /**
4
152
  * <p>The value to use in an Amazon CloudWatch custom metric dimension. This is used in the
5
153
  * <code>PublishMetrics</code>
@@ -47,8 +195,7 @@ export interface ActionDefinition {
47
195
  PublishMetricAction?: PublishMetricAction | undefined;
48
196
  }
49
197
  /**
50
- * <p>A single IP address specification. This is used in the <a>MatchAttributes</a>
51
- * source and destination specifications.</p>
198
+ * <p>A single IP address specification. This is used in the <a>MatchAttributes</a> source and destination specifications.</p>
52
199
  * @public
53
200
  */
54
201
  export interface Address {
@@ -234,9 +381,21 @@ export interface AnalysisResult {
234
381
  AnalysisDetail?: string | undefined;
235
382
  }
236
383
  /**
384
+ * <p>Defines the mapping between an Availability Zone and a firewall endpoint for a transit gateway-attached firewall. Each mapping represents where the firewall can process traffic. You use these mappings when calling <a>CreateFirewall</a>, <a>AssociateAvailabilityZones</a>, and <a>DisassociateAvailabilityZones</a>.</p>
385
+ * <p>To retrieve the current Availability Zone mappings for a firewall, use <a>DescribeFirewall</a>.</p>
237
386
  * @public
238
387
  */
239
- export interface AssociateFirewallPolicyRequest {
388
+ export interface AvailabilityZoneMapping {
389
+ /**
390
+ * <p>The ID of the Availability Zone where the firewall endpoint is located. For example, <code>us-east-2a</code>. The Availability Zone must be in the same Region as the transit gateway.</p>
391
+ * @public
392
+ */
393
+ AvailabilityZone: string | undefined;
394
+ }
395
+ /**
396
+ * @public
397
+ */
398
+ export interface AssociateAvailabilityZonesRequest {
240
399
  /**
241
400
  * <p>An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request. </p>
242
401
  * <p>To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.</p>
@@ -257,15 +416,15 @@ export interface AssociateFirewallPolicyRequest {
257
416
  */
258
417
  FirewallName?: string | undefined;
259
418
  /**
260
- * <p>The Amazon Resource Name (ARN) of the firewall policy.</p>
419
+ * <p>Required. The Availability Zones where you want to create firewall endpoints. You must specify at least one Availability Zone.</p>
261
420
  * @public
262
421
  */
263
- FirewallPolicyArn: string | undefined;
422
+ AvailabilityZoneMappings: AvailabilityZoneMapping[] | undefined;
264
423
  }
265
424
  /**
266
425
  * @public
267
426
  */
268
- export interface AssociateFirewallPolicyResponse {
427
+ export interface AssociateAvailabilityZonesResponse {
269
428
  /**
270
429
  * <p>The Amazon Resource Name (ARN) of the firewall.</p>
271
430
  * @public
@@ -277,10 +436,10 @@ export interface AssociateFirewallPolicyResponse {
277
436
  */
278
437
  FirewallName?: string | undefined;
279
438
  /**
280
- * <p>The Amazon Resource Name (ARN) of the firewall policy.</p>
439
+ * <p>The Availability Zones where Network Firewall created firewall endpoints. Each mapping specifies an Availability Zone where the firewall processes traffic.</p>
281
440
  * @public
282
441
  */
283
- FirewallPolicyArn?: string | undefined;
442
+ AvailabilityZoneMappings?: AvailabilityZoneMapping[] | undefined;
284
443
  /**
285
444
  * <p>An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request. </p>
286
445
  * <p>To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.</p>
@@ -290,18 +449,18 @@ export interface AssociateFirewallPolicyResponse {
290
449
  UpdateToken?: string | undefined;
291
450
  }
292
451
  /**
293
- * <p>Your request is valid, but Network Firewall couldn't perform the operation because of a
294
- * system problem. Retry your request. </p>
452
+ * <p>Amazon Web Services doesn't currently have enough available capacity to fulfill your request. Try your
453
+ * request later. </p>
295
454
  * @public
296
455
  */
297
- export declare class InternalServerError extends __BaseException {
298
- readonly name: "InternalServerError";
456
+ export declare class InsufficientCapacityException extends __BaseException {
457
+ readonly name: "InsufficientCapacityException";
299
458
  readonly $fault: "server";
300
459
  Message?: string | undefined;
301
460
  /**
302
461
  * @internal
303
462
  */
304
- constructor(opts: __ExceptionOptionType<InternalServerError, __BaseException>);
463
+ constructor(opts: __ExceptionOptionType<InsufficientCapacityException, __BaseException>);
305
464
  }
306
465
  /**
307
466
  * <p>The operation failed because it's not valid. For example, you might have tried to delete
@@ -317,32 +476,6 @@ export declare class InvalidOperationException extends __BaseException {
317
476
  */
318
477
  constructor(opts: __ExceptionOptionType<InvalidOperationException, __BaseException>);
319
478
  }
320
- /**
321
- * <p>The operation failed because of a problem with your request. Examples include: </p>
322
- * <ul>
323
- * <li>
324
- * <p>You specified an unsupported parameter name or value.</p>
325
- * </li>
326
- * <li>
327
- * <p>You tried to update a property with a value that isn't among the available
328
- * types.</p>
329
- * </li>
330
- * <li>
331
- * <p>Your request references an ARN that is malformed, or corresponds to a resource
332
- * that isn't valid in the context of the request.</p>
333
- * </li>
334
- * </ul>
335
- * @public
336
- */
337
- export declare class InvalidRequestException extends __BaseException {
338
- readonly name: "InvalidRequestException";
339
- readonly $fault: "client";
340
- Message?: string | undefined;
341
- /**
342
- * @internal
343
- */
344
- constructor(opts: __ExceptionOptionType<InvalidRequestException, __BaseException>);
345
- }
346
479
  /**
347
480
  * <p>The token you provided is stale or isn't valid for the operation. </p>
348
481
  * @public
@@ -357,30 +490,60 @@ export declare class InvalidTokenException extends __BaseException {
357
490
  constructor(opts: __ExceptionOptionType<InvalidTokenException, __BaseException>);
358
491
  }
359
492
  /**
360
- * <p>Unable to locate a resource using the parameters that you provided.</p>
361
493
  * @public
362
494
  */
363
- export declare class ResourceNotFoundException extends __BaseException {
364
- readonly name: "ResourceNotFoundException";
365
- readonly $fault: "client";
366
- Message?: string | undefined;
495
+ export interface AssociateFirewallPolicyRequest {
367
496
  /**
368
- * @internal
497
+ * <p>An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request. </p>
498
+ * <p>To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.</p>
499
+ * <p>To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn't changed since you last retrieved it. If it has changed, the operation fails with an <code>InvalidTokenException</code>. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token. </p>
500
+ * @public
369
501
  */
370
- constructor(opts: __ExceptionOptionType<ResourceNotFoundException, __BaseException>);
502
+ UpdateToken?: string | undefined;
503
+ /**
504
+ * <p>The Amazon Resource Name (ARN) of the firewall.</p>
505
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
506
+ * @public
507
+ */
508
+ FirewallArn?: string | undefined;
509
+ /**
510
+ * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
511
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
512
+ * @public
513
+ */
514
+ FirewallName?: string | undefined;
515
+ /**
516
+ * <p>The Amazon Resource Name (ARN) of the firewall policy.</p>
517
+ * @public
518
+ */
519
+ FirewallPolicyArn: string | undefined;
371
520
  }
372
521
  /**
373
- * <p>Unable to process the request due to throttling limitations.</p>
374
522
  * @public
375
523
  */
376
- export declare class ThrottlingException extends __BaseException {
377
- readonly name: "ThrottlingException";
378
- readonly $fault: "client";
379
- Message?: string | undefined;
524
+ export interface AssociateFirewallPolicyResponse {
380
525
  /**
381
- * @internal
526
+ * <p>The Amazon Resource Name (ARN) of the firewall.</p>
527
+ * @public
382
528
  */
383
- constructor(opts: __ExceptionOptionType<ThrottlingException, __BaseException>);
529
+ FirewallArn?: string | undefined;
530
+ /**
531
+ * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
532
+ * @public
533
+ */
534
+ FirewallName?: string | undefined;
535
+ /**
536
+ * <p>The Amazon Resource Name (ARN) of the firewall policy.</p>
537
+ * @public
538
+ */
539
+ FirewallPolicyArn?: string | undefined;
540
+ /**
541
+ * <p>An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request. </p>
542
+ * <p>To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.</p>
543
+ * <p>To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn't changed since you last retrieved it. If it has changed, the operation fails with an <code>InvalidTokenException</code>. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token. </p>
544
+ * @public
545
+ */
546
+ UpdateToken?: string | undefined;
384
547
  }
385
548
  /**
386
549
  * @public
@@ -470,20 +633,6 @@ export interface AssociateSubnetsResponse {
470
633
  */
471
634
  UpdateToken?: string | undefined;
472
635
  }
473
- /**
474
- * <p>Amazon Web Services doesn't currently have enough available capacity to fulfill your request. Try your
475
- * request later. </p>
476
- * @public
477
- */
478
- export declare class InsufficientCapacityException extends __BaseException {
479
- readonly name: "InsufficientCapacityException";
480
- readonly $fault: "server";
481
- Message?: string | undefined;
482
- /**
483
- * @internal
484
- */
485
- constructor(opts: __ExceptionOptionType<InsufficientCapacityException, __BaseException>);
486
- }
487
636
  /**
488
637
  * @public
489
638
  * @enum
@@ -535,7 +684,9 @@ export interface Attachment {
535
684
  */
536
685
  Status?: AttachmentStatus | undefined;
537
686
  /**
538
- * <p>If Network Firewall fails to create or delete the firewall endpoint in the subnet, it populates this with the reason for the error or failure and how to resolve it. A <code>FAILED</code> status indicates a non-recoverable state, and a <code>ERROR</code> status indicates an issue that you can fix. Depending on the error, it can take as many as 15 minutes to populate this field. For more information about the causes for failiure or errors and solutions available for this field, see <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/firewall-troubleshooting-endpoint-failures.html">Troubleshooting firewall endpoint failures</a> in the <i>Network Firewall Developer Guide</i>.</p>
687
+ * <p>If Network Firewall fails to create or delete the firewall endpoint in the subnet, it populates this with the reason for the error or failure and how to resolve it.
688
+ * A <code>FAILED</code> status indicates a non-recoverable state, and a <code>ERROR</code> status indicates an issue that you can fix.
689
+ * Depending on the error, it can take as many as 15 minutes to populate this field. For more information about the causes for failiure or errors and solutions available for this field, see <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/firewall-troubleshooting-endpoint-failures.html">Troubleshooting firewall endpoint failures</a> in the <i>Network Firewall Developer Guide</i>.</p>
539
690
  * @public
540
691
  */
541
692
  StatusMessage?: string | undefined;
@@ -830,6 +981,28 @@ export interface CreateFirewallRequest {
830
981
  * @public
831
982
  */
832
983
  EnabledAnalysisTypes?: EnabledAnalysisType[] | undefined;
984
+ /**
985
+ * <p>Required when creating a transit gateway-attached firewall. The unique identifier of the transit gateway to attach to this firewall. You can provide either a transit gateway from your account or one that has been shared with you through Resource Access Manager.</p>
986
+ * <important>
987
+ * <p>After creating the firewall, you cannot change the transit gateway association. To use a different transit gateway, you must create a new firewall.</p>
988
+ * </important>
989
+ * <p>For information about creating firewalls, see <a>CreateFirewall</a>. For specific guidance about transit gateway-attached firewalls, see <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/tgw-firewall-considerations.html">Considerations for transit gateway-attached firewalls</a> in the <i>Network Firewall Developer Guide</i>.</p>
990
+ * @public
991
+ */
992
+ TransitGatewayId?: string | undefined;
993
+ /**
994
+ * <p>Required. The Availability Zones where you want to create firewall endpoints for a transit gateway-attached firewall. You must specify at least one Availability Zone. Consider enabling the firewall in every Availability Zone where you have workloads to maintain Availability Zone independence.</p>
995
+ * <p>You can modify Availability Zones later using <a>AssociateAvailabilityZones</a> or <a>DisassociateAvailabilityZones</a>, but this may briefly disrupt traffic. The <code>AvailabilityZoneChangeProtection</code> setting controls whether you can make these modifications.</p>
996
+ * @public
997
+ */
998
+ AvailabilityZoneMappings?: AvailabilityZoneMapping[] | undefined;
999
+ /**
1000
+ * <p>Optional. A setting indicating whether the firewall is protected against changes to its Availability Zone configuration. When set to <code>TRUE</code>, you cannot add or remove Availability Zones without first disabling this protection using <a>UpdateAvailabilityZoneChangeProtection</a>.</p>
1001
+ * <p>Default value: <code>FALSE</code>
1002
+ * </p>
1003
+ * @public
1004
+ */
1005
+ AvailabilityZoneChangeProtection?: boolean | undefined;
833
1006
  }
834
1007
  /**
835
1008
  * <p>A firewall defines the behavior of a firewall, the main VPC where the firewall is used, the Availability Zones where the firewall can be used, and one subnet to use for a firewall endpoint within each of the Availability Zones. The Availability Zones are defined implicitly in the subnet specifications.</p>
@@ -900,27 +1073,47 @@ export interface Firewall {
900
1073
  * <p>The unique identifier for the firewall. </p>
901
1074
  * @public
902
1075
  */
903
- FirewallId: string | undefined;
1076
+ FirewallId: string | undefined;
1077
+ /**
1078
+ * <p></p>
1079
+ * @public
1080
+ */
1081
+ Tags?: Tag[] | undefined;
1082
+ /**
1083
+ * <p>A complex type that contains the Amazon Web Services KMS encryption configuration settings for your firewall.</p>
1084
+ * @public
1085
+ */
1086
+ EncryptionConfiguration?: EncryptionConfiguration | undefined;
1087
+ /**
1088
+ * <p>The number of <code>VpcEndpointAssociation</code> resources that use this firewall. </p>
1089
+ * @public
1090
+ */
1091
+ NumberOfAssociations?: number | undefined;
1092
+ /**
1093
+ * <p>An optional setting indicating the specific traffic analysis types to enable on the firewall. </p>
1094
+ * @public
1095
+ */
1096
+ EnabledAnalysisTypes?: EnabledAnalysisType[] | undefined;
904
1097
  /**
905
- * <p></p>
1098
+ * <p>The unique identifier of the transit gateway associated with this firewall. This field is only present for transit gateway-attached firewalls.</p>
906
1099
  * @public
907
1100
  */
908
- Tags?: Tag[] | undefined;
1101
+ TransitGatewayId?: string | undefined;
909
1102
  /**
910
- * <p>A complex type that contains the Amazon Web Services KMS encryption configuration settings for your firewall.</p>
1103
+ * <p>The Amazon Web Services account ID that owns the transit gateway. This may be different from the firewall owner's account ID when using a shared transit gateway.</p>
911
1104
  * @public
912
1105
  */
913
- EncryptionConfiguration?: EncryptionConfiguration | undefined;
1106
+ TransitGatewayOwnerAccountId?: string | undefined;
914
1107
  /**
915
- * <p>The number of <code>VpcEndpointAssociation</code> resources that use this firewall. </p>
1108
+ * <p>The Availability Zones where the firewall endpoints are created for a transit gateway-attached firewall. Each mapping specifies an Availability Zone where the firewall processes traffic.</p>
916
1109
  * @public
917
1110
  */
918
- NumberOfAssociations?: number | undefined;
1111
+ AvailabilityZoneMappings?: AvailabilityZoneMapping[] | undefined;
919
1112
  /**
920
- * <p>An optional setting indicating the specific traffic analysis types to enable on the firewall. </p>
1113
+ * <p>A setting indicating whether the firewall is protected against changes to its Availability Zone configuration. When set to <code>TRUE</code>, you must first disable this protection before adding or removing Availability Zones.</p>
921
1114
  * @public
922
1115
  */
923
- EnabledAnalysisTypes?: EnabledAnalysisType[] | undefined;
1116
+ AvailabilityZoneChangeProtection?: boolean | undefined;
924
1117
  }
925
1118
  /**
926
1119
  * @public
@@ -1003,6 +1196,106 @@ export interface SyncState {
1003
1196
  */
1004
1197
  Config?: Record<string, PerObjectStatus> | undefined;
1005
1198
  }
1199
+ /**
1200
+ * <p>Contains information about the synchronization state of a transit gateway attachment, including its current status and any error messages. Network Firewall uses this to track the state of your transit gateway configuration changes.</p>
1201
+ * @public
1202
+ */
1203
+ export interface TransitGatewayAttachmentSyncState {
1204
+ /**
1205
+ * <p>The unique identifier of the transit gateway attachment.</p>
1206
+ * @public
1207
+ */
1208
+ AttachmentId?: string | undefined;
1209
+ /**
1210
+ * <p>The current status of the transit gateway attachment.</p>
1211
+ * <p>Valid values are:</p>
1212
+ * <ul>
1213
+ * <li>
1214
+ * <p>
1215
+ * <code>CREATING</code> - The attachment is being created</p>
1216
+ * </li>
1217
+ * <li>
1218
+ * <p>
1219
+ * <code>DELETING</code> - The attachment is being deleted</p>
1220
+ * </li>
1221
+ * <li>
1222
+ * <p>
1223
+ * <code>DELETED</code> - The attachment has been deleted</p>
1224
+ * </li>
1225
+ * <li>
1226
+ * <p>
1227
+ * <code>FAILED</code> - The attachment creation has failed and cannot be recovered</p>
1228
+ * </li>
1229
+ * <li>
1230
+ * <p>
1231
+ * <code>ERROR</code> - The attachment is in an error state that might be recoverable</p>
1232
+ * </li>
1233
+ * <li>
1234
+ * <p>
1235
+ * <code>READY</code> - The attachment is active and processing traffic</p>
1236
+ * </li>
1237
+ * <li>
1238
+ * <p>
1239
+ * <code>PENDING_ACCEPTANCE</code> - The attachment is waiting to be accepted</p>
1240
+ * </li>
1241
+ * <li>
1242
+ * <p>
1243
+ * <code>REJECTING</code> - The attachment is in the process of being rejected</p>
1244
+ * </li>
1245
+ * <li>
1246
+ * <p>
1247
+ * <code>REJECTED</code> - The attachment has been rejected</p>
1248
+ * </li>
1249
+ * </ul>
1250
+ * @public
1251
+ */
1252
+ TransitGatewayAttachmentStatus?: TransitGatewayAttachmentStatus | undefined;
1253
+ /**
1254
+ * <p>A message providing additional information about the current status, particularly useful when the transit gateway attachment is in a non-<code>READY</code> state.</p>
1255
+ * <p>Valid values are:</p>
1256
+ * <ul>
1257
+ * <li>
1258
+ * <p>
1259
+ * <code>CREATING</code> - The attachment is being created</p>
1260
+ * </li>
1261
+ * <li>
1262
+ * <p>
1263
+ * <code>DELETING</code> - The attachment is being deleted</p>
1264
+ * </li>
1265
+ * <li>
1266
+ * <p>
1267
+ * <code>DELETED</code> - The attachment has been deleted</p>
1268
+ * </li>
1269
+ * <li>
1270
+ * <p>
1271
+ * <code>FAILED</code> - The attachment creation has failed and cannot be recovered</p>
1272
+ * </li>
1273
+ * <li>
1274
+ * <p>
1275
+ * <code>ERROR</code> - The attachment is in an error state that might be recoverable</p>
1276
+ * </li>
1277
+ * <li>
1278
+ * <p>
1279
+ * <code>READY</code> - The attachment is active and processing traffic</p>
1280
+ * </li>
1281
+ * <li>
1282
+ * <p>
1283
+ * <code>PENDING_ACCEPTANCE</code> - The attachment is waiting to be accepted</p>
1284
+ * </li>
1285
+ * <li>
1286
+ * <p>
1287
+ * <code>REJECTING</code> - The attachment is in the process of being rejected</p>
1288
+ * </li>
1289
+ * <li>
1290
+ * <p>
1291
+ * <code>REJECTED</code> - The attachment has been rejected</p>
1292
+ * </li>
1293
+ * </ul>
1294
+ * <p>For information about troubleshooting endpoint failures, see <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/firewall-troubleshooting-endpoint-failures.html">Troubleshooting firewall endpoint failures</a> in the <i>Network Firewall Developer Guide</i>.</p>
1295
+ * @public
1296
+ */
1297
+ StatusMessage?: string | undefined;
1298
+ }
1006
1299
  /**
1007
1300
  * <p>Detailed information about the current status of a <a>Firewall</a>. You can retrieve this for a firewall by calling <a>DescribeFirewall</a> and providing the firewall name and ARN.</p>
1008
1301
  * <p>The firewall status indicates a combined status. It indicates whether all subnets are up-to-date with the latest firewall configurations, which is based on the sync states config values, and also whether all subnets have their endpoints fully enabled, based on their sync states attachment values. </p>
@@ -1045,6 +1338,11 @@ export interface FirewallStatus {
1045
1338
  * @public
1046
1339
  */
1047
1340
  CapacityUsageSummary?: CapacityUsageSummary | undefined;
1341
+ /**
1342
+ * <p>The synchronization state of the transit gateway attachment. This indicates whether the firewall's transit gateway configuration is properly synchronized and operational. Use this to verify that your transit gateway configuration changes have been applied.</p>
1343
+ * @public
1344
+ */
1345
+ TransitGatewayAttachmentSyncState?: TransitGatewayAttachmentSyncState | undefined;
1048
1346
  }
1049
1347
  /**
1050
1348
  * @public
@@ -1148,9 +1446,15 @@ export type StreamExceptionPolicy = (typeof StreamExceptionPolicy)[keyof typeof
1148
1446
  */
1149
1447
  export interface StatefulEngineOptions {
1150
1448
  /**
1151
- * <p>Indicates how to manage the order of stateful rule evaluation for the policy. <code>STRICT_ORDER</code> is
1152
- * the default and recommended option. With <code>STRICT_ORDER</code>, provide your rules in the order that you want them to be evaluated. You can then choose one or more default actions for packets that don't match any rules. Choose <code>STRICT_ORDER</code> to have the stateful rules engine determine the evaluation order of your rules. The default action for this rule order is <code>PASS</code>, followed by <code>DROP</code>, <code>REJECT</code>, and <code>ALERT</code> actions. Stateful rules are provided to the rule engine as Suricata compatible strings, and Suricata evaluates them
1153
- * based on your settings. For more information, see
1449
+ * <p>Indicates how to manage the order of stateful rule evaluation for the policy. <code>STRICT_ORDER</code> is the
1450
+ * recommended option, but <code>DEFAULT_ACTION_ORDER</code> is the default option.
1451
+ * With <code>STRICT_ORDER</code>, provide your rules in the order that you want them to be evaluated.
1452
+ * You can then choose one or more default actions for packets that don't match any rules.
1453
+ * Choose <code>STRICT_ORDER</code> to have the stateful rules engine determine the evaluation order of your rules.
1454
+ * The default action for this rule order is
1455
+ * <code>PASS</code>, followed by <code>DROP</code>, <code>REJECT</code>, and <code>ALERT</code> actions.
1456
+ * Stateful rules are provided to the rule engine as Suricata compatible strings, and Suricata evaluates them based on your settings.
1457
+ * For more information, see
1154
1458
  * <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/suricata-rule-evaluation-order.html">Evaluation order for stateful rules</a> in the <i>Network Firewall Developer Guide</i>.
1155
1459
  * </p>
1156
1460
  * @public
@@ -1234,6 +1538,15 @@ export interface StatefulRuleGroupReference {
1234
1538
  * @public
1235
1539
  */
1236
1540
  Override?: StatefulRuleGroupOverride | undefined;
1541
+ /**
1542
+ * <p>Network Firewall plans to augment the active threat defense managed rule group with an additional deep threat inspection capability. When this capability is released, Amazon Web Services will analyze service logs of network traffic processed by these rule groups to identify threat indicators across customers.
1543
+ * Amazon Web Services will use these threat indicators to improve the active threat defense managed rule groups and protect the security of Amazon Web Services customers and services.</p>
1544
+ * <note>
1545
+ * <p>Customers can opt-out of deep threat inspection at any time through the Network Firewall console or API. When customers opt out, Network Firewall will not use the network traffic processed by those customers' active threat defense rule groups for rule group improvement.</p>
1546
+ * </note>
1547
+ * @public
1548
+ */
1549
+ DeepThreatInspection?: boolean | undefined;
1237
1550
  }
1238
1551
  /**
1239
1552
  * <p>An optional, non-standard action to use for stateless packet handling. You can define
@@ -1642,12 +1955,14 @@ export declare const StatefulRuleProtocol: {
1642
1955
  readonly DNS: "DNS";
1643
1956
  readonly FTP: "FTP";
1644
1957
  readonly HTTP: "HTTP";
1958
+ readonly HTTP2: "HTTP2";
1645
1959
  readonly ICMP: "ICMP";
1646
1960
  readonly IKEV2: "IKEV2";
1647
1961
  readonly IMAP: "IMAP";
1648
1962
  readonly KRB5: "KRB5";
1649
1963
  readonly MSN: "MSN";
1650
1964
  readonly NTP: "NTP";
1965
+ readonly QUIC: "QUIC";
1651
1966
  readonly SMB: "SMB";
1652
1967
  readonly SMTP: "SMTP";
1653
1968
  readonly SSH: "SSH";
@@ -2077,7 +2392,7 @@ export interface PortSet {
2077
2392
  }
2078
2393
  /**
2079
2394
  * <p>Settings that are available for use in the rules in the <a>RuleGroup</a>
2080
- * where this is defined. </p>
2395
+ * where this is defined. See <a>CreateRuleGroup</a> or <a>UpdateRuleGroup</a> for usage.</p>
2081
2396
  * @public
2082
2397
  */
2083
2398
  export interface RuleVariables {
@@ -2156,6 +2471,37 @@ export interface SourceMetadata {
2156
2471
  */
2157
2472
  SourceUpdateToken?: string | undefined;
2158
2473
  }
2474
+ /**
2475
+ * @public
2476
+ * @enum
2477
+ */
2478
+ export declare const SummaryRuleOption: {
2479
+ readonly METADATA: "METADATA";
2480
+ readonly MSG: "MSG";
2481
+ readonly SID: "SID";
2482
+ };
2483
+ /**
2484
+ * @public
2485
+ */
2486
+ export type SummaryRuleOption = (typeof SummaryRuleOption)[keyof typeof SummaryRuleOption];
2487
+ /**
2488
+ * <p>A complex type that specifies which Suricata rule metadata fields to use when displaying threat information. Contains:</p>
2489
+ * <ul>
2490
+ * <li>
2491
+ * <p>
2492
+ * <code>RuleOptions</code> - The Suricata rule options fields to extract and display</p>
2493
+ * </li>
2494
+ * </ul>
2495
+ * <p>These settings affect how threat information appears in both the console and API responses. Summaries are available for rule groups you manage and for active threat defense Amazon Web Services managed rule groups.</p>
2496
+ * @public
2497
+ */
2498
+ export interface SummaryConfiguration {
2499
+ /**
2500
+ * <p>Specifies the selected rule options returned by <a>DescribeRuleGroupSummary</a>.</p>
2501
+ * @public
2502
+ */
2503
+ RuleOptions?: SummaryRuleOption[] | undefined;
2504
+ }
2159
2505
  /**
2160
2506
  * @public
2161
2507
  * @enum
@@ -2281,6 +2627,28 @@ export interface CreateRuleGroupRequest {
2281
2627
  * @public
2282
2628
  */
2283
2629
  AnalyzeRuleGroup?: boolean | undefined;
2630
+ /**
2631
+ * <p>An object that contains a <code>RuleOptions</code> array of strings.
2632
+ * You use <code>RuleOptions</code> to determine which of the following <a>RuleSummary</a> values are returned in response to <code>DescribeRuleGroupSummary</code>.</p>
2633
+ * <ul>
2634
+ * <li>
2635
+ * <p>
2636
+ * <code>Metadata</code> - returns</p>
2637
+ * </li>
2638
+ * <li>
2639
+ * <p>
2640
+ * <code>Msg</code>
2641
+ * </p>
2642
+ * </li>
2643
+ * <li>
2644
+ * <p>
2645
+ * <code>SID</code>
2646
+ * </p>
2647
+ * </li>
2648
+ * </ul>
2649
+ * @public
2650
+ */
2651
+ SummaryConfiguration?: SummaryConfiguration | undefined;
2284
2652
  }
2285
2653
  /**
2286
2654
  * <p>The high-level properties of a rule group. This, along with the <a>RuleGroup</a>, define the rule group. You can retrieve all objects for a rule group by calling <a>DescribeRuleGroup</a>. </p>
@@ -2358,7 +2726,7 @@ export interface RuleGroupResponse {
2358
2726
  */
2359
2727
  SourceMetadata?: SourceMetadata | undefined;
2360
2728
  /**
2361
- * <p>The Amazon resource name (ARN) of the Amazon Simple Notification Service SNS topic that's
2729
+ * <p>The Amazon Resource Name (ARN) of the Amazon Simple Notification Service SNS topic that's
2362
2730
  * used to record changes to the managed rule group. You can subscribe to the SNS topic to receive
2363
2731
  * notifications when the managed rule group is modified, such as for new versions and for version
2364
2732
  * expiration. For more information, see the <a href="https://docs.aws.amazon.com/sns/latest/dg/welcome.html">Amazon Simple Notification Service Developer Guide.</a>.</p>
@@ -2375,6 +2743,20 @@ export interface RuleGroupResponse {
2375
2743
  * @public
2376
2744
  */
2377
2745
  AnalysisResults?: AnalysisResult[] | undefined;
2746
+ /**
2747
+ * <p>A complex type containing the currently selected rule option fields that will be displayed for rule summarization returned by <a>DescribeRuleGroupSummary</a>.</p>
2748
+ * <ul>
2749
+ * <li>
2750
+ * <p>The <code>RuleOptions</code> specified in <a>SummaryConfiguration</a>
2751
+ * </p>
2752
+ * </li>
2753
+ * <li>
2754
+ * <p>Rule metadata organization preferences</p>
2755
+ * </li>
2756
+ * </ul>
2757
+ * @public
2758
+ */
2759
+ SummaryConfiguration?: SummaryConfiguration | undefined;
2378
2760
  }
2379
2761
  /**
2380
2762
  * @public
@@ -2469,7 +2851,7 @@ export interface ServerCertificateConfiguration {
2469
2851
  * <p>You can't use certificates issued by Private Certificate Authority.</p>
2470
2852
  * </li>
2471
2853
  * </ul>
2472
- * <p>For more information about configuring certificates for outbound inspection, see <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/tls-inspection-certificate-requirements.html">Using SSL/TLS certificates with certificates with TLS inspection configurations</a> in the <i>Network Firewall Developer Guide</i>. </p>
2854
+ * <p>For more information about configuring certificates for outbound inspection, see <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/tls-inspection-certificate-requirements.html">Using SSL/TLS certificates with TLS inspection configurations</a> in the <i>Network Firewall Developer Guide</i>. </p>
2473
2855
  * <p>For information about working with certificates in ACM, see <a href="https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html">Importing certificates</a> in the <i>Certificate Manager User Guide</i>.</p>
2474
2856
  * @public
2475
2857
  */
@@ -2820,6 +3202,70 @@ export interface DeleteFirewallPolicyResponse {
2820
3202
  */
2821
3203
  FirewallPolicyResponse: FirewallPolicyResponse | undefined;
2822
3204
  }
3205
+ /**
3206
+ * @public
3207
+ */
3208
+ export interface DeleteNetworkFirewallTransitGatewayAttachmentRequest {
3209
+ /**
3210
+ * <p>Required. The unique identifier of the transit gateway attachment to delete.</p>
3211
+ * @public
3212
+ */
3213
+ TransitGatewayAttachmentId: string | undefined;
3214
+ }
3215
+ /**
3216
+ * @public
3217
+ */
3218
+ export interface DeleteNetworkFirewallTransitGatewayAttachmentResponse {
3219
+ /**
3220
+ * <p>The ID of the transit gateway attachment that was deleted.</p>
3221
+ * @public
3222
+ */
3223
+ TransitGatewayAttachmentId: string | undefined;
3224
+ /**
3225
+ * <p>The current status of the transit gateway attachment deletion process.</p>
3226
+ * <p>Valid values are:</p>
3227
+ * <ul>
3228
+ * <li>
3229
+ * <p>
3230
+ * <code>CREATING</code> - The attachment is being created</p>
3231
+ * </li>
3232
+ * <li>
3233
+ * <p>
3234
+ * <code>DELETING</code> - The attachment is being deleted</p>
3235
+ * </li>
3236
+ * <li>
3237
+ * <p>
3238
+ * <code>DELETED</code> - The attachment has been deleted</p>
3239
+ * </li>
3240
+ * <li>
3241
+ * <p>
3242
+ * <code>FAILED</code> - The attachment creation has failed and cannot be recovered</p>
3243
+ * </li>
3244
+ * <li>
3245
+ * <p>
3246
+ * <code>ERROR</code> - The attachment is in an error state that might be recoverable</p>
3247
+ * </li>
3248
+ * <li>
3249
+ * <p>
3250
+ * <code>READY</code> - The attachment is active and processing traffic</p>
3251
+ * </li>
3252
+ * <li>
3253
+ * <p>
3254
+ * <code>PENDING_ACCEPTANCE</code> - The attachment is waiting to be accepted</p>
3255
+ * </li>
3256
+ * <li>
3257
+ * <p>
3258
+ * <code>REJECTING</code> - The attachment is in the process of being rejected</p>
3259
+ * </li>
3260
+ * <li>
3261
+ * <p>
3262
+ * <code>REJECTED</code> - The attachment has been rejected</p>
3263
+ * </li>
3264
+ * </ul>
3265
+ * @public
3266
+ */
3267
+ TransitGatewayAttachmentStatus: TransitGatewayAttachmentStatus | undefined;
3268
+ }
2823
3269
  /**
2824
3270
  * @public
2825
3271
  */
@@ -3022,6 +3468,11 @@ export interface DescribeFirewallMetadataResponse {
3022
3468
  * @public
3023
3469
  */
3024
3470
  SupportedAvailabilityZones?: Record<string, AvailabilityZoneMetadata> | undefined;
3471
+ /**
3472
+ * <p>The unique identifier of the transit gateway attachment associated with this firewall. This field is only present for transit gateway-attached firewalls.</p>
3473
+ * @public
3474
+ */
3475
+ TransitGatewayAttachmentId?: string | undefined;
3025
3476
  }
3026
3477
  /**
3027
3478
  * @public
@@ -3098,14 +3549,12 @@ export interface DescribeFlowOperationRequest {
3098
3549
  */
3099
3550
  export interface FlowFilter {
3100
3551
  /**
3101
- * <p>A single IP address specification. This is used in the <a>MatchAttributes</a>
3102
- * source and destination specifications.</p>
3552
+ * <p>A single IP address specification. This is used in the <a>MatchAttributes</a> source and destination specifications.</p>
3103
3553
  * @public
3104
3554
  */
3105
3555
  SourceAddress?: Address | undefined;
3106
3556
  /**
3107
- * <p>A single IP address specification. This is used in the <a>MatchAttributes</a>
3108
- * source and destination specifications.</p>
3557
+ * <p>A single IP address specification. This is used in the <a>MatchAttributes</a> source and destination specifications.</p>
3109
3558
  * @public
3110
3559
  */
3111
3560
  DestinationAddress?: Address | undefined;
@@ -3453,17 +3902,94 @@ export interface DescribeRuleGroupResponse {
3453
3902
  * more than one firewall policy, and you can use a firewall policy in more than one firewall. </p>
3454
3903
  * @public
3455
3904
  */
3456
- RuleGroup?: RuleGroup | undefined;
3905
+ RuleGroup?: RuleGroup | undefined;
3906
+ /**
3907
+ * <p>The high-level properties of a rule group. This, along with the <a>RuleGroup</a>, define the rule group. You can retrieve all objects for a rule group by calling <a>DescribeRuleGroup</a>. </p>
3908
+ * @public
3909
+ */
3910
+ RuleGroupResponse: RuleGroupResponse | undefined;
3911
+ }
3912
+ /**
3913
+ * @public
3914
+ */
3915
+ export interface DescribeRuleGroupMetadataRequest {
3916
+ /**
3917
+ * <p>The descriptive name of the rule group. You can't change the name of a rule group after you create it.</p>
3918
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
3919
+ * @public
3920
+ */
3921
+ RuleGroupName?: string | undefined;
3922
+ /**
3923
+ * <p>The descriptive name of the rule group. You can't change the name of a rule group after you create it.</p>
3924
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
3925
+ * @public
3926
+ */
3927
+ RuleGroupArn?: string | undefined;
3928
+ /**
3929
+ * <p>Indicates whether the rule group is stateless or stateful. If the rule group is stateless, it contains
3930
+ * stateless rules. If it is stateful, it contains stateful rules. </p>
3931
+ * <note>
3932
+ * <p>This setting is required for requests that do not include the <code>RuleGroupARN</code>.</p>
3933
+ * </note>
3934
+ * @public
3935
+ */
3936
+ Type?: RuleGroupType | undefined;
3937
+ }
3938
+ /**
3939
+ * @public
3940
+ */
3941
+ export interface DescribeRuleGroupMetadataResponse {
3942
+ /**
3943
+ * <p>The descriptive name of the rule group. You can't change the name of a rule group after you create it.</p>
3944
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
3945
+ * @public
3946
+ */
3947
+ RuleGroupArn: string | undefined;
3948
+ /**
3949
+ * <p>The descriptive name of the rule group. You can't change the name of a rule group after you create it.</p>
3950
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
3951
+ * @public
3952
+ */
3953
+ RuleGroupName: string | undefined;
3954
+ /**
3955
+ * <p>Returns the metadata objects for the specified rule group.
3956
+ * </p>
3957
+ * @public
3958
+ */
3959
+ Description?: string | undefined;
3960
+ /**
3961
+ * <p>Indicates whether the rule group is stateless or stateful. If the rule group is stateless, it contains
3962
+ * stateless rules. If it is stateful, it contains stateful rules. </p>
3963
+ * <note>
3964
+ * <p>This setting is required for requests that do not include the <code>RuleGroupARN</code>.</p>
3965
+ * </note>
3966
+ * @public
3967
+ */
3968
+ Type?: RuleGroupType | undefined;
3969
+ /**
3970
+ * <p>The maximum operating resources that this rule group can use. Rule group capacity is fixed at creation.
3971
+ * When you update a rule group, you are limited to this capacity. When you reference a rule group
3972
+ * from a firewall policy, Network Firewall reserves this capacity for the rule group. </p>
3973
+ * <p>You can retrieve the capacity that would be required for a rule group before you create the rule group by calling
3974
+ * <a>CreateRuleGroup</a> with <code>DryRun</code> set to <code>TRUE</code>. </p>
3975
+ * @public
3976
+ */
3977
+ Capacity?: number | undefined;
3457
3978
  /**
3458
- * <p>The high-level properties of a rule group. This, along with the <a>RuleGroup</a>, define the rule group. You can retrieve all objects for a rule group by calling <a>DescribeRuleGroup</a>. </p>
3979
+ * <p>Additional options governing how Network Firewall handles the rule group. You can only use these for stateful rule groups.</p>
3459
3980
  * @public
3460
3981
  */
3461
- RuleGroupResponse: RuleGroupResponse | undefined;
3982
+ StatefulRuleOptions?: StatefulRuleOptions | undefined;
3983
+ /**
3984
+ * <p>A timestamp indicating when the rule group was last modified.</p>
3985
+ * @public
3986
+ */
3987
+ LastModifiedTime?: Date | undefined;
3462
3988
  }
3463
3989
  /**
3464
3990
  * @public
3465
3991
  */
3466
- export interface DescribeRuleGroupMetadataRequest {
3992
+ export interface DescribeRuleGroupSummaryRequest {
3467
3993
  /**
3468
3994
  * <p>The descriptive name of the rule group. You can't change the name of a rule group after you create it.</p>
3469
3995
  * <p>You must specify the ARN or the name, and you can specify both. </p>
@@ -3471,71 +3997,101 @@ export interface DescribeRuleGroupMetadataRequest {
3471
3997
  */
3472
3998
  RuleGroupName?: string | undefined;
3473
3999
  /**
3474
- * <p>The descriptive name of the rule group. You can't change the name of a rule group after you create it.</p>
4000
+ * <p>Required. The Amazon Resource Name (ARN) of the rule group.</p>
3475
4001
  * <p>You must specify the ARN or the name, and you can specify both. </p>
3476
4002
  * @public
3477
4003
  */
3478
4004
  RuleGroupArn?: string | undefined;
3479
4005
  /**
3480
- * <p>Indicates whether the rule group is stateless or stateful. If the rule group is stateless, it contains
3481
- * stateless rules. If it is stateful, it contains stateful rules. </p>
3482
- * <note>
3483
- * <p>This setting is required for requests that do not include the <code>RuleGroupARN</code>.</p>
3484
- * </note>
4006
+ * <p>The type of rule group you want a summary for. This is a required field.</p>
4007
+ * <p>Valid value: <code>STATEFUL</code>
4008
+ * </p>
4009
+ * <p>Note that <code>STATELESS</code> exists but is not currently supported. If you provide <code>STATELESS</code>, an exception is returned.</p>
3485
4010
  * @public
3486
4011
  */
3487
4012
  Type?: RuleGroupType | undefined;
3488
4013
  }
3489
4014
  /**
4015
+ * <p>A complex type containing details about a Suricata rule. Contains:</p>
4016
+ * <ul>
4017
+ * <li>
4018
+ * <p>
4019
+ * <code>SID</code>
4020
+ * </p>
4021
+ * </li>
4022
+ * <li>
4023
+ * <p>
4024
+ * <code>Msg</code>
4025
+ * </p>
4026
+ * </li>
4027
+ * <li>
4028
+ * <p>
4029
+ * <code>Metadata</code>
4030
+ * </p>
4031
+ * </li>
4032
+ * </ul>
4033
+ * <p>Summaries are available for rule groups you manage and for active threat defense Amazon Web Services managed rule groups.</p>
3490
4034
  * @public
3491
4035
  */
3492
- export interface DescribeRuleGroupMetadataResponse {
4036
+ export interface RuleSummary {
3493
4037
  /**
3494
- * <p>The descriptive name of the rule group. You can't change the name of a rule group after you create it.</p>
3495
- * <p>You must specify the ARN or the name, and you can specify both. </p>
4038
+ * <p>The unique identifier (Signature ID) of the Suricata rule.</p>
3496
4039
  * @public
3497
4040
  */
3498
- RuleGroupArn: string | undefined;
4041
+ SID?: string | undefined;
3499
4042
  /**
3500
- * <p>The descriptive name of the rule group. You can't change the name of a rule group after you create it.</p>
3501
- * <p>You must specify the ARN or the name, and you can specify both. </p>
4043
+ * <p>The contents taken from the rule's msg field.</p>
3502
4044
  * @public
3503
4045
  */
3504
- RuleGroupName: string | undefined;
4046
+ Msg?: string | undefined;
3505
4047
  /**
3506
- * <p>Returns the metadata objects for the specified rule group.
3507
- * </p>
4048
+ * <p>The contents of the rule's metadata.</p>
3508
4049
  * @public
3509
4050
  */
3510
- Description?: string | undefined;
4051
+ Metadata?: string | undefined;
4052
+ }
4053
+ /**
4054
+ * <p>A complex type containing summaries of security protections provided by a rule group.</p>
4055
+ * <p>Network Firewall extracts this information from selected fields in the rule group's Suricata rules, based on your <a>SummaryConfiguration</a> settings.</p>
4056
+ * @public
4057
+ */
4058
+ export interface Summary {
3511
4059
  /**
3512
- * <p>Indicates whether the rule group is stateless or stateful. If the rule group is stateless, it contains
3513
- * stateless rules. If it is stateful, it contains stateful rules. </p>
3514
- * <note>
3515
- * <p>This setting is required for requests that do not include the <code>RuleGroupARN</code>.</p>
3516
- * </note>
4060
+ * <p>An array of <a>RuleSummary</a> objects containing individual rule details that had been configured by the rulegroup's SummaryConfiguration.</p>
3517
4061
  * @public
3518
4062
  */
3519
- Type?: RuleGroupType | undefined;
4063
+ RuleSummaries?: RuleSummary[] | undefined;
4064
+ }
4065
+ /**
4066
+ * @public
4067
+ */
4068
+ export interface DescribeRuleGroupSummaryResponse {
3520
4069
  /**
3521
- * <p>The maximum operating resources that this rule group can use. Rule group capacity is fixed at creation.
3522
- * When you update a rule group, you are limited to this capacity. When you reference a rule group
3523
- * from a firewall policy, Network Firewall reserves this capacity for the rule group. </p>
3524
- * <p>You can retrieve the capacity that would be required for a rule group before you create the rule group by calling
3525
- * <a>CreateRuleGroup</a> with <code>DryRun</code> set to <code>TRUE</code>. </p>
4070
+ * <p>The descriptive name of the rule group. You can't change the name of a rule group after you create it.</p>
3526
4071
  * @public
3527
4072
  */
3528
- Capacity?: number | undefined;
4073
+ RuleGroupName: string | undefined;
3529
4074
  /**
3530
- * <p>Additional options governing how Network Firewall handles the rule group. You can only use these for stateful rule groups.</p>
4075
+ * <p>A description of the rule group. </p>
3531
4076
  * @public
3532
4077
  */
3533
- StatefulRuleOptions?: StatefulRuleOptions | undefined;
4078
+ Description?: string | undefined;
3534
4079
  /**
3535
- * <p>The last time that the rule group was changed.</p>
4080
+ * <p>A complex type that contains rule information based on the rule group's configured summary settings. The content varies depending on the fields that you specified to extract in your SummaryConfiguration. When you haven't configured any summary settings, this returns an empty array. The response might include:</p>
4081
+ * <ul>
4082
+ * <li>
4083
+ * <p>Rule identifiers</p>
4084
+ * </li>
4085
+ * <li>
4086
+ * <p>Rule descriptions</p>
4087
+ * </li>
4088
+ * <li>
4089
+ * <p>Any metadata fields that you specified in your SummaryConfiguration</p>
4090
+ * </li>
4091
+ * </ul>
3536
4092
  * @public
3537
4093
  */
3538
- LastModifiedTime?: Date | undefined;
4094
+ Summary?: Summary | undefined;
3539
4095
  }
3540
4096
  /**
3541
4097
  * @public
@@ -3605,6 +4161,62 @@ export interface DescribeVpcEndpointAssociationResponse {
3605
4161
  */
3606
4162
  VpcEndpointAssociationStatus?: VpcEndpointAssociationStatus | undefined;
3607
4163
  }
4164
+ /**
4165
+ * @public
4166
+ */
4167
+ export interface DisassociateAvailabilityZonesRequest {
4168
+ /**
4169
+ * <p>An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request. </p>
4170
+ * <p>To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.</p>
4171
+ * <p>To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn't changed since you last retrieved it. If it has changed, the operation fails with an <code>InvalidTokenException</code>. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token. </p>
4172
+ * @public
4173
+ */
4174
+ UpdateToken?: string | undefined;
4175
+ /**
4176
+ * <p>The Amazon Resource Name (ARN) of the firewall.</p>
4177
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
4178
+ * @public
4179
+ */
4180
+ FirewallArn?: string | undefined;
4181
+ /**
4182
+ * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
4183
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
4184
+ * @public
4185
+ */
4186
+ FirewallName?: string | undefined;
4187
+ /**
4188
+ * <p>Required. The Availability Zones to remove from the firewall's configuration.</p>
4189
+ * @public
4190
+ */
4191
+ AvailabilityZoneMappings: AvailabilityZoneMapping[] | undefined;
4192
+ }
4193
+ /**
4194
+ * @public
4195
+ */
4196
+ export interface DisassociateAvailabilityZonesResponse {
4197
+ /**
4198
+ * <p>The Amazon Resource Name (ARN) of the firewall.</p>
4199
+ * @public
4200
+ */
4201
+ FirewallArn?: string | undefined;
4202
+ /**
4203
+ * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
4204
+ * @public
4205
+ */
4206
+ FirewallName?: string | undefined;
4207
+ /**
4208
+ * <p>The remaining Availability Zones where the firewall has endpoints after the disassociation.</p>
4209
+ * @public
4210
+ */
4211
+ AvailabilityZoneMappings?: AvailabilityZoneMapping[] | undefined;
4212
+ /**
4213
+ * <p>An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request. </p>
4214
+ * <p>To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.</p>
4215
+ * <p>To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn't changed since you last retrieved it. If it has changed, the operation fails with an <code>InvalidTokenException</code>. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token. </p>
4216
+ * @public
4217
+ */
4218
+ UpdateToken?: string | undefined;
4219
+ }
3608
4220
  /**
3609
4221
  * @public
3610
4222
  */
@@ -3678,6 +4290,11 @@ export interface FirewallMetadata {
3678
4290
  * @public
3679
4291
  */
3680
4292
  FirewallArn?: string | undefined;
4293
+ /**
4294
+ * <p>The unique identifier of the transit gateway attachment associated with this firewall. This field is only present for transit gateway-attached firewalls.</p>
4295
+ * @public
4296
+ */
4297
+ TransitGatewayAttachmentId?: string | undefined;
3681
4298
  }
3682
4299
  /**
3683
4300
  * <p>High-level information about a firewall policy, returned by operations like create and
@@ -3704,14 +4321,12 @@ export interface FirewallPolicyMetadata {
3704
4321
  */
3705
4322
  export interface Flow {
3706
4323
  /**
3707
- * <p>A single IP address specification. This is used in the <a>MatchAttributes</a>
3708
- * source and destination specifications.</p>
4324
+ * <p>A single IP address specification. This is used in the <a>MatchAttributes</a> source and destination specifications.</p>
3709
4325
  * @public
3710
4326
  */
3711
4327
  SourceAddress?: Address | undefined;
3712
4328
  /**
3713
- * <p>A single IP address specification. This is used in the <a>MatchAttributes</a>
3714
- * source and destination specifications.</p>
4329
+ * <p>A single IP address specification. This is used in the <a>MatchAttributes</a> source and destination specifications.</p>
3715
4330
  * @public
3716
4331
  */
3717
4332
  DestinationAddress?: Address | undefined;
@@ -4164,6 +4779,7 @@ export interface ListFlowOperationsResponse {
4164
4779
  * @enum
4165
4780
  */
4166
4781
  export declare const ResourceManagedType: {
4782
+ readonly ACTIVE_THREAT_DEFENSE: "ACTIVE_THREAT_DEFENSE";
4167
4783
  readonly AWS_MANAGED_DOMAIN_LISTS: "AWS_MANAGED_DOMAIN_LISTS";
4168
4784
  readonly AWS_MANAGED_THREAT_SIGNATURES: "AWS_MANAGED_THREAT_SIGNATURES";
4169
4785
  };
@@ -4473,6 +5089,70 @@ export interface PutResourcePolicyRequest {
4473
5089
  */
4474
5090
  export interface PutResourcePolicyResponse {
4475
5091
  }
5092
+ /**
5093
+ * @public
5094
+ */
5095
+ export interface RejectNetworkFirewallTransitGatewayAttachmentRequest {
5096
+ /**
5097
+ * <p>Required. The unique identifier of the transit gateway attachment to reject. This ID is returned in the response when creating a transit gateway-attached firewall.</p>
5098
+ * @public
5099
+ */
5100
+ TransitGatewayAttachmentId: string | undefined;
5101
+ }
5102
+ /**
5103
+ * @public
5104
+ */
5105
+ export interface RejectNetworkFirewallTransitGatewayAttachmentResponse {
5106
+ /**
5107
+ * <p>The unique identifier of the transit gateway attachment that was rejected.</p>
5108
+ * @public
5109
+ */
5110
+ TransitGatewayAttachmentId: string | undefined;
5111
+ /**
5112
+ * <p>The current status of the transit gateway attachment. Valid values are:</p>
5113
+ * <ul>
5114
+ * <li>
5115
+ * <p>
5116
+ * <code>CREATING</code> - The attachment is being created</p>
5117
+ * </li>
5118
+ * <li>
5119
+ * <p>
5120
+ * <code>DELETING</code> - The attachment is being deleted</p>
5121
+ * </li>
5122
+ * <li>
5123
+ * <p>
5124
+ * <code>DELETED</code> - The attachment has been deleted</p>
5125
+ * </li>
5126
+ * <li>
5127
+ * <p>
5128
+ * <code>FAILED</code> - The attachment creation has failed and cannot be recovered</p>
5129
+ * </li>
5130
+ * <li>
5131
+ * <p>
5132
+ * <code>ERROR</code> - The attachment is in an error state that might be recoverable</p>
5133
+ * </li>
5134
+ * <li>
5135
+ * <p>
5136
+ * <code>READY</code> - The attachment is active and processing traffic</p>
5137
+ * </li>
5138
+ * <li>
5139
+ * <p>
5140
+ * <code>PENDING_ACCEPTANCE</code> - The attachment is waiting to be accepted</p>
5141
+ * </li>
5142
+ * <li>
5143
+ * <p>
5144
+ * <code>REJECTING</code> - The attachment is in the process of being rejected</p>
5145
+ * </li>
5146
+ * <li>
5147
+ * <p>
5148
+ * <code>REJECTED</code> - The attachment has been rejected</p>
5149
+ * </li>
5150
+ * </ul>
5151
+ * <p>For information about troubleshooting endpoint failures, see <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/firewall-troubleshooting-endpoint-failures.html">Troubleshooting firewall endpoint failures</a> in the <i>Network Firewall Developer Guide</i>.</p>
5152
+ * @public
5153
+ */
5154
+ TransitGatewayAttachmentStatus: TransitGatewayAttachmentStatus | undefined;
5155
+ }
4476
5156
  /**
4477
5157
  * @public
4478
5158
  */
@@ -4666,15 +5346,30 @@ export interface UntagResourceRequest {
4666
5346
  */
4667
5347
  export interface UntagResourceResponse {
4668
5348
  }
5349
+ /**
5350
+ * <p>Unable to change the resource because your account doesn't own it. </p>
5351
+ * @public
5352
+ */
5353
+ export declare class ResourceOwnerCheckException extends __BaseException {
5354
+ readonly name: "ResourceOwnerCheckException";
5355
+ readonly $fault: "client";
5356
+ Message?: string | undefined;
5357
+ /**
5358
+ * @internal
5359
+ */
5360
+ constructor(opts: __ExceptionOptionType<ResourceOwnerCheckException, __BaseException>);
5361
+ }
4669
5362
  /**
4670
5363
  * @public
4671
5364
  */
4672
- export interface UpdateFirewallAnalysisSettingsRequest {
5365
+ export interface UpdateAvailabilityZoneChangeProtectionRequest {
4673
5366
  /**
4674
- * <p>An optional setting indicating the specific traffic analysis types to enable on the firewall. </p>
5367
+ * <p>An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request. </p>
5368
+ * <p>To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.</p>
5369
+ * <p>To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn't changed since you last retrieved it. If it has changed, the operation fails with an <code>InvalidTokenException</code>. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token. </p>
4675
5370
  * @public
4676
5371
  */
4677
- EnabledAnalysisTypes?: EnabledAnalysisType[] | undefined;
5372
+ UpdateToken?: string | undefined;
4678
5373
  /**
4679
5374
  * <p>The Amazon Resource Name (ARN) of the firewall.</p>
4680
5375
  * <p>You must specify the ARN or the name, and you can specify both. </p>
@@ -4687,6 +5382,18 @@ export interface UpdateFirewallAnalysisSettingsRequest {
4687
5382
  * @public
4688
5383
  */
4689
5384
  FirewallName?: string | undefined;
5385
+ /**
5386
+ * <p>A setting indicating whether the firewall is protected against changes to the subnet associations.
5387
+ * Use this setting to protect against
5388
+ * accidentally modifying the subnet associations for a firewall that is in use. When you create a firewall, the operation initializes this setting to <code>TRUE</code>.</p>
5389
+ * @public
5390
+ */
5391
+ AvailabilityZoneChangeProtection: boolean | undefined;
5392
+ }
5393
+ /**
5394
+ * @public
5395
+ */
5396
+ export interface UpdateAvailabilityZoneChangeProtectionResponse {
4690
5397
  /**
4691
5398
  * <p>An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request. </p>
4692
5399
  * <p>To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.</p>
@@ -4694,11 +5401,28 @@ export interface UpdateFirewallAnalysisSettingsRequest {
4694
5401
  * @public
4695
5402
  */
4696
5403
  UpdateToken?: string | undefined;
5404
+ /**
5405
+ * <p>The Amazon Resource Name (ARN) of the firewall.</p>
5406
+ * @public
5407
+ */
5408
+ FirewallArn?: string | undefined;
5409
+ /**
5410
+ * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
5411
+ * @public
5412
+ */
5413
+ FirewallName?: string | undefined;
5414
+ /**
5415
+ * <p>A setting indicating whether the firewall is protected against changes to the subnet associations.
5416
+ * Use this setting to protect against
5417
+ * accidentally modifying the subnet associations for a firewall that is in use. When you create a firewall, the operation initializes this setting to <code>TRUE</code>.</p>
5418
+ * @public
5419
+ */
5420
+ AvailabilityZoneChangeProtection?: boolean | undefined;
4697
5421
  }
4698
5422
  /**
4699
5423
  * @public
4700
5424
  */
4701
- export interface UpdateFirewallAnalysisSettingsResponse {
5425
+ export interface UpdateFirewallAnalysisSettingsRequest {
4702
5426
  /**
4703
5427
  * <p>An optional setting indicating the specific traffic analysis types to enable on the firewall. </p>
4704
5428
  * @public
@@ -4725,17 +5449,33 @@ export interface UpdateFirewallAnalysisSettingsResponse {
4725
5449
  UpdateToken?: string | undefined;
4726
5450
  }
4727
5451
  /**
4728
- * <p>Unable to change the resource because your account doesn't own it. </p>
4729
5452
  * @public
4730
5453
  */
4731
- export declare class ResourceOwnerCheckException extends __BaseException {
4732
- readonly name: "ResourceOwnerCheckException";
4733
- readonly $fault: "client";
4734
- Message?: string | undefined;
5454
+ export interface UpdateFirewallAnalysisSettingsResponse {
4735
5455
  /**
4736
- * @internal
5456
+ * <p>An optional setting indicating the specific traffic analysis types to enable on the firewall. </p>
5457
+ * @public
4737
5458
  */
4738
- constructor(opts: __ExceptionOptionType<ResourceOwnerCheckException, __BaseException>);
5459
+ EnabledAnalysisTypes?: EnabledAnalysisType[] | undefined;
5460
+ /**
5461
+ * <p>The Amazon Resource Name (ARN) of the firewall.</p>
5462
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
5463
+ * @public
5464
+ */
5465
+ FirewallArn?: string | undefined;
5466
+ /**
5467
+ * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
5468
+ * <p>You must specify the ARN or the name, and you can specify both. </p>
5469
+ * @public
5470
+ */
5471
+ FirewallName?: string | undefined;
5472
+ /**
5473
+ * <p>An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request. </p>
5474
+ * <p>To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.</p>
5475
+ * <p>To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn't changed since you last retrieved it. If it has changed, the operation fails with an <code>InvalidTokenException</code>. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token. </p>
5476
+ * @public
5477
+ */
5478
+ UpdateToken?: string | undefined;
4739
5479
  }
4740
5480
  /**
4741
5481
  * @public
@@ -5175,6 +5915,12 @@ export interface UpdateRuleGroupRequest {
5175
5915
  * @public
5176
5916
  */
5177
5917
  AnalyzeRuleGroup?: boolean | undefined;
5918
+ /**
5919
+ * <p>Updates the selected summary configuration for a rule group.</p>
5920
+ * <p>Changes affect subsequent responses from <a>DescribeRuleGroupSummary</a>.</p>
5921
+ * @public
5922
+ */
5923
+ SummaryConfiguration?: SummaryConfiguration | undefined;
5178
5924
  }
5179
5925
  /**
5180
5926
  * @public