@aws-sdk/client-network-firewall 3.533.0 → 3.540.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 (83) hide show
  1. package/dist-cjs/endpoint/endpointResolver.js +4 -2
  2. package/dist-cjs/index.js +0 -3
  3. package/dist-es/endpoint/endpointResolver.js +3 -1
  4. package/dist-es/index.js +0 -1
  5. package/dist-types/NetworkFirewall.d.ts +18 -1
  6. package/dist-types/NetworkFirewallClient.d.ts +1 -1
  7. package/dist-types/commands/AssociateFirewallPolicyCommand.d.ts +2 -1
  8. package/dist-types/commands/AssociateSubnetsCommand.d.ts +2 -1
  9. package/dist-types/commands/CreateFirewallCommand.d.ts +2 -1
  10. package/dist-types/commands/CreateFirewallPolicyCommand.d.ts +2 -1
  11. package/dist-types/commands/CreateRuleGroupCommand.d.ts +2 -1
  12. package/dist-types/commands/CreateTLSInspectionConfigurationCommand.d.ts +2 -1
  13. package/dist-types/commands/DeleteFirewallCommand.d.ts +2 -1
  14. package/dist-types/commands/DeleteFirewallPolicyCommand.d.ts +2 -1
  15. package/dist-types/commands/DeleteResourcePolicyCommand.d.ts +2 -1
  16. package/dist-types/commands/DeleteRuleGroupCommand.d.ts +2 -1
  17. package/dist-types/commands/DeleteTLSInspectionConfigurationCommand.d.ts +2 -1
  18. package/dist-types/commands/DescribeFirewallCommand.d.ts +2 -1
  19. package/dist-types/commands/DescribeFirewallPolicyCommand.d.ts +2 -1
  20. package/dist-types/commands/DescribeLoggingConfigurationCommand.d.ts +2 -1
  21. package/dist-types/commands/DescribeResourcePolicyCommand.d.ts +2 -1
  22. package/dist-types/commands/DescribeRuleGroupCommand.d.ts +2 -1
  23. package/dist-types/commands/DescribeRuleGroupMetadataCommand.d.ts +2 -1
  24. package/dist-types/commands/DescribeTLSInspectionConfigurationCommand.d.ts +2 -1
  25. package/dist-types/commands/DisassociateSubnetsCommand.d.ts +2 -1
  26. package/dist-types/commands/ListFirewallPoliciesCommand.d.ts +2 -1
  27. package/dist-types/commands/ListFirewallsCommand.d.ts +2 -1
  28. package/dist-types/commands/ListRuleGroupsCommand.d.ts +2 -1
  29. package/dist-types/commands/ListTLSInspectionConfigurationsCommand.d.ts +2 -1
  30. package/dist-types/commands/ListTagsForResourceCommand.d.ts +2 -1
  31. package/dist-types/commands/PutResourcePolicyCommand.d.ts +2 -1
  32. package/dist-types/commands/TagResourceCommand.d.ts +2 -1
  33. package/dist-types/commands/UntagResourceCommand.d.ts +2 -1
  34. package/dist-types/commands/UpdateFirewallDeleteProtectionCommand.d.ts +2 -1
  35. package/dist-types/commands/UpdateFirewallDescriptionCommand.d.ts +2 -1
  36. package/dist-types/commands/UpdateFirewallEncryptionConfigurationCommand.d.ts +2 -1
  37. package/dist-types/commands/UpdateFirewallPolicyChangeProtectionCommand.d.ts +2 -1
  38. package/dist-types/commands/UpdateFirewallPolicyCommand.d.ts +2 -1
  39. package/dist-types/commands/UpdateLoggingConfigurationCommand.d.ts +2 -1
  40. package/dist-types/commands/UpdateRuleGroupCommand.d.ts +2 -1
  41. package/dist-types/commands/UpdateSubnetChangeProtectionCommand.d.ts +2 -1
  42. package/dist-types/commands/UpdateTLSInspectionConfigurationCommand.d.ts +2 -1
  43. package/dist-types/index.d.ts +0 -1
  44. package/dist-types/models/models_0.d.ts +468 -468
  45. package/dist-types/ts3.4/NetworkFirewall.d.ts +17 -0
  46. package/dist-types/ts3.4/commands/AssociateFirewallPolicyCommand.d.ts +9 -0
  47. package/dist-types/ts3.4/commands/AssociateSubnetsCommand.d.ts +9 -0
  48. package/dist-types/ts3.4/commands/CreateFirewallCommand.d.ts +9 -0
  49. package/dist-types/ts3.4/commands/CreateFirewallPolicyCommand.d.ts +9 -0
  50. package/dist-types/ts3.4/commands/CreateRuleGroupCommand.d.ts +9 -0
  51. package/dist-types/ts3.4/commands/CreateTLSInspectionConfigurationCommand.d.ts +9 -0
  52. package/dist-types/ts3.4/commands/DeleteFirewallCommand.d.ts +9 -0
  53. package/dist-types/ts3.4/commands/DeleteFirewallPolicyCommand.d.ts +9 -0
  54. package/dist-types/ts3.4/commands/DeleteResourcePolicyCommand.d.ts +9 -0
  55. package/dist-types/ts3.4/commands/DeleteRuleGroupCommand.d.ts +9 -0
  56. package/dist-types/ts3.4/commands/DeleteTLSInspectionConfigurationCommand.d.ts +9 -0
  57. package/dist-types/ts3.4/commands/DescribeFirewallCommand.d.ts +9 -0
  58. package/dist-types/ts3.4/commands/DescribeFirewallPolicyCommand.d.ts +9 -0
  59. package/dist-types/ts3.4/commands/DescribeLoggingConfigurationCommand.d.ts +9 -0
  60. package/dist-types/ts3.4/commands/DescribeResourcePolicyCommand.d.ts +9 -0
  61. package/dist-types/ts3.4/commands/DescribeRuleGroupCommand.d.ts +9 -0
  62. package/dist-types/ts3.4/commands/DescribeRuleGroupMetadataCommand.d.ts +9 -0
  63. package/dist-types/ts3.4/commands/DescribeTLSInspectionConfigurationCommand.d.ts +9 -0
  64. package/dist-types/ts3.4/commands/DisassociateSubnetsCommand.d.ts +9 -0
  65. package/dist-types/ts3.4/commands/ListFirewallPoliciesCommand.d.ts +9 -0
  66. package/dist-types/ts3.4/commands/ListFirewallsCommand.d.ts +9 -0
  67. package/dist-types/ts3.4/commands/ListRuleGroupsCommand.d.ts +9 -0
  68. package/dist-types/ts3.4/commands/ListTLSInspectionConfigurationsCommand.d.ts +9 -0
  69. package/dist-types/ts3.4/commands/ListTagsForResourceCommand.d.ts +9 -0
  70. package/dist-types/ts3.4/commands/PutResourcePolicyCommand.d.ts +9 -0
  71. package/dist-types/ts3.4/commands/TagResourceCommand.d.ts +9 -0
  72. package/dist-types/ts3.4/commands/UntagResourceCommand.d.ts +9 -0
  73. package/dist-types/ts3.4/commands/UpdateFirewallDeleteProtectionCommand.d.ts +9 -0
  74. package/dist-types/ts3.4/commands/UpdateFirewallDescriptionCommand.d.ts +9 -0
  75. package/dist-types/ts3.4/commands/UpdateFirewallEncryptionConfigurationCommand.d.ts +9 -0
  76. package/dist-types/ts3.4/commands/UpdateFirewallPolicyChangeProtectionCommand.d.ts +9 -0
  77. package/dist-types/ts3.4/commands/UpdateFirewallPolicyCommand.d.ts +9 -0
  78. package/dist-types/ts3.4/commands/UpdateLoggingConfigurationCommand.d.ts +9 -0
  79. package/dist-types/ts3.4/commands/UpdateRuleGroupCommand.d.ts +9 -0
  80. package/dist-types/ts3.4/commands/UpdateSubnetChangeProtectionCommand.d.ts +9 -0
  81. package/dist-types/ts3.4/commands/UpdateTLSInspectionConfigurationCommand.d.ts +9 -0
  82. package/dist-types/ts3.4/index.d.ts +0 -1
  83. package/package.json +40 -40
@@ -1,7 +1,6 @@
1
1
  import { ExceptionOptionType as __ExceptionOptionType } from "@smithy/smithy-client";
2
2
  import { NetworkFirewallServiceException as __BaseException } from "./NetworkFirewallServiceException";
3
3
  /**
4
- * @public
5
4
  * <p>The value to use in an Amazon CloudWatch custom metric dimension. This is used in the
6
5
  * <code>PublishMetrics</code>
7
6
  * <a>CustomAction</a>. A CloudWatch custom metric dimension is a name/value pair that's
@@ -10,50 +9,50 @@ import { NetworkFirewallServiceException as __BaseException } from "./NetworkFir
10
9
  * dimension value. </p>
11
10
  * <p>For more information about CloudWatch custom metric dimensions, see <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html#usingDimensions">Publishing Custom Metrics</a> in the <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html">Amazon CloudWatch User
12
11
  * Guide</a>.</p>
12
+ * @public
13
13
  */
14
14
  export interface Dimension {
15
15
  /**
16
- * @public
17
16
  * <p>The value to use in the custom metric dimension.</p>
17
+ * @public
18
18
  */
19
19
  Value: string | undefined;
20
20
  }
21
21
  /**
22
- * @public
23
22
  * <p>Stateless inspection criteria that publishes the specified metrics to Amazon CloudWatch for the
24
23
  * matching packet. This setting defines a CloudWatch dimension value to be published.</p>
24
+ * @public
25
25
  */
26
26
  export interface PublishMetricAction {
27
27
  /**
28
- * @public
29
28
  * <p></p>
29
+ * @public
30
30
  */
31
31
  Dimensions: Dimension[] | undefined;
32
32
  }
33
33
  /**
34
- * @public
35
34
  * <p>A custom action to use in stateless rule actions settings. This is used in <a>CustomAction</a>.</p>
35
+ * @public
36
36
  */
37
37
  export interface ActionDefinition {
38
38
  /**
39
- * @public
40
39
  * <p>Stateless inspection criteria that publishes the specified metrics to Amazon CloudWatch for the
41
40
  * matching packet. This setting defines a CloudWatch dimension value to be published.</p>
42
41
  * <p>You can pair this custom action with any of the standard stateless rule actions. For
43
42
  * example, you could pair this in a rule action with the standard action that forwards the
44
43
  * packet for stateful inspection. Then, when a packet matches the rule, Network Firewall
45
44
  * publishes metrics for the packet and forwards it. </p>
45
+ * @public
46
46
  */
47
47
  PublishMetricAction?: PublishMetricAction;
48
48
  }
49
49
  /**
50
- * @public
51
50
  * <p>A single IP address specification. This is used in the <a>MatchAttributes</a>
52
51
  * source and destination specifications.</p>
52
+ * @public
53
53
  */
54
54
  export interface Address {
55
55
  /**
56
- * @public
57
56
  * <p>Specify an IP address or a block of IP addresses in Classless Inter-Domain Routing (CIDR) notation. Network Firewall supports all address ranges for IPv4 and IPv6. </p>
58
57
  * <p>Examples: </p>
59
58
  * <ul>
@@ -72,6 +71,7 @@ export interface Address {
72
71
  * </ul>
73
72
  * <p>For more information about CIDR notation, see the Wikipedia entry <a href="https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing">Classless
74
73
  * Inter-Domain Routing</a>.</p>
74
+ * @public
75
75
  */
76
76
  AddressDefinition: string | undefined;
77
77
  }
@@ -88,17 +88,16 @@ export declare const IdentifiedType: {
88
88
  */
89
89
  export type IdentifiedType = (typeof IdentifiedType)[keyof typeof IdentifiedType];
90
90
  /**
91
- * @public
92
91
  * <p>The analysis result for Network Firewall's stateless rule group analyzer. Every time you call <a>CreateRuleGroup</a>, <a>UpdateRuleGroup</a>, or <a>DescribeRuleGroup</a> on a stateless rule group, Network Firewall analyzes the stateless rule groups in your account and identifies the rules that might adversely effect your firewall's functionality. For example, if Network Firewall detects a rule that's routing traffic asymmetrically, which impacts the service's ability to properly process traffic, the service includes the rule in a list of analysis results.</p>
92
+ * @public
93
93
  */
94
94
  export interface AnalysisResult {
95
95
  /**
96
- * @public
97
96
  * <p>The priority number of the stateless rules identified in the analysis.</p>
97
+ * @public
98
98
  */
99
99
  IdentifiedRuleIds?: string[];
100
100
  /**
101
- * @public
102
101
  * <p>The types of rule configurations that Network Firewall analyzes your rule groups for. Network Firewall analyzes stateless rule groups for the following types of rule configurations:</p>
103
102
  * <ul>
104
103
  * <li>
@@ -124,11 +123,12 @@ export interface AnalysisResult {
124
123
  * </ul>
125
124
  * </li>
126
125
  * </ul>
126
+ * @public
127
127
  */
128
128
  IdentifiedType?: IdentifiedType;
129
129
  /**
130
- * @public
131
130
  * <p>Provides analysis details for the identified rule.</p>
131
+ * @public
132
132
  */
133
133
  AnalysisDetail?: string;
134
134
  }
@@ -137,27 +137,27 @@ export interface AnalysisResult {
137
137
  */
138
138
  export interface AssociateFirewallPolicyRequest {
139
139
  /**
140
- * @public
141
140
  * <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>
142
141
  * <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>
143
142
  * <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>
143
+ * @public
144
144
  */
145
145
  UpdateToken?: string;
146
146
  /**
147
- * @public
148
147
  * <p>The Amazon Resource Name (ARN) of the firewall.</p>
149
148
  * <p>You must specify the ARN or the name, and you can specify both. </p>
149
+ * @public
150
150
  */
151
151
  FirewallArn?: string;
152
152
  /**
153
- * @public
154
153
  * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
155
154
  * <p>You must specify the ARN or the name, and you can specify both. </p>
155
+ * @public
156
156
  */
157
157
  FirewallName?: string;
158
158
  /**
159
- * @public
160
159
  * <p>The Amazon Resource Name (ARN) of the firewall policy.</p>
160
+ * @public
161
161
  */
162
162
  FirewallPolicyArn: string | undefined;
163
163
  }
@@ -166,32 +166,32 @@ export interface AssociateFirewallPolicyRequest {
166
166
  */
167
167
  export interface AssociateFirewallPolicyResponse {
168
168
  /**
169
- * @public
170
169
  * <p>The Amazon Resource Name (ARN) of the firewall.</p>
170
+ * @public
171
171
  */
172
172
  FirewallArn?: string;
173
173
  /**
174
- * @public
175
174
  * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
175
+ * @public
176
176
  */
177
177
  FirewallName?: string;
178
178
  /**
179
- * @public
180
179
  * <p>The Amazon Resource Name (ARN) of the firewall policy.</p>
180
+ * @public
181
181
  */
182
182
  FirewallPolicyArn?: string;
183
183
  /**
184
- * @public
185
184
  * <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>
186
185
  * <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>
187
186
  * <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>
187
+ * @public
188
188
  */
189
189
  UpdateToken?: string;
190
190
  }
191
191
  /**
192
- * @public
193
192
  * <p>Your request is valid, but Network Firewall couldn't perform the operation because of a
194
193
  * system problem. Retry your request. </p>
194
+ * @public
195
195
  */
196
196
  export declare class InternalServerError extends __BaseException {
197
197
  readonly name: "InternalServerError";
@@ -203,9 +203,9 @@ export declare class InternalServerError extends __BaseException {
203
203
  constructor(opts: __ExceptionOptionType<InternalServerError, __BaseException>);
204
204
  }
205
205
  /**
206
- * @public
207
206
  * <p>The operation failed because it's not valid. For example, you might have tried to delete
208
207
  * a rule group or firewall policy that's in use.</p>
208
+ * @public
209
209
  */
210
210
  export declare class InvalidOperationException extends __BaseException {
211
211
  readonly name: "InvalidOperationException";
@@ -217,7 +217,6 @@ export declare class InvalidOperationException extends __BaseException {
217
217
  constructor(opts: __ExceptionOptionType<InvalidOperationException, __BaseException>);
218
218
  }
219
219
  /**
220
- * @public
221
220
  * <p>The operation failed because of a problem with your request. Examples include: </p>
222
221
  * <ul>
223
222
  * <li>
@@ -232,6 +231,7 @@ export declare class InvalidOperationException extends __BaseException {
232
231
  * that isn't valid in the context of the request.</p>
233
232
  * </li>
234
233
  * </ul>
234
+ * @public
235
235
  */
236
236
  export declare class InvalidRequestException extends __BaseException {
237
237
  readonly name: "InvalidRequestException";
@@ -243,8 +243,8 @@ export declare class InvalidRequestException extends __BaseException {
243
243
  constructor(opts: __ExceptionOptionType<InvalidRequestException, __BaseException>);
244
244
  }
245
245
  /**
246
- * @public
247
246
  * <p>The token you provided is stale or isn't valid for the operation. </p>
247
+ * @public
248
248
  */
249
249
  export declare class InvalidTokenException extends __BaseException {
250
250
  readonly name: "InvalidTokenException";
@@ -256,8 +256,8 @@ export declare class InvalidTokenException extends __BaseException {
256
256
  constructor(opts: __ExceptionOptionType<InvalidTokenException, __BaseException>);
257
257
  }
258
258
  /**
259
- * @public
260
259
  * <p>Unable to locate a resource using the parameters that you provided.</p>
260
+ * @public
261
261
  */
262
262
  export declare class ResourceNotFoundException extends __BaseException {
263
263
  readonly name: "ResourceNotFoundException";
@@ -269,8 +269,8 @@ export declare class ResourceNotFoundException extends __BaseException {
269
269
  constructor(opts: __ExceptionOptionType<ResourceNotFoundException, __BaseException>);
270
270
  }
271
271
  /**
272
- * @public
273
272
  * <p>Unable to process the request due to throttling limitations.</p>
273
+ * @public
274
274
  */
275
275
  export declare class ThrottlingException extends __BaseException {
276
276
  readonly name: "ThrottlingException";
@@ -295,21 +295,21 @@ export declare const IPAddressType: {
295
295
  */
296
296
  export type IPAddressType = (typeof IPAddressType)[keyof typeof IPAddressType];
297
297
  /**
298
- * @public
299
298
  * <p>The ID for a subnet that you want to associate with the firewall. This is used with
300
299
  * <a>CreateFirewall</a> and <a>AssociateSubnets</a>. Network Firewall
301
300
  * creates an instance of the associated firewall in each subnet that you specify, to filter
302
301
  * traffic in the subnet's Availability Zone.</p>
302
+ * @public
303
303
  */
304
304
  export interface SubnetMapping {
305
305
  /**
306
- * @public
307
306
  * <p>The unique identifier for the subnet. </p>
307
+ * @public
308
308
  */
309
309
  SubnetId: string | undefined;
310
310
  /**
311
- * @public
312
311
  * <p>The subnet's IP address type. You can't change the IP address type after you create the subnet.</p>
312
+ * @public
313
313
  */
314
314
  IPAddressType?: IPAddressType;
315
315
  }
@@ -318,27 +318,27 @@ export interface SubnetMapping {
318
318
  */
319
319
  export interface AssociateSubnetsRequest {
320
320
  /**
321
- * @public
322
321
  * <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>
323
322
  * <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>
324
323
  * <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>
324
+ * @public
325
325
  */
326
326
  UpdateToken?: string;
327
327
  /**
328
- * @public
329
328
  * <p>The Amazon Resource Name (ARN) of the firewall.</p>
330
329
  * <p>You must specify the ARN or the name, and you can specify both. </p>
330
+ * @public
331
331
  */
332
332
  FirewallArn?: string;
333
333
  /**
334
- * @public
335
334
  * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
336
335
  * <p>You must specify the ARN or the name, and you can specify both. </p>
336
+ * @public
337
337
  */
338
338
  FirewallName?: string;
339
339
  /**
340
- * @public
341
340
  * <p>The IDs of the subnets that you want to associate with the firewall. </p>
341
+ * @public
342
342
  */
343
343
  SubnetMappings: SubnetMapping[] | undefined;
344
344
  }
@@ -347,32 +347,32 @@ export interface AssociateSubnetsRequest {
347
347
  */
348
348
  export interface AssociateSubnetsResponse {
349
349
  /**
350
- * @public
351
350
  * <p>The Amazon Resource Name (ARN) of the firewall.</p>
351
+ * @public
352
352
  */
353
353
  FirewallArn?: string;
354
354
  /**
355
- * @public
356
355
  * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
356
+ * @public
357
357
  */
358
358
  FirewallName?: string;
359
359
  /**
360
- * @public
361
360
  * <p>The IDs of the subnets that are associated with the firewall. </p>
361
+ * @public
362
362
  */
363
363
  SubnetMappings?: SubnetMapping[];
364
364
  /**
365
- * @public
366
365
  * <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>
367
366
  * <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>
368
367
  * <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>
368
+ * @public
369
369
  */
370
370
  UpdateToken?: string;
371
371
  }
372
372
  /**
373
- * @public
374
373
  * <p>Amazon Web Services doesn't currently have enough available capacity to fulfill your request. Try your
375
374
  * request later. </p>
375
+ * @public
376
376
  */
377
377
  export declare class InsufficientCapacityException extends __BaseException {
378
378
  readonly name: "InsufficientCapacityException";
@@ -400,106 +400,106 @@ export declare const AttachmentStatus: {
400
400
  */
401
401
  export type AttachmentStatus = (typeof AttachmentStatus)[keyof typeof AttachmentStatus];
402
402
  /**
403
- * @public
404
403
  * <p>The configuration and status for a single subnet that you've specified for use by the
405
404
  * Network Firewall firewall. This is part of the <a>FirewallStatus</a>.</p>
405
+ * @public
406
406
  */
407
407
  export interface Attachment {
408
408
  /**
409
- * @public
410
409
  * <p>The unique identifier of the subnet that you've specified to be used for a firewall
411
410
  * endpoint. </p>
411
+ * @public
412
412
  */
413
413
  SubnetId?: string;
414
414
  /**
415
- * @public
416
415
  * <p>The identifier of the firewall endpoint that Network Firewall has instantiated in the
417
416
  * subnet. You use this to identify the firewall endpoint in the VPC route tables, when you
418
417
  * redirect the VPC traffic through the endpoint. </p>
418
+ * @public
419
419
  */
420
420
  EndpointId?: string;
421
421
  /**
422
- * @public
423
422
  * <p>The current status of the firewall endpoint in the subnet. This value reflects both the
424
423
  * instantiation of the endpoint in the VPC subnet and the sync states that are reported in
425
424
  * the <code>Config</code> settings. When this value is <code>READY</code>, the endpoint is
426
425
  * available and configured properly to handle network traffic. When the endpoint isn't
427
426
  * available for traffic, this value will reflect its state, for example
428
427
  * <code>CREATING</code> or <code>DELETING</code>.</p>
428
+ * @public
429
429
  */
430
430
  Status?: AttachmentStatus;
431
431
  /**
432
- * @public
433
432
  * <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>
433
+ * @public
434
434
  */
435
435
  StatusMessage?: string;
436
436
  }
437
437
  /**
438
- * @public
439
438
  * <p>General information about the IP set.</p>
439
+ * @public
440
440
  */
441
441
  export interface IPSetMetadata {
442
442
  /**
443
- * @public
444
443
  * <p>Describes the total number of CIDR blocks currently in use by the IP set references in a firewall. To determine how many CIDR blocks are available for you to use in a firewall, you can call <code>AvailableCIDRCount</code>.</p>
444
+ * @public
445
445
  */
446
446
  ResolvedCIDRCount?: number;
447
447
  }
448
448
  /**
449
- * @public
450
449
  * <p>Summarizes the CIDR blocks used by the IP set references in a firewall. Network Firewall calculates the number of CIDRs by taking an aggregated count of all CIDRs used by the IP sets you are referencing.</p>
450
+ * @public
451
451
  */
452
452
  export interface CIDRSummary {
453
453
  /**
454
- * @public
455
454
  * <p>The number of CIDR blocks available for use by the IP set references in a firewall.</p>
455
+ * @public
456
456
  */
457
457
  AvailableCIDRCount?: number;
458
458
  /**
459
- * @public
460
459
  * <p>The number of CIDR blocks used by the IP set references in a firewall.</p>
460
+ * @public
461
461
  */
462
462
  UtilizedCIDRCount?: number;
463
463
  /**
464
- * @public
465
464
  * <p>The list of the IP set references used by a firewall.</p>
465
+ * @public
466
466
  */
467
467
  IPSetReferences?: Record<string, IPSetMetadata>;
468
468
  }
469
469
  /**
470
- * @public
471
470
  * <p>The capacity usage summary of the resources used by the <a>ReferenceSets</a> in a firewall.</p>
471
+ * @public
472
472
  */
473
473
  export interface CapacityUsageSummary {
474
474
  /**
475
- * @public
476
475
  * <p>Describes the capacity usage of the CIDR blocks used by the IP set references in a firewall.</p>
476
+ * @public
477
477
  */
478
478
  CIDRs?: CIDRSummary;
479
479
  }
480
480
  /**
481
- * @public
482
481
  * <p>Contains metadata about an Certificate Manager certificate.</p>
482
+ * @public
483
483
  */
484
484
  export interface TlsCertificateData {
485
485
  /**
486
- * @public
487
486
  * <p>The Amazon Resource Name (ARN) of the certificate.</p>
487
+ * @public
488
488
  */
489
489
  CertificateArn?: string;
490
490
  /**
491
- * @public
492
491
  * <p>The serial number of the certificate.</p>
492
+ * @public
493
493
  */
494
494
  CertificateSerial?: string;
495
495
  /**
496
- * @public
497
496
  * <p>The status of the certificate.</p>
497
+ * @public
498
498
  */
499
499
  Status?: string;
500
500
  /**
501
- * @public
502
501
  * <p>Contains details about the certificate status, including information about certificate errors.</p>
502
+ * @public
503
503
  */
504
504
  StatusMessage?: string;
505
505
  }
@@ -517,12 +517,11 @@ export declare const RevocationCheckAction: {
517
517
  */
518
518
  export type RevocationCheckAction = (typeof RevocationCheckAction)[keyof typeof RevocationCheckAction];
519
519
  /**
520
- * @public
521
520
  * <p>Defines the actions to take on the SSL/TLS connection if the certificate presented by the server in the connection has a revoked or unknown status.</p>
521
+ * @public
522
522
  */
523
523
  export interface CheckCertificateRevocationStatusActions {
524
524
  /**
525
- * @public
526
525
  * <p>Configures how Network Firewall processes traffic when it determines that the certificate presented by the server in the SSL/TLS connection has a revoked status.</p>
527
526
  * <ul>
528
527
  * <li>
@@ -538,10 +537,10 @@ export interface CheckCertificateRevocationStatusActions {
538
537
  * <b>REJECT</b> - Network Firewall sends a TCP reject packet back to your client. The service closes the connection and drops subsequent packets for that connection. <code>REJECT</code> is available only for TCP traffic.</p>
539
538
  * </li>
540
539
  * </ul>
540
+ * @public
541
541
  */
542
542
  RevokedStatusAction?: RevocationCheckAction;
543
543
  /**
544
- * @public
545
544
  * <p>Configures how Network Firewall processes traffic when it determines that the certificate presented by the server in the SSL/TLS connection has an unknown status, or a status that cannot be determined for any other reason, including when the service is unable to connect to the OCSP and CRL endpoints for the certificate.</p>
546
545
  * <ul>
547
546
  * <li>
@@ -557,6 +556,7 @@ export interface CheckCertificateRevocationStatusActions {
557
556
  * <b>REJECT</b> - Network Firewall sends a TCP reject packet back to your client. The service closes the connection and drops subsequent packets for that connection. <code>REJECT</code> is available only for TCP traffic.</p>
558
557
  * </li>
559
558
  * </ul>
559
+ * @public
560
560
  */
561
561
  UnknownStatusAction?: RevocationCheckAction;
562
562
  }
@@ -586,40 +586,40 @@ export declare const EncryptionType: {
586
586
  */
587
587
  export type EncryptionType = (typeof EncryptionType)[keyof typeof EncryptionType];
588
588
  /**
589
- * @public
590
589
  * <p>A complex type that contains optional Amazon Web Services Key Management Service (KMS) encryption settings for your Network Firewall resources. Your data is encrypted by default with an Amazon Web Services owned key that Amazon Web Services owns and manages for you. You can use either the Amazon Web Services owned key, or provide your own customer managed key. To learn more about KMS encryption of your Network Firewall resources, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-encryption-at-rest.html">Encryption at rest with Amazon Web Services Key Managment Service</a> in the <i>Network Firewall Developer Guide</i>.</p>
590
+ * @public
591
591
  */
592
592
  export interface EncryptionConfiguration {
593
593
  /**
594
- * @public
595
594
  * <p>The ID of the Amazon Web Services Key Management Service (KMS) customer managed key. You can use any of the key identifiers that KMS supports, unless you're using a key that's managed by another account. If you're using a key managed by another account, then specify the key ARN. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id">Key ID</a> in the <i>Amazon Web Services KMS Developer Guide</i>.</p>
595
+ * @public
596
596
  */
597
597
  KeyId?: string;
598
598
  /**
599
- * @public
600
599
  * <p>The type of Amazon Web Services KMS key to use for encryption of your Network Firewall resources.</p>
600
+ * @public
601
601
  */
602
602
  Type: EncryptionType | undefined;
603
603
  }
604
604
  /**
605
- * @public
606
605
  * <p>A key:value pair associated with an Amazon Web Services resource. The key:value pair can be anything you
607
606
  * define. Typically, the tag key represents a category (such as "environment") and the tag
608
607
  * value represents a specific value within that category (such as "test," "development," or
609
608
  * "production"). You can add up to 50 tags to each Amazon Web Services resource. </p>
609
+ * @public
610
610
  */
611
611
  export interface Tag {
612
612
  /**
613
- * @public
614
613
  * <p>The part of the key:value pair that defines a tag. You can use a tag key to describe a
615
614
  * category of information, such as "customer." Tag keys are case-sensitive.</p>
615
+ * @public
616
616
  */
617
617
  Key: string | undefined;
618
618
  /**
619
- * @public
620
619
  * <p>The part of the key:value pair that defines a tag. You can use a tag value to describe a
621
620
  * specific value within a category, such as "companyA" or "companyB." Tag values are
622
621
  * case-sensitive.</p>
622
+ * @public
623
623
  */
624
624
  Value: string | undefined;
625
625
  }
@@ -628,142 +628,142 @@ export interface Tag {
628
628
  */
629
629
  export interface CreateFirewallRequest {
630
630
  /**
631
- * @public
632
631
  * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
632
+ * @public
633
633
  */
634
634
  FirewallName: string | undefined;
635
635
  /**
636
- * @public
637
636
  * <p>The Amazon Resource Name (ARN) of the <a>FirewallPolicy</a> that you want to
638
637
  * use for the firewall.</p>
638
+ * @public
639
639
  */
640
640
  FirewallPolicyArn: string | undefined;
641
641
  /**
642
- * @public
643
642
  * <p>The unique identifier of the VPC where Network Firewall should create the firewall. </p>
644
643
  * <p>You can't change this setting after you create the firewall. </p>
644
+ * @public
645
645
  */
646
646
  VpcId: string | undefined;
647
647
  /**
648
- * @public
649
648
  * <p>The public subnets to use for your Network Firewall firewalls. Each subnet must belong to a
650
649
  * different Availability Zone in the VPC. Network Firewall creates a firewall endpoint in each
651
650
  * subnet. </p>
651
+ * @public
652
652
  */
653
653
  SubnetMappings: SubnetMapping[] | undefined;
654
654
  /**
655
- * @public
656
655
  * <p>A flag indicating whether it is possible to delete the firewall. A setting of <code>TRUE</code> indicates
657
656
  * that the firewall is protected against deletion. Use this setting to protect against
658
657
  * accidentally deleting a firewall that is in use. When you create a firewall, the operation initializes this flag to <code>TRUE</code>.</p>
658
+ * @public
659
659
  */
660
660
  DeleteProtection?: boolean;
661
661
  /**
662
- * @public
663
662
  * <p>A setting indicating whether the firewall is protected against changes to the subnet associations.
664
663
  * Use this setting to protect against
665
664
  * 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>
665
+ * @public
666
666
  */
667
667
  SubnetChangeProtection?: boolean;
668
668
  /**
669
- * @public
670
669
  * <p>A setting indicating whether the firewall is protected against a change to the firewall policy association.
671
670
  * Use this setting to protect against
672
671
  * accidentally modifying the firewall policy for a firewall that is in use. When you create a firewall, the operation initializes this setting to <code>TRUE</code>.</p>
672
+ * @public
673
673
  */
674
674
  FirewallPolicyChangeProtection?: boolean;
675
675
  /**
676
- * @public
677
676
  * <p>A description of the firewall.</p>
677
+ * @public
678
678
  */
679
679
  Description?: string;
680
680
  /**
681
- * @public
682
681
  * <p>The key:value pairs to associate with the resource.</p>
682
+ * @public
683
683
  */
684
684
  Tags?: Tag[];
685
685
  /**
686
- * @public
687
686
  * <p>A complex type that contains settings for encryption of your firewall resources.</p>
687
+ * @public
688
688
  */
689
689
  EncryptionConfiguration?: EncryptionConfiguration;
690
690
  }
691
691
  /**
692
- * @public
693
692
  * <p>The firewall defines the configuration settings for an Network Firewall firewall. These settings include the firewall policy, the subnets in your VPC to use for the firewall endpoints, and any tags that are attached to the firewall Amazon Web Services resource. </p>
694
693
  * <p>The status of the firewall, for example whether it's ready to filter network traffic,
695
694
  * is provided in the corresponding <a>FirewallStatus</a>. You can retrieve both
696
695
  * objects by calling <a>DescribeFirewall</a>.</p>
696
+ * @public
697
697
  */
698
698
  export interface Firewall {
699
699
  /**
700
- * @public
701
700
  * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
701
+ * @public
702
702
  */
703
703
  FirewallName?: string;
704
704
  /**
705
- * @public
706
705
  * <p>The Amazon Resource Name (ARN) of the firewall.</p>
706
+ * @public
707
707
  */
708
708
  FirewallArn?: string;
709
709
  /**
710
- * @public
711
710
  * <p>The Amazon Resource Name (ARN) of the firewall policy.</p>
712
711
  * <p>The relationship of firewall to firewall policy is many to one. Each firewall requires
713
712
  * one firewall policy association, and you can use the same firewall policy for multiple
714
713
  * firewalls. </p>
714
+ * @public
715
715
  */
716
716
  FirewallPolicyArn: string | undefined;
717
717
  /**
718
- * @public
719
718
  * <p>The unique identifier of the VPC where the firewall is in use. </p>
719
+ * @public
720
720
  */
721
721
  VpcId: string | undefined;
722
722
  /**
723
- * @public
724
723
  * <p>The public subnets that Network Firewall is using for the firewall. Each subnet must belong
725
724
  * to a different Availability Zone. </p>
725
+ * @public
726
726
  */
727
727
  SubnetMappings: SubnetMapping[] | undefined;
728
728
  /**
729
- * @public
730
729
  * <p>A flag indicating whether it is possible to delete the firewall. A setting of <code>TRUE</code> indicates
731
730
  * that the firewall is protected against deletion. Use this setting to protect against
732
731
  * accidentally deleting a firewall that is in use. When you create a firewall, the operation initializes this flag to <code>TRUE</code>.</p>
732
+ * @public
733
733
  */
734
734
  DeleteProtection?: boolean;
735
735
  /**
736
- * @public
737
736
  * <p>A setting indicating whether the firewall is protected against changes to the subnet associations.
738
737
  * Use this setting to protect against
739
738
  * 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>
739
+ * @public
740
740
  */
741
741
  SubnetChangeProtection?: boolean;
742
742
  /**
743
- * @public
744
743
  * <p>A setting indicating whether the firewall is protected against a change to the firewall policy association.
745
744
  * Use this setting to protect against
746
745
  * accidentally modifying the firewall policy for a firewall that is in use. When you create a firewall, the operation initializes this setting to <code>TRUE</code>.</p>
746
+ * @public
747
747
  */
748
748
  FirewallPolicyChangeProtection?: boolean;
749
749
  /**
750
- * @public
751
750
  * <p>A description of the firewall.</p>
751
+ * @public
752
752
  */
753
753
  Description?: string;
754
754
  /**
755
- * @public
756
755
  * <p>The unique identifier for the firewall. </p>
756
+ * @public
757
757
  */
758
758
  FirewallId: string | undefined;
759
759
  /**
760
- * @public
761
760
  * <p></p>
761
+ * @public
762
762
  */
763
763
  Tags?: Tag[];
764
764
  /**
765
- * @public
766
765
  * <p>A complex type that contains the Amazon Web Services KMS encryption configuration settings for your firewall.</p>
766
+ * @public
767
767
  */
768
768
  EncryptionConfiguration?: EncryptionConfiguration;
769
769
  }
@@ -794,26 +794,25 @@ export declare const PerObjectSyncStatus: {
794
794
  */
795
795
  export type PerObjectSyncStatus = (typeof PerObjectSyncStatus)[keyof typeof PerObjectSyncStatus];
796
796
  /**
797
- * @public
798
797
  * <p>Provides configuration status for a single policy or rule group that is used for a firewall endpoint. Network Firewall
799
798
  * provides each endpoint with the rules that are configured in the firewall policy. Each time
800
799
  * you add a subnet or modify the associated firewall policy, Network Firewall synchronizes the
801
800
  * rules in the endpoint, so it can properly filter network traffic. This is part of a <a>SyncState</a> for a firewall.</p>
801
+ * @public
802
802
  */
803
803
  export interface PerObjectStatus {
804
804
  /**
805
- * @public
806
805
  * <p>Indicates whether this object is in sync with the version indicated in the update token.</p>
806
+ * @public
807
807
  */
808
808
  SyncStatus?: PerObjectSyncStatus;
809
809
  /**
810
- * @public
811
810
  * <p>The current version of the object that is either in sync or pending synchronization. </p>
811
+ * @public
812
812
  */
813
813
  UpdateToken?: string;
814
814
  }
815
815
  /**
816
- * @public
817
816
  * <p>The status of the firewall endpoint and firewall policy configuration for a single VPC
818
817
  * subnet. </p>
819
818
  * <p>For each VPC subnet that you associate with a firewall, Network Firewall does the
@@ -830,41 +829,41 @@ export interface PerObjectStatus {
830
829
  * <p>When you update a firewall, for example to add a subnet association or change a rule
831
830
  * group in the firewall policy, the affected sync states reflect out-of-sync or not ready
832
831
  * status until the changes are complete. </p>
832
+ * @public
833
833
  */
834
834
  export interface SyncState {
835
835
  /**
836
- * @public
837
836
  * <p>The attachment status of the firewall's association with a single VPC subnet. For each
838
837
  * configured subnet, Network Firewall creates the attachment by instantiating the firewall
839
838
  * endpoint in the subnet so that it's ready to take traffic. This is part of the <a>FirewallStatus</a>.</p>
839
+ * @public
840
840
  */
841
841
  Attachment?: Attachment;
842
842
  /**
843
- * @public
844
843
  * <p>The configuration status of the firewall endpoint in a single VPC subnet. Network Firewall
845
844
  * provides each endpoint with the rules that are configured in the firewall policy. Each time
846
845
  * you add a subnet or modify the associated firewall policy, Network Firewall synchronizes the
847
846
  * rules in the endpoint, so it can properly filter network traffic. This is part of the <a>FirewallStatus</a>.</p>
847
+ * @public
848
848
  */
849
849
  Config?: Record<string, PerObjectStatus>;
850
850
  }
851
851
  /**
852
- * @public
853
852
  * <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>
853
+ * @public
854
854
  */
855
855
  export interface FirewallStatus {
856
856
  /**
857
- * @public
858
857
  * <p>The readiness of the configured firewall to handle network traffic across all of the
859
858
  * Availability Zones where you've configured it. This setting is <code>READY</code> only when
860
859
  * the <code>ConfigurationSyncStateSummary</code> value is <code>IN_SYNC</code> and the
861
860
  * <code>Attachment</code>
862
861
  * <code>Status</code> values for all of the configured subnets are <code>READY</code>.
863
862
  * </p>
863
+ * @public
864
864
  */
865
865
  Status: FirewallStatusValue | undefined;
866
866
  /**
867
- * @public
868
867
  * <p>The configuration sync state for the firewall. This summarizes the sync states reported
869
868
  * in the <code>Config</code> settings for all of the Availability Zones where you have
870
869
  * configured the firewall. </p>
@@ -875,20 +874,21 @@ export interface FirewallStatus {
875
874
  * <p>This status must be <code>IN_SYNC</code> for the firewall to be ready for use, but it
876
875
  * doesn't indicate that the firewall is ready. The <code>Status</code> setting indicates
877
876
  * firewall readiness.</p>
877
+ * @public
878
878
  */
879
879
  ConfigurationSyncStateSummary: ConfigurationSyncState | undefined;
880
880
  /**
881
- * @public
882
881
  * <p>The subnets that you've configured for use by the Network Firewall firewall. This contains
883
882
  * one array element per Availability Zone where you've configured a subnet. These objects
884
883
  * provide details of the information that is summarized in the
885
884
  * <code>ConfigurationSyncStateSummary</code> and <code>Status</code>, broken down by zone
886
885
  * and configuration object. </p>
886
+ * @public
887
887
  */
888
888
  SyncStates?: Record<string, SyncState>;
889
889
  /**
890
- * @public
891
890
  * <p>Describes the capacity usage of the resources contained in a firewall's reference sets. Network Firewall calclulates the capacity usage by taking an aggregated count of all of the resources used by all of the reference sets in a firewall.</p>
891
+ * @public
892
892
  */
893
893
  CapacityUsageSummary?: CapacityUsageSummary;
894
894
  }
@@ -897,19 +897,19 @@ export interface FirewallStatus {
897
897
  */
898
898
  export interface CreateFirewallResponse {
899
899
  /**
900
- * @public
901
900
  * <p>The configuration settings for the firewall. These settings include the firewall policy and the subnets in your VPC to use for the firewall endpoints. </p>
901
+ * @public
902
902
  */
903
903
  Firewall?: Firewall;
904
904
  /**
905
- * @public
906
905
  * <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>
906
+ * @public
907
907
  */
908
908
  FirewallStatus?: FirewallStatus;
909
909
  }
910
910
  /**
911
- * @public
912
911
  * <p>Unable to perform the operation because doing so would violate a limit setting. </p>
912
+ * @public
913
913
  */
914
914
  export declare class LimitExceededException extends __BaseException {
915
915
  readonly name: "LimitExceededException";
@@ -921,26 +921,26 @@ export declare class LimitExceededException extends __BaseException {
921
921
  constructor(opts: __ExceptionOptionType<LimitExceededException, __BaseException>);
922
922
  }
923
923
  /**
924
- * @public
925
924
  * <p>A list of IP addresses and address ranges, in CIDR notation. This is part of a <a>RuleVariables</a>. </p>
925
+ * @public
926
926
  */
927
927
  export interface IPSet {
928
928
  /**
929
- * @public
930
929
  * <p>The list of IP addresses and address ranges, in CIDR notation.
931
930
  *
932
931
  * </p>
932
+ * @public
933
933
  */
934
934
  Definition: string[] | undefined;
935
935
  }
936
936
  /**
937
- * @public
938
937
  * <p>Contains variables that you can use to override default Suricata settings in your firewall policy.</p>
938
+ * @public
939
939
  */
940
940
  export interface PolicyVariables {
941
941
  /**
942
- * @public
943
942
  * <p>The IPv4 or IPv6 addresses in CIDR notation to use for the Suricata <code>HOME_NET</code> variable. If your firewall uses an inspection VPC, you might want to override the <code>HOME_NET</code> variable with the CIDRs of your home networks. If you don't override <code>HOME_NET</code> with your own CIDRs, Network Firewall by default uses the CIDR of your inspection VPC.</p>
943
+ * @public
944
944
  */
945
945
  RuleVariables?: Record<string, IPSet>;
946
946
  }
@@ -970,21 +970,20 @@ export declare const StreamExceptionPolicy: {
970
970
  */
971
971
  export type StreamExceptionPolicy = (typeof StreamExceptionPolicy)[keyof typeof StreamExceptionPolicy];
972
972
  /**
973
- * @public
974
973
  * <p>Configuration settings for the handling of the stateful rule groups in a firewall policy. </p>
974
+ * @public
975
975
  */
976
976
  export interface StatefulEngineOptions {
977
977
  /**
978
- * @public
979
978
  * <p>Indicates how to manage the order of stateful rule evaluation for the policy. <code>STRICT_ORDER</code> is
980
979
  * 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
981
980
  * based on your settings. For more information, see
982
981
  * <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>.
983
982
  * </p>
983
+ * @public
984
984
  */
985
985
  RuleOrder?: RuleOrder;
986
986
  /**
987
- * @public
988
987
  * <p>Configures how Network Firewall processes traffic when a network connection breaks midstream. Network connections can break due to disruptions in external networks or within the firewall itself.</p>
989
988
  * <ul>
990
989
  * <li>
@@ -1000,6 +999,7 @@ export interface StatefulEngineOptions {
1000
999
  * <code>REJECT</code> - Network Firewall fails closed and drops all subsequent traffic going to the firewall. Network Firewall also sends a TCP reject packet back to your client so that the client can immediately establish a new session. Network Firewall will have context about the new session and will apply rules to the subsequent traffic.</p>
1001
1000
  * </li>
1002
1001
  * </ul>
1002
+ * @public
1003
1003
  */
1004
1004
  StreamExceptionPolicy?: StreamExceptionPolicy;
1005
1005
  }
@@ -1015,30 +1015,29 @@ export declare const OverrideAction: {
1015
1015
  */
1016
1016
  export type OverrideAction = (typeof OverrideAction)[keyof typeof OverrideAction];
1017
1017
  /**
1018
- * @public
1019
1018
  * <p>The setting that allows the policy owner to change the behavior of the rule group within a policy. </p>
1019
+ * @public
1020
1020
  */
1021
1021
  export interface StatefulRuleGroupOverride {
1022
1022
  /**
1023
- * @public
1024
1023
  * <p>The action that changes the rule group from <code>DROP</code> to <code>ALERT</code>. This only applies to
1025
1024
  * managed rule groups.</p>
1025
+ * @public
1026
1026
  */
1027
1027
  Action?: OverrideAction;
1028
1028
  }
1029
1029
  /**
1030
- * @public
1031
1030
  * <p>Identifier for a single stateful rule group, used in a firewall policy to refer to a
1032
1031
  * rule group. </p>
1032
+ * @public
1033
1033
  */
1034
1034
  export interface StatefulRuleGroupReference {
1035
1035
  /**
1036
- * @public
1037
1036
  * <p>The Amazon Resource Name (ARN) of the stateful rule group.</p>
1037
+ * @public
1038
1038
  */
1039
1039
  ResourceArn: string | undefined;
1040
1040
  /**
1041
- * @public
1042
1041
  * <p>An integer setting that indicates the order in which to run the stateful rule groups in
1043
1042
  * a single <a>FirewallPolicy</a>. This setting only applies to firewall policies
1044
1043
  * that specify the <code>STRICT_ORDER</code> rule order in the stateful engine options settings.</p>
@@ -1048,16 +1047,16 @@ export interface StatefulRuleGroupReference {
1048
1047
  * <p>You can change the priority settings of your rule groups at any time. To make it easier to
1049
1048
  * insert rule groups later, number them so there's a wide range in between, for example use 100,
1050
1049
  * 200, and so on. </p>
1050
+ * @public
1051
1051
  */
1052
1052
  Priority?: number;
1053
1053
  /**
1054
- * @public
1055
1054
  * <p>The action that allows the policy owner to override the behavior of the rule group within a policy.</p>
1055
+ * @public
1056
1056
  */
1057
1057
  Override?: StatefulRuleGroupOverride;
1058
1058
  }
1059
1059
  /**
1060
- * @public
1061
1060
  * <p>An optional, non-standard action to use for stateless packet handling. You can define
1062
1061
  * this in addition to the standard action that you must specify. </p>
1063
1062
  * <p>You define and name the custom actions that you want to be able to use, and then you
@@ -1079,56 +1078,56 @@ export interface StatefulRuleGroupReference {
1079
1078
  * the policy's stateless rules. </p>
1080
1079
  * </li>
1081
1080
  * </ul>
1081
+ * @public
1082
1082
  */
1083
1083
  export interface CustomAction {
1084
1084
  /**
1085
- * @public
1086
1085
  * <p>The descriptive name of the custom action. You can't change the name of a custom action after you create it.</p>
1086
+ * @public
1087
1087
  */
1088
1088
  ActionName: string | undefined;
1089
1089
  /**
1090
- * @public
1091
1090
  * <p>The custom action associated with the action name.</p>
1091
+ * @public
1092
1092
  */
1093
1093
  ActionDefinition: ActionDefinition | undefined;
1094
1094
  }
1095
1095
  /**
1096
- * @public
1097
1096
  * <p>Identifier for a single stateless rule group, used in a firewall policy to refer to the
1098
1097
  * rule group. </p>
1098
+ * @public
1099
1099
  */
1100
1100
  export interface StatelessRuleGroupReference {
1101
1101
  /**
1102
- * @public
1103
1102
  * <p>The Amazon Resource Name (ARN) of the stateless rule group.</p>
1103
+ * @public
1104
1104
  */
1105
1105
  ResourceArn: string | undefined;
1106
1106
  /**
1107
- * @public
1108
1107
  * <p>An integer setting that indicates the order in which to run the stateless rule groups in
1109
1108
  * a single <a>FirewallPolicy</a>. Network Firewall applies each stateless rule group
1110
1109
  * to a packet starting with the group that has the lowest priority setting. You must ensure
1111
1110
  * that the priority settings are unique within each policy.</p>
1111
+ * @public
1112
1112
  */
1113
1113
  Priority: number | undefined;
1114
1114
  }
1115
1115
  /**
1116
- * @public
1117
1116
  * <p>The firewall policy defines the behavior of a firewall using a collection of stateless
1118
1117
  * and stateful rule groups and other settings. You can use one firewall policy for multiple
1119
1118
  * firewalls. </p>
1120
1119
  * <p>This, along with <a>FirewallPolicyResponse</a>, define the policy.
1121
1120
  * You can retrieve all objects for a firewall policy by calling <a>DescribeFirewallPolicy</a>.</p>
1121
+ * @public
1122
1122
  */
1123
1123
  export interface FirewallPolicy {
1124
1124
  /**
1125
- * @public
1126
1125
  * <p>References to the stateless rule groups that are used in the policy. These define the
1127
1126
  * matching criteria in stateless rules. </p>
1127
+ * @public
1128
1128
  */
1129
1129
  StatelessRuleGroupReferences?: StatelessRuleGroupReference[];
1130
1130
  /**
1131
- * @public
1132
1131
  * <p>The actions to take on a packet if it doesn't match any of the stateless rules in the
1133
1132
  * policy. If you want non-matching packets to be forwarded for stateful inspection, specify
1134
1133
  * <code>aws:forward_to_sfe</code>. </p>
@@ -1138,10 +1137,10 @@ export interface FirewallPolicy {
1138
1137
  * <p>For example, you could specify <code>["aws:pass"]</code> or you could specify
1139
1138
  * <code>["aws:pass", “customActionName”]</code>. For information about compatibility, see
1140
1139
  * the custom action descriptions under <a>CustomAction</a>.</p>
1140
+ * @public
1141
1141
  */
1142
1142
  StatelessDefaultActions: string[] | undefined;
1143
1143
  /**
1144
- * @public
1145
1144
  * <p>The actions to take on a fragmented UDP packet if it doesn't match any of the stateless
1146
1145
  * rules in the policy. Network Firewall only manages UDP packet fragments and silently drops packet fragments for other protocols.
1147
1146
  * If you want non-matching fragmented UDP packets to be forwarded for
@@ -1152,23 +1151,23 @@ export interface FirewallPolicy {
1152
1151
  * <p>For example, you could specify <code>["aws:pass"]</code> or you could specify
1153
1152
  * <code>["aws:pass", “customActionName”]</code>. For information about compatibility, see
1154
1153
  * the custom action descriptions under <a>CustomAction</a>.</p>
1154
+ * @public
1155
1155
  */
1156
1156
  StatelessFragmentDefaultActions: string[] | undefined;
1157
1157
  /**
1158
- * @public
1159
1158
  * <p>The custom action definitions that are available for use in the firewall policy's
1160
1159
  * <code>StatelessDefaultActions</code> setting. You name each custom action that you
1161
1160
  * define, and then you can use it by name in your default actions specifications.</p>
1161
+ * @public
1162
1162
  */
1163
1163
  StatelessCustomActions?: CustomAction[];
1164
1164
  /**
1165
- * @public
1166
1165
  * <p>References to the stateful rule groups that are used in the policy. These define the
1167
1166
  * inspection criteria in stateful rules. </p>
1167
+ * @public
1168
1168
  */
1169
1169
  StatefulRuleGroupReferences?: StatefulRuleGroupReference[];
1170
1170
  /**
1171
- * @public
1172
1171
  * <p>The default actions to take on a packet that doesn't match any stateful rules. The stateful default action is optional,
1173
1172
  * and is only valid when using the strict rule order.</p>
1174
1173
  * <p>Valid values of the stateful default action:</p>
@@ -1189,22 +1188,23 @@ export interface FirewallPolicy {
1189
1188
  * <p>For more information, see
1190
1189
  * <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/suricata-rule-evaluation-order.html#suricata-strict-rule-evaluation-order.html">Strict evaluation order</a> in the <i>Network Firewall Developer Guide</i>.
1191
1190
  * </p>
1191
+ * @public
1192
1192
  */
1193
1193
  StatefulDefaultActions?: string[];
1194
1194
  /**
1195
- * @public
1196
1195
  * <p>Additional options governing how Network Firewall handles stateful rules. The stateful
1197
1196
  * rule groups that you use in your policy must have stateful rule options settings that are compatible with these settings.</p>
1197
+ * @public
1198
1198
  */
1199
1199
  StatefulEngineOptions?: StatefulEngineOptions;
1200
1200
  /**
1201
- * @public
1202
1201
  * <p>The Amazon Resource Name (ARN) of the TLS inspection configuration.</p>
1202
+ * @public
1203
1203
  */
1204
1204
  TLSInspectionConfigurationArn?: string;
1205
1205
  /**
1206
- * @public
1207
1206
  * <p>Contains variables that you can use to override default Suricata settings in your firewall policy.</p>
1207
+ * @public
1208
1208
  */
1209
1209
  PolicyVariables?: PolicyVariables;
1210
1210
  }
@@ -1213,38 +1213,38 @@ export interface FirewallPolicy {
1213
1213
  */
1214
1214
  export interface CreateFirewallPolicyRequest {
1215
1215
  /**
1216
- * @public
1217
1216
  * <p>The descriptive name of the firewall policy. You can't change the name of a firewall policy after you create it.</p>
1217
+ * @public
1218
1218
  */
1219
1219
  FirewallPolicyName: string | undefined;
1220
1220
  /**
1221
- * @public
1222
1221
  * <p>The rule groups and policy actions to use in the firewall policy.</p>
1222
+ * @public
1223
1223
  */
1224
1224
  FirewallPolicy: FirewallPolicy | undefined;
1225
1225
  /**
1226
- * @public
1227
1226
  * <p>A description of the firewall policy.</p>
1227
+ * @public
1228
1228
  */
1229
1229
  Description?: string;
1230
1230
  /**
1231
- * @public
1232
1231
  * <p>The key:value pairs to associate with the resource.</p>
1232
+ * @public
1233
1233
  */
1234
1234
  Tags?: Tag[];
1235
1235
  /**
1236
- * @public
1237
1236
  * <p>Indicates whether you want Network Firewall to just check the validity of the request, rather than run the request. </p>
1238
1237
  * <p>If set to <code>TRUE</code>, Network Firewall checks whether the request can run successfully,
1239
1238
  * but doesn't actually make the requested changes. The call returns the value that the request would return if you ran it with
1240
1239
  * dry run set to <code>FALSE</code>, but doesn't make additions or changes to your resources. This option allows you to make sure that you have
1241
1240
  * the required permissions to run the request and that your request parameters are valid. </p>
1242
1241
  * <p>If set to <code>FALSE</code>, Network Firewall makes the requested changes to your resources. </p>
1242
+ * @public
1243
1243
  */
1244
1244
  DryRun?: boolean;
1245
1245
  /**
1246
- * @public
1247
1246
  * <p>A complex type that contains settings for encryption of your firewall policy resources.</p>
1247
+ * @public
1248
1248
  */
1249
1249
  EncryptionConfiguration?: EncryptionConfiguration;
1250
1250
  }
@@ -1262,70 +1262,70 @@ export declare const ResourceStatus: {
1262
1262
  */
1263
1263
  export type ResourceStatus = (typeof ResourceStatus)[keyof typeof ResourceStatus];
1264
1264
  /**
1265
- * @public
1266
1265
  * <p>The high-level properties of a firewall policy. This, along with the <a>FirewallPolicy</a>, define the policy. You can retrieve all objects for a firewall policy by calling <a>DescribeFirewallPolicy</a>. </p>
1266
+ * @public
1267
1267
  */
1268
1268
  export interface FirewallPolicyResponse {
1269
1269
  /**
1270
- * @public
1271
1270
  * <p>The descriptive name of the firewall policy. You can't change the name of a firewall policy after you create it.</p>
1271
+ * @public
1272
1272
  */
1273
1273
  FirewallPolicyName: string | undefined;
1274
1274
  /**
1275
- * @public
1276
1275
  * <p>The Amazon Resource Name (ARN) of the firewall policy.</p>
1277
1276
  * <note>
1278
1277
  * <p>If this response is for a create request that had <code>DryRun</code> set to
1279
1278
  * <code>TRUE</code>, then this ARN is a placeholder that isn't attached to a valid
1280
1279
  * resource.</p>
1281
1280
  * </note>
1281
+ * @public
1282
1282
  */
1283
1283
  FirewallPolicyArn: string | undefined;
1284
1284
  /**
1285
- * @public
1286
1285
  * <p>The unique identifier for the firewall policy. </p>
1286
+ * @public
1287
1287
  */
1288
1288
  FirewallPolicyId: string | undefined;
1289
1289
  /**
1290
- * @public
1291
1290
  * <p>A description of the firewall policy.</p>
1291
+ * @public
1292
1292
  */
1293
1293
  Description?: string;
1294
1294
  /**
1295
- * @public
1296
1295
  * <p>The current status of the firewall policy. You can retrieve this for a firewall policy
1297
1296
  * by calling <a>DescribeFirewallPolicy</a> and providing the firewall policy's
1298
1297
  * name or ARN.</p>
1298
+ * @public
1299
1299
  */
1300
1300
  FirewallPolicyStatus?: ResourceStatus;
1301
1301
  /**
1302
- * @public
1303
1302
  * <p>The key:value pairs to associate with the resource.</p>
1303
+ * @public
1304
1304
  */
1305
1305
  Tags?: Tag[];
1306
1306
  /**
1307
- * @public
1308
1307
  * <p>The number of capacity units currently consumed by the policy's stateless rules.</p>
1308
+ * @public
1309
1309
  */
1310
1310
  ConsumedStatelessRuleCapacity?: number;
1311
1311
  /**
1312
- * @public
1313
1312
  * <p>The number of capacity units currently consumed by the policy's stateful rules.</p>
1313
+ * @public
1314
1314
  */
1315
1315
  ConsumedStatefulRuleCapacity?: number;
1316
1316
  /**
1317
- * @public
1318
1317
  * <p>The number of firewalls that are associated with this firewall policy.</p>
1318
+ * @public
1319
1319
  */
1320
1320
  NumberOfAssociations?: number;
1321
1321
  /**
1322
- * @public
1323
1322
  * <p>A complex type that contains the Amazon Web Services KMS encryption configuration settings for your firewall policy.</p>
1323
+ * @public
1324
1324
  */
1325
1325
  EncryptionConfiguration?: EncryptionConfiguration;
1326
1326
  /**
1327
- * @public
1328
1327
  * <p>The last time that the firewall policy was changed.</p>
1328
+ * @public
1329
1329
  */
1330
1330
  LastModifiedTime?: Date;
1331
1331
  }
@@ -1334,39 +1334,39 @@ export interface FirewallPolicyResponse {
1334
1334
  */
1335
1335
  export interface CreateFirewallPolicyResponse {
1336
1336
  /**
1337
- * @public
1338
1337
  * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the firewall policy. The token marks the state of the policy resource at the time of the request. </p>
1339
1338
  * <p>To make changes to the policy, you provide the token in your request. Network Firewall uses the token to ensure that the policy 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 policy again to get a current copy of it with current token. Reapply your changes as needed, then try the operation again using the new token. </p>
1339
+ * @public
1340
1340
  */
1341
1341
  UpdateToken: string | undefined;
1342
1342
  /**
1343
- * @public
1344
1343
  * <p>The high-level properties of a firewall policy. This, along with the <a>FirewallPolicy</a>, define the policy. You can retrieve all objects for a firewall policy by calling <a>DescribeFirewallPolicy</a>. </p>
1344
+ * @public
1345
1345
  */
1346
1346
  FirewallPolicyResponse: FirewallPolicyResponse | undefined;
1347
1347
  }
1348
1348
  /**
1349
- * @public
1350
1349
  * <p>Configures one or more IP set references for a Suricata-compatible rule group. This is used in <a>CreateRuleGroup</a> or <a>UpdateRuleGroup</a>. An IP set reference is a rule variable that references resources that you create and manage in another Amazon Web Services service, such as an Amazon VPC prefix list. Network Firewall IP set references enable you to dynamically update the contents of your rules. When you create, update, or delete the resource you are referencing in your rule, Network Firewall automatically updates the rule's content with the changes. For more information about IP set references in Network Firewall, see <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/rule-groups-ip-set-references">Using IP set references</a> in the <i>Network Firewall Developer Guide</i>.</p>
1351
1350
  * <p>
1352
1351
  * Network Firewall currently supports <a href="https://docs.aws.amazon.com/vpc/latest/userguide/managed-prefix-lists.html">Amazon VPC prefix lists</a> and <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/rule-groups-ip-set-references.html#rule-groups-referencing-resource-groups">resource groups</a> in IP set references.
1353
1352
  * </p>
1353
+ * @public
1354
1354
  */
1355
1355
  export interface IPSetReference {
1356
1356
  /**
1357
- * @public
1358
1357
  * <p>The Amazon Resource Name (ARN) of the resource that you are referencing in your rule group.</p>
1358
+ * @public
1359
1359
  */
1360
1360
  ReferenceArn?: string;
1361
1361
  }
1362
1362
  /**
1363
- * @public
1364
1363
  * <p>Contains a set of IP set references.</p>
1364
+ * @public
1365
1365
  */
1366
1366
  export interface ReferenceSets {
1367
1367
  /**
1368
- * @public
1369
1368
  * <p>The list of IP set references.</p>
1369
+ * @public
1370
1370
  */
1371
1371
  IPSetReferences?: Record<string, IPSetReference>;
1372
1372
  }
@@ -1395,14 +1395,13 @@ export declare const TargetType: {
1395
1395
  */
1396
1396
  export type TargetType = (typeof TargetType)[keyof typeof TargetType];
1397
1397
  /**
1398
- * @public
1399
1398
  * <p>Stateful inspection criteria for a domain list rule group. </p>
1400
1399
  * <p>For HTTPS traffic, domain filtering is SNI-based. It uses the server name indicator extension of the TLS handshake.</p>
1401
1400
  * <p>By default, Network Firewall domain list inspection only includes traffic coming from the VPC where you deploy the firewall. To inspect traffic from IP addresses outside of the deployment VPC, you set the <code>HOME_NET</code> rule variable to include the CIDR range of the deployment VPC plus the other CIDR ranges. For more information, see <a>RuleVariables</a> in this guide and <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/stateful-rule-groups-domain-names.html">Stateful domain list rule groups in Network Firewall</a> in the <i>Network Firewall Developer Guide</i>.</p>
1401
+ * @public
1402
1402
  */
1403
1403
  export interface RulesSourceList {
1404
1404
  /**
1405
- * @public
1406
1405
  * <p>The domains that you want to inspect for in your traffic flows. Valid domain specifications are the following:</p>
1407
1406
  * <ul>
1408
1407
  * <li>
@@ -1412,16 +1411,17 @@ export interface RulesSourceList {
1412
1411
  * <p>Names that use a domain wildcard, which you indicate with an initial '<code>.</code>'. For example,<code>.example.com</code> matches <code>example.com</code> and matches all subdomains of <code>example.com</code>, such as <code>abc.example.com</code> and <code>www.example.com</code>. </p>
1413
1412
  * </li>
1414
1413
  * </ul>
1414
+ * @public
1415
1415
  */
1416
1416
  Targets: string[] | undefined;
1417
1417
  /**
1418
- * @public
1419
1418
  * <p>The protocols you want to inspect. Specify <code>TLS_SNI</code> for <code>HTTPS</code>. Specify <code>HTTP_HOST</code> for <code>HTTP</code>. You can specify either or both. </p>
1419
+ * @public
1420
1420
  */
1421
1421
  TargetTypes: TargetType[] | undefined;
1422
1422
  /**
1423
- * @public
1424
1423
  * <p>Whether you want to allow or deny access to the domains in your target list.</p>
1424
+ * @public
1425
1425
  */
1426
1426
  GeneratedRulesType: GeneratedRulesType | undefined;
1427
1427
  }
@@ -1481,19 +1481,18 @@ export declare const StatefulRuleProtocol: {
1481
1481
  */
1482
1482
  export type StatefulRuleProtocol = (typeof StatefulRuleProtocol)[keyof typeof StatefulRuleProtocol];
1483
1483
  /**
1484
- * @public
1485
1484
  * <p>The basic rule criteria for Network Firewall to use to inspect packet headers in stateful
1486
1485
  * traffic flow inspection. Traffic flows that match the criteria are a match for the
1487
1486
  * corresponding <a>StatefulRule</a>. </p>
1487
+ * @public
1488
1488
  */
1489
1489
  export interface Header {
1490
1490
  /**
1491
- * @public
1492
1491
  * <p>The protocol to inspect for. To specify all, you can use <code>IP</code>, because all traffic on Amazon Web Services and on the internet is IP.</p>
1492
+ * @public
1493
1493
  */
1494
1494
  Protocol: StatefulRuleProtocol | undefined;
1495
1495
  /**
1496
- * @public
1497
1496
  * <p>The source IP address or address range to inspect for, in CIDR notation.
1498
1497
  * To match with any address, specify <code>ANY</code>. </p>
1499
1498
  * <p>Specify an IP address or a block of IP addresses in Classless Inter-Domain Routing (CIDR) notation. Network Firewall supports all address ranges for IPv4 and IPv6. </p>
@@ -1514,26 +1513,26 @@ export interface Header {
1514
1513
  * </ul>
1515
1514
  * <p>For more information about CIDR notation, see the Wikipedia entry <a href="https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing">Classless
1516
1515
  * Inter-Domain Routing</a>.</p>
1516
+ * @public
1517
1517
  */
1518
1518
  Source: string | undefined;
1519
1519
  /**
1520
- * @public
1521
1520
  * <p>The source port to inspect for. You can specify an individual port, for
1522
1521
  * example <code>1994</code> and you can specify a port
1523
1522
  * range, for example <code>1990:1994</code>.
1524
1523
  * To match with any port, specify <code>ANY</code>. </p>
1524
+ * @public
1525
1525
  */
1526
1526
  SourcePort: string | undefined;
1527
1527
  /**
1528
- * @public
1529
1528
  * <p>The direction of traffic flow to inspect. If set to <code>ANY</code>, the inspection
1530
1529
  * matches bidirectional traffic, both from the source to the destination and from the
1531
1530
  * destination to the source. If set to <code>FORWARD</code>, the inspection only matches
1532
1531
  * traffic going from the source to the destination. </p>
1532
+ * @public
1533
1533
  */
1534
1534
  Direction: StatefulRuleDirection | undefined;
1535
1535
  /**
1536
- * @public
1537
1536
  * <p>The destination IP address or address range to inspect for, in CIDR notation.
1538
1537
  * To match with any address, specify <code>ANY</code>. </p>
1539
1538
  * <p>Specify an IP address or a block of IP addresses in Classless Inter-Domain Routing (CIDR) notation. Network Firewall supports all address ranges for IPv4 and IPv6. </p>
@@ -1554,43 +1553,43 @@ export interface Header {
1554
1553
  * </ul>
1555
1554
  * <p>For more information about CIDR notation, see the Wikipedia entry <a href="https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing">Classless
1556
1555
  * Inter-Domain Routing</a>.</p>
1556
+ * @public
1557
1557
  */
1558
1558
  Destination: string | undefined;
1559
1559
  /**
1560
- * @public
1561
1560
  * <p>The destination port to inspect for. You can specify an individual port, for
1562
1561
  * example <code>1994</code> and you can specify
1563
1562
  * a port range, for example <code>1990:1994</code>.
1564
1563
  * To match with any port, specify <code>ANY</code>. </p>
1564
+ * @public
1565
1565
  */
1566
1566
  DestinationPort: string | undefined;
1567
1567
  }
1568
1568
  /**
1569
- * @public
1570
1569
  * <p>Additional settings for a stateful rule. This is part of the <a>StatefulRule</a> configuration.</p>
1570
+ * @public
1571
1571
  */
1572
1572
  export interface RuleOption {
1573
1573
  /**
1574
- * @public
1575
1574
  * <p>The keyword for the Suricata compatible rule option. You must include a <code>sid</code> (signature ID), and can optionally include other keywords. For information about Suricata compatible keywords, see <a href="https://suricata.readthedocs.io/en/suricata-6.0.9/rules/intro.html#rule-options">Rule options</a> in the Suricata documentation.</p>
1575
+ * @public
1576
1576
  */
1577
1577
  Keyword: string | undefined;
1578
1578
  /**
1579
- * @public
1580
1579
  * <p>The settings of the Suricata compatible rule option. Rule options have zero or more setting values, and the number of possible and required settings depends on the <code>Keyword</code>. For more information about the settings for specific options, see <a href="https://suricata.readthedocs.io/en/suricata-6.0.9/rules/intro.html#rule-options">Rule options</a>.</p>
1580
+ * @public
1581
1581
  */
1582
1582
  Settings?: string[];
1583
1583
  }
1584
1584
  /**
1585
- * @public
1586
1585
  * <p>A single Suricata rules specification, for use in a stateful rule group.
1587
1586
  * Use this option to specify a simple Suricata rule with protocol, source and destination, ports, direction, and rule options.
1588
1587
  * For information about the Suricata <code>Rules</code> format, see
1589
1588
  * <a href="https://suricata.readthedocs.io/en/suricata-6.0.9/rules/intro.html">Rules Format</a>. </p>
1589
+ * @public
1590
1590
  */
1591
1591
  export interface StatefulRule {
1592
1592
  /**
1593
- * @public
1594
1593
  * <p>Defines what Network Firewall should do with the packets in a traffic flow when the flow
1595
1594
  * matches the stateful rule criteria. For all actions, Network Firewall performs the specified
1596
1595
  * action and discontinues stateful inspection of the traffic flow. </p>
@@ -1616,37 +1615,38 @@ export interface StatefulRule {
1616
1615
  * is filtering as you want, then change the action to <code>DROP</code>.</p>
1617
1616
  * </li>
1618
1617
  * </ul>
1618
+ * @public
1619
1619
  */
1620
1620
  Action: StatefulAction | undefined;
1621
1621
  /**
1622
- * @public
1623
1622
  * <p>The stateful inspection criteria for this rule, used to inspect traffic flows.
1624
1623
  * </p>
1624
+ * @public
1625
1625
  */
1626
1626
  Header: Header | undefined;
1627
1627
  /**
1628
- * @public
1629
1628
  * <p>Additional options for the rule. These are the Suricata <code>RuleOptions</code> settings.</p>
1629
+ * @public
1630
1630
  */
1631
1631
  RuleOptions: RuleOption[] | undefined;
1632
1632
  }
1633
1633
  /**
1634
- * @public
1635
1634
  * <p>A single port range specification. This is used for source and destination port ranges
1636
1635
  * in the stateless rule <a>MatchAttributes</a>, <code>SourcePorts</code>, and
1637
1636
  * <code>DestinationPorts</code> settings. </p>
1637
+ * @public
1638
1638
  */
1639
1639
  export interface PortRange {
1640
1640
  /**
1641
- * @public
1642
1641
  * <p>The lower limit of the port range. This must be less than or equal to the
1643
1642
  * <code>ToPort</code> specification. </p>
1643
+ * @public
1644
1644
  */
1645
1645
  FromPort: number | undefined;
1646
1646
  /**
1647
- * @public
1648
1647
  * <p>The upper limit of the port range. This must be greater than or equal to the
1649
1648
  * <code>FromPort</code> specification. </p>
1649
+ * @public
1650
1650
  */
1651
1651
  ToPort: number | undefined;
1652
1652
  }
@@ -1669,12 +1669,11 @@ export declare const TCPFlag: {
1669
1669
  */
1670
1670
  export type TCPFlag = (typeof TCPFlag)[keyof typeof TCPFlag];
1671
1671
  /**
1672
- * @public
1673
1672
  * <p>TCP flags and masks to inspect packets for, used in stateless rules <a>MatchAttributes</a> settings.</p>
1673
+ * @public
1674
1674
  */
1675
1675
  export interface TCPFlagField {
1676
1676
  /**
1677
- * @public
1678
1677
  * <p>Used in conjunction with the <code>Masks</code> setting to define the flags that must be set and flags that must not be set in order for the packet to match. This setting can only specify values that are also specified in the <code>Masks</code> setting.</p>
1679
1678
  * <p>For the flags that are specified in the masks setting, the following must be true for the packet to match: </p>
1680
1679
  * <ul>
@@ -1685,74 +1684,74 @@ export interface TCPFlagField {
1685
1684
  * <p>The ones that are not set in this flags setting must also not be set in the packet. </p>
1686
1685
  * </li>
1687
1686
  * </ul>
1687
+ * @public
1688
1688
  */
1689
1689
  Flags: TCPFlag[] | undefined;
1690
1690
  /**
1691
- * @public
1692
1691
  * <p>The set of flags to consider in the inspection. To inspect all flags in the valid values list, leave this with no setting.</p>
1692
+ * @public
1693
1693
  */
1694
1694
  Masks?: TCPFlag[];
1695
1695
  }
1696
1696
  /**
1697
- * @public
1698
1697
  * <p>Criteria for Network Firewall to use to inspect an individual packet in stateless rule inspection. Each match attributes set can include one or more items such as IP address, CIDR range, port number, protocol, and TCP flags. </p>
1698
+ * @public
1699
1699
  */
1700
1700
  export interface MatchAttributes {
1701
1701
  /**
1702
- * @public
1703
1702
  * <p>The source IP addresses and address ranges to inspect for, in CIDR notation. If not
1704
1703
  * specified, this matches with any source address. </p>
1704
+ * @public
1705
1705
  */
1706
1706
  Sources?: Address[];
1707
1707
  /**
1708
- * @public
1709
1708
  * <p>The destination IP addresses and address ranges to inspect for, in CIDR notation. If not
1710
1709
  * specified, this matches with any destination address. </p>
1710
+ * @public
1711
1711
  */
1712
1712
  Destinations?: Address[];
1713
1713
  /**
1714
- * @public
1715
1714
  * <p>The source ports to inspect for. If not specified, this matches with any source port.
1716
1715
  * This setting is only used for protocols 6 (TCP) and 17 (UDP). </p>
1717
1716
  * <p>You can specify individual ports, for example <code>1994</code> and you can specify port
1718
1717
  * ranges, for example <code>1990:1994</code>. </p>
1718
+ * @public
1719
1719
  */
1720
1720
  SourcePorts?: PortRange[];
1721
1721
  /**
1722
- * @public
1723
1722
  * <p>The destination ports to inspect for. If not specified, this matches with any
1724
1723
  * destination port. This setting is only used for protocols 6 (TCP) and 17 (UDP). </p>
1725
1724
  * <p>You can specify individual ports, for example <code>1994</code> and you can specify port
1726
1725
  * ranges, for example <code>1990:1994</code>. </p>
1726
+ * @public
1727
1727
  */
1728
1728
  DestinationPorts?: PortRange[];
1729
1729
  /**
1730
- * @public
1731
1730
  * <p>The protocols to inspect for, specified using each protocol's assigned internet protocol
1732
1731
  * number (IANA). If not specified, this matches with any protocol. </p>
1732
+ * @public
1733
1733
  */
1734
1734
  Protocols?: number[];
1735
1735
  /**
1736
- * @public
1737
1736
  * <p>The TCP flags and masks to inspect for. If not specified, this matches with any
1738
1737
  * settings. This setting is only used for protocol 6 (TCP).</p>
1738
+ * @public
1739
1739
  */
1740
1740
  TCPFlags?: TCPFlagField[];
1741
1741
  }
1742
1742
  /**
1743
- * @public
1744
1743
  * <p>The inspection criteria and action for a single stateless rule. Network Firewall inspects each packet for the specified matching
1745
1744
  * criteria. When a packet matches the criteria, Network Firewall performs the rule's actions on
1746
1745
  * the packet.</p>
1746
+ * @public
1747
1747
  */
1748
1748
  export interface RuleDefinition {
1749
1749
  /**
1750
- * @public
1751
1750
  * <p>Criteria for Network Firewall to use to inspect an individual packet in stateless rule inspection. Each match attributes set can include one or more items such as IP address, CIDR range, port number, protocol, and TCP flags. </p>
1751
+ * @public
1752
1752
  */
1753
1753
  MatchAttributes: MatchAttributes | undefined;
1754
1754
  /**
1755
- * @public
1756
1755
  * <p>The actions to take on a packet that matches one of the stateless rule definition's
1757
1756
  * match attributes. You must specify a standard action and you can add custom actions. </p>
1758
1757
  * <note>
@@ -1790,22 +1789,22 @@ export interface RuleDefinition {
1790
1789
  * <code>MyMetricsAction</code>, then you could specify the standard action
1791
1790
  * <code>aws:pass</code> and the custom action with <code>[“aws:pass”,
1792
1791
  * “MyMetricsAction”]</code>. </p>
1792
+ * @public
1793
1793
  */
1794
1794
  Actions: string[] | undefined;
1795
1795
  }
1796
1796
  /**
1797
- * @public
1798
1797
  * <p>A single stateless rule. This is used in <a>StatelessRulesAndCustomActions</a>.</p>
1798
+ * @public
1799
1799
  */
1800
1800
  export interface StatelessRule {
1801
1801
  /**
1802
- * @public
1803
1802
  * <p>Defines the stateless 5-tuple packet inspection criteria and the action to take on a
1804
1803
  * packet that matches the criteria. </p>
1804
+ * @public
1805
1805
  */
1806
1806
  RuleDefinition: RuleDefinition | undefined;
1807
1807
  /**
1808
- * @public
1809
1808
  * <p>Indicates the order in which to run this rule relative to all of the
1810
1809
  * rules that are defined for a stateless rule group. Network Firewall evaluates the rules in a
1811
1810
  * rule group starting with the lowest priority setting. You must ensure that the priority
@@ -1818,39 +1817,39 @@ export interface StatelessRule {
1818
1817
  * <p>You can change the priority settings of your rules at any time. To make it easier to
1819
1818
  * insert rules later, number them so there's a wide range in between, for example use 100,
1820
1819
  * 200, and so on. </p>
1820
+ * @public
1821
1821
  */
1822
1822
  Priority: number | undefined;
1823
1823
  }
1824
1824
  /**
1825
- * @public
1826
1825
  * <p>Stateless inspection criteria. Each stateless rule group uses exactly one of these data
1827
1826
  * types to define its stateless rules. </p>
1827
+ * @public
1828
1828
  */
1829
1829
  export interface StatelessRulesAndCustomActions {
1830
1830
  /**
1831
- * @public
1832
1831
  * <p>Defines the set of stateless rules for use in a stateless rule group. </p>
1832
+ * @public
1833
1833
  */
1834
1834
  StatelessRules: StatelessRule[] | undefined;
1835
1835
  /**
1836
- * @public
1837
1836
  * <p>Defines an array of individual custom action definitions that are available for use by
1838
1837
  * the stateless rules in this <code>StatelessRulesAndCustomActions</code> specification. You
1839
1838
  * name each custom action that you define, and then you can use it by name in your <a>StatelessRule</a>
1840
1839
  * <a>RuleDefinition</a>
1841
1840
  * <code>Actions</code> specification.</p>
1841
+ * @public
1842
1842
  */
1843
1843
  CustomActions?: CustomAction[];
1844
1844
  }
1845
1845
  /**
1846
- * @public
1847
1846
  * <p>The stateless or stateful rules definitions for use in a single rule group. Each rule
1848
1847
  * group requires a single <code>RulesSource</code>. You can use an instance of this for
1849
1848
  * either stateless rules or stateful rules. </p>
1849
+ * @public
1850
1850
  */
1851
1851
  export interface RulesSource {
1852
1852
  /**
1853
- * @public
1854
1853
  * <p>Stateful inspection criteria, provided in Suricata compatible rules. Suricata is an open-source threat detection framework that includes a standard
1855
1854
  * rule-based language for network traffic inspection.</p>
1856
1855
  * <p>These rules contain the inspection criteria and the action to take for traffic that
@@ -1859,117 +1858,118 @@ export interface RulesSource {
1859
1858
  * <note>
1860
1859
  * <p>You can't use the <code>priority</code> keyword if the <code>RuleOrder</code> option in <a>StatefulRuleOptions</a> is set to <code>STRICT_ORDER</code>.</p>
1861
1860
  * </note>
1861
+ * @public
1862
1862
  */
1863
1863
  RulesString?: string;
1864
1864
  /**
1865
- * @public
1866
1865
  * <p>Stateful inspection criteria for a domain list rule group. </p>
1866
+ * @public
1867
1867
  */
1868
1868
  RulesSourceList?: RulesSourceList;
1869
1869
  /**
1870
- * @public
1871
1870
  * <p>An array of individual stateful rules inspection criteria to be used together in a stateful rule group.
1872
1871
  * Use this option to specify simple Suricata rules with protocol, source and destination, ports, direction, and rule options.
1873
1872
  * For information about the Suricata <code>Rules</code> format, see
1874
1873
  * <a href="https://suricata.readthedocs.io/en/suricata-6.0.9/rules/intro.html">Rules Format</a>. </p>
1874
+ * @public
1875
1875
  */
1876
1876
  StatefulRules?: StatefulRule[];
1877
1877
  /**
1878
- * @public
1879
1878
  * <p>Stateless inspection criteria to be used in a stateless rule group. </p>
1879
+ * @public
1880
1880
  */
1881
1881
  StatelessRulesAndCustomActions?: StatelessRulesAndCustomActions;
1882
1882
  }
1883
1883
  /**
1884
- * @public
1885
1884
  * <p>A set of port ranges for use in the rules in a rule group. </p>
1885
+ * @public
1886
1886
  */
1887
1887
  export interface PortSet {
1888
1888
  /**
1889
- * @public
1890
1889
  * <p>The set of port ranges.
1891
1890
  * </p>
1891
+ * @public
1892
1892
  */
1893
1893
  Definition?: string[];
1894
1894
  }
1895
1895
  /**
1896
- * @public
1897
1896
  * <p>Settings that are available for use in the rules in the <a>RuleGroup</a>
1898
1897
  * where this is defined. </p>
1898
+ * @public
1899
1899
  */
1900
1900
  export interface RuleVariables {
1901
1901
  /**
1902
- * @public
1903
1902
  * <p>A list of IP addresses and address ranges, in CIDR notation. </p>
1903
+ * @public
1904
1904
  */
1905
1905
  IPSets?: Record<string, IPSet>;
1906
1906
  /**
1907
- * @public
1908
1907
  * <p>A list of port ranges. </p>
1908
+ * @public
1909
1909
  */
1910
1910
  PortSets?: Record<string, PortSet>;
1911
1911
  }
1912
1912
  /**
1913
- * @public
1914
1913
  * <p>Additional options governing how Network Firewall handles the rule group. You can only use these for stateful rule groups.</p>
1914
+ * @public
1915
1915
  */
1916
1916
  export interface StatefulRuleOptions {
1917
1917
  /**
1918
- * @public
1919
1918
  * <p>Indicates how to manage the order of the rule evaluation for the rule group. <code>DEFAULT_ACTION_ORDER</code> is
1920
1919
  * the default behavior. Stateful rules are provided to the rule engine as Suricata compatible strings, and Suricata evaluates them
1921
1920
  * based on certain settings. For more information, see
1922
1921
  * <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>.
1923
1922
  * </p>
1923
+ * @public
1924
1924
  */
1925
1925
  RuleOrder?: RuleOrder;
1926
1926
  }
1927
1927
  /**
1928
- * @public
1929
1928
  * <p>The object that defines the rules in a rule group. This, along with <a>RuleGroupResponse</a>, define the rule group. You can retrieve all objects for a rule group by calling <a>DescribeRuleGroup</a>. </p>
1930
1929
  * <p>Network Firewall uses a rule group to inspect and control network traffic.
1931
1930
  * You define stateless rule groups to inspect individual packets and you define stateful rule groups to inspect packets in the context of their
1932
1931
  * traffic flow. </p>
1933
1932
  * <p>To use a rule group, you include it by reference in an Network Firewall firewall policy, then you use the policy in a firewall. You can reference a rule group from
1934
1933
  * more than one firewall policy, and you can use a firewall policy in more than one firewall. </p>
1934
+ * @public
1935
1935
  */
1936
1936
  export interface RuleGroup {
1937
1937
  /**
1938
- * @public
1939
1938
  * <p>Settings that are available for use in the rules in the rule group. You can only use
1940
1939
  * these for stateful rule groups. </p>
1940
+ * @public
1941
1941
  */
1942
1942
  RuleVariables?: RuleVariables;
1943
1943
  /**
1944
- * @public
1945
1944
  * <p>The list of a rule group's reference sets.</p>
1945
+ * @public
1946
1946
  */
1947
1947
  ReferenceSets?: ReferenceSets;
1948
1948
  /**
1949
- * @public
1950
1949
  * <p>The stateful rules or stateless rules for the rule group. </p>
1950
+ * @public
1951
1951
  */
1952
1952
  RulesSource: RulesSource | undefined;
1953
1953
  /**
1954
- * @public
1955
1954
  * <p>Additional options governing how Network Firewall handles stateful rules. The policies where you use your stateful
1956
1955
  * rule group must have stateful rule options settings that are compatible with these settings. Some limitations apply; for more information, see <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/suricata-limitations-caveats.html">Strict evaluation order</a> in the <i>Network Firewall Developer Guide</i>.</p>
1956
+ * @public
1957
1957
  */
1958
1958
  StatefulRuleOptions?: StatefulRuleOptions;
1959
1959
  }
1960
1960
  /**
1961
- * @public
1962
1961
  * <p>High-level information about the managed rule group that your own rule group is copied from. You can use the the metadata to track version updates made to the originating rule group. You can retrieve all objects for a rule group by calling <a href="https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_DescribeRuleGroup.html">DescribeRuleGroup</a>.</p>
1962
+ * @public
1963
1963
  */
1964
1964
  export interface SourceMetadata {
1965
1965
  /**
1966
- * @public
1967
1966
  * <p>The Amazon Resource Name (ARN) of the rule group that your own rule group is copied from.</p>
1967
+ * @public
1968
1968
  */
1969
1969
  SourceArn?: string;
1970
1970
  /**
1971
- * @public
1972
1971
  * <p>The update token of the Amazon Web Services managed rule group that your own rule group is copied from. To determine the update token for the managed rule group, call <a href="https://docs.aws.amazon.com/network-firewall/latest/APIReference/API_DescribeRuleGroup.html#networkfirewall-DescribeRuleGroup-response-UpdateToken">DescribeRuleGroup</a>.</p>
1972
+ * @public
1973
1973
  */
1974
1974
  SourceUpdateToken?: string;
1975
1975
  }
@@ -1990,20 +1990,19 @@ export type RuleGroupType = (typeof RuleGroupType)[keyof typeof RuleGroupType];
1990
1990
  */
1991
1991
  export interface CreateRuleGroupRequest {
1992
1992
  /**
1993
- * @public
1994
1993
  * <p>The descriptive name of the rule group. You can't change the name of a rule group after you create it.</p>
1994
+ * @public
1995
1995
  */
1996
1996
  RuleGroupName: string | undefined;
1997
1997
  /**
1998
- * @public
1999
1998
  * <p>An object that defines the rule group rules. </p>
2000
1999
  * <note>
2001
2000
  * <p>You must provide either this rule group setting or a <code>Rules</code> setting, but not both. </p>
2002
2001
  * </note>
2002
+ * @public
2003
2003
  */
2004
2004
  RuleGroup?: RuleGroup;
2005
2005
  /**
2006
- * @public
2007
2006
  * <p>A string containing stateful rule group rules specifications in Suricata flat format, with one rule
2008
2007
  * per line. Use this to import your existing Suricata compatible rule groups. </p>
2009
2008
  * <note>
@@ -2011,21 +2010,21 @@ export interface CreateRuleGroupRequest {
2011
2010
  * </note>
2012
2011
  * <p>You can provide your rule group specification in Suricata flat format through this setting when you create or update your rule group. The call
2013
2012
  * response returns a <a>RuleGroup</a> object that Network Firewall has populated from your string. </p>
2013
+ * @public
2014
2014
  */
2015
2015
  Rules?: string;
2016
2016
  /**
2017
- * @public
2018
2017
  * <p>Indicates whether the rule group is stateless or stateful. If the rule group is stateless, it contains
2019
2018
  * stateless rules. If it is stateful, it contains stateful rules. </p>
2019
+ * @public
2020
2020
  */
2021
2021
  Type: RuleGroupType | undefined;
2022
2022
  /**
2023
- * @public
2024
2023
  * <p>A description of the rule group. </p>
2024
+ * @public
2025
2025
  */
2026
2026
  Description?: string;
2027
2027
  /**
2028
- * @public
2029
2028
  * <p>The maximum operating resources that this rule group can use. Rule group capacity is fixed at creation.
2030
2029
  * When you update a rule group, you are limited to this capacity. When you reference a rule group
2031
2030
  * from a firewall policy, Network Firewall reserves this capacity for the rule group. </p>
@@ -2067,130 +2066,131 @@ export interface CreateRuleGroupRequest {
2067
2066
  * <p>For
2068
2067
  * a stateful rule group, the minimum capacity required is the number of individual rules that
2069
2068
  * you expect to have in the rule group. </p>
2069
+ * @public
2070
2070
  */
2071
2071
  Capacity: number | undefined;
2072
2072
  /**
2073
- * @public
2074
2073
  * <p>The key:value pairs to associate with the resource.</p>
2074
+ * @public
2075
2075
  */
2076
2076
  Tags?: Tag[];
2077
2077
  /**
2078
- * @public
2079
2078
  * <p>Indicates whether you want Network Firewall to just check the validity of the request, rather than run the request. </p>
2080
2079
  * <p>If set to <code>TRUE</code>, Network Firewall checks whether the request can run successfully,
2081
2080
  * but doesn't actually make the requested changes. The call returns the value that the request would return if you ran it with
2082
2081
  * dry run set to <code>FALSE</code>, but doesn't make additions or changes to your resources. This option allows you to make sure that you have
2083
2082
  * the required permissions to run the request and that your request parameters are valid. </p>
2084
2083
  * <p>If set to <code>FALSE</code>, Network Firewall makes the requested changes to your resources. </p>
2084
+ * @public
2085
2085
  */
2086
2086
  DryRun?: boolean;
2087
2087
  /**
2088
- * @public
2089
2088
  * <p>A complex type that contains settings for encryption of your rule group resources.</p>
2089
+ * @public
2090
2090
  */
2091
2091
  EncryptionConfiguration?: EncryptionConfiguration;
2092
2092
  /**
2093
- * @public
2094
2093
  * <p>A complex type that contains metadata about the rule group that your own rule group is copied from. You can use the metadata to keep track of updates made to the originating rule group.</p>
2094
+ * @public
2095
2095
  */
2096
2096
  SourceMetadata?: SourceMetadata;
2097
2097
  /**
2098
- * @public
2099
2098
  * <p>Indicates whether you want Network Firewall to analyze the stateless rules in the rule group for rule behavior such as asymmetric routing. If set to <code>TRUE</code>, Network Firewall runs the analysis and then creates the rule group for you. To run the stateless rule group analyzer without creating the rule group, set <code>DryRun</code> to <code>TRUE</code>.</p>
2099
+ * @public
2100
2100
  */
2101
2101
  AnalyzeRuleGroup?: boolean;
2102
2102
  }
2103
2103
  /**
2104
- * @public
2105
2104
  * <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>
2105
+ * @public
2106
2106
  */
2107
2107
  export interface RuleGroupResponse {
2108
2108
  /**
2109
- * @public
2110
2109
  * <p>The Amazon Resource Name (ARN) of the rule group.</p>
2111
2110
  * <note>
2112
2111
  * <p>If this response is for a create request that had <code>DryRun</code> set to
2113
2112
  * <code>TRUE</code>, then this ARN is a placeholder that isn't attached to a valid
2114
2113
  * resource.</p>
2115
2114
  * </note>
2115
+ * @public
2116
2116
  */
2117
2117
  RuleGroupArn: string | undefined;
2118
2118
  /**
2119
- * @public
2120
2119
  * <p>The descriptive name of the rule group. You can't change the name of a rule group after you create it.</p>
2120
+ * @public
2121
2121
  */
2122
2122
  RuleGroupName: string | undefined;
2123
2123
  /**
2124
- * @public
2125
2124
  * <p>The unique identifier for the rule group. </p>
2125
+ * @public
2126
2126
  */
2127
2127
  RuleGroupId: string | undefined;
2128
2128
  /**
2129
- * @public
2130
2129
  * <p>A description of the rule group. </p>
2130
+ * @public
2131
2131
  */
2132
2132
  Description?: string;
2133
2133
  /**
2134
- * @public
2135
2134
  * <p>Indicates whether the rule group is stateless or stateful. If the rule group is stateless, it contains
2136
2135
  * stateless rules. If it is stateful, it contains stateful rules. </p>
2136
+ * @public
2137
2137
  */
2138
2138
  Type?: RuleGroupType;
2139
2139
  /**
2140
- * @public
2141
2140
  * <p>The maximum operating resources that this rule group can use. Rule group capacity is fixed at creation.
2142
2141
  * When you update a rule group, you are limited to this capacity. When you reference a rule group
2143
2142
  * from a firewall policy, Network Firewall reserves this capacity for the rule group. </p>
2144
2143
  * <p>You can retrieve the capacity that would be required for a rule group before you create the rule group by calling
2145
2144
  * <a>CreateRuleGroup</a> with <code>DryRun</code> set to <code>TRUE</code>. </p>
2145
+ * @public
2146
2146
  */
2147
2147
  Capacity?: number;
2148
2148
  /**
2149
- * @public
2150
2149
  * <p>Detailed information about the current status of a rule group. </p>
2150
+ * @public
2151
2151
  */
2152
2152
  RuleGroupStatus?: ResourceStatus;
2153
2153
  /**
2154
- * @public
2155
2154
  * <p>The key:value pairs to associate with the resource.</p>
2155
+ * @public
2156
2156
  */
2157
2157
  Tags?: Tag[];
2158
2158
  /**
2159
- * @public
2160
2159
  * <p>The number of capacity units currently consumed by the rule group rules. </p>
2160
+ * @public
2161
2161
  */
2162
2162
  ConsumedCapacity?: number;
2163
2163
  /**
2164
- * @public
2165
2164
  * <p>The number of firewall policies that use this rule group.</p>
2165
+ * @public
2166
2166
  */
2167
2167
  NumberOfAssociations?: number;
2168
2168
  /**
2169
- * @public
2170
2169
  * <p>A complex type that contains the Amazon Web Services KMS encryption configuration settings for your rule group.</p>
2170
+ * @public
2171
2171
  */
2172
2172
  EncryptionConfiguration?: EncryptionConfiguration;
2173
2173
  /**
2174
- * @public
2175
2174
  * <p>A complex type that contains metadata about the rule group that your own rule group is copied from. You can use the metadata to track the version updates made to the originating rule group.</p>
2175
+ * @public
2176
2176
  */
2177
2177
  SourceMetadata?: SourceMetadata;
2178
2178
  /**
2179
- * @public
2180
2179
  * <p>The Amazon resource name (ARN) of the Amazon Simple Notification Service SNS topic that's
2181
2180
  * used to record changes to the managed rule group. You can subscribe to the SNS topic to receive
2182
2181
  * notifications when the managed rule group is modified, such as for new versions and for version
2183
2182
  * 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>
2183
+ * @public
2184
2184
  */
2185
2185
  SnsTopic?: string;
2186
2186
  /**
2187
- * @public
2188
2187
  * <p>The last time that the rule group was changed.</p>
2188
+ * @public
2189
2189
  */
2190
2190
  LastModifiedTime?: Date;
2191
2191
  /**
2192
- * @public
2193
2192
  * <p>The list of analysis results for <code>AnalyzeRuleGroup</code>. If you set <code>AnalyzeRuleGroup</code> to <code>TRUE</code> in <a>CreateRuleGroup</a>, <a>UpdateRuleGroup</a>, or <a>DescribeRuleGroup</a>, Network Firewall analyzes the rule group and identifies the rules that might adversely effect your firewall's functionality. For example, if Network Firewall detects a rule that's routing traffic asymmetrically, which impacts the service's ability to properly process traffic, the service includes the rule in the list of analysis results.</p>
2193
+ * @public
2194
2194
  */
2195
2195
  AnalysisResults?: AnalysisResult[];
2196
2196
  }
@@ -2199,84 +2199,83 @@ export interface RuleGroupResponse {
2199
2199
  */
2200
2200
  export interface CreateRuleGroupResponse {
2201
2201
  /**
2202
- * @public
2203
2202
  * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the rule group. The token marks the state of the rule group resource at the time of the request. </p>
2204
2203
  * <p>To make changes to the rule group, you provide the token in your request. Network Firewall uses the token to ensure that the rule group 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 rule group again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token. </p>
2204
+ * @public
2205
2205
  */
2206
2206
  UpdateToken: string | undefined;
2207
2207
  /**
2208
- * @public
2209
2208
  * <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>
2209
+ * @public
2210
2210
  */
2211
2211
  RuleGroupResponse: RuleGroupResponse | undefined;
2212
2212
  }
2213
2213
  /**
2214
- * @public
2215
2214
  * <p>Settings that define the Secure Sockets Layer/Transport Layer Security (SSL/TLS) traffic that Network Firewall should decrypt for inspection by the stateful rule engine.</p>
2215
+ * @public
2216
2216
  */
2217
2217
  export interface ServerCertificateScope {
2218
2218
  /**
2219
- * @public
2220
2219
  * <p>The source IP addresses and address ranges to decrypt for inspection, in CIDR notation. If not specified, this
2221
2220
  * matches with any source address.</p>
2221
+ * @public
2222
2222
  */
2223
2223
  Sources?: Address[];
2224
2224
  /**
2225
- * @public
2226
2225
  * <p>The destination IP addresses and address ranges to decrypt for inspection, in CIDR notation. If not specified, this
2227
2226
  * matches with any destination address.</p>
2227
+ * @public
2228
2228
  */
2229
2229
  Destinations?: Address[];
2230
2230
  /**
2231
- * @public
2232
2231
  * <p>The source ports to decrypt for inspection, in Transmission Control Protocol (TCP) format. If not specified, this matches with any source port.</p>
2233
2232
  * <p>You can specify individual ports, for example <code>1994</code>, and you can specify port ranges, such as <code>1990:1994</code>.</p>
2233
+ * @public
2234
2234
  */
2235
2235
  SourcePorts?: PortRange[];
2236
2236
  /**
2237
- * @public
2238
2237
  * <p>The destination ports to decrypt for inspection, in Transmission Control Protocol (TCP) format. If not specified, this matches with any destination port.</p>
2239
2238
  * <p>You can specify individual ports, for example <code>1994</code>, and you can specify port ranges, such as <code>1990:1994</code>.</p>
2239
+ * @public
2240
2240
  */
2241
2241
  DestinationPorts?: PortRange[];
2242
2242
  /**
2243
- * @public
2244
2243
  * <p>The protocols to decrypt for inspection, specified using each protocol's assigned internet protocol number
2245
2244
  * (IANA). Network Firewall currently supports only TCP.</p>
2245
+ * @public
2246
2246
  */
2247
2247
  Protocols?: number[];
2248
2248
  }
2249
2249
  /**
2250
- * @public
2251
2250
  * <p>Any Certificate Manager (ACM) Secure Sockets Layer/Transport Layer Security (SSL/TLS) server certificate that's associated with a <a>ServerCertificateConfiguration</a>. Used in a <a>TLSInspectionConfiguration</a> for inspection of inbound traffic to your firewall. You must request or import a SSL/TLS certificate into ACM for each domain Network Firewall needs to decrypt and inspect. Network Firewall uses the SSL/TLS certificates to decrypt specified inbound SSL/TLS traffic going to your firewall. For information about working with certificates in Certificate Manager, see <a href="https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html">Request a public certificate </a> or <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>
2251
+ * @public
2252
2252
  */
2253
2253
  export interface ServerCertificate {
2254
2254
  /**
2255
- * @public
2256
2255
  * <p>The Amazon Resource Name (ARN) of the Certificate Manager SSL/TLS server certificate that's used for inbound SSL/TLS inspection.</p>
2256
+ * @public
2257
2257
  */
2258
2258
  ResourceArn?: string;
2259
2259
  }
2260
2260
  /**
2261
- * @public
2262
2261
  * <p>Configures the Certificate Manager certificates and scope that Network Firewall uses to decrypt and re-encrypt traffic using a <a>TLSInspectionConfiguration</a>. You can configure <code>ServerCertificates</code> for inbound SSL/TLS inspection, a <code>CertificateAuthorityArn</code> for outbound SSL/TLS inspection, or both. For information about working with certificates for TLS inspection, see <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/tls-inspection-certificate-requirements.html"> Using SSL/TLS server certficiates with TLS inspection configurations</a> in the <i>Network Firewall Developer Guide</i>.</p>
2263
2262
  * <note>
2264
2263
  * <p>If a server certificate that's associated with your <a>TLSInspectionConfiguration</a> is revoked, deleted, or expired it can result in client-side TLS errors.</p>
2265
2264
  * </note>
2265
+ * @public
2266
2266
  */
2267
2267
  export interface ServerCertificateConfiguration {
2268
2268
  /**
2269
- * @public
2270
2269
  * <p>The list of server certificates to use for inbound SSL/TLS inspection.</p>
2270
+ * @public
2271
2271
  */
2272
2272
  ServerCertificates?: ServerCertificate[];
2273
2273
  /**
2274
- * @public
2275
2274
  * <p>A list of scopes.</p>
2275
+ * @public
2276
2276
  */
2277
2277
  Scopes?: ServerCertificateScope[];
2278
2278
  /**
2279
- * @public
2280
2279
  * <p>The Amazon Resource Name (ARN) of the imported certificate authority (CA) certificate within Certificate Manager (ACM) to use for outbound SSL/TLS inspection.</p>
2281
2280
  * <p>The following limitations apply:</p>
2282
2281
  * <ul>
@@ -2289,25 +2288,26 @@ export interface ServerCertificateConfiguration {
2289
2288
  * </ul>
2290
2289
  * <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>
2291
2290
  * <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>
2291
+ * @public
2292
2292
  */
2293
2293
  CertificateAuthorityArn?: string;
2294
2294
  /**
2295
- * @public
2296
2295
  * <p>When enabled, Network Firewall checks if the server certificate presented by the server in the SSL/TLS connection has a revoked or unkown status. If the certificate has an unknown or revoked status, you must specify the actions that Network Firewall takes on outbound traffic. To check the certificate revocation status, you must also specify a <code>CertificateAuthorityArn</code> in <a>ServerCertificateConfiguration</a>.</p>
2296
+ * @public
2297
2297
  */
2298
2298
  CheckCertificateRevocationStatus?: CheckCertificateRevocationStatusActions;
2299
2299
  }
2300
2300
  /**
2301
- * @public
2302
2301
  * <p>The object that defines a TLS inspection configuration. This, along with <a>TLSInspectionConfigurationResponse</a>, define the TLS inspection configuration. You can retrieve all objects for a TLS inspection configuration by calling <a>DescribeTLSInspectionConfiguration</a>. </p>
2303
2302
  * <p>Network Firewall uses a TLS inspection configuration to decrypt traffic. Network Firewall re-encrypts the traffic before sending it to its destination.</p>
2304
2303
  * <p>To use a TLS inspection configuration, you add it to a new Network Firewall firewall policy, then you apply the firewall policy to a firewall. Network Firewall acts as a proxy service to decrypt and inspect the traffic traveling through your firewalls. You can reference a TLS inspection configuration from more than one firewall policy, and you can use a firewall policy in more than one firewall. For more information about using TLS inspection configurations, see <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/tls-inspection.html">Inspecting SSL/TLS traffic with TLS
2305
2304
  * inspection configurations</a> in the <i>Network Firewall Developer Guide</i>.</p>
2305
+ * @public
2306
2306
  */
2307
2307
  export interface TLSInspectionConfiguration {
2308
2308
  /**
2309
- * @public
2310
2309
  * <p>Lists the server certificate configurations that are associated with the TLS configuration.</p>
2310
+ * @public
2311
2311
  */
2312
2312
  ServerCertificateConfigurations?: ServerCertificateConfiguration[];
2313
2313
  }
@@ -2316,92 +2316,92 @@ export interface TLSInspectionConfiguration {
2316
2316
  */
2317
2317
  export interface CreateTLSInspectionConfigurationRequest {
2318
2318
  /**
2319
- * @public
2320
2319
  * <p>The descriptive name of the TLS inspection configuration. You can't change the name of a TLS inspection configuration after you create it.</p>
2320
+ * @public
2321
2321
  */
2322
2322
  TLSInspectionConfigurationName: string | undefined;
2323
2323
  /**
2324
- * @public
2325
2324
  * <p>The object that defines a TLS inspection configuration. This, along with <a>TLSInspectionConfigurationResponse</a>, define the TLS inspection configuration. You can retrieve all objects for a TLS inspection configuration by calling <a>DescribeTLSInspectionConfiguration</a>. </p>
2326
2325
  * <p>Network Firewall uses a TLS inspection configuration to decrypt traffic. Network Firewall re-encrypts the traffic before sending it to its destination.</p>
2327
2326
  * <p>To use a TLS inspection configuration, you add it to a new Network Firewall firewall policy, then you apply the firewall policy to a firewall. Network Firewall acts as a proxy service to decrypt and inspect the traffic traveling through your firewalls. You can reference a TLS inspection configuration from more than one firewall policy, and you can use a firewall policy in more than one firewall. For more information about using TLS inspection configurations, see <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/tls-inspection.html">Inspecting SSL/TLS traffic with TLS
2328
2327
  * inspection configurations</a> in the <i>Network Firewall Developer Guide</i>.</p>
2328
+ * @public
2329
2329
  */
2330
2330
  TLSInspectionConfiguration: TLSInspectionConfiguration | undefined;
2331
2331
  /**
2332
- * @public
2333
2332
  * <p>A description of the TLS inspection configuration. </p>
2333
+ * @public
2334
2334
  */
2335
2335
  Description?: string;
2336
2336
  /**
2337
- * @public
2338
2337
  * <p>The key:value pairs to associate with the resource.</p>
2338
+ * @public
2339
2339
  */
2340
2340
  Tags?: Tag[];
2341
2341
  /**
2342
- * @public
2343
2342
  * <p>A complex type that contains optional Amazon Web Services Key Management Service (KMS) encryption settings for your Network Firewall resources. Your data is encrypted by default with an Amazon Web Services owned key that Amazon Web Services owns and manages for you. You can use either the Amazon Web Services owned key, or provide your own customer managed key. To learn more about KMS encryption of your Network Firewall resources, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-encryption-at-rest.html">Encryption at rest with Amazon Web Services Key Managment Service</a> in the <i>Network Firewall Developer Guide</i>.</p>
2343
+ * @public
2344
2344
  */
2345
2345
  EncryptionConfiguration?: EncryptionConfiguration;
2346
2346
  }
2347
2347
  /**
2348
- * @public
2349
2348
  * <p>The high-level properties of a TLS inspection configuration. This, along with the <code>TLSInspectionConfiguration</code>, define the TLS inspection configuration. You can retrieve all objects for a TLS inspection configuration by calling <code>DescribeTLSInspectionConfiguration</code>.</p>
2349
+ * @public
2350
2350
  */
2351
2351
  export interface TLSInspectionConfigurationResponse {
2352
2352
  /**
2353
- * @public
2354
2353
  * <p>The Amazon Resource Name (ARN) of the TLS inspection configuration.</p>
2354
+ * @public
2355
2355
  */
2356
2356
  TLSInspectionConfigurationArn: string | undefined;
2357
2357
  /**
2358
- * @public
2359
2358
  * <p>The descriptive name of the TLS inspection configuration. You can't change the name of a TLS inspection configuration after you create it.</p>
2359
+ * @public
2360
2360
  */
2361
2361
  TLSInspectionConfigurationName: string | undefined;
2362
2362
  /**
2363
- * @public
2364
2363
  * <p>A unique identifier for the TLS inspection configuration. This ID is returned in the responses to create and list commands. You provide it to operations such as update and delete.</p>
2364
+ * @public
2365
2365
  */
2366
2366
  TLSInspectionConfigurationId: string | undefined;
2367
2367
  /**
2368
- * @public
2369
2368
  * <p>Detailed information about the current status of a <a>TLSInspectionConfiguration</a>. You can retrieve this for a TLS inspection configuration by calling <a>DescribeTLSInspectionConfiguration</a> and providing the TLS inspection configuration name and ARN.</p>
2369
+ * @public
2370
2370
  */
2371
2371
  TLSInspectionConfigurationStatus?: ResourceStatus;
2372
2372
  /**
2373
- * @public
2374
2373
  * <p>A description of the TLS inspection configuration. </p>
2374
+ * @public
2375
2375
  */
2376
2376
  Description?: string;
2377
2377
  /**
2378
- * @public
2379
2378
  * <p>The key:value pairs to associate with the resource.</p>
2379
+ * @public
2380
2380
  */
2381
2381
  Tags?: Tag[];
2382
2382
  /**
2383
- * @public
2384
2383
  * <p>The last time that the TLS inspection configuration was changed.</p>
2384
+ * @public
2385
2385
  */
2386
2386
  LastModifiedTime?: Date;
2387
2387
  /**
2388
- * @public
2389
2388
  * <p>The number of firewall policies that use this TLS inspection configuration.</p>
2389
+ * @public
2390
2390
  */
2391
2391
  NumberOfAssociations?: number;
2392
2392
  /**
2393
- * @public
2394
2393
  * <p>A complex type that contains the Amazon Web Services KMS encryption configuration settings for your TLS inspection configuration.</p>
2394
+ * @public
2395
2395
  */
2396
2396
  EncryptionConfiguration?: EncryptionConfiguration;
2397
2397
  /**
2398
- * @public
2399
2398
  * <p>A list of the certificates associated with the TLS inspection configuration.</p>
2399
+ * @public
2400
2400
  */
2401
2401
  Certificates?: TlsCertificateData[];
2402
2402
  /**
2403
- * @public
2404
2403
  * <p>Contains metadata about an Certificate Manager certificate.</p>
2404
+ * @public
2405
2405
  */
2406
2406
  CertificateAuthority?: TlsCertificateData;
2407
2407
  }
@@ -2410,14 +2410,14 @@ export interface TLSInspectionConfigurationResponse {
2410
2410
  */
2411
2411
  export interface CreateTLSInspectionConfigurationResponse {
2412
2412
  /**
2413
- * @public
2414
2413
  * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the TLS inspection configuration. The token marks the state of the TLS inspection configuration resource at the time of the request. </p>
2415
2414
  * <p>To make changes to the TLS inspection configuration, you provide the token in your request. Network Firewall uses the token to ensure that the TLS inspection configuration 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 TLS inspection configuration again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token. </p>
2415
+ * @public
2416
2416
  */
2417
2417
  UpdateToken: string | undefined;
2418
2418
  /**
2419
- * @public
2420
2419
  * <p>The high-level properties of a TLS inspection configuration. This, along with the <a>TLSInspectionConfiguration</a>, define the TLS inspection configuration. You can retrieve all objects for a TLS inspection configuration by calling <a>DescribeTLSInspectionConfiguration</a>. </p>
2420
+ * @public
2421
2421
  */
2422
2422
  TLSInspectionConfigurationResponse: TLSInspectionConfigurationResponse | undefined;
2423
2423
  }
@@ -2426,15 +2426,15 @@ export interface CreateTLSInspectionConfigurationResponse {
2426
2426
  */
2427
2427
  export interface DeleteFirewallRequest {
2428
2428
  /**
2429
- * @public
2430
2429
  * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
2431
2430
  * <p>You must specify the ARN or the name, and you can specify both. </p>
2431
+ * @public
2432
2432
  */
2433
2433
  FirewallName?: string;
2434
2434
  /**
2435
- * @public
2436
2435
  * <p>The Amazon Resource Name (ARN) of the firewall.</p>
2437
2436
  * <p>You must specify the ARN or the name, and you can specify both. </p>
2437
+ * @public
2438
2438
  */
2439
2439
  FirewallArn?: string;
2440
2440
  }
@@ -2443,22 +2443,22 @@ export interface DeleteFirewallRequest {
2443
2443
  */
2444
2444
  export interface DeleteFirewallResponse {
2445
2445
  /**
2446
- * @public
2447
2446
  * <p>The firewall defines the configuration settings for an Network Firewall firewall. These settings include the firewall policy, the subnets in your VPC to use for the firewall endpoints, and any tags that are attached to the firewall Amazon Web Services resource. </p>
2448
2447
  * <p>The status of the firewall, for example whether it's ready to filter network traffic,
2449
2448
  * is provided in the corresponding <a>FirewallStatus</a>. You can retrieve both
2450
2449
  * objects by calling <a>DescribeFirewall</a>.</p>
2450
+ * @public
2451
2451
  */
2452
2452
  Firewall?: Firewall;
2453
2453
  /**
2454
- * @public
2455
2454
  * <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>
2455
+ * @public
2456
2456
  */
2457
2457
  FirewallStatus?: FirewallStatus;
2458
2458
  }
2459
2459
  /**
2460
- * @public
2461
2460
  * <p>The operation you requested isn't supported by Network Firewall. </p>
2461
+ * @public
2462
2462
  */
2463
2463
  export declare class UnsupportedOperationException extends __BaseException {
2464
2464
  readonly name: "UnsupportedOperationException";
@@ -2474,15 +2474,15 @@ export declare class UnsupportedOperationException extends __BaseException {
2474
2474
  */
2475
2475
  export interface DeleteFirewallPolicyRequest {
2476
2476
  /**
2477
- * @public
2478
2477
  * <p>The descriptive name of the firewall policy. You can't change the name of a firewall policy after you create it.</p>
2479
2478
  * <p>You must specify the ARN or the name, and you can specify both. </p>
2479
+ * @public
2480
2480
  */
2481
2481
  FirewallPolicyName?: string;
2482
2482
  /**
2483
- * @public
2484
2483
  * <p>The Amazon Resource Name (ARN) of the firewall policy.</p>
2485
2484
  * <p>You must specify the ARN or the name, and you can specify both. </p>
2485
+ * @public
2486
2486
  */
2487
2487
  FirewallPolicyArn?: string;
2488
2488
  }
@@ -2491,9 +2491,9 @@ export interface DeleteFirewallPolicyRequest {
2491
2491
  */
2492
2492
  export interface DeleteFirewallPolicyResponse {
2493
2493
  /**
2494
- * @public
2495
2494
  * <p>The object containing the definition of the <a>FirewallPolicyResponse</a>
2496
2495
  * that you asked to delete. </p>
2496
+ * @public
2497
2497
  */
2498
2498
  FirewallPolicyResponse: FirewallPolicyResponse | undefined;
2499
2499
  }
@@ -2502,8 +2502,8 @@ export interface DeleteFirewallPolicyResponse {
2502
2502
  */
2503
2503
  export interface DeleteResourcePolicyRequest {
2504
2504
  /**
2505
- * @public
2506
2505
  * <p>The Amazon Resource Name (ARN) of the rule group or firewall policy whose resource policy you want to delete. </p>
2506
+ * @public
2507
2507
  */
2508
2508
  ResourceArn: string | undefined;
2509
2509
  }
@@ -2513,8 +2513,8 @@ export interface DeleteResourcePolicyRequest {
2513
2513
  export interface DeleteResourcePolicyResponse {
2514
2514
  }
2515
2515
  /**
2516
- * @public
2517
2516
  * <p>The policy statement failed validation.</p>
2517
+ * @public
2518
2518
  */
2519
2519
  export declare class InvalidResourcePolicyException extends __BaseException {
2520
2520
  readonly name: "InvalidResourcePolicyException";
@@ -2530,24 +2530,24 @@ export declare class InvalidResourcePolicyException extends __BaseException {
2530
2530
  */
2531
2531
  export interface DeleteRuleGroupRequest {
2532
2532
  /**
2533
- * @public
2534
2533
  * <p>The descriptive name of the rule group. You can't change the name of a rule group after you create it.</p>
2535
2534
  * <p>You must specify the ARN or the name, and you can specify both. </p>
2535
+ * @public
2536
2536
  */
2537
2537
  RuleGroupName?: string;
2538
2538
  /**
2539
- * @public
2540
2539
  * <p>The Amazon Resource Name (ARN) of the rule group.</p>
2541
2540
  * <p>You must specify the ARN or the name, and you can specify both. </p>
2541
+ * @public
2542
2542
  */
2543
2543
  RuleGroupArn?: string;
2544
2544
  /**
2545
- * @public
2546
2545
  * <p>Indicates whether the rule group is stateless or stateful. If the rule group is stateless, it contains
2547
2546
  * stateless rules. If it is stateful, it contains stateful rules. </p>
2548
2547
  * <note>
2549
2548
  * <p>This setting is required for requests that do not include the <code>RuleGroupARN</code>.</p>
2550
2549
  * </note>
2550
+ * @public
2551
2551
  */
2552
2552
  Type?: RuleGroupType;
2553
2553
  }
@@ -2556,8 +2556,8 @@ export interface DeleteRuleGroupRequest {
2556
2556
  */
2557
2557
  export interface DeleteRuleGroupResponse {
2558
2558
  /**
2559
- * @public
2560
2559
  * <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>
2560
+ * @public
2561
2561
  */
2562
2562
  RuleGroupResponse: RuleGroupResponse | undefined;
2563
2563
  }
@@ -2566,15 +2566,15 @@ export interface DeleteRuleGroupResponse {
2566
2566
  */
2567
2567
  export interface DeleteTLSInspectionConfigurationRequest {
2568
2568
  /**
2569
- * @public
2570
2569
  * <p>The Amazon Resource Name (ARN) of the TLS inspection configuration.</p>
2571
2570
  * <p>You must specify the ARN or the name, and you can specify both. </p>
2571
+ * @public
2572
2572
  */
2573
2573
  TLSInspectionConfigurationArn?: string;
2574
2574
  /**
2575
- * @public
2576
2575
  * <p>The descriptive name of the TLS inspection configuration. You can't change the name of a TLS inspection configuration after you create it.</p>
2577
2576
  * <p>You must specify the ARN or the name, and you can specify both. </p>
2577
+ * @public
2578
2578
  */
2579
2579
  TLSInspectionConfigurationName?: string;
2580
2580
  }
@@ -2583,8 +2583,8 @@ export interface DeleteTLSInspectionConfigurationRequest {
2583
2583
  */
2584
2584
  export interface DeleteTLSInspectionConfigurationResponse {
2585
2585
  /**
2586
- * @public
2587
2586
  * <p>The high-level properties of a TLS inspection configuration. This, along with the <a>TLSInspectionConfiguration</a>, define the TLS inspection configuration. You can retrieve all objects for a TLS inspection configuration by calling <a>DescribeTLSInspectionConfiguration</a>. </p>
2587
+ * @public
2588
2588
  */
2589
2589
  TLSInspectionConfigurationResponse: TLSInspectionConfigurationResponse | undefined;
2590
2590
  }
@@ -2593,15 +2593,15 @@ export interface DeleteTLSInspectionConfigurationResponse {
2593
2593
  */
2594
2594
  export interface DescribeFirewallRequest {
2595
2595
  /**
2596
- * @public
2597
2596
  * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
2598
2597
  * <p>You must specify the ARN or the name, and you can specify both. </p>
2598
+ * @public
2599
2599
  */
2600
2600
  FirewallName?: string;
2601
2601
  /**
2602
- * @public
2603
2602
  * <p>The Amazon Resource Name (ARN) of the firewall.</p>
2604
2603
  * <p>You must specify the ARN or the name, and you can specify both. </p>
2604
+ * @public
2605
2605
  */
2606
2606
  FirewallArn?: string;
2607
2607
  }
@@ -2610,20 +2610,20 @@ export interface DescribeFirewallRequest {
2610
2610
  */
2611
2611
  export interface DescribeFirewallResponse {
2612
2612
  /**
2613
- * @public
2614
2613
  * <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>
2615
2614
  * <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>
2616
2615
  * <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>
2616
+ * @public
2617
2617
  */
2618
2618
  UpdateToken?: string;
2619
2619
  /**
2620
- * @public
2621
2620
  * <p>The configuration settings for the firewall. These settings include the firewall policy and the subnets in your VPC to use for the firewall endpoints. </p>
2621
+ * @public
2622
2622
  */
2623
2623
  Firewall?: Firewall;
2624
2624
  /**
2625
- * @public
2626
2625
  * <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>
2626
+ * @public
2627
2627
  */
2628
2628
  FirewallStatus?: FirewallStatus;
2629
2629
  }
@@ -2632,15 +2632,15 @@ export interface DescribeFirewallResponse {
2632
2632
  */
2633
2633
  export interface DescribeFirewallPolicyRequest {
2634
2634
  /**
2635
- * @public
2636
2635
  * <p>The descriptive name of the firewall policy. You can't change the name of a firewall policy after you create it.</p>
2637
2636
  * <p>You must specify the ARN or the name, and you can specify both. </p>
2637
+ * @public
2638
2638
  */
2639
2639
  FirewallPolicyName?: string;
2640
2640
  /**
2641
- * @public
2642
2641
  * <p>The Amazon Resource Name (ARN) of the firewall policy.</p>
2643
2642
  * <p>You must specify the ARN or the name, and you can specify both. </p>
2643
+ * @public
2644
2644
  */
2645
2645
  FirewallPolicyArn?: string;
2646
2646
  }
@@ -2649,19 +2649,19 @@ export interface DescribeFirewallPolicyRequest {
2649
2649
  */
2650
2650
  export interface DescribeFirewallPolicyResponse {
2651
2651
  /**
2652
- * @public
2653
2652
  * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the firewall policy. The token marks the state of the policy resource at the time of the request. </p>
2654
2653
  * <p>To make changes to the policy, you provide the token in your request. Network Firewall uses the token to ensure that the policy 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 policy again to get a current copy of it with current token. Reapply your changes as needed, then try the operation again using the new token. </p>
2654
+ * @public
2655
2655
  */
2656
2656
  UpdateToken: string | undefined;
2657
2657
  /**
2658
- * @public
2659
2658
  * <p>The high-level properties of a firewall policy. This, along with the <a>FirewallPolicy</a>, define the policy. You can retrieve all objects for a firewall policy by calling <a>DescribeFirewallPolicy</a>. </p>
2659
+ * @public
2660
2660
  */
2661
2661
  FirewallPolicyResponse: FirewallPolicyResponse | undefined;
2662
2662
  /**
2663
- * @public
2664
2663
  * <p>The policy for the specified firewall policy. </p>
2664
+ * @public
2665
2665
  */
2666
2666
  FirewallPolicy?: FirewallPolicy;
2667
2667
  }
@@ -2670,15 +2670,15 @@ export interface DescribeFirewallPolicyResponse {
2670
2670
  */
2671
2671
  export interface DescribeLoggingConfigurationRequest {
2672
2672
  /**
2673
- * @public
2674
2673
  * <p>The Amazon Resource Name (ARN) of the firewall.</p>
2675
2674
  * <p>You must specify the ARN or the name, and you can specify both. </p>
2675
+ * @public
2676
2676
  */
2677
2677
  FirewallArn?: string;
2678
2678
  /**
2679
- * @public
2680
2679
  * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
2681
2680
  * <p>You must specify the ARN or the name, and you can specify both. </p>
2681
+ * @public
2682
2682
  */
2683
2683
  FirewallName?: string;
2684
2684
  }
@@ -2708,29 +2708,28 @@ export declare const LogType: {
2708
2708
  */
2709
2709
  export type LogType = (typeof LogType)[keyof typeof LogType];
2710
2710
  /**
2711
- * @public
2712
2711
  * <p>Defines where Network Firewall sends logs for the firewall for one log type. This is used
2713
2712
  * in <a>LoggingConfiguration</a>. You can send each type of log to an Amazon S3 bucket, a CloudWatch log group, or a Kinesis Data Firehose delivery stream.</p>
2714
2713
  * <p>Network Firewall generates logs for stateful rule groups. You can save alert and flow log
2715
2714
  * types. The stateful rules engine records flow logs for all network traffic that it receives.
2716
2715
  * It records alert logs for traffic that matches stateful rules that have the rule
2717
2716
  * action set to <code>DROP</code> or <code>ALERT</code>. </p>
2717
+ * @public
2718
2718
  */
2719
2719
  export interface LogDestinationConfig {
2720
2720
  /**
2721
- * @public
2722
2721
  * <p>The type of log to send. Alert logs report traffic that matches a <a>StatefulRule</a> with an action setting that sends an alert log message. Flow logs are
2723
2722
  * standard network traffic flow logs. </p>
2723
+ * @public
2724
2724
  */
2725
2725
  LogType: LogType | undefined;
2726
2726
  /**
2727
- * @public
2728
2727
  * <p>The type of storage destination to send these logs to. You can send logs to an Amazon S3 bucket,
2729
2728
  * a CloudWatch log group, or a Kinesis Data Firehose delivery stream.</p>
2729
+ * @public
2730
2730
  */
2731
2731
  LogDestinationType: LogDestinationType | undefined;
2732
2732
  /**
2733
- * @public
2734
2733
  * <p>The named location for the logs, provided in a key:value mapping that is specific to the
2735
2734
  * chosen destination type. </p>
2736
2735
  * <ul>
@@ -2762,18 +2761,19 @@ export interface LogDestinationConfig {
2762
2761
  * </p>
2763
2762
  * </li>
2764
2763
  * </ul>
2764
+ * @public
2765
2765
  */
2766
2766
  LogDestination: Record<string, string> | undefined;
2767
2767
  }
2768
2768
  /**
2769
- * @public
2770
2769
  * <p>Defines how Network Firewall performs logging for a <a>Firewall</a>. </p>
2770
+ * @public
2771
2771
  */
2772
2772
  export interface LoggingConfiguration {
2773
2773
  /**
2774
- * @public
2775
2774
  * <p>Defines the logging destinations for the logs for a firewall. Network Firewall generates
2776
2775
  * logs for stateful rule groups. </p>
2776
+ * @public
2777
2777
  */
2778
2778
  LogDestinationConfigs: LogDestinationConfig[] | undefined;
2779
2779
  }
@@ -2782,13 +2782,13 @@ export interface LoggingConfiguration {
2782
2782
  */
2783
2783
  export interface DescribeLoggingConfigurationResponse {
2784
2784
  /**
2785
- * @public
2786
2785
  * <p>The Amazon Resource Name (ARN) of the firewall.</p>
2786
+ * @public
2787
2787
  */
2788
2788
  FirewallArn?: string;
2789
2789
  /**
2790
- * @public
2791
2790
  * <p>Defines how Network Firewall performs logging for a <a>Firewall</a>. </p>
2791
+ * @public
2792
2792
  */
2793
2793
  LoggingConfiguration?: LoggingConfiguration;
2794
2794
  }
@@ -2797,8 +2797,8 @@ export interface DescribeLoggingConfigurationResponse {
2797
2797
  */
2798
2798
  export interface DescribeResourcePolicyRequest {
2799
2799
  /**
2800
- * @public
2801
2800
  * <p>The Amazon Resource Name (ARN) of the rule group or firewall policy whose resource policy you want to retrieve. </p>
2801
+ * @public
2802
2802
  */
2803
2803
  ResourceArn: string | undefined;
2804
2804
  }
@@ -2807,8 +2807,8 @@ export interface DescribeResourcePolicyRequest {
2807
2807
  */
2808
2808
  export interface DescribeResourcePolicyResponse {
2809
2809
  /**
2810
- * @public
2811
2810
  * <p>The IAM policy for the resource. </p>
2811
+ * @public
2812
2812
  */
2813
2813
  Policy?: string;
2814
2814
  }
@@ -2817,29 +2817,29 @@ export interface DescribeResourcePolicyResponse {
2817
2817
  */
2818
2818
  export interface DescribeRuleGroupRequest {
2819
2819
  /**
2820
- * @public
2821
2820
  * <p>The descriptive name of the rule group. You can't change the name of a rule group after you create it.</p>
2822
2821
  * <p>You must specify the ARN or the name, and you can specify both. </p>
2822
+ * @public
2823
2823
  */
2824
2824
  RuleGroupName?: string;
2825
2825
  /**
2826
- * @public
2827
2826
  * <p>The Amazon Resource Name (ARN) of the rule group.</p>
2828
2827
  * <p>You must specify the ARN or the name, and you can specify both. </p>
2828
+ * @public
2829
2829
  */
2830
2830
  RuleGroupArn?: string;
2831
2831
  /**
2832
- * @public
2833
2832
  * <p>Indicates whether the rule group is stateless or stateful. If the rule group is stateless, it contains
2834
2833
  * stateless rules. If it is stateful, it contains stateful rules. </p>
2835
2834
  * <note>
2836
2835
  * <p>This setting is required for requests that do not include the <code>RuleGroupARN</code>.</p>
2837
2836
  * </note>
2837
+ * @public
2838
2838
  */
2839
2839
  Type?: RuleGroupType;
2840
2840
  /**
2841
- * @public
2842
2841
  * <p>Indicates whether you want Network Firewall to analyze the stateless rules in the rule group for rule behavior such as asymmetric routing. If set to <code>TRUE</code>, Network Firewall runs the analysis.</p>
2842
+ * @public
2843
2843
  */
2844
2844
  AnalyzeRuleGroup?: boolean;
2845
2845
  }
@@ -2848,24 +2848,24 @@ export interface DescribeRuleGroupRequest {
2848
2848
  */
2849
2849
  export interface DescribeRuleGroupResponse {
2850
2850
  /**
2851
- * @public
2852
2851
  * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the rule group. The token marks the state of the rule group resource at the time of the request. </p>
2853
2852
  * <p>To make changes to the rule group, you provide the token in your request. Network Firewall uses the token to ensure that the rule group 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 rule group again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token. </p>
2853
+ * @public
2854
2854
  */
2855
2855
  UpdateToken: string | undefined;
2856
2856
  /**
2857
- * @public
2858
2857
  * <p>The object that defines the rules in a rule group. This, along with <a>RuleGroupResponse</a>, define the rule group. You can retrieve all objects for a rule group by calling <a>DescribeRuleGroup</a>. </p>
2859
2858
  * <p>Network Firewall uses a rule group to inspect and control network traffic.
2860
2859
  * You define stateless rule groups to inspect individual packets and you define stateful rule groups to inspect packets in the context of their
2861
2860
  * traffic flow. </p>
2862
2861
  * <p>To use a rule group, you include it by reference in an Network Firewall firewall policy, then you use the policy in a firewall. You can reference a rule group from
2863
2862
  * more than one firewall policy, and you can use a firewall policy in more than one firewall. </p>
2863
+ * @public
2864
2864
  */
2865
2865
  RuleGroup?: RuleGroup;
2866
2866
  /**
2867
- * @public
2868
2867
  * <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>
2868
+ * @public
2869
2869
  */
2870
2870
  RuleGroupResponse: RuleGroupResponse | undefined;
2871
2871
  }
@@ -2874,24 +2874,24 @@ export interface DescribeRuleGroupResponse {
2874
2874
  */
2875
2875
  export interface DescribeRuleGroupMetadataRequest {
2876
2876
  /**
2877
- * @public
2878
2877
  * <p>The descriptive name of the rule group. You can't change the name of a rule group after you create it.</p>
2879
2878
  * <p>You must specify the ARN or the name, and you can specify both. </p>
2879
+ * @public
2880
2880
  */
2881
2881
  RuleGroupName?: string;
2882
2882
  /**
2883
- * @public
2884
2883
  * <p>The descriptive name of the rule group. You can't change the name of a rule group after you create it.</p>
2885
2884
  * <p>You must specify the ARN or the name, and you can specify both. </p>
2885
+ * @public
2886
2886
  */
2887
2887
  RuleGroupArn?: string;
2888
2888
  /**
2889
- * @public
2890
2889
  * <p>Indicates whether the rule group is stateless or stateful. If the rule group is stateless, it contains
2891
2890
  * stateless rules. If it is stateful, it contains stateful rules. </p>
2892
2891
  * <note>
2893
2892
  * <p>This setting is required for requests that do not include the <code>RuleGroupARN</code>.</p>
2894
2893
  * </note>
2894
+ * @public
2895
2895
  */
2896
2896
  Type?: RuleGroupType;
2897
2897
  }
@@ -2900,49 +2900,49 @@ export interface DescribeRuleGroupMetadataRequest {
2900
2900
  */
2901
2901
  export interface DescribeRuleGroupMetadataResponse {
2902
2902
  /**
2903
- * @public
2904
2903
  * <p>The descriptive name of the rule group. You can't change the name of a rule group after you create it.</p>
2905
2904
  * <p>You must specify the ARN or the name, and you can specify both. </p>
2905
+ * @public
2906
2906
  */
2907
2907
  RuleGroupArn: string | undefined;
2908
2908
  /**
2909
- * @public
2910
2909
  * <p>The descriptive name of the rule group. You can't change the name of a rule group after you create it.</p>
2911
2910
  * <p>You must specify the ARN or the name, and you can specify both. </p>
2911
+ * @public
2912
2912
  */
2913
2913
  RuleGroupName: string | undefined;
2914
2914
  /**
2915
- * @public
2916
2915
  * <p>Returns the metadata objects for the specified rule group.
2917
2916
  * </p>
2917
+ * @public
2918
2918
  */
2919
2919
  Description?: string;
2920
2920
  /**
2921
- * @public
2922
2921
  * <p>Indicates whether the rule group is stateless or stateful. If the rule group is stateless, it contains
2923
2922
  * stateless rules. If it is stateful, it contains stateful rules. </p>
2924
2923
  * <note>
2925
2924
  * <p>This setting is required for requests that do not include the <code>RuleGroupARN</code>.</p>
2926
2925
  * </note>
2926
+ * @public
2927
2927
  */
2928
2928
  Type?: RuleGroupType;
2929
2929
  /**
2930
- * @public
2931
2930
  * <p>The maximum operating resources that this rule group can use. Rule group capacity is fixed at creation.
2932
2931
  * When you update a rule group, you are limited to this capacity. When you reference a rule group
2933
2932
  * from a firewall policy, Network Firewall reserves this capacity for the rule group. </p>
2934
2933
  * <p>You can retrieve the capacity that would be required for a rule group before you create the rule group by calling
2935
2934
  * <a>CreateRuleGroup</a> with <code>DryRun</code> set to <code>TRUE</code>. </p>
2935
+ * @public
2936
2936
  */
2937
2937
  Capacity?: number;
2938
2938
  /**
2939
- * @public
2940
2939
  * <p>Additional options governing how Network Firewall handles the rule group. You can only use these for stateful rule groups.</p>
2940
+ * @public
2941
2941
  */
2942
2942
  StatefulRuleOptions?: StatefulRuleOptions;
2943
2943
  /**
2944
- * @public
2945
2944
  * <p>The last time that the rule group was changed.</p>
2945
+ * @public
2946
2946
  */
2947
2947
  LastModifiedTime?: Date;
2948
2948
  }
@@ -2951,15 +2951,15 @@ export interface DescribeRuleGroupMetadataResponse {
2951
2951
  */
2952
2952
  export interface DescribeTLSInspectionConfigurationRequest {
2953
2953
  /**
2954
- * @public
2955
2954
  * <p>The Amazon Resource Name (ARN) of the TLS inspection configuration.</p>
2956
2955
  * <p>You must specify the ARN or the name, and you can specify both. </p>
2956
+ * @public
2957
2957
  */
2958
2958
  TLSInspectionConfigurationArn?: string;
2959
2959
  /**
2960
- * @public
2961
2960
  * <p>The descriptive name of the TLS inspection configuration. You can't change the name of a TLS inspection configuration after you create it.</p>
2962
2961
  * <p>You must specify the ARN or the name, and you can specify both. </p>
2962
+ * @public
2963
2963
  */
2964
2964
  TLSInspectionConfigurationName?: string;
2965
2965
  }
@@ -2968,22 +2968,22 @@ export interface DescribeTLSInspectionConfigurationRequest {
2968
2968
  */
2969
2969
  export interface DescribeTLSInspectionConfigurationResponse {
2970
2970
  /**
2971
- * @public
2972
2971
  * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the TLS inspection configuration. The token marks the state of the TLS inspection configuration resource at the time of the request. </p>
2973
2972
  * <p>To make changes to the TLS inspection configuration, you provide the token in your request. Network Firewall uses the token to ensure that the TLS inspection configuration 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 TLS inspection configuration again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token. </p>
2973
+ * @public
2974
2974
  */
2975
2975
  UpdateToken: string | undefined;
2976
2976
  /**
2977
- * @public
2978
2977
  * <p>The object that defines a TLS inspection configuration. This, along with <a>TLSInspectionConfigurationResponse</a>, define the TLS inspection configuration. You can retrieve all objects for a TLS inspection configuration by calling <a>DescribeTLSInspectionConfiguration</a>. </p>
2979
2978
  * <p>Network Firewall uses a TLS inspection configuration to decrypt traffic. Network Firewall re-encrypts the traffic before sending it to its destination.</p>
2980
2979
  * <p>To use a TLS inspection configuration, you add it to a new Network Firewall firewall policy, then you apply the firewall policy to a firewall. Network Firewall acts as a proxy service to decrypt and inspect the traffic traveling through your firewalls. You can reference a TLS inspection configuration from more than one firewall policy, and you can use a firewall policy in more than one firewall. For more information about using TLS inspection configurations, see <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/tls-inspection.html">Inspecting SSL/TLS traffic with TLS
2981
2980
  * inspection configurations</a> in the <i>Network Firewall Developer Guide</i>.</p>
2981
+ * @public
2982
2982
  */
2983
2983
  TLSInspectionConfiguration?: TLSInspectionConfiguration;
2984
2984
  /**
2985
- * @public
2986
2985
  * <p>The high-level properties of a TLS inspection configuration. This, along with the <a>TLSInspectionConfiguration</a>, define the TLS inspection configuration. You can retrieve all objects for a TLS inspection configuration by calling <a>DescribeTLSInspectionConfiguration</a>. </p>
2986
+ * @public
2987
2987
  */
2988
2988
  TLSInspectionConfigurationResponse: TLSInspectionConfigurationResponse | undefined;
2989
2989
  }
@@ -2992,27 +2992,27 @@ export interface DescribeTLSInspectionConfigurationResponse {
2992
2992
  */
2993
2993
  export interface DisassociateSubnetsRequest {
2994
2994
  /**
2995
- * @public
2996
2995
  * <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>
2997
2996
  * <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>
2998
2997
  * <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>
2998
+ * @public
2999
2999
  */
3000
3000
  UpdateToken?: string;
3001
3001
  /**
3002
- * @public
3003
3002
  * <p>The Amazon Resource Name (ARN) of the firewall.</p>
3004
3003
  * <p>You must specify the ARN or the name, and you can specify both. </p>
3004
+ * @public
3005
3005
  */
3006
3006
  FirewallArn?: string;
3007
3007
  /**
3008
- * @public
3009
3008
  * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
3010
3009
  * <p>You must specify the ARN or the name, and you can specify both. </p>
3010
+ * @public
3011
3011
  */
3012
3012
  FirewallName?: string;
3013
3013
  /**
3014
- * @public
3015
3014
  * <p>The unique identifiers for the subnets that you want to disassociate. </p>
3015
+ * @public
3016
3016
  */
3017
3017
  SubnetIds: string[] | undefined;
3018
3018
  }
@@ -3021,61 +3021,61 @@ export interface DisassociateSubnetsRequest {
3021
3021
  */
3022
3022
  export interface DisassociateSubnetsResponse {
3023
3023
  /**
3024
- * @public
3025
3024
  * <p>The Amazon Resource Name (ARN) of the firewall.</p>
3025
+ * @public
3026
3026
  */
3027
3027
  FirewallArn?: string;
3028
3028
  /**
3029
- * @public
3030
3029
  * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
3030
+ * @public
3031
3031
  */
3032
3032
  FirewallName?: string;
3033
3033
  /**
3034
- * @public
3035
3034
  * <p>The IDs of the subnets that are associated with the firewall. </p>
3035
+ * @public
3036
3036
  */
3037
3037
  SubnetMappings?: SubnetMapping[];
3038
3038
  /**
3039
- * @public
3040
3039
  * <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>
3041
3040
  * <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>
3042
3041
  * <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>
3042
+ * @public
3043
3043
  */
3044
3044
  UpdateToken?: string;
3045
3045
  }
3046
3046
  /**
3047
- * @public
3048
3047
  * <p>High-level information about a firewall, returned by operations like create and
3049
3048
  * describe. You can use the information provided in the metadata to retrieve and manage a
3050
3049
  * firewall.</p>
3050
+ * @public
3051
3051
  */
3052
3052
  export interface FirewallMetadata {
3053
3053
  /**
3054
- * @public
3055
3054
  * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
3055
+ * @public
3056
3056
  */
3057
3057
  FirewallName?: string;
3058
3058
  /**
3059
- * @public
3060
3059
  * <p>The Amazon Resource Name (ARN) of the firewall.</p>
3060
+ * @public
3061
3061
  */
3062
3062
  FirewallArn?: string;
3063
3063
  }
3064
3064
  /**
3065
- * @public
3066
3065
  * <p>High-level information about a firewall policy, returned by operations like create and
3067
3066
  * describe. You can use the information provided in the metadata to retrieve and manage a
3068
3067
  * firewall policy. You can retrieve all objects for a firewall policy by calling <a>DescribeFirewallPolicy</a>. </p>
3068
+ * @public
3069
3069
  */
3070
3070
  export interface FirewallPolicyMetadata {
3071
3071
  /**
3072
- * @public
3073
3072
  * <p>The descriptive name of the firewall policy. You can't change the name of a firewall policy after you create it.</p>
3073
+ * @public
3074
3074
  */
3075
3075
  Name?: string;
3076
3076
  /**
3077
- * @public
3078
3077
  * <p>The Amazon Resource Name (ARN) of the firewall policy.</p>
3078
+ * @public
3079
3079
  */
3080
3080
  Arn?: string;
3081
3081
  }
@@ -3084,17 +3084,17 @@ export interface FirewallPolicyMetadata {
3084
3084
  */
3085
3085
  export interface ListFirewallPoliciesRequest {
3086
3086
  /**
3087
- * @public
3088
3087
  * <p>When you request a list of objects with a <code>MaxResults</code> setting, if the number of objects that are still available
3089
3088
  * for retrieval exceeds the maximum you requested, Network Firewall returns a <code>NextToken</code>
3090
3089
  * value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request.</p>
3090
+ * @public
3091
3091
  */
3092
3092
  NextToken?: string;
3093
3093
  /**
3094
- * @public
3095
3094
  * <p>The maximum number of objects that you want Network Firewall to return for this request. If more
3096
3095
  * objects are available, in the response, Network Firewall provides a
3097
3096
  * <code>NextToken</code> value that you can use in a subsequent call to get the next batch of objects.</p>
3097
+ * @public
3098
3098
  */
3099
3099
  MaxResults?: number;
3100
3100
  }
@@ -3103,16 +3103,16 @@ export interface ListFirewallPoliciesRequest {
3103
3103
  */
3104
3104
  export interface ListFirewallPoliciesResponse {
3105
3105
  /**
3106
- * @public
3107
3106
  * <p>When you request a list of objects with a <code>MaxResults</code> setting, if the number of objects that are still available
3108
3107
  * for retrieval exceeds the maximum you requested, Network Firewall returns a <code>NextToken</code>
3109
3108
  * value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request.</p>
3109
+ * @public
3110
3110
  */
3111
3111
  NextToken?: string;
3112
3112
  /**
3113
- * @public
3114
3113
  * <p>The metadata for the firewall policies. Depending on your setting for max results and
3115
3114
  * the number of firewall policies that you have, this might not be the full list. </p>
3115
+ * @public
3116
3116
  */
3117
3117
  FirewallPolicies?: FirewallPolicyMetadata[];
3118
3118
  }
@@ -3121,23 +3121,23 @@ export interface ListFirewallPoliciesResponse {
3121
3121
  */
3122
3122
  export interface ListFirewallsRequest {
3123
3123
  /**
3124
- * @public
3125
3124
  * <p>When you request a list of objects with a <code>MaxResults</code> setting, if the number of objects that are still available
3126
3125
  * for retrieval exceeds the maximum you requested, Network Firewall returns a <code>NextToken</code>
3127
3126
  * value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request.</p>
3127
+ * @public
3128
3128
  */
3129
3129
  NextToken?: string;
3130
3130
  /**
3131
- * @public
3132
3131
  * <p>The unique identifiers of the VPCs that you want Network Firewall to retrieve the firewalls
3133
3132
  * for. Leave this blank to retrieve all firewalls that you have defined.</p>
3133
+ * @public
3134
3134
  */
3135
3135
  VpcIds?: string[];
3136
3136
  /**
3137
- * @public
3138
3137
  * <p>The maximum number of objects that you want Network Firewall to return for this request. If more
3139
3138
  * objects are available, in the response, Network Firewall provides a
3140
3139
  * <code>NextToken</code> value that you can use in a subsequent call to get the next batch of objects.</p>
3140
+ * @public
3141
3141
  */
3142
3142
  MaxResults?: number;
3143
3143
  }
@@ -3146,17 +3146,17 @@ export interface ListFirewallsRequest {
3146
3146
  */
3147
3147
  export interface ListFirewallsResponse {
3148
3148
  /**
3149
- * @public
3150
3149
  * <p>When you request a list of objects with a <code>MaxResults</code> setting, if the number of objects that are still available
3151
3150
  * for retrieval exceeds the maximum you requested, Network Firewall returns a <code>NextToken</code>
3152
3151
  * value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request.</p>
3152
+ * @public
3153
3153
  */
3154
3154
  NextToken?: string;
3155
3155
  /**
3156
- * @public
3157
3156
  * <p>The firewall metadata objects for the VPCs that you specified. Depending on your setting
3158
3157
  * for max results and the number of firewalls you have, a single call might not be the full
3159
3158
  * list. </p>
3159
+ * @public
3160
3160
  */
3161
3161
  Firewalls?: FirewallMetadata[];
3162
3162
  }
@@ -3189,52 +3189,52 @@ export type ResourceManagedStatus = (typeof ResourceManagedStatus)[keyof typeof
3189
3189
  */
3190
3190
  export interface ListRuleGroupsRequest {
3191
3191
  /**
3192
- * @public
3193
3192
  * <p>When you request a list of objects with a <code>MaxResults</code> setting, if the number of objects that are still available
3194
3193
  * for retrieval exceeds the maximum you requested, Network Firewall returns a <code>NextToken</code>
3195
3194
  * value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request.</p>
3195
+ * @public
3196
3196
  */
3197
3197
  NextToken?: string;
3198
3198
  /**
3199
- * @public
3200
3199
  * <p>The maximum number of objects that you want Network Firewall to return for this request. If more
3201
3200
  * objects are available, in the response, Network Firewall provides a
3202
3201
  * <code>NextToken</code> value that you can use in a subsequent call to get the next batch of objects.</p>
3202
+ * @public
3203
3203
  */
3204
3204
  MaxResults?: number;
3205
3205
  /**
3206
- * @public
3207
3206
  * <p>The scope of the request. The default setting of <code>ACCOUNT</code> or a setting of
3208
3207
  * <code>NULL</code> returns all of the rule groups in your account. A setting of
3209
3208
  * <code>MANAGED</code> returns all available managed rule groups.</p>
3209
+ * @public
3210
3210
  */
3211
3211
  Scope?: ResourceManagedStatus;
3212
3212
  /**
3213
- * @public
3214
3213
  * <p>Indicates the general category of the Amazon Web Services managed rule group.</p>
3214
+ * @public
3215
3215
  */
3216
3216
  ManagedType?: ResourceManagedType;
3217
3217
  /**
3218
- * @public
3219
3218
  * <p>Indicates whether the rule group is stateless or stateful. If the rule group is stateless, it contains stateless rules. If it is stateful, it contains stateful rules.</p>
3219
+ * @public
3220
3220
  */
3221
3221
  Type?: RuleGroupType;
3222
3222
  }
3223
3223
  /**
3224
- * @public
3225
3224
  * <p>High-level information about a rule group, returned by <a>ListRuleGroups</a>.
3226
3225
  * You can use the information provided in the metadata to retrieve and manage a
3227
3226
  * rule group.</p>
3227
+ * @public
3228
3228
  */
3229
3229
  export interface RuleGroupMetadata {
3230
3230
  /**
3231
- * @public
3232
3231
  * <p>The descriptive name of the rule group. You can't change the name of a rule group after you create it.</p>
3232
+ * @public
3233
3233
  */
3234
3234
  Name?: string;
3235
3235
  /**
3236
- * @public
3237
3236
  * <p>The Amazon Resource Name (ARN) of the rule group.</p>
3237
+ * @public
3238
3238
  */
3239
3239
  Arn?: string;
3240
3240
  }
@@ -3243,16 +3243,16 @@ export interface RuleGroupMetadata {
3243
3243
  */
3244
3244
  export interface ListRuleGroupsResponse {
3245
3245
  /**
3246
- * @public
3247
3246
  * <p>When you request a list of objects with a <code>MaxResults</code> setting, if the number of objects that are still available
3248
3247
  * for retrieval exceeds the maximum you requested, Network Firewall returns a <code>NextToken</code>
3249
3248
  * value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request.</p>
3249
+ * @public
3250
3250
  */
3251
3251
  NextToken?: string;
3252
3252
  /**
3253
- * @public
3254
3253
  * <p>The rule group metadata objects that you've defined. Depending on your setting for max
3255
3254
  * results and the number of rule groups, this might not be the full list. </p>
3255
+ * @public
3256
3256
  */
3257
3257
  RuleGroups?: RuleGroupMetadata[];
3258
3258
  }
@@ -3261,22 +3261,22 @@ export interface ListRuleGroupsResponse {
3261
3261
  */
3262
3262
  export interface ListTagsForResourceRequest {
3263
3263
  /**
3264
- * @public
3265
3264
  * <p>When you request a list of objects with a <code>MaxResults</code> setting, if the number of objects that are still available
3266
3265
  * for retrieval exceeds the maximum you requested, Network Firewall returns a <code>NextToken</code>
3267
3266
  * value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request.</p>
3267
+ * @public
3268
3268
  */
3269
3269
  NextToken?: string;
3270
3270
  /**
3271
- * @public
3272
3271
  * <p>The maximum number of objects that you want Network Firewall to return for this request. If more
3273
3272
  * objects are available, in the response, Network Firewall provides a
3274
3273
  * <code>NextToken</code> value that you can use in a subsequent call to get the next batch of objects.</p>
3274
+ * @public
3275
3275
  */
3276
3276
  MaxResults?: number;
3277
3277
  /**
3278
- * @public
3279
3278
  * <p>The Amazon Resource Name (ARN) of the resource.</p>
3279
+ * @public
3280
3280
  */
3281
3281
  ResourceArn: string | undefined;
3282
3282
  }
@@ -3285,15 +3285,15 @@ export interface ListTagsForResourceRequest {
3285
3285
  */
3286
3286
  export interface ListTagsForResourceResponse {
3287
3287
  /**
3288
- * @public
3289
3288
  * <p>When you request a list of objects with a <code>MaxResults</code> setting, if the number of objects that are still available
3290
3289
  * for retrieval exceeds the maximum you requested, Network Firewall returns a <code>NextToken</code>
3291
3290
  * value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request.</p>
3291
+ * @public
3292
3292
  */
3293
3293
  NextToken?: string;
3294
3294
  /**
3295
- * @public
3296
3295
  * <p>The tags that are associated with the resource. </p>
3296
+ * @public
3297
3297
  */
3298
3298
  Tags?: Tag[];
3299
3299
  }
@@ -3302,33 +3302,33 @@ export interface ListTagsForResourceResponse {
3302
3302
  */
3303
3303
  export interface ListTLSInspectionConfigurationsRequest {
3304
3304
  /**
3305
- * @public
3306
3305
  * <p>When you request a list of objects with a <code>MaxResults</code> setting, if the number of objects that are still available
3307
3306
  * for retrieval exceeds the maximum you requested, Network Firewall returns a <code>NextToken</code>
3308
3307
  * value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request.</p>
3308
+ * @public
3309
3309
  */
3310
3310
  NextToken?: string;
3311
3311
  /**
3312
- * @public
3313
3312
  * <p>The maximum number of objects that you want Network Firewall to return for this request. If more
3314
3313
  * objects are available, in the response, Network Firewall provides a
3315
3314
  * <code>NextToken</code> value that you can use in a subsequent call to get the next batch of objects.</p>
3315
+ * @public
3316
3316
  */
3317
3317
  MaxResults?: number;
3318
3318
  }
3319
3319
  /**
3320
- * @public
3321
3320
  * <p>High-level information about a TLS inspection configuration, returned by <code>ListTLSInspectionConfigurations</code>. You can use the information provided in the metadata to retrieve and manage a TLS configuration.</p>
3321
+ * @public
3322
3322
  */
3323
3323
  export interface TLSInspectionConfigurationMetadata {
3324
3324
  /**
3325
- * @public
3326
3325
  * <p>The descriptive name of the TLS inspection configuration. You can't change the name of a TLS inspection configuration after you create it.</p>
3326
+ * @public
3327
3327
  */
3328
3328
  Name?: string;
3329
3329
  /**
3330
- * @public
3331
3330
  * <p>The Amazon Resource Name (ARN) of the TLS inspection configuration.</p>
3331
+ * @public
3332
3332
  */
3333
3333
  Arn?: string;
3334
3334
  }
@@ -3337,21 +3337,21 @@ export interface TLSInspectionConfigurationMetadata {
3337
3337
  */
3338
3338
  export interface ListTLSInspectionConfigurationsResponse {
3339
3339
  /**
3340
- * @public
3341
3340
  * <p>When you request a list of objects with a <code>MaxResults</code> setting, if the number of objects that are still available
3342
3341
  * for retrieval exceeds the maximum you requested, Network Firewall returns a <code>NextToken</code>
3343
3342
  * value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request.</p>
3343
+ * @public
3344
3344
  */
3345
3345
  NextToken?: string;
3346
3346
  /**
3347
- * @public
3348
3347
  * <p>The TLS inspection configuration metadata objects that you've defined. Depending on your setting for max results and the number of TLS inspection configurations, this might not be the full list.</p>
3348
+ * @public
3349
3349
  */
3350
3350
  TLSInspectionConfigurations?: TLSInspectionConfigurationMetadata[];
3351
3351
  }
3352
3352
  /**
3353
- * @public
3354
3353
  * <p>Unable to send logs to a configured logging destination. </p>
3354
+ * @public
3355
3355
  */
3356
3356
  export declare class LogDestinationPermissionException extends __BaseException {
3357
3357
  readonly name: "LogDestinationPermissionException";
@@ -3367,12 +3367,11 @@ export declare class LogDestinationPermissionException extends __BaseException {
3367
3367
  */
3368
3368
  export interface PutResourcePolicyRequest {
3369
3369
  /**
3370
- * @public
3371
3370
  * <p>The Amazon Resource Name (ARN) of the account that you want to share rule groups and firewall policies with.</p>
3371
+ * @public
3372
3372
  */
3373
3373
  ResourceArn: string | undefined;
3374
3374
  /**
3375
- * @public
3376
3375
  * <p>The IAM policy statement that lists the accounts that you want to share your rule group or firewall policy with
3377
3376
  * and the operations that you want the accounts to be able to perform. </p>
3378
3377
  * <p>For a rule group resource, you can specify the following operations in the Actions section of the statement:</p>
@@ -3397,6 +3396,7 @@ export interface PutResourcePolicyRequest {
3397
3396
  * </li>
3398
3397
  * </ul>
3399
3398
  * <p>In the Resource section of the statement, you specify the ARNs for the rule groups and firewall policies that you want to share with the account that you specified in <code>Arn</code>.</p>
3399
+ * @public
3400
3400
  */
3401
3401
  Policy: string | undefined;
3402
3402
  }
@@ -3410,13 +3410,13 @@ export interface PutResourcePolicyResponse {
3410
3410
  */
3411
3411
  export interface TagResourceRequest {
3412
3412
  /**
3413
- * @public
3414
3413
  * <p>The Amazon Resource Name (ARN) of the resource.</p>
3414
+ * @public
3415
3415
  */
3416
3416
  ResourceArn: string | undefined;
3417
3417
  /**
3418
- * @public
3419
3418
  * <p></p>
3419
+ * @public
3420
3420
  */
3421
3421
  Tags: Tag[] | undefined;
3422
3422
  }
@@ -3430,13 +3430,13 @@ export interface TagResourceResponse {
3430
3430
  */
3431
3431
  export interface UntagResourceRequest {
3432
3432
  /**
3433
- * @public
3434
3433
  * <p>The Amazon Resource Name (ARN) of the resource.</p>
3434
+ * @public
3435
3435
  */
3436
3436
  ResourceArn: string | undefined;
3437
3437
  /**
3438
- * @public
3439
3438
  * <p></p>
3439
+ * @public
3440
3440
  */
3441
3441
  TagKeys: string[] | undefined;
3442
3442
  }
@@ -3446,8 +3446,8 @@ export interface UntagResourceRequest {
3446
3446
  export interface UntagResourceResponse {
3447
3447
  }
3448
3448
  /**
3449
- * @public
3450
3449
  * <p>Unable to change the resource because your account doesn't own it. </p>
3450
+ * @public
3451
3451
  */
3452
3452
  export declare class ResourceOwnerCheckException extends __BaseException {
3453
3453
  readonly name: "ResourceOwnerCheckException";
@@ -3463,29 +3463,29 @@ export declare class ResourceOwnerCheckException extends __BaseException {
3463
3463
  */
3464
3464
  export interface UpdateFirewallDeleteProtectionRequest {
3465
3465
  /**
3466
- * @public
3467
3466
  * <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>
3468
3467
  * <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>
3469
3468
  * <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>
3469
+ * @public
3470
3470
  */
3471
3471
  UpdateToken?: string;
3472
3472
  /**
3473
- * @public
3474
3473
  * <p>The Amazon Resource Name (ARN) of the firewall.</p>
3475
3474
  * <p>You must specify the ARN or the name, and you can specify both. </p>
3475
+ * @public
3476
3476
  */
3477
3477
  FirewallArn?: string;
3478
3478
  /**
3479
- * @public
3480
3479
  * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
3481
3480
  * <p>You must specify the ARN or the name, and you can specify both. </p>
3481
+ * @public
3482
3482
  */
3483
3483
  FirewallName?: string;
3484
3484
  /**
3485
- * @public
3486
3485
  * <p>A flag indicating whether it is possible to delete the firewall. A setting of <code>TRUE</code> indicates
3487
3486
  * that the firewall is protected against deletion. Use this setting to protect against
3488
3487
  * accidentally deleting a firewall that is in use. When you create a firewall, the operation initializes this flag to <code>TRUE</code>.</p>
3488
+ * @public
3489
3489
  */
3490
3490
  DeleteProtection: boolean | undefined;
3491
3491
  }
@@ -3494,27 +3494,27 @@ export interface UpdateFirewallDeleteProtectionRequest {
3494
3494
  */
3495
3495
  export interface UpdateFirewallDeleteProtectionResponse {
3496
3496
  /**
3497
- * @public
3498
3497
  * <p>The Amazon Resource Name (ARN) of the firewall.</p>
3498
+ * @public
3499
3499
  */
3500
3500
  FirewallArn?: string;
3501
3501
  /**
3502
- * @public
3503
3502
  * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
3503
+ * @public
3504
3504
  */
3505
3505
  FirewallName?: string;
3506
3506
  /**
3507
- * @public
3508
3507
  * <p>A flag indicating whether it is possible to delete the firewall. A setting of <code>TRUE</code> indicates
3509
3508
  * that the firewall is protected against deletion. Use this setting to protect against
3510
3509
  * accidentally deleting a firewall that is in use. When you create a firewall, the operation initializes this flag to <code>TRUE</code>.</p>
3510
+ * @public
3511
3511
  */
3512
3512
  DeleteProtection?: boolean;
3513
3513
  /**
3514
- * @public
3515
3514
  * <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>
3516
3515
  * <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>
3517
3516
  * <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>
3517
+ * @public
3518
3518
  */
3519
3519
  UpdateToken?: string;
3520
3520
  }
@@ -3523,28 +3523,28 @@ export interface UpdateFirewallDeleteProtectionResponse {
3523
3523
  */
3524
3524
  export interface UpdateFirewallDescriptionRequest {
3525
3525
  /**
3526
- * @public
3527
3526
  * <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>
3528
3527
  * <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>
3529
3528
  * <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>
3529
+ * @public
3530
3530
  */
3531
3531
  UpdateToken?: string;
3532
3532
  /**
3533
- * @public
3534
3533
  * <p>The Amazon Resource Name (ARN) of the firewall.</p>
3535
3534
  * <p>You must specify the ARN or the name, and you can specify both. </p>
3535
+ * @public
3536
3536
  */
3537
3537
  FirewallArn?: string;
3538
3538
  /**
3539
- * @public
3540
3539
  * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
3541
3540
  * <p>You must specify the ARN or the name, and you can specify both. </p>
3541
+ * @public
3542
3542
  */
3543
3543
  FirewallName?: string;
3544
3544
  /**
3545
- * @public
3546
3545
  * <p>The new description for the firewall. If you omit this setting, Network Firewall removes
3547
3546
  * the description for the firewall.</p>
3547
+ * @public
3548
3548
  */
3549
3549
  Description?: string;
3550
3550
  }
@@ -3553,25 +3553,25 @@ export interface UpdateFirewallDescriptionRequest {
3553
3553
  */
3554
3554
  export interface UpdateFirewallDescriptionResponse {
3555
3555
  /**
3556
- * @public
3557
3556
  * <p>The Amazon Resource Name (ARN) of the firewall.</p>
3557
+ * @public
3558
3558
  */
3559
3559
  FirewallArn?: string;
3560
3560
  /**
3561
- * @public
3562
3561
  * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
3562
+ * @public
3563
3563
  */
3564
3564
  FirewallName?: string;
3565
3565
  /**
3566
- * @public
3567
3566
  * <p>A description of the firewall.</p>
3567
+ * @public
3568
3568
  */
3569
3569
  Description?: string;
3570
3570
  /**
3571
- * @public
3572
3571
  * <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>
3573
3572
  * <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>
3574
3573
  * <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>
3574
+ * @public
3575
3575
  */
3576
3576
  UpdateToken?: string;
3577
3577
  }
@@ -3580,25 +3580,25 @@ export interface UpdateFirewallDescriptionResponse {
3580
3580
  */
3581
3581
  export interface UpdateFirewallEncryptionConfigurationRequest {
3582
3582
  /**
3583
- * @public
3584
3583
  * <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>
3585
3584
  * <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>
3586
3585
  * <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>
3586
+ * @public
3587
3587
  */
3588
3588
  UpdateToken?: string;
3589
3589
  /**
3590
- * @public
3591
3590
  * <p>The Amazon Resource Name (ARN) of the firewall.</p>
3591
+ * @public
3592
3592
  */
3593
3593
  FirewallArn?: string;
3594
3594
  /**
3595
- * @public
3596
3595
  * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
3596
+ * @public
3597
3597
  */
3598
3598
  FirewallName?: string;
3599
3599
  /**
3600
- * @public
3601
3600
  * <p>A complex type that contains optional Amazon Web Services Key Management Service (KMS) encryption settings for your Network Firewall resources. Your data is encrypted by default with an Amazon Web Services owned key that Amazon Web Services owns and manages for you. You can use either the Amazon Web Services owned key, or provide your own customer managed key. To learn more about KMS encryption of your Network Firewall resources, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-encryption-at-rest.html">Encryption at rest with Amazon Web Services Key Managment Service</a> in the <i>Network Firewall Developer Guide</i>.</p>
3601
+ * @public
3602
3602
  */
3603
3603
  EncryptionConfiguration?: EncryptionConfiguration;
3604
3604
  }
@@ -3607,25 +3607,25 @@ export interface UpdateFirewallEncryptionConfigurationRequest {
3607
3607
  */
3608
3608
  export interface UpdateFirewallEncryptionConfigurationResponse {
3609
3609
  /**
3610
- * @public
3611
3610
  * <p>The Amazon Resource Name (ARN) of the firewall.</p>
3611
+ * @public
3612
3612
  */
3613
3613
  FirewallArn?: string;
3614
3614
  /**
3615
- * @public
3616
3615
  * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
3616
+ * @public
3617
3617
  */
3618
3618
  FirewallName?: string;
3619
3619
  /**
3620
- * @public
3621
3620
  * <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>
3622
3621
  * <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>
3623
3622
  * <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>
3623
+ * @public
3624
3624
  */
3625
3625
  UpdateToken?: string;
3626
3626
  /**
3627
- * @public
3628
3627
  * <p>A complex type that contains optional Amazon Web Services Key Management Service (KMS) encryption settings for your Network Firewall resources. Your data is encrypted by default with an Amazon Web Services owned key that Amazon Web Services owns and manages for you. You can use either the Amazon Web Services owned key, or provide your own customer managed key. To learn more about KMS encryption of your Network Firewall resources, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-encryption-at-rest.html">Encryption at rest with Amazon Web Services Key Managment Service</a> in the <i>Network Firewall Developer Guide</i>.</p>
3628
+ * @public
3629
3629
  */
3630
3630
  EncryptionConfiguration?: EncryptionConfiguration;
3631
3631
  }
@@ -3634,46 +3634,46 @@ export interface UpdateFirewallEncryptionConfigurationResponse {
3634
3634
  */
3635
3635
  export interface UpdateFirewallPolicyRequest {
3636
3636
  /**
3637
- * @public
3638
3637
  * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the firewall policy. The token marks the state of the policy resource at the time of the request. </p>
3639
3638
  * <p>To make changes to the policy, you provide the token in your request. Network Firewall uses the token to ensure that the policy 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 policy again to get a current copy of it with current token. Reapply your changes as needed, then try the operation again using the new token. </p>
3639
+ * @public
3640
3640
  */
3641
3641
  UpdateToken: string | undefined;
3642
3642
  /**
3643
- * @public
3644
3643
  * <p>The Amazon Resource Name (ARN) of the firewall policy.</p>
3645
3644
  * <p>You must specify the ARN or the name, and you can specify both. </p>
3645
+ * @public
3646
3646
  */
3647
3647
  FirewallPolicyArn?: string;
3648
3648
  /**
3649
- * @public
3650
3649
  * <p>The descriptive name of the firewall policy. You can't change the name of a firewall policy after you create it.</p>
3651
3650
  * <p>You must specify the ARN or the name, and you can specify both. </p>
3651
+ * @public
3652
3652
  */
3653
3653
  FirewallPolicyName?: string;
3654
3654
  /**
3655
- * @public
3656
3655
  * <p>The updated firewall policy to use for the firewall. You can't add or remove a <a>TLSInspectionConfiguration</a> after you create a firewall policy. However, you can replace an existing TLS inspection configuration with another <code>TLSInspectionConfiguration</code>.</p>
3656
+ * @public
3657
3657
  */
3658
3658
  FirewallPolicy: FirewallPolicy | undefined;
3659
3659
  /**
3660
- * @public
3661
3660
  * <p>A description of the firewall policy.</p>
3661
+ * @public
3662
3662
  */
3663
3663
  Description?: string;
3664
3664
  /**
3665
- * @public
3666
3665
  * <p>Indicates whether you want Network Firewall to just check the validity of the request, rather than run the request. </p>
3667
3666
  * <p>If set to <code>TRUE</code>, Network Firewall checks whether the request can run successfully,
3668
3667
  * but doesn't actually make the requested changes. The call returns the value that the request would return if you ran it with
3669
3668
  * dry run set to <code>FALSE</code>, but doesn't make additions or changes to your resources. This option allows you to make sure that you have
3670
3669
  * the required permissions to run the request and that your request parameters are valid. </p>
3671
3670
  * <p>If set to <code>FALSE</code>, Network Firewall makes the requested changes to your resources. </p>
3671
+ * @public
3672
3672
  */
3673
3673
  DryRun?: boolean;
3674
3674
  /**
3675
- * @public
3676
3675
  * <p>A complex type that contains settings for encryption of your firewall policy resources.</p>
3676
+ * @public
3677
3677
  */
3678
3678
  EncryptionConfiguration?: EncryptionConfiguration;
3679
3679
  }
@@ -3682,14 +3682,14 @@ export interface UpdateFirewallPolicyRequest {
3682
3682
  */
3683
3683
  export interface UpdateFirewallPolicyResponse {
3684
3684
  /**
3685
- * @public
3686
3685
  * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the firewall policy. The token marks the state of the policy resource at the time of the request. </p>
3687
3686
  * <p>To make changes to the policy, you provide the token in your request. Network Firewall uses the token to ensure that the policy 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 policy again to get a current copy of it with current token. Reapply your changes as needed, then try the operation again using the new token. </p>
3687
+ * @public
3688
3688
  */
3689
3689
  UpdateToken: string | undefined;
3690
3690
  /**
3691
- * @public
3692
3691
  * <p>The high-level properties of a firewall policy. This, along with the <a>FirewallPolicy</a>, define the policy. You can retrieve all objects for a firewall policy by calling <a>DescribeFirewallPolicy</a>. </p>
3692
+ * @public
3693
3693
  */
3694
3694
  FirewallPolicyResponse: FirewallPolicyResponse | undefined;
3695
3695
  }
@@ -3698,29 +3698,29 @@ export interface UpdateFirewallPolicyResponse {
3698
3698
  */
3699
3699
  export interface UpdateFirewallPolicyChangeProtectionRequest {
3700
3700
  /**
3701
- * @public
3702
3701
  * <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>
3703
3702
  * <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>
3704
3703
  * <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>
3704
+ * @public
3705
3705
  */
3706
3706
  UpdateToken?: string;
3707
3707
  /**
3708
- * @public
3709
3708
  * <p>The Amazon Resource Name (ARN) of the firewall.</p>
3710
3709
  * <p>You must specify the ARN or the name, and you can specify both. </p>
3710
+ * @public
3711
3711
  */
3712
3712
  FirewallArn?: string;
3713
3713
  /**
3714
- * @public
3715
3714
  * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
3716
3715
  * <p>You must specify the ARN or the name, and you can specify both. </p>
3716
+ * @public
3717
3717
  */
3718
3718
  FirewallName?: string;
3719
3719
  /**
3720
- * @public
3721
3720
  * <p>A setting indicating whether the firewall is protected against a change to the firewall policy association.
3722
3721
  * Use this setting to protect against
3723
3722
  * accidentally modifying the firewall policy for a firewall that is in use. When you create a firewall, the operation initializes this setting to <code>TRUE</code>.</p>
3723
+ * @public
3724
3724
  */
3725
3725
  FirewallPolicyChangeProtection: boolean | undefined;
3726
3726
  }
@@ -3729,27 +3729,27 @@ export interface UpdateFirewallPolicyChangeProtectionRequest {
3729
3729
  */
3730
3730
  export interface UpdateFirewallPolicyChangeProtectionResponse {
3731
3731
  /**
3732
- * @public
3733
3732
  * <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>
3734
3733
  * <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>
3735
3734
  * <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>
3735
+ * @public
3736
3736
  */
3737
3737
  UpdateToken?: string;
3738
3738
  /**
3739
- * @public
3740
3739
  * <p>The Amazon Resource Name (ARN) of the firewall.</p>
3740
+ * @public
3741
3741
  */
3742
3742
  FirewallArn?: string;
3743
3743
  /**
3744
- * @public
3745
3744
  * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
3745
+ * @public
3746
3746
  */
3747
3747
  FirewallName?: string;
3748
3748
  /**
3749
- * @public
3750
3749
  * <p>A setting indicating whether the firewall is protected against a change to the firewall policy association.
3751
3750
  * Use this setting to protect against
3752
3751
  * accidentally modifying the firewall policy for a firewall that is in use. When you create a firewall, the operation initializes this setting to <code>TRUE</code>.</p>
3752
+ * @public
3753
3753
  */
3754
3754
  FirewallPolicyChangeProtection?: boolean;
3755
3755
  }
@@ -3758,21 +3758,21 @@ export interface UpdateFirewallPolicyChangeProtectionResponse {
3758
3758
  */
3759
3759
  export interface UpdateLoggingConfigurationRequest {
3760
3760
  /**
3761
- * @public
3762
3761
  * <p>The Amazon Resource Name (ARN) of the firewall.</p>
3763
3762
  * <p>You must specify the ARN or the name, and you can specify both. </p>
3763
+ * @public
3764
3764
  */
3765
3765
  FirewallArn?: string;
3766
3766
  /**
3767
- * @public
3768
3767
  * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
3769
3768
  * <p>You must specify the ARN or the name, and you can specify both. </p>
3769
+ * @public
3770
3770
  */
3771
3771
  FirewallName?: string;
3772
3772
  /**
3773
- * @public
3774
3773
  * <p>Defines how Network Firewall performs logging for a firewall. If you omit this setting,
3775
3774
  * Network Firewall disables logging for the firewall.</p>
3775
+ * @public
3776
3776
  */
3777
3777
  LoggingConfiguration?: LoggingConfiguration;
3778
3778
  }
@@ -3781,18 +3781,18 @@ export interface UpdateLoggingConfigurationRequest {
3781
3781
  */
3782
3782
  export interface UpdateLoggingConfigurationResponse {
3783
3783
  /**
3784
- * @public
3785
3784
  * <p>The Amazon Resource Name (ARN) of the firewall.</p>
3785
+ * @public
3786
3786
  */
3787
3787
  FirewallArn?: string;
3788
3788
  /**
3789
- * @public
3790
3789
  * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
3790
+ * @public
3791
3791
  */
3792
3792
  FirewallName?: string;
3793
3793
  /**
3794
- * @public
3795
3794
  * <p>Defines how Network Firewall performs logging for a <a>Firewall</a>. </p>
3795
+ * @public
3796
3796
  */
3797
3797
  LoggingConfiguration?: LoggingConfiguration;
3798
3798
  }
@@ -3801,33 +3801,32 @@ export interface UpdateLoggingConfigurationResponse {
3801
3801
  */
3802
3802
  export interface UpdateRuleGroupRequest {
3803
3803
  /**
3804
- * @public
3805
3804
  * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the rule group. The token marks the state of the rule group resource at the time of the request. </p>
3806
3805
  * <p>To make changes to the rule group, you provide the token in your request. Network Firewall uses the token to ensure that the rule group 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 rule group again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token. </p>
3806
+ * @public
3807
3807
  */
3808
3808
  UpdateToken: string | undefined;
3809
3809
  /**
3810
- * @public
3811
3810
  * <p>The Amazon Resource Name (ARN) of the rule group.</p>
3812
3811
  * <p>You must specify the ARN or the name, and you can specify both. </p>
3812
+ * @public
3813
3813
  */
3814
3814
  RuleGroupArn?: string;
3815
3815
  /**
3816
- * @public
3817
3816
  * <p>The descriptive name of the rule group. You can't change the name of a rule group after you create it.</p>
3818
3817
  * <p>You must specify the ARN or the name, and you can specify both. </p>
3818
+ * @public
3819
3819
  */
3820
3820
  RuleGroupName?: string;
3821
3821
  /**
3822
- * @public
3823
3822
  * <p>An object that defines the rule group rules. </p>
3824
3823
  * <note>
3825
3824
  * <p>You must provide either this rule group setting or a <code>Rules</code> setting, but not both. </p>
3826
3825
  * </note>
3826
+ * @public
3827
3827
  */
3828
3828
  RuleGroup?: RuleGroup;
3829
3829
  /**
3830
- * @public
3831
3830
  * <p>A string containing stateful rule group rules specifications in Suricata flat format, with one rule
3832
3831
  * per line. Use this to import your existing Suricata compatible rule groups. </p>
3833
3832
  * <note>
@@ -3835,45 +3834,46 @@ export interface UpdateRuleGroupRequest {
3835
3834
  * </note>
3836
3835
  * <p>You can provide your rule group specification in Suricata flat format through this setting when you create or update your rule group. The call
3837
3836
  * response returns a <a>RuleGroup</a> object that Network Firewall has populated from your string. </p>
3837
+ * @public
3838
3838
  */
3839
3839
  Rules?: string;
3840
3840
  /**
3841
- * @public
3842
3841
  * <p>Indicates whether the rule group is stateless or stateful. If the rule group is stateless, it contains
3843
3842
  * stateless rules. If it is stateful, it contains stateful rules. </p>
3844
3843
  * <note>
3845
3844
  * <p>This setting is required for requests that do not include the <code>RuleGroupARN</code>.</p>
3846
3845
  * </note>
3846
+ * @public
3847
3847
  */
3848
3848
  Type?: RuleGroupType;
3849
3849
  /**
3850
- * @public
3851
3850
  * <p>A description of the rule group. </p>
3851
+ * @public
3852
3852
  */
3853
3853
  Description?: string;
3854
3854
  /**
3855
- * @public
3856
3855
  * <p>Indicates whether you want Network Firewall to just check the validity of the request, rather than run the request. </p>
3857
3856
  * <p>If set to <code>TRUE</code>, Network Firewall checks whether the request can run successfully,
3858
3857
  * but doesn't actually make the requested changes. The call returns the value that the request would return if you ran it with
3859
3858
  * dry run set to <code>FALSE</code>, but doesn't make additions or changes to your resources. This option allows you to make sure that you have
3860
3859
  * the required permissions to run the request and that your request parameters are valid. </p>
3861
3860
  * <p>If set to <code>FALSE</code>, Network Firewall makes the requested changes to your resources. </p>
3861
+ * @public
3862
3862
  */
3863
3863
  DryRun?: boolean;
3864
3864
  /**
3865
- * @public
3866
3865
  * <p>A complex type that contains settings for encryption of your rule group resources.</p>
3866
+ * @public
3867
3867
  */
3868
3868
  EncryptionConfiguration?: EncryptionConfiguration;
3869
3869
  /**
3870
- * @public
3871
3870
  * <p>A complex type that contains metadata about the rule group that your own rule group is copied from. You can use the metadata to keep track of updates made to the originating rule group.</p>
3871
+ * @public
3872
3872
  */
3873
3873
  SourceMetadata?: SourceMetadata;
3874
3874
  /**
3875
- * @public
3876
3875
  * <p>Indicates whether you want Network Firewall to analyze the stateless rules in the rule group for rule behavior such as asymmetric routing. If set to <code>TRUE</code>, Network Firewall runs the analysis and then updates the rule group for you. To run the stateless rule group analyzer without updating the rule group, set <code>DryRun</code> to <code>TRUE</code>. </p>
3876
+ * @public
3877
3877
  */
3878
3878
  AnalyzeRuleGroup?: boolean;
3879
3879
  }
@@ -3882,14 +3882,14 @@ export interface UpdateRuleGroupRequest {
3882
3882
  */
3883
3883
  export interface UpdateRuleGroupResponse {
3884
3884
  /**
3885
- * @public
3886
3885
  * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the rule group. The token marks the state of the rule group resource at the time of the request. </p>
3887
3886
  * <p>To make changes to the rule group, you provide the token in your request. Network Firewall uses the token to ensure that the rule group 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 rule group again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token. </p>
3887
+ * @public
3888
3888
  */
3889
3889
  UpdateToken: string | undefined;
3890
3890
  /**
3891
- * @public
3892
3891
  * <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>
3892
+ * @public
3893
3893
  */
3894
3894
  RuleGroupResponse: RuleGroupResponse | undefined;
3895
3895
  }
@@ -3898,29 +3898,29 @@ export interface UpdateRuleGroupResponse {
3898
3898
  */
3899
3899
  export interface UpdateSubnetChangeProtectionRequest {
3900
3900
  /**
3901
- * @public
3902
3901
  * <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>
3903
3902
  * <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>
3904
3903
  * <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>
3904
+ * @public
3905
3905
  */
3906
3906
  UpdateToken?: string;
3907
3907
  /**
3908
- * @public
3909
3908
  * <p>The Amazon Resource Name (ARN) of the firewall.</p>
3910
3909
  * <p>You must specify the ARN or the name, and you can specify both. </p>
3910
+ * @public
3911
3911
  */
3912
3912
  FirewallArn?: string;
3913
3913
  /**
3914
- * @public
3915
3914
  * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
3916
3915
  * <p>You must specify the ARN or the name, and you can specify both. </p>
3916
+ * @public
3917
3917
  */
3918
3918
  FirewallName?: string;
3919
3919
  /**
3920
- * @public
3921
3920
  * <p>A setting indicating whether the firewall is protected against changes to the subnet associations.
3922
3921
  * Use this setting to protect against
3923
3922
  * 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>
3923
+ * @public
3924
3924
  */
3925
3925
  SubnetChangeProtection: boolean | undefined;
3926
3926
  }
@@ -3929,27 +3929,27 @@ export interface UpdateSubnetChangeProtectionRequest {
3929
3929
  */
3930
3930
  export interface UpdateSubnetChangeProtectionResponse {
3931
3931
  /**
3932
- * @public
3933
3932
  * <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>
3934
3933
  * <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>
3935
3934
  * <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>
3935
+ * @public
3936
3936
  */
3937
3937
  UpdateToken?: string;
3938
3938
  /**
3939
- * @public
3940
3939
  * <p>The Amazon Resource Name (ARN) of the firewall.</p>
3940
+ * @public
3941
3941
  */
3942
3942
  FirewallArn?: string;
3943
3943
  /**
3944
- * @public
3945
3944
  * <p>The descriptive name of the firewall. You can't change the name of a firewall after you create it.</p>
3945
+ * @public
3946
3946
  */
3947
3947
  FirewallName?: string;
3948
3948
  /**
3949
- * @public
3950
3949
  * <p>A setting indicating whether the firewall is protected against changes to the subnet associations.
3951
3950
  * Use this setting to protect against
3952
3951
  * 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>
3952
+ * @public
3953
3953
  */
3954
3954
  SubnetChangeProtection?: boolean;
3955
3955
  }
@@ -3958,37 +3958,37 @@ export interface UpdateSubnetChangeProtectionResponse {
3958
3958
  */
3959
3959
  export interface UpdateTLSInspectionConfigurationRequest {
3960
3960
  /**
3961
- * @public
3962
3961
  * <p>The Amazon Resource Name (ARN) of the TLS inspection configuration.</p>
3962
+ * @public
3963
3963
  */
3964
3964
  TLSInspectionConfigurationArn?: string;
3965
3965
  /**
3966
- * @public
3967
3966
  * <p>The descriptive name of the TLS inspection configuration. You can't change the name of a TLS inspection configuration after you create it.</p>
3967
+ * @public
3968
3968
  */
3969
3969
  TLSInspectionConfigurationName?: string;
3970
3970
  /**
3971
- * @public
3972
3971
  * <p>The object that defines a TLS inspection configuration. This, along with <a>TLSInspectionConfigurationResponse</a>, define the TLS inspection configuration. You can retrieve all objects for a TLS inspection configuration by calling <a>DescribeTLSInspectionConfiguration</a>. </p>
3973
3972
  * <p>Network Firewall uses a TLS inspection configuration to decrypt traffic. Network Firewall re-encrypts the traffic before sending it to its destination.</p>
3974
3973
  * <p>To use a TLS inspection configuration, you add it to a new Network Firewall firewall policy, then you apply the firewall policy to a firewall. Network Firewall acts as a proxy service to decrypt and inspect the traffic traveling through your firewalls. You can reference a TLS inspection configuration from more than one firewall policy, and you can use a firewall policy in more than one firewall. For more information about using TLS inspection configurations, see <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/tls-inspection.html">Inspecting SSL/TLS traffic with TLS
3975
3974
  * inspection configurations</a> in the <i>Network Firewall Developer Guide</i>.</p>
3975
+ * @public
3976
3976
  */
3977
3977
  TLSInspectionConfiguration: TLSInspectionConfiguration | undefined;
3978
3978
  /**
3979
- * @public
3980
3979
  * <p>A description of the TLS inspection configuration. </p>
3980
+ * @public
3981
3981
  */
3982
3982
  Description?: string;
3983
3983
  /**
3984
- * @public
3985
3984
  * <p>A complex type that contains the Amazon Web Services KMS encryption configuration settings for your TLS inspection configuration.</p>
3985
+ * @public
3986
3986
  */
3987
3987
  EncryptionConfiguration?: EncryptionConfiguration;
3988
3988
  /**
3989
- * @public
3990
3989
  * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the TLS inspection configuration. The token marks the state of the TLS inspection configuration resource at the time of the request. </p>
3991
3990
  * <p>To make changes to the TLS inspection configuration, you provide the token in your request. Network Firewall uses the token to ensure that the TLS inspection configuration 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 TLS inspection configuration again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token. </p>
3991
+ * @public
3992
3992
  */
3993
3993
  UpdateToken: string | undefined;
3994
3994
  }
@@ -3997,14 +3997,14 @@ export interface UpdateTLSInspectionConfigurationRequest {
3997
3997
  */
3998
3998
  export interface UpdateTLSInspectionConfigurationResponse {
3999
3999
  /**
4000
- * @public
4001
4000
  * <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the TLS inspection configuration. The token marks the state of the TLS inspection configuration resource at the time of the request. </p>
4002
4001
  * <p>To make changes to the TLS inspection configuration, you provide the token in your request. Network Firewall uses the token to ensure that the TLS inspection configuration 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 TLS inspection configuration again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token. </p>
4002
+ * @public
4003
4003
  */
4004
4004
  UpdateToken: string | undefined;
4005
4005
  /**
4006
- * @public
4007
4006
  * <p>The high-level properties of a TLS inspection configuration. This, along with the <a>TLSInspectionConfiguration</a>, define the TLS inspection configuration. You can retrieve all objects for a TLS inspection configuration by calling <a>DescribeTLSInspectionConfiguration</a>. </p>
4007
+ * @public
4008
4008
  */
4009
4009
  TLSInspectionConfigurationResponse: TLSInspectionConfigurationResponse | undefined;
4010
4010
  }