@aws-sdk/client-network-firewall 3.315.0 → 3.319.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.
@@ -36,462 +36,304 @@ import { UpdateRuleGroupCommandInput, UpdateRuleGroupCommandOutput } from "./com
36
36
  import { UpdateSubnetChangeProtectionCommandInput, UpdateSubnetChangeProtectionCommandOutput } from "./commands/UpdateSubnetChangeProtectionCommand";
37
37
  import { UpdateTLSInspectionConfigurationCommandInput, UpdateTLSInspectionConfigurationCommandOutput } from "./commands/UpdateTLSInspectionConfigurationCommand";
38
38
  import { NetworkFirewallClient } from "./NetworkFirewallClient";
39
- /**
40
- * @public
41
- * <p>This is the API Reference for Network Firewall. This guide is for developers who need
42
- * detailed information about the Network Firewall API actions, data types, and errors. </p>
43
- * <ul>
44
- * <li>
45
- * <p>The REST API requires you to handle connection details, such as calculating
46
- * signatures, handling request retries, and error handling. For general information
47
- * about using the Amazon Web Services REST APIs, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-apis.html">Amazon Web Services APIs</a>. </p>
48
- * <p>To access Network Firewall using the REST API endpoint:
49
- * <code>https://network-firewall.<region>.amazonaws.com </code>
50
- * </p>
51
- * </li>
52
- * <li>
53
- * <p>Alternatively, you can use one of the Amazon Web Services SDKs to access an API that's tailored to
54
- * the programming language or platform that you're using. For more information, see
55
- * <a href="http://aws.amazon.com/tools/#SDKs">Amazon Web Services SDKs</a>.</p>
56
- * </li>
57
- * <li>
58
- * <p>For descriptions of Network Firewall features, including and step-by-step
59
- * instructions on how to use them through the Network Firewall console, see the <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/">Network Firewall Developer
60
- * Guide</a>.</p>
61
- * </li>
62
- * </ul>
63
- * <p>Network Firewall is a stateful, managed, network firewall and intrusion detection and
64
- * prevention service for Amazon Virtual Private Cloud (Amazon VPC). With Network Firewall, you can filter traffic at the
65
- * perimeter of your VPC. This includes filtering traffic going to and coming from an internet
66
- * gateway, NAT gateway, or over VPN or Direct Connect. Network Firewall uses rules that are compatible
67
- * with Suricata, a free, open source network analysis and threat detection engine.
68
- * Network Firewall supports Suricata version 6.0.9. For information about Suricata,
69
- * see the <a href="https://suricata.io/">Suricata website</a>.</p>
70
- * <p>You can use Network Firewall to monitor and protect your VPC traffic in a number of ways.
71
- * The following are just a few examples: </p>
72
- * <ul>
73
- * <li>
74
- * <p>Allow domains or IP addresses for known Amazon Web Services service endpoints, such as Amazon S3, and
75
- * block all other forms of traffic.</p>
76
- * </li>
77
- * <li>
78
- * <p>Use custom lists of known bad domains to limit the types of domain names that your
79
- * applications can access.</p>
80
- * </li>
81
- * <li>
82
- * <p>Perform deep packet inspection on traffic entering or leaving your VPC.</p>
83
- * </li>
84
- * <li>
85
- * <p>Use stateful protocol detection to filter protocols like HTTPS, regardless of the
86
- * port used.</p>
87
- * </li>
88
- * </ul>
89
- * <p>To enable Network Firewall for your VPCs, you perform steps in both Amazon VPC and in
90
- * Network Firewall. For information about using Amazon VPC, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/">Amazon VPC User Guide</a>.</p>
91
- * <p>To start using Network Firewall, do the following: </p>
92
- * <ol>
93
- * <li>
94
- * <p>(Optional) If you don't already have a VPC that you want to protect, create it in
95
- * Amazon VPC. </p>
96
- * </li>
97
- * <li>
98
- * <p>In Amazon VPC, in each Availability Zone where you want to have a firewall endpoint, create a
99
- * subnet for the sole use of Network Firewall. </p>
100
- * </li>
101
- * <li>
102
- * <p>In Network Firewall, create stateless and stateful rule groups,
103
- * to define the components of the network traffic filtering behavior that you want your firewall to have. </p>
104
- * </li>
105
- * <li>
106
- * <p>In Network Firewall, create a firewall policy that uses your rule groups and
107
- * specifies additional default traffic filtering behavior. </p>
108
- * </li>
109
- * <li>
110
- * <p>In Network Firewall, create a firewall and specify your new firewall policy and
111
- * VPC subnets. Network Firewall creates a firewall endpoint in each subnet that you
112
- * specify, with the behavior that's defined in the firewall policy.</p>
113
- * </li>
114
- * <li>
115
- * <p>In Amazon VPC, use ingress routing enhancements to route traffic through the new firewall
116
- * endpoints.</p>
117
- * </li>
118
- * </ol>
119
- */
120
- export declare class NetworkFirewall extends NetworkFirewallClient {
39
+ export interface NetworkFirewall {
121
40
  /**
122
- * @public
123
- * <p>Associates a <a>FirewallPolicy</a> to a <a>Firewall</a>. </p>
124
- * <p>A firewall policy defines how to monitor and manage your VPC network traffic, using a
125
- * collection of inspection rule groups and other settings. Each firewall requires one
126
- * firewall policy association, and you can use the same firewall policy for multiple
127
- * firewalls. </p>
41
+ * @see {@link AssociateFirewallPolicyCommand}
128
42
  */
129
43
  associateFirewallPolicy(args: AssociateFirewallPolicyCommandInput, options?: __HttpHandlerOptions): Promise<AssociateFirewallPolicyCommandOutput>;
130
44
  associateFirewallPolicy(args: AssociateFirewallPolicyCommandInput, cb: (err: any, data?: AssociateFirewallPolicyCommandOutput) => void): void;
131
45
  associateFirewallPolicy(args: AssociateFirewallPolicyCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: AssociateFirewallPolicyCommandOutput) => void): void;
132
46
  /**
133
- * @public
134
- * <p>Associates the specified subnets in the Amazon VPC to the firewall. You can specify one
135
- * subnet for each of the Availability Zones that the VPC spans. </p>
136
- * <p>This request creates an Network Firewall firewall endpoint in each of the subnets. To
137
- * enable the firewall's protections, you must also modify the VPC's route tables for each
138
- * subnet's Availability Zone, to redirect the traffic that's coming into and going out of the
139
- * zone through the firewall endpoint. </p>
47
+ * @see {@link AssociateSubnetsCommand}
140
48
  */
141
49
  associateSubnets(args: AssociateSubnetsCommandInput, options?: __HttpHandlerOptions): Promise<AssociateSubnetsCommandOutput>;
142
50
  associateSubnets(args: AssociateSubnetsCommandInput, cb: (err: any, data?: AssociateSubnetsCommandOutput) => void): void;
143
51
  associateSubnets(args: AssociateSubnetsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: AssociateSubnetsCommandOutput) => void): void;
144
52
  /**
145
- * @public
146
- * <p>Creates an Network Firewall <a>Firewall</a> and accompanying <a>FirewallStatus</a> for a VPC. </p>
147
- * <p>The firewall defines the configuration settings for an Network Firewall firewall. The settings that you can define at creation 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>
148
- * <p>After you create a firewall, you can provide additional settings, like the logging configuration. </p>
149
- * <p>To update the settings for a firewall, you use the operations that apply to the settings
150
- * themselves, for example <a>UpdateLoggingConfiguration</a>, <a>AssociateSubnets</a>, and <a>UpdateFirewallDeleteProtection</a>. </p>
151
- * <p>To manage a firewall's tags, use the standard Amazon Web Services resource tagging operations, <a>ListTagsForResource</a>, <a>TagResource</a>, and <a>UntagResource</a>.</p>
152
- * <p>To retrieve information about firewalls, use <a>ListFirewalls</a> and <a>DescribeFirewall</a>.</p>
53
+ * @see {@link CreateFirewallCommand}
153
54
  */
154
55
  createFirewall(args: CreateFirewallCommandInput, options?: __HttpHandlerOptions): Promise<CreateFirewallCommandOutput>;
155
56
  createFirewall(args: CreateFirewallCommandInput, cb: (err: any, data?: CreateFirewallCommandOutput) => void): void;
156
57
  createFirewall(args: CreateFirewallCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: CreateFirewallCommandOutput) => void): void;
157
58
  /**
158
- * @public
159
- * <p>Creates the firewall policy for the firewall according to the specifications. </p>
160
- * <p>An Network Firewall firewall policy defines the behavior of a firewall, in a collection of
161
- * stateless and stateful rule groups and other settings. You can use one firewall policy for
162
- * multiple firewalls. </p>
59
+ * @see {@link CreateFirewallPolicyCommand}
163
60
  */
164
61
  createFirewallPolicy(args: CreateFirewallPolicyCommandInput, options?: __HttpHandlerOptions): Promise<CreateFirewallPolicyCommandOutput>;
165
62
  createFirewallPolicy(args: CreateFirewallPolicyCommandInput, cb: (err: any, data?: CreateFirewallPolicyCommandOutput) => void): void;
166
63
  createFirewallPolicy(args: CreateFirewallPolicyCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: CreateFirewallPolicyCommandOutput) => void): void;
167
64
  /**
168
- * @public
169
- * <p>Creates the specified stateless or stateful rule group, which includes the rules for
170
- * network traffic inspection, a capacity setting, and tags. </p>
171
- * <p>You provide your rule group specification in your request using either
172
- * <code>RuleGroup</code> or <code>Rules</code>.</p>
65
+ * @see {@link CreateRuleGroupCommand}
173
66
  */
174
67
  createRuleGroup(args: CreateRuleGroupCommandInput, options?: __HttpHandlerOptions): Promise<CreateRuleGroupCommandOutput>;
175
68
  createRuleGroup(args: CreateRuleGroupCommandInput, cb: (err: any, data?: CreateRuleGroupCommandOutput) => void): void;
176
69
  createRuleGroup(args: CreateRuleGroupCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: CreateRuleGroupCommandOutput) => void): void;
177
70
  /**
178
- * @public
179
- * <p>Creates an Network Firewall TLS inspection configuration. A TLS inspection configuration contains the Certificate Manager certificate references that Network Firewall uses to decrypt and re-encrypt inbound traffic.</p>
180
- * <p>After you create a TLS inspection configuration, you associate it with a firewall policy.</p>
181
- * <p>To update the settings for a TLS inspection configuration, use <a>UpdateTLSInspectionConfiguration</a>.</p>
182
- * <p>To manage a TLS inspection configuration's tags, use the standard Amazon Web Services resource tagging operations, <a>ListTagsForResource</a>, <a>TagResource</a>, and <a>UntagResource</a>.</p>
183
- * <p>To retrieve information about TLS inspection configurations, use <a>ListTLSInspectionConfigurations</a> and <a>DescribeTLSInspectionConfiguration</a>.</p>
184
- * <p>
185
- * For more information about TLS inspection configurations, see <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/tls-inspection.html">Decrypting SSL/TLS traffic with TLS
186
- * inspection configurations</a> in the <i>Network Firewall Developer Guide</i>.
187
- * </p>
71
+ * @see {@link CreateTLSInspectionConfigurationCommand}
188
72
  */
189
73
  createTLSInspectionConfiguration(args: CreateTLSInspectionConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<CreateTLSInspectionConfigurationCommandOutput>;
190
74
  createTLSInspectionConfiguration(args: CreateTLSInspectionConfigurationCommandInput, cb: (err: any, data?: CreateTLSInspectionConfigurationCommandOutput) => void): void;
191
75
  createTLSInspectionConfiguration(args: CreateTLSInspectionConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: CreateTLSInspectionConfigurationCommandOutput) => void): void;
192
76
  /**
193
- * @public
194
- * <p>Deletes the specified <a>Firewall</a> and its <a>FirewallStatus</a>.
195
- * This operation requires the firewall's <code>DeleteProtection</code> flag to be
196
- * <code>FALSE</code>. You can't revert this operation. </p>
197
- * <p>You can check whether a firewall is
198
- * in use by reviewing the route tables for the Availability Zones where you have
199
- * firewall subnet mappings. Retrieve the subnet mappings by calling <a>DescribeFirewall</a>.
200
- * You define and update the route tables through Amazon VPC. As needed, update the route tables for the
201
- * zones to remove the firewall endpoints. When the route tables no longer use the firewall endpoints,
202
- * you can remove the firewall safely.</p>
203
- * <p>To delete a firewall, remove the delete protection if you need to using <a>UpdateFirewallDeleteProtection</a>,
204
- * then delete the firewall by calling <a>DeleteFirewall</a>. </p>
77
+ * @see {@link DeleteFirewallCommand}
205
78
  */
206
79
  deleteFirewall(args: DeleteFirewallCommandInput, options?: __HttpHandlerOptions): Promise<DeleteFirewallCommandOutput>;
207
80
  deleteFirewall(args: DeleteFirewallCommandInput, cb: (err: any, data?: DeleteFirewallCommandOutput) => void): void;
208
81
  deleteFirewall(args: DeleteFirewallCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteFirewallCommandOutput) => void): void;
209
82
  /**
210
- * @public
211
- * <p>Deletes the specified <a>FirewallPolicy</a>. </p>
83
+ * @see {@link DeleteFirewallPolicyCommand}
212
84
  */
213
85
  deleteFirewallPolicy(args: DeleteFirewallPolicyCommandInput, options?: __HttpHandlerOptions): Promise<DeleteFirewallPolicyCommandOutput>;
214
86
  deleteFirewallPolicy(args: DeleteFirewallPolicyCommandInput, cb: (err: any, data?: DeleteFirewallPolicyCommandOutput) => void): void;
215
87
  deleteFirewallPolicy(args: DeleteFirewallPolicyCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteFirewallPolicyCommandOutput) => void): void;
216
88
  /**
217
- * @public
218
- * <p>Deletes a resource policy that you created in a <a>PutResourcePolicy</a> request. </p>
89
+ * @see {@link DeleteResourcePolicyCommand}
219
90
  */
220
91
  deleteResourcePolicy(args: DeleteResourcePolicyCommandInput, options?: __HttpHandlerOptions): Promise<DeleteResourcePolicyCommandOutput>;
221
92
  deleteResourcePolicy(args: DeleteResourcePolicyCommandInput, cb: (err: any, data?: DeleteResourcePolicyCommandOutput) => void): void;
222
93
  deleteResourcePolicy(args: DeleteResourcePolicyCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteResourcePolicyCommandOutput) => void): void;
223
94
  /**
224
- * @public
225
- * <p>Deletes the specified <a>RuleGroup</a>. </p>
95
+ * @see {@link DeleteRuleGroupCommand}
226
96
  */
227
97
  deleteRuleGroup(args: DeleteRuleGroupCommandInput, options?: __HttpHandlerOptions): Promise<DeleteRuleGroupCommandOutput>;
228
98
  deleteRuleGroup(args: DeleteRuleGroupCommandInput, cb: (err: any, data?: DeleteRuleGroupCommandOutput) => void): void;
229
99
  deleteRuleGroup(args: DeleteRuleGroupCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteRuleGroupCommandOutput) => void): void;
230
100
  /**
231
- * @public
232
- * <p>Deletes the specified <a>TLSInspectionConfiguration</a>.</p>
101
+ * @see {@link DeleteTLSInspectionConfigurationCommand}
233
102
  */
234
103
  deleteTLSInspectionConfiguration(args: DeleteTLSInspectionConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<DeleteTLSInspectionConfigurationCommandOutput>;
235
104
  deleteTLSInspectionConfiguration(args: DeleteTLSInspectionConfigurationCommandInput, cb: (err: any, data?: DeleteTLSInspectionConfigurationCommandOutput) => void): void;
236
105
  deleteTLSInspectionConfiguration(args: DeleteTLSInspectionConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteTLSInspectionConfigurationCommandOutput) => void): void;
237
106
  /**
238
- * @public
239
- * <p>Returns the data objects for the specified firewall. </p>
107
+ * @see {@link DescribeFirewallCommand}
240
108
  */
241
109
  describeFirewall(args: DescribeFirewallCommandInput, options?: __HttpHandlerOptions): Promise<DescribeFirewallCommandOutput>;
242
110
  describeFirewall(args: DescribeFirewallCommandInput, cb: (err: any, data?: DescribeFirewallCommandOutput) => void): void;
243
111
  describeFirewall(args: DescribeFirewallCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DescribeFirewallCommandOutput) => void): void;
244
112
  /**
245
- * @public
246
- * <p>Returns the data objects for the specified firewall policy. </p>
113
+ * @see {@link DescribeFirewallPolicyCommand}
247
114
  */
248
115
  describeFirewallPolicy(args: DescribeFirewallPolicyCommandInput, options?: __HttpHandlerOptions): Promise<DescribeFirewallPolicyCommandOutput>;
249
116
  describeFirewallPolicy(args: DescribeFirewallPolicyCommandInput, cb: (err: any, data?: DescribeFirewallPolicyCommandOutput) => void): void;
250
117
  describeFirewallPolicy(args: DescribeFirewallPolicyCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DescribeFirewallPolicyCommandOutput) => void): void;
251
118
  /**
252
- * @public
253
- * <p>Returns the logging configuration for the specified firewall. </p>
119
+ * @see {@link DescribeLoggingConfigurationCommand}
254
120
  */
255
121
  describeLoggingConfiguration(args: DescribeLoggingConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<DescribeLoggingConfigurationCommandOutput>;
256
122
  describeLoggingConfiguration(args: DescribeLoggingConfigurationCommandInput, cb: (err: any, data?: DescribeLoggingConfigurationCommandOutput) => void): void;
257
123
  describeLoggingConfiguration(args: DescribeLoggingConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DescribeLoggingConfigurationCommandOutput) => void): void;
258
124
  /**
259
- * @public
260
- * <p>Retrieves a resource policy that you created in a <a>PutResourcePolicy</a> request. </p>
125
+ * @see {@link DescribeResourcePolicyCommand}
261
126
  */
262
127
  describeResourcePolicy(args: DescribeResourcePolicyCommandInput, options?: __HttpHandlerOptions): Promise<DescribeResourcePolicyCommandOutput>;
263
128
  describeResourcePolicy(args: DescribeResourcePolicyCommandInput, cb: (err: any, data?: DescribeResourcePolicyCommandOutput) => void): void;
264
129
  describeResourcePolicy(args: DescribeResourcePolicyCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DescribeResourcePolicyCommandOutput) => void): void;
265
130
  /**
266
- * @public
267
- * <p>Returns the data objects for the specified rule group. </p>
131
+ * @see {@link DescribeRuleGroupCommand}
268
132
  */
269
133
  describeRuleGroup(args: DescribeRuleGroupCommandInput, options?: __HttpHandlerOptions): Promise<DescribeRuleGroupCommandOutput>;
270
134
  describeRuleGroup(args: DescribeRuleGroupCommandInput, cb: (err: any, data?: DescribeRuleGroupCommandOutput) => void): void;
271
135
  describeRuleGroup(args: DescribeRuleGroupCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DescribeRuleGroupCommandOutput) => void): void;
272
136
  /**
273
- * @public
274
- * <p>High-level information about a rule group, returned by operations like create and describe.
275
- * You can use the information provided in the metadata to retrieve and manage a rule group.
276
- * You can retrieve all objects for a rule group by calling <a>DescribeRuleGroup</a>.
277
- * </p>
137
+ * @see {@link DescribeRuleGroupMetadataCommand}
278
138
  */
279
139
  describeRuleGroupMetadata(args: DescribeRuleGroupMetadataCommandInput, options?: __HttpHandlerOptions): Promise<DescribeRuleGroupMetadataCommandOutput>;
280
140
  describeRuleGroupMetadata(args: DescribeRuleGroupMetadataCommandInput, cb: (err: any, data?: DescribeRuleGroupMetadataCommandOutput) => void): void;
281
141
  describeRuleGroupMetadata(args: DescribeRuleGroupMetadataCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DescribeRuleGroupMetadataCommandOutput) => void): void;
282
142
  /**
283
- * @public
284
- * <p>Returns the data objects for the specified TLS inspection configuration.</p>
143
+ * @see {@link DescribeTLSInspectionConfigurationCommand}
285
144
  */
286
145
  describeTLSInspectionConfiguration(args: DescribeTLSInspectionConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<DescribeTLSInspectionConfigurationCommandOutput>;
287
146
  describeTLSInspectionConfiguration(args: DescribeTLSInspectionConfigurationCommandInput, cb: (err: any, data?: DescribeTLSInspectionConfigurationCommandOutput) => void): void;
288
147
  describeTLSInspectionConfiguration(args: DescribeTLSInspectionConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DescribeTLSInspectionConfigurationCommandOutput) => void): void;
289
148
  /**
290
- * @public
291
- * <p>Removes the specified subnet associations from the firewall. This removes the
292
- * firewall endpoints from the subnets and removes any network filtering protections that the endpoints
293
- * were providing.
294
- * </p>
149
+ * @see {@link DisassociateSubnetsCommand}
295
150
  */
296
151
  disassociateSubnets(args: DisassociateSubnetsCommandInput, options?: __HttpHandlerOptions): Promise<DisassociateSubnetsCommandOutput>;
297
152
  disassociateSubnets(args: DisassociateSubnetsCommandInput, cb: (err: any, data?: DisassociateSubnetsCommandOutput) => void): void;
298
153
  disassociateSubnets(args: DisassociateSubnetsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DisassociateSubnetsCommandOutput) => void): void;
299
154
  /**
300
- * @public
301
- * <p>Retrieves the metadata for the firewall policies that you have defined. Depending on
302
- * your setting for max results and the number of firewall policies, a single call might not
303
- * return the full list. </p>
155
+ * @see {@link ListFirewallPoliciesCommand}
304
156
  */
305
157
  listFirewallPolicies(args: ListFirewallPoliciesCommandInput, options?: __HttpHandlerOptions): Promise<ListFirewallPoliciesCommandOutput>;
306
158
  listFirewallPolicies(args: ListFirewallPoliciesCommandInput, cb: (err: any, data?: ListFirewallPoliciesCommandOutput) => void): void;
307
159
  listFirewallPolicies(args: ListFirewallPoliciesCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListFirewallPoliciesCommandOutput) => void): void;
308
160
  /**
309
- * @public
310
- * <p>Retrieves the metadata for the firewalls that you have defined. If you provide VPC
311
- * identifiers in your request, this returns only the firewalls for those VPCs.</p>
312
- * <p>Depending on your setting for max results and the number of firewalls, a single call
313
- * might not return the full list. </p>
161
+ * @see {@link ListFirewallsCommand}
314
162
  */
315
163
  listFirewalls(args: ListFirewallsCommandInput, options?: __HttpHandlerOptions): Promise<ListFirewallsCommandOutput>;
316
164
  listFirewalls(args: ListFirewallsCommandInput, cb: (err: any, data?: ListFirewallsCommandOutput) => void): void;
317
165
  listFirewalls(args: ListFirewallsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListFirewallsCommandOutput) => void): void;
318
166
  /**
319
- * @public
320
- * <p>Retrieves the metadata for the rule groups that you have defined. Depending on your
321
- * setting for max results and the number of rule groups, a single call might not return the
322
- * full list. </p>
167
+ * @see {@link ListRuleGroupsCommand}
323
168
  */
324
169
  listRuleGroups(args: ListRuleGroupsCommandInput, options?: __HttpHandlerOptions): Promise<ListRuleGroupsCommandOutput>;
325
170
  listRuleGroups(args: ListRuleGroupsCommandInput, cb: (err: any, data?: ListRuleGroupsCommandOutput) => void): void;
326
171
  listRuleGroups(args: ListRuleGroupsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListRuleGroupsCommandOutput) => void): void;
327
172
  /**
328
- * @public
329
- * <p>Retrieves the tags associated with the specified resource. Tags are key:value pairs that
330
- * you can use to categorize and manage your resources, for purposes like billing. For
331
- * example, you might set the tag key to "customer" and the value to the customer name or ID.
332
- * You can specify one or more tags to add to each Amazon Web Services resource, up to 50 tags for a
333
- * resource.</p>
334
- * <p>You can tag the Amazon Web Services resources that you manage through Network Firewall: firewalls, firewall
335
- * policies, and rule groups. </p>
173
+ * @see {@link ListTagsForResourceCommand}
336
174
  */
337
175
  listTagsForResource(args: ListTagsForResourceCommandInput, options?: __HttpHandlerOptions): Promise<ListTagsForResourceCommandOutput>;
338
176
  listTagsForResource(args: ListTagsForResourceCommandInput, cb: (err: any, data?: ListTagsForResourceCommandOutput) => void): void;
339
177
  listTagsForResource(args: ListTagsForResourceCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListTagsForResourceCommandOutput) => void): void;
340
178
  /**
341
- * @public
342
- * <p>Retrieves the metadata for the TLS inspection configurations that you have defined. Depending on your setting for max results and the number of TLS inspection configurations, a single call might not return the full list.</p>
179
+ * @see {@link ListTLSInspectionConfigurationsCommand}
343
180
  */
344
181
  listTLSInspectionConfigurations(args: ListTLSInspectionConfigurationsCommandInput, options?: __HttpHandlerOptions): Promise<ListTLSInspectionConfigurationsCommandOutput>;
345
182
  listTLSInspectionConfigurations(args: ListTLSInspectionConfigurationsCommandInput, cb: (err: any, data?: ListTLSInspectionConfigurationsCommandOutput) => void): void;
346
183
  listTLSInspectionConfigurations(args: ListTLSInspectionConfigurationsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListTLSInspectionConfigurationsCommandOutput) => void): void;
347
184
  /**
348
- * @public
349
- * <p>Creates or updates an IAM policy for your rule group or firewall policy. Use this to share rule groups and firewall policies between accounts. This operation works in conjunction with the Amazon Web Services Resource Access Manager (RAM) service
350
- * to manage resource sharing for Network Firewall. </p>
351
- * <p>Use this operation to create or update a resource policy for your rule group or firewall policy. In the policy, you specify the accounts that you want to share the resource with and the operations that you want the accounts to be able to perform. </p>
352
- * <p>When you add an account in the resource policy, you then run the following Resource Access Manager (RAM) operations to access and accept the shared rule group or firewall policy. </p>
353
- * <ul>
354
- * <li>
355
- * <p>
356
- * <a href="https://docs.aws.amazon.com/ram/latest/APIReference/API_GetResourceShareInvitations.html">GetResourceShareInvitations</a> - Returns the Amazon Resource Names (ARNs) of the resource share invitations. </p>
357
- * </li>
358
- * <li>
359
- * <p>
360
- * <a href="https://docs.aws.amazon.com/ram/latest/APIReference/API_AcceptResourceShareInvitation.html">AcceptResourceShareInvitation</a> - Accepts the share invitation for a specified resource share. </p>
361
- * </li>
362
- * </ul>
363
- * <p>For additional information about resource sharing using RAM, see <a href="https://docs.aws.amazon.com/ram/latest/userguide/what-is.html">Resource Access Manager User Guide</a>.</p>
185
+ * @see {@link PutResourcePolicyCommand}
364
186
  */
365
187
  putResourcePolicy(args: PutResourcePolicyCommandInput, options?: __HttpHandlerOptions): Promise<PutResourcePolicyCommandOutput>;
366
188
  putResourcePolicy(args: PutResourcePolicyCommandInput, cb: (err: any, data?: PutResourcePolicyCommandOutput) => void): void;
367
189
  putResourcePolicy(args: PutResourcePolicyCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutResourcePolicyCommandOutput) => void): void;
368
190
  /**
369
- * @public
370
- * <p>Adds the specified tags to the specified resource. Tags are key:value pairs that you can
371
- * use to categorize and manage your resources, for purposes like billing. For example, you
372
- * might set the tag key to "customer" and the value to the customer name or ID. You can
373
- * specify one or more tags to add to each Amazon Web Services resource, up to 50 tags for a resource.</p>
374
- * <p>You can tag the Amazon Web Services resources that you manage through Network Firewall: firewalls, firewall
375
- * policies, and rule groups. </p>
191
+ * @see {@link TagResourceCommand}
376
192
  */
377
193
  tagResource(args: TagResourceCommandInput, options?: __HttpHandlerOptions): Promise<TagResourceCommandOutput>;
378
194
  tagResource(args: TagResourceCommandInput, cb: (err: any, data?: TagResourceCommandOutput) => void): void;
379
195
  tagResource(args: TagResourceCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: TagResourceCommandOutput) => void): void;
380
196
  /**
381
- * @public
382
- * <p>Removes the tags with the specified keys from the specified resource. Tags are key:value
383
- * pairs that you can use to categorize and manage your resources, for purposes like billing.
384
- * For example, you might set the tag key to "customer" and the value to the customer name or
385
- * ID. You can specify one or more tags to add to each Amazon Web Services resource, up to 50 tags for a
386
- * resource.</p>
387
- * <p>You can manage tags for the Amazon Web Services resources that you manage through Network Firewall:
388
- * firewalls, firewall policies, and rule groups. </p>
197
+ * @see {@link UntagResourceCommand}
389
198
  */
390
199
  untagResource(args: UntagResourceCommandInput, options?: __HttpHandlerOptions): Promise<UntagResourceCommandOutput>;
391
200
  untagResource(args: UntagResourceCommandInput, cb: (err: any, data?: UntagResourceCommandOutput) => void): void;
392
201
  untagResource(args: UntagResourceCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UntagResourceCommandOutput) => void): void;
393
202
  /**
394
- * @public
395
- * <p>Modifies the flag, <code>DeleteProtection</code>, which indicates whether it is possible
396
- * to delete the firewall. If the flag is set to <code>TRUE</code>, the firewall is protected
397
- * against deletion. This setting helps protect against accidentally deleting a firewall
398
- * that's in use. </p>
203
+ * @see {@link UpdateFirewallDeleteProtectionCommand}
399
204
  */
400
205
  updateFirewallDeleteProtection(args: UpdateFirewallDeleteProtectionCommandInput, options?: __HttpHandlerOptions): Promise<UpdateFirewallDeleteProtectionCommandOutput>;
401
206
  updateFirewallDeleteProtection(args: UpdateFirewallDeleteProtectionCommandInput, cb: (err: any, data?: UpdateFirewallDeleteProtectionCommandOutput) => void): void;
402
207
  updateFirewallDeleteProtection(args: UpdateFirewallDeleteProtectionCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateFirewallDeleteProtectionCommandOutput) => void): void;
403
208
  /**
404
- * @public
405
- * <p>Modifies the description for the specified firewall. Use the description to help you
406
- * identify the firewall when you're working with it. </p>
209
+ * @see {@link UpdateFirewallDescriptionCommand}
407
210
  */
408
211
  updateFirewallDescription(args: UpdateFirewallDescriptionCommandInput, options?: __HttpHandlerOptions): Promise<UpdateFirewallDescriptionCommandOutput>;
409
212
  updateFirewallDescription(args: UpdateFirewallDescriptionCommandInput, cb: (err: any, data?: UpdateFirewallDescriptionCommandOutput) => void): void;
410
213
  updateFirewallDescription(args: UpdateFirewallDescriptionCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateFirewallDescriptionCommandOutput) => void): void;
411
214
  /**
412
- * @public
413
- * <p>A complex type that contains settings for encryption of your firewall resources.</p>
215
+ * @see {@link UpdateFirewallEncryptionConfigurationCommand}
414
216
  */
415
217
  updateFirewallEncryptionConfiguration(args: UpdateFirewallEncryptionConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<UpdateFirewallEncryptionConfigurationCommandOutput>;
416
218
  updateFirewallEncryptionConfiguration(args: UpdateFirewallEncryptionConfigurationCommandInput, cb: (err: any, data?: UpdateFirewallEncryptionConfigurationCommandOutput) => void): void;
417
219
  updateFirewallEncryptionConfiguration(args: UpdateFirewallEncryptionConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateFirewallEncryptionConfigurationCommandOutput) => void): void;
418
220
  /**
419
- * @public
420
- * <p>Updates the properties of the specified firewall policy.</p>
221
+ * @see {@link UpdateFirewallPolicyCommand}
421
222
  */
422
223
  updateFirewallPolicy(args: UpdateFirewallPolicyCommandInput, options?: __HttpHandlerOptions): Promise<UpdateFirewallPolicyCommandOutput>;
423
224
  updateFirewallPolicy(args: UpdateFirewallPolicyCommandInput, cb: (err: any, data?: UpdateFirewallPolicyCommandOutput) => void): void;
424
225
  updateFirewallPolicy(args: UpdateFirewallPolicyCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateFirewallPolicyCommandOutput) => void): void;
425
226
  /**
426
- * @public
427
- * <p>Modifies the flag, <code>ChangeProtection</code>, which indicates whether it
428
- * is possible to change the firewall. If the flag is set to <code>TRUE</code>, the firewall is protected
429
- * from changes. This setting helps protect against accidentally changing a firewall that's in use.</p>
227
+ * @see {@link UpdateFirewallPolicyChangeProtectionCommand}
430
228
  */
431
229
  updateFirewallPolicyChangeProtection(args: UpdateFirewallPolicyChangeProtectionCommandInput, options?: __HttpHandlerOptions): Promise<UpdateFirewallPolicyChangeProtectionCommandOutput>;
432
230
  updateFirewallPolicyChangeProtection(args: UpdateFirewallPolicyChangeProtectionCommandInput, cb: (err: any, data?: UpdateFirewallPolicyChangeProtectionCommandOutput) => void): void;
433
231
  updateFirewallPolicyChangeProtection(args: UpdateFirewallPolicyChangeProtectionCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateFirewallPolicyChangeProtectionCommandOutput) => void): void;
434
232
  /**
435
- * @public
436
- * <p>Sets the logging configuration for the specified firewall. </p>
437
- * <p>To change the logging configuration, retrieve the <a>LoggingConfiguration</a> by calling <a>DescribeLoggingConfiguration</a>, then change it and provide
438
- * the modified object to this update call. You must change the logging configuration one
439
- * <a>LogDestinationConfig</a> at a time inside the retrieved <a>LoggingConfiguration</a> object. </p>
440
- * <p>You can perform only one of the following actions in any call to
441
- * <code>UpdateLoggingConfiguration</code>: </p>
442
- * <ul>
443
- * <li>
444
- * <p>Create a new log destination object by adding a single
445
- * <code>LogDestinationConfig</code> array element to
446
- * <code>LogDestinationConfigs</code>.</p>
447
- * </li>
448
- * <li>
449
- * <p>Delete a log destination object by removing a single
450
- * <code>LogDestinationConfig</code> array element from
451
- * <code>LogDestinationConfigs</code>.</p>
452
- * </li>
453
- * <li>
454
- * <p>Change the <code>LogDestination</code> setting in a single
455
- * <code>LogDestinationConfig</code> array element.</p>
456
- * </li>
457
- * </ul>
458
- * <p>You can't change the <code>LogDestinationType</code> or <code>LogType</code> in a
459
- * <code>LogDestinationConfig</code>. To change these settings, delete the existing
460
- * <code>LogDestinationConfig</code> object and create a new one, using two separate calls
461
- * to this update operation.</p>
233
+ * @see {@link UpdateLoggingConfigurationCommand}
462
234
  */
463
235
  updateLoggingConfiguration(args: UpdateLoggingConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<UpdateLoggingConfigurationCommandOutput>;
464
236
  updateLoggingConfiguration(args: UpdateLoggingConfigurationCommandInput, cb: (err: any, data?: UpdateLoggingConfigurationCommandOutput) => void): void;
465
237
  updateLoggingConfiguration(args: UpdateLoggingConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateLoggingConfigurationCommandOutput) => void): void;
466
238
  /**
467
- * @public
468
- * <p>Updates the rule settings for the specified rule group. You use a rule group by
469
- * reference in one or more firewall policies. When you modify a rule group, you modify all
470
- * firewall policies that use the rule group. </p>
471
- * <p>To update a rule group, first call <a>DescribeRuleGroup</a> to retrieve the
472
- * current <a>RuleGroup</a> object, update the object as needed, and then provide
473
- * the updated object to this call. </p>
239
+ * @see {@link UpdateRuleGroupCommand}
474
240
  */
475
241
  updateRuleGroup(args: UpdateRuleGroupCommandInput, options?: __HttpHandlerOptions): Promise<UpdateRuleGroupCommandOutput>;
476
242
  updateRuleGroup(args: UpdateRuleGroupCommandInput, cb: (err: any, data?: UpdateRuleGroupCommandOutput) => void): void;
477
243
  updateRuleGroup(args: UpdateRuleGroupCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateRuleGroupCommandOutput) => void): void;
478
244
  /**
479
- * @public
480
- * <p></p>
245
+ * @see {@link UpdateSubnetChangeProtectionCommand}
481
246
  */
482
247
  updateSubnetChangeProtection(args: UpdateSubnetChangeProtectionCommandInput, options?: __HttpHandlerOptions): Promise<UpdateSubnetChangeProtectionCommandOutput>;
483
248
  updateSubnetChangeProtection(args: UpdateSubnetChangeProtectionCommandInput, cb: (err: any, data?: UpdateSubnetChangeProtectionCommandOutput) => void): void;
484
249
  updateSubnetChangeProtection(args: UpdateSubnetChangeProtectionCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateSubnetChangeProtectionCommandOutput) => void): void;
485
250
  /**
486
- * @public
487
- * <p>Updates the TLS inspection configuration settings for the specified TLS inspection configuration. You use a TLS inspection configuration by
488
- * reference in one or more firewall policies. When you modify a TLS inspection configuration, you modify all
489
- * firewall policies that use the TLS inspection configuration. </p>
490
- * <p>To update a TLS inspection configuration, first call <a>DescribeTLSInspectionConfiguration</a> to retrieve the
491
- * current <a>TLSInspectionConfiguration</a> object, update the object as needed, and then provide
492
- * the updated object to this call. </p>
251
+ * @see {@link UpdateTLSInspectionConfigurationCommand}
493
252
  */
494
253
  updateTLSInspectionConfiguration(args: UpdateTLSInspectionConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<UpdateTLSInspectionConfigurationCommandOutput>;
495
254
  updateTLSInspectionConfiguration(args: UpdateTLSInspectionConfigurationCommandInput, cb: (err: any, data?: UpdateTLSInspectionConfigurationCommandOutput) => void): void;
496
255
  updateTLSInspectionConfiguration(args: UpdateTLSInspectionConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateTLSInspectionConfigurationCommandOutput) => void): void;
497
256
  }
257
+ /**
258
+ * @public
259
+ * <p>This is the API Reference for Network Firewall. This guide is for developers who need
260
+ * detailed information about the Network Firewall API actions, data types, and errors. </p>
261
+ * <ul>
262
+ * <li>
263
+ * <p>The REST API requires you to handle connection details, such as calculating
264
+ * signatures, handling request retries, and error handling. For general information
265
+ * about using the Amazon Web Services REST APIs, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-apis.html">Amazon Web Services APIs</a>. </p>
266
+ * <p>To access Network Firewall using the REST API endpoint:
267
+ * <code>https://network-firewall.<region>.amazonaws.com </code>
268
+ * </p>
269
+ * </li>
270
+ * <li>
271
+ * <p>Alternatively, you can use one of the Amazon Web Services SDKs to access an API that's tailored to
272
+ * the programming language or platform that you're using. For more information, see
273
+ * <a href="http://aws.amazon.com/tools/#SDKs">Amazon Web Services SDKs</a>.</p>
274
+ * </li>
275
+ * <li>
276
+ * <p>For descriptions of Network Firewall features, including and step-by-step
277
+ * instructions on how to use them through the Network Firewall console, see the <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/">Network Firewall Developer
278
+ * Guide</a>.</p>
279
+ * </li>
280
+ * </ul>
281
+ * <p>Network Firewall is a stateful, managed, network firewall and intrusion detection and
282
+ * prevention service for Amazon Virtual Private Cloud (Amazon VPC). With Network Firewall, you can filter traffic at the
283
+ * perimeter of your VPC. This includes filtering traffic going to and coming from an internet
284
+ * gateway, NAT gateway, or over VPN or Direct Connect. Network Firewall uses rules that are compatible
285
+ * with Suricata, a free, open source network analysis and threat detection engine.
286
+ * Network Firewall supports Suricata version 6.0.9. For information about Suricata,
287
+ * see the <a href="https://suricata.io/">Suricata website</a>.</p>
288
+ * <p>You can use Network Firewall to monitor and protect your VPC traffic in a number of ways.
289
+ * The following are just a few examples: </p>
290
+ * <ul>
291
+ * <li>
292
+ * <p>Allow domains or IP addresses for known Amazon Web Services service endpoints, such as Amazon S3, and
293
+ * block all other forms of traffic.</p>
294
+ * </li>
295
+ * <li>
296
+ * <p>Use custom lists of known bad domains to limit the types of domain names that your
297
+ * applications can access.</p>
298
+ * </li>
299
+ * <li>
300
+ * <p>Perform deep packet inspection on traffic entering or leaving your VPC.</p>
301
+ * </li>
302
+ * <li>
303
+ * <p>Use stateful protocol detection to filter protocols like HTTPS, regardless of the
304
+ * port used.</p>
305
+ * </li>
306
+ * </ul>
307
+ * <p>To enable Network Firewall for your VPCs, you perform steps in both Amazon VPC and in
308
+ * Network Firewall. For information about using Amazon VPC, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/">Amazon VPC User Guide</a>.</p>
309
+ * <p>To start using Network Firewall, do the following: </p>
310
+ * <ol>
311
+ * <li>
312
+ * <p>(Optional) If you don't already have a VPC that you want to protect, create it in
313
+ * Amazon VPC. </p>
314
+ * </li>
315
+ * <li>
316
+ * <p>In Amazon VPC, in each Availability Zone where you want to have a firewall endpoint, create a
317
+ * subnet for the sole use of Network Firewall. </p>
318
+ * </li>
319
+ * <li>
320
+ * <p>In Network Firewall, create stateless and stateful rule groups,
321
+ * to define the components of the network traffic filtering behavior that you want your firewall to have. </p>
322
+ * </li>
323
+ * <li>
324
+ * <p>In Network Firewall, create a firewall policy that uses your rule groups and
325
+ * specifies additional default traffic filtering behavior. </p>
326
+ * </li>
327
+ * <li>
328
+ * <p>In Network Firewall, create a firewall and specify your new firewall policy and
329
+ * VPC subnets. Network Firewall creates a firewall endpoint in each subnet that you
330
+ * specify, with the behavior that's defined in the firewall policy.</p>
331
+ * </li>
332
+ * <li>
333
+ * <p>In Amazon VPC, use ingress routing enhancements to route traffic through the new firewall
334
+ * endpoints.</p>
335
+ * </li>
336
+ * </ol>
337
+ */
338
+ export declare class NetworkFirewall extends NetworkFirewallClient implements NetworkFirewall {
339
+ }
@@ -144,7 +144,7 @@ import {
144
144
  UpdateTLSInspectionConfigurationCommandOutput,
145
145
  } from "./commands/UpdateTLSInspectionConfigurationCommand";
146
146
  import { NetworkFirewallClient } from "./NetworkFirewallClient";
147
- export declare class NetworkFirewall extends NetworkFirewallClient {
147
+ export interface NetworkFirewall {
148
148
  associateFirewallPolicy(
149
149
  args: AssociateFirewallPolicyCommandInput,
150
150
  options?: __HttpHandlerOptions
@@ -632,3 +632,6 @@ export declare class NetworkFirewall extends NetworkFirewallClient {
632
632
  cb: (err: any, data?: UpdateTLSInspectionConfigurationCommandOutput) => void
633
633
  ): void;
634
634
  }
635
+ export declare class NetworkFirewall
636
+ extends NetworkFirewallClient
637
+ implements NetworkFirewall {}