Skip to content

Commit 5409d38

Browse files
author
awstools
committed
feat(client-network-firewall): This release introduces Network Firewall's Automated Domain List feature. New APIs include UpdateFirewallAnalysisSettings, StartAnalysisReport, GetAnalysisReportResults, and ListAnalysisReports. These allow customers to enable analysis on firewalls to identify and report frequently accessed domain.
1 parent 14f5f05 commit 5409d38

18 files changed

+1979
-23
lines changed

clients/client-network-firewall/README.md

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,10 @@ Guide</a>.</p>
3232
prevention service for Amazon Virtual Private Cloud (Amazon VPC). With Network Firewall, you can filter traffic at the
3333
perimeter of your VPC. This includes filtering traffic going to and coming from an internet
3434
gateway, NAT gateway, or over VPN or Direct Connect. Network Firewall uses rules that are compatible
35-
with Suricata, a free, open source network analysis and threat detection engine. </p>
35+
with Suricata, a free, open source network analysis and threat detection engine.
36+
Network Firewall supports Suricata version 7.0.3. For information about Suricata,
37+
see the <a href="https://suricata.io/">Suricata website</a> and the
38+
<a href="https://suricata.readthedocs.io/en/suricata-7.0.3/">Suricata User Guide</a>. </p>
3639
<p>You can use Network Firewall to monitor and protect your VPC traffic in a number of ways.
3740
The following are just a few examples: </p>
3841
<ul>
@@ -429,6 +432,22 @@ DisassociateSubnets
429432

430433
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/network-firewall/command/DisassociateSubnetsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-network-firewall/Interface/DisassociateSubnetsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-network-firewall/Interface/DisassociateSubnetsCommandOutput/)
431434

435+
</details>
436+
<details>
437+
<summary>
438+
GetAnalysisReportResults
439+
</summary>
440+
441+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/network-firewall/command/GetAnalysisReportResultsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-network-firewall/Interface/GetAnalysisReportResultsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-network-firewall/Interface/GetAnalysisReportResultsCommandOutput/)
442+
443+
</details>
444+
<details>
445+
<summary>
446+
ListAnalysisReports
447+
</summary>
448+
449+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/network-firewall/command/ListAnalysisReportsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-network-firewall/Interface/ListAnalysisReportsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-network-firewall/Interface/ListAnalysisReportsCommandOutput/)
450+
432451
</details>
433452
<details>
434453
<summary>
@@ -477,6 +496,14 @@ PutResourcePolicy
477496

478497
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/network-firewall/command/PutResourcePolicyCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-network-firewall/Interface/PutResourcePolicyCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-network-firewall/Interface/PutResourcePolicyCommandOutput/)
479498

499+
</details>
500+
<details>
501+
<summary>
502+
StartAnalysisReport
503+
</summary>
504+
505+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/network-firewall/command/StartAnalysisReportCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-network-firewall/Interface/StartAnalysisReportCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-network-firewall/Interface/StartAnalysisReportCommandOutput/)
506+
480507
</details>
481508
<details>
482509
<summary>
@@ -493,6 +520,14 @@ UntagResource
493520

494521
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/network-firewall/command/UntagResourceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-network-firewall/Interface/UntagResourceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-network-firewall/Interface/UntagResourceCommandOutput/)
495522

523+
</details>
524+
<details>
525+
<summary>
526+
UpdateFirewallAnalysisSettings
527+
</summary>
528+
529+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/network-firewall/command/UpdateFirewallAnalysisSettingsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-network-firewall/Interface/UpdateFirewallAnalysisSettingsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-network-firewall/Interface/UpdateFirewallAnalysisSettingsCommandOutput/)
530+
496531
</details>
497532
<details>
498533
<summary>

clients/client-network-firewall/src/NetworkFirewall.ts

Lines changed: 98 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,16 @@ import {
9797
DisassociateSubnetsCommandInput,
9898
DisassociateSubnetsCommandOutput,
9999
} from "./commands/DisassociateSubnetsCommand";
100+
import {
101+
GetAnalysisReportResultsCommand,
102+
GetAnalysisReportResultsCommandInput,
103+
GetAnalysisReportResultsCommandOutput,
104+
} from "./commands/GetAnalysisReportResultsCommand";
105+
import {
106+
ListAnalysisReportsCommand,
107+
ListAnalysisReportsCommandInput,
108+
ListAnalysisReportsCommandOutput,
109+
} from "./commands/ListAnalysisReportsCommand";
100110
import {
101111
ListFirewallPoliciesCommand,
102112
ListFirewallPoliciesCommandInput,
@@ -127,12 +137,22 @@ import {
127137
PutResourcePolicyCommandInput,
128138
PutResourcePolicyCommandOutput,
129139
} from "./commands/PutResourcePolicyCommand";
140+
import {
141+
StartAnalysisReportCommand,
142+
StartAnalysisReportCommandInput,
143+
StartAnalysisReportCommandOutput,
144+
} from "./commands/StartAnalysisReportCommand";
130145
import { TagResourceCommand, TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
131146
import {
132147
UntagResourceCommand,
133148
UntagResourceCommandInput,
134149
UntagResourceCommandOutput,
135150
} from "./commands/UntagResourceCommand";
151+
import {
152+
UpdateFirewallAnalysisSettingsCommand,
153+
UpdateFirewallAnalysisSettingsCommandInput,
154+
UpdateFirewallAnalysisSettingsCommandOutput,
155+
} from "./commands/UpdateFirewallAnalysisSettingsCommand";
136156
import {
137157
UpdateFirewallDeleteProtectionCommand,
138158
UpdateFirewallDeleteProtectionCommandInput,
@@ -200,14 +220,18 @@ const commands = {
200220
DescribeRuleGroupMetadataCommand,
201221
DescribeTLSInspectionConfigurationCommand,
202222
DisassociateSubnetsCommand,
223+
GetAnalysisReportResultsCommand,
224+
ListAnalysisReportsCommand,
203225
ListFirewallPoliciesCommand,
204226
ListFirewallsCommand,
205227
ListRuleGroupsCommand,
206228
ListTagsForResourceCommand,
207229
ListTLSInspectionConfigurationsCommand,
208230
PutResourcePolicyCommand,
231+
StartAnalysisReportCommand,
209232
TagResourceCommand,
210233
UntagResourceCommand,
234+
UpdateFirewallAnalysisSettingsCommand,
211235
UpdateFirewallDeleteProtectionCommand,
212236
UpdateFirewallDescriptionCommand,
213237
UpdateFirewallEncryptionConfigurationCommand,
@@ -541,6 +565,41 @@ export interface NetworkFirewall {
541565
cb: (err: any, data?: DisassociateSubnetsCommandOutput) => void
542566
): void;
543567

568+
/**
569+
* @see {@link GetAnalysisReportResultsCommand}
570+
*/
571+
getAnalysisReportResults(
572+
args: GetAnalysisReportResultsCommandInput,
573+
options?: __HttpHandlerOptions
574+
): Promise<GetAnalysisReportResultsCommandOutput>;
575+
getAnalysisReportResults(
576+
args: GetAnalysisReportResultsCommandInput,
577+
cb: (err: any, data?: GetAnalysisReportResultsCommandOutput) => void
578+
): void;
579+
getAnalysisReportResults(
580+
args: GetAnalysisReportResultsCommandInput,
581+
options: __HttpHandlerOptions,
582+
cb: (err: any, data?: GetAnalysisReportResultsCommandOutput) => void
583+
): void;
584+
585+
/**
586+
* @see {@link ListAnalysisReportsCommand}
587+
*/
588+
listAnalysisReports(): Promise<ListAnalysisReportsCommandOutput>;
589+
listAnalysisReports(
590+
args: ListAnalysisReportsCommandInput,
591+
options?: __HttpHandlerOptions
592+
): Promise<ListAnalysisReportsCommandOutput>;
593+
listAnalysisReports(
594+
args: ListAnalysisReportsCommandInput,
595+
cb: (err: any, data?: ListAnalysisReportsCommandOutput) => void
596+
): void;
597+
listAnalysisReports(
598+
args: ListAnalysisReportsCommandInput,
599+
options: __HttpHandlerOptions,
600+
cb: (err: any, data?: ListAnalysisReportsCommandOutput) => void
601+
): void;
602+
544603
/**
545604
* @see {@link ListFirewallPoliciesCommand}
546605
*/
@@ -638,6 +697,23 @@ export interface NetworkFirewall {
638697
cb: (err: any, data?: PutResourcePolicyCommandOutput) => void
639698
): void;
640699

700+
/**
701+
* @see {@link StartAnalysisReportCommand}
702+
*/
703+
startAnalysisReport(
704+
args: StartAnalysisReportCommandInput,
705+
options?: __HttpHandlerOptions
706+
): Promise<StartAnalysisReportCommandOutput>;
707+
startAnalysisReport(
708+
args: StartAnalysisReportCommandInput,
709+
cb: (err: any, data?: StartAnalysisReportCommandOutput) => void
710+
): void;
711+
startAnalysisReport(
712+
args: StartAnalysisReportCommandInput,
713+
options: __HttpHandlerOptions,
714+
cb: (err: any, data?: StartAnalysisReportCommandOutput) => void
715+
): void;
716+
641717
/**
642718
* @see {@link TagResourceCommand}
643719
*/
@@ -660,6 +736,24 @@ export interface NetworkFirewall {
660736
cb: (err: any, data?: UntagResourceCommandOutput) => void
661737
): void;
662738

739+
/**
740+
* @see {@link UpdateFirewallAnalysisSettingsCommand}
741+
*/
742+
updateFirewallAnalysisSettings(): Promise<UpdateFirewallAnalysisSettingsCommandOutput>;
743+
updateFirewallAnalysisSettings(
744+
args: UpdateFirewallAnalysisSettingsCommandInput,
745+
options?: __HttpHandlerOptions
746+
): Promise<UpdateFirewallAnalysisSettingsCommandOutput>;
747+
updateFirewallAnalysisSettings(
748+
args: UpdateFirewallAnalysisSettingsCommandInput,
749+
cb: (err: any, data?: UpdateFirewallAnalysisSettingsCommandOutput) => void
750+
): void;
751+
updateFirewallAnalysisSettings(
752+
args: UpdateFirewallAnalysisSettingsCommandInput,
753+
options: __HttpHandlerOptions,
754+
cb: (err: any, data?: UpdateFirewallAnalysisSettingsCommandOutput) => void
755+
): void;
756+
663757
/**
664758
* @see {@link UpdateFirewallDeleteProtectionCommand}
665759
*/
@@ -841,7 +935,10 @@ export interface NetworkFirewall {
841935
* prevention service for Amazon Virtual Private Cloud (Amazon VPC). With Network Firewall, you can filter traffic at the
842936
* perimeter of your VPC. This includes filtering traffic going to and coming from an internet
843937
* gateway, NAT gateway, or over VPN or Direct Connect. Network Firewall uses rules that are compatible
844-
* with Suricata, a free, open source network analysis and threat detection engine. </p>
938+
* with Suricata, a free, open source network analysis and threat detection engine.
939+
* Network Firewall supports Suricata version 7.0.3. For information about Suricata,
940+
* see the <a href="https://suricata.io/">Suricata website</a> and the
941+
* <a href="https://suricata.readthedocs.io/en/suricata-7.0.3/">Suricata User Guide</a>. </p>
845942
* <p>You can use Network Firewall to monitor and protect your VPC traffic in a number of ways.
846943
* The following are just a few examples: </p>
847944
* <ul>

clients/client-network-firewall/src/NetworkFirewallClient.ts

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,14 @@ import {
108108
DisassociateSubnetsCommandInput,
109109
DisassociateSubnetsCommandOutput,
110110
} from "./commands/DisassociateSubnetsCommand";
111+
import {
112+
GetAnalysisReportResultsCommandInput,
113+
GetAnalysisReportResultsCommandOutput,
114+
} from "./commands/GetAnalysisReportResultsCommand";
115+
import {
116+
ListAnalysisReportsCommandInput,
117+
ListAnalysisReportsCommandOutput,
118+
} from "./commands/ListAnalysisReportsCommand";
111119
import {
112120
ListFirewallPoliciesCommandInput,
113121
ListFirewallPoliciesCommandOutput,
@@ -123,8 +131,16 @@ import {
123131
ListTLSInspectionConfigurationsCommandOutput,
124132
} from "./commands/ListTLSInspectionConfigurationsCommand";
125133
import { PutResourcePolicyCommandInput, PutResourcePolicyCommandOutput } from "./commands/PutResourcePolicyCommand";
134+
import {
135+
StartAnalysisReportCommandInput,
136+
StartAnalysisReportCommandOutput,
137+
} from "./commands/StartAnalysisReportCommand";
126138
import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
127139
import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand";
140+
import {
141+
UpdateFirewallAnalysisSettingsCommandInput,
142+
UpdateFirewallAnalysisSettingsCommandOutput,
143+
} from "./commands/UpdateFirewallAnalysisSettingsCommand";
128144
import {
129145
UpdateFirewallDeleteProtectionCommandInput,
130146
UpdateFirewallDeleteProtectionCommandOutput,
@@ -192,14 +208,18 @@ export type ServiceInputTypes =
192208
| DescribeRuleGroupMetadataCommandInput
193209
| DescribeTLSInspectionConfigurationCommandInput
194210
| DisassociateSubnetsCommandInput
211+
| GetAnalysisReportResultsCommandInput
212+
| ListAnalysisReportsCommandInput
195213
| ListFirewallPoliciesCommandInput
196214
| ListFirewallsCommandInput
197215
| ListRuleGroupsCommandInput
198216
| ListTLSInspectionConfigurationsCommandInput
199217
| ListTagsForResourceCommandInput
200218
| PutResourcePolicyCommandInput
219+
| StartAnalysisReportCommandInput
201220
| TagResourceCommandInput
202221
| UntagResourceCommandInput
222+
| UpdateFirewallAnalysisSettingsCommandInput
203223
| UpdateFirewallDeleteProtectionCommandInput
204224
| UpdateFirewallDescriptionCommandInput
205225
| UpdateFirewallEncryptionConfigurationCommandInput
@@ -233,14 +253,18 @@ export type ServiceOutputTypes =
233253
| DescribeRuleGroupMetadataCommandOutput
234254
| DescribeTLSInspectionConfigurationCommandOutput
235255
| DisassociateSubnetsCommandOutput
256+
| GetAnalysisReportResultsCommandOutput
257+
| ListAnalysisReportsCommandOutput
236258
| ListFirewallPoliciesCommandOutput
237259
| ListFirewallsCommandOutput
238260
| ListRuleGroupsCommandOutput
239261
| ListTLSInspectionConfigurationsCommandOutput
240262
| ListTagsForResourceCommandOutput
241263
| PutResourcePolicyCommandOutput
264+
| StartAnalysisReportCommandOutput
242265
| TagResourceCommandOutput
243266
| UntagResourceCommandOutput
267+
| UpdateFirewallAnalysisSettingsCommandOutput
244268
| UpdateFirewallDeleteProtectionCommandOutput
245269
| UpdateFirewallDescriptionCommandOutput
246270
| UpdateFirewallEncryptionConfigurationCommandOutput
@@ -468,7 +492,10 @@ export interface NetworkFirewallClientResolvedConfig extends NetworkFirewallClie
468492
* prevention service for Amazon Virtual Private Cloud (Amazon VPC). With Network Firewall, you can filter traffic at the
469493
* perimeter of your VPC. This includes filtering traffic going to and coming from an internet
470494
* gateway, NAT gateway, or over VPN or Direct Connect. Network Firewall uses rules that are compatible
471-
* with Suricata, a free, open source network analysis and threat detection engine. </p>
495+
* with Suricata, a free, open source network analysis and threat detection engine.
496+
* Network Firewall supports Suricata version 7.0.3. For information about Suricata,
497+
* see the <a href="https://suricata.io/">Suricata website</a> and the
498+
* <a href="https://suricata.readthedocs.io/en/suricata-7.0.3/">Suricata User Guide</a>. </p>
472499
* <p>You can use Network Firewall to monitor and protect your VPC traffic in a number of ways.
473500
* The following are just a few examples: </p>
474501
* <ul>

clients/client-network-firewall/src/commands/CreateFirewallCommand.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ export interface CreateFirewallCommandOutput extends CreateFirewallResponse, __M
3535
* themselves, for example <a>UpdateLoggingConfiguration</a>, <a>AssociateSubnets</a>, and <a>UpdateFirewallDeleteProtection</a>. </p>
3636
* <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>
3737
* <p>To retrieve information about firewalls, use <a>ListFirewalls</a> and <a>DescribeFirewall</a>.</p>
38+
* <p>To generate a report on the last 30 days of traffic monitored by a firewall, use <a>StartAnalysisReport</a>.</p>
3839
* @example
3940
* Use a bare-bones client and the command you need to make an API call.
4041
* ```javascript
@@ -44,8 +45,8 @@ export interface CreateFirewallCommandOutput extends CreateFirewallResponse, __M
4445
* const input = { // CreateFirewallRequest
4546
* FirewallName: "STRING_VALUE", // required
4647
* FirewallPolicyArn: "STRING_VALUE", // required
47-
* VpcId: "STRING_VALUE", // required
48-
* SubnetMappings: [ // SubnetMappings // required
48+
* VpcId: "STRING_VALUE",
49+
* SubnetMappings: [ // SubnetMappings
4950
* { // SubnetMapping
5051
* SubnetId: "STRING_VALUE", // required
5152
* IPAddressType: "DUALSTACK" || "IPV4" || "IPV6",
@@ -65,6 +66,9 @@ export interface CreateFirewallCommandOutput extends CreateFirewallResponse, __M
6566
* KeyId: "STRING_VALUE",
6667
* Type: "CUSTOMER_KMS" || "AWS_OWNED_KMS_KEY", // required
6768
* },
69+
* EnabledAnalysisTypes: [ // EnabledAnalysisTypes
70+
* "TLS_SNI" || "HTTP_HOST",
71+
* ],
6872
* };
6973
* const command = new CreateFirewallCommand(input);
7074
* const response = await client.send(command);
@@ -95,6 +99,9 @@ export interface CreateFirewallCommandOutput extends CreateFirewallResponse, __M
9599
* // KeyId: "STRING_VALUE",
96100
* // Type: "CUSTOMER_KMS" || "AWS_OWNED_KMS_KEY", // required
97101
* // },
102+
* // EnabledAnalysisTypes: [ // EnabledAnalysisTypes
103+
* // "TLS_SNI" || "HTTP_HOST",
104+
* // ],
98105
* // },
99106
* // FirewallStatus: { // FirewallStatus
100107
* // Status: "PROVISIONING" || "DELETING" || "READY", // required

clients/client-network-firewall/src/commands/DeleteFirewallCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,9 @@ export interface DeleteFirewallCommandOutput extends DeleteFirewallResponse, __M
7878
* // KeyId: "STRING_VALUE",
7979
* // Type: "CUSTOMER_KMS" || "AWS_OWNED_KMS_KEY", // required
8080
* // },
81+
* // EnabledAnalysisTypes: [ // EnabledAnalysisTypes
82+
* // "TLS_SNI" || "HTTP_HOST",
83+
* // ],
8184
* // },
8285
* // FirewallStatus: { // FirewallStatus
8386
* // Status: "PROVISIONING" || "DELETING" || "READY", // required

clients/client-network-firewall/src/commands/DescribeFirewallCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,9 @@ export interface DescribeFirewallCommandOutput extends DescribeFirewallResponse,
6969
* // KeyId: "STRING_VALUE",
7070
* // Type: "CUSTOMER_KMS" || "AWS_OWNED_KMS_KEY", // required
7171
* // },
72+
* // EnabledAnalysisTypes: [ // EnabledAnalysisTypes
73+
* // "TLS_SNI" || "HTTP_HOST",
74+
* // ],
7275
* // },
7376
* // FirewallStatus: { // FirewallStatus
7477
* // Status: "PROVISIONING" || "DELETING" || "READY", // required

0 commit comments

Comments
 (0)