Skip to content

Commit ba3e251

Browse files
author
awstools
committed
feat(client-network-firewall): AWS Network Firewall now enables customers to use a customer managed AWS KMS key for the encryption of their firewall resources.
1 parent c70378d commit ba3e251

15 files changed

+777
-148
lines changed

clients/client-network-firewall/README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,21 @@
77

88
AWS SDK for JavaScript NetworkFirewall Client for Node.js, Browser and React Native.
99

10-
<p>This is the API Reference for AWS Network Firewall. This guide is for developers who need
10+
<p>This is the API Reference for Network Firewall. This guide is for developers who need
1111
detailed information about the Network Firewall API actions, data types, and errors. </p>
1212
<ul>
1313
<li>
1414
<p>The REST API requires you to handle connection details, such as calculating
1515
signatures, handling request retries, and error handling. For general information
16-
about using the AWS REST APIs, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-apis.html">AWS APIs</a>. </p>
16+
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>
1717
<p>To access Network Firewall using the REST API endpoint:
1818
<code>https://network-firewall.<region>.amazonaws.com </code>
1919
</p>
2020
</li>
2121
<li>
22-
<p>Alternatively, you can use one of the AWS SDKs to access an API that's tailored to
22+
<p>Alternatively, you can use one of the Amazon Web Services SDKs to access an API that's tailored to
2323
the programming language or platform that you're using. For more information, see
24-
<a href="http://aws.amazon.com/tools/#SDKs">AWS SDKs</a>.</p>
24+
<a href="http://aws.amazon.com/tools/#SDKs">Amazon Web Services SDKs</a>.</p>
2525
</li>
2626
<li>
2727
<p>For descriptions of Network Firewall features, including and step-by-step
@@ -32,15 +32,15 @@ Guide</a>.</p>
3232
<p>Network Firewall is a stateful, managed, network firewall and intrusion detection and
3333
prevention service for Amazon Virtual Private Cloud (Amazon VPC). With Network Firewall, you can filter traffic at the
3434
perimeter of your VPC. This includes filtering traffic going to and coming from an internet
35-
gateway, NAT gateway, or over VPN or AWS Direct Connect. Network Firewall uses rules that are compatible
35+
gateway, NAT gateway, or over VPN or Direct Connect. Network Firewall uses rules that are compatible
3636
with Suricata, a free, open source intrusion detection system (IDS) engine.
37-
AWS Network Firewall supports Suricata version 5.0.2. For information about Suricata,
37+
Network Firewall supports Suricata version 5.0.2. For information about Suricata,
3838
see the <a href="https://suricata-ids.org/">Suricata website</a>.</p>
3939
<p>You can use Network Firewall to monitor and protect your VPC traffic in a number of ways.
4040
The following are just a few examples: </p>
4141
<ul>
4242
<li>
43-
<p>Allow domains or IP addresses for known AWS service endpoints, such as Amazon S3, and
43+
<p>Allow domains or IP addresses for known Amazon Web Services service endpoints, such as Amazon S3, and
4444
block all other forms of traffic.</p>
4545
</li>
4646
<li>

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

Lines changed: 59 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,11 @@ import {
121121
UpdateFirewallDescriptionCommandInput,
122122
UpdateFirewallDescriptionCommandOutput,
123123
} from "./commands/UpdateFirewallDescriptionCommand";
124+
import {
125+
UpdateFirewallEncryptionConfigurationCommand,
126+
UpdateFirewallEncryptionConfigurationCommandInput,
127+
UpdateFirewallEncryptionConfigurationCommandOutput,
128+
} from "./commands/UpdateFirewallEncryptionConfigurationCommand";
124129
import {
125130
UpdateFirewallPolicyChangeProtectionCommand,
126131
UpdateFirewallPolicyChangeProtectionCommandInput,
@@ -149,21 +154,21 @@ import {
149154
import { NetworkFirewallClient } from "./NetworkFirewallClient";
150155

151156
/**
152-
* <p>This is the API Reference for AWS Network Firewall. This guide is for developers who need
157+
* <p>This is the API Reference for Network Firewall. This guide is for developers who need
153158
* detailed information about the Network Firewall API actions, data types, and errors. </p>
154159
* <ul>
155160
* <li>
156161
* <p>The REST API requires you to handle connection details, such as calculating
157162
* signatures, handling request retries, and error handling. For general information
158-
* about using the AWS REST APIs, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-apis.html">AWS APIs</a>. </p>
163+
* 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>
159164
* <p>To access Network Firewall using the REST API endpoint:
160165
* <code>https://network-firewall.<region>.amazonaws.com </code>
161166
* </p>
162167
* </li>
163168
* <li>
164-
* <p>Alternatively, you can use one of the AWS SDKs to access an API that's tailored to
169+
* <p>Alternatively, you can use one of the Amazon Web Services SDKs to access an API that's tailored to
165170
* the programming language or platform that you're using. For more information, see
166-
* <a href="http://aws.amazon.com/tools/#SDKs">AWS SDKs</a>.</p>
171+
* <a href="http://aws.amazon.com/tools/#SDKs">Amazon Web Services SDKs</a>.</p>
167172
* </li>
168173
* <li>
169174
* <p>For descriptions of Network Firewall features, including and step-by-step
@@ -174,15 +179,15 @@ import { NetworkFirewallClient } from "./NetworkFirewallClient";
174179
* <p>Network Firewall is a stateful, managed, network firewall and intrusion detection and
175180
* prevention service for Amazon Virtual Private Cloud (Amazon VPC). With Network Firewall, you can filter traffic at the
176181
* perimeter of your VPC. This includes filtering traffic going to and coming from an internet
177-
* gateway, NAT gateway, or over VPN or AWS Direct Connect. Network Firewall uses rules that are compatible
182+
* gateway, NAT gateway, or over VPN or Direct Connect. Network Firewall uses rules that are compatible
178183
* with Suricata, a free, open source intrusion detection system (IDS) engine.
179-
* AWS Network Firewall supports Suricata version 5.0.2. For information about Suricata,
184+
* Network Firewall supports Suricata version 5.0.2. For information about Suricata,
180185
* see the <a href="https://suricata-ids.org/">Suricata website</a>.</p>
181186
* <p>You can use Network Firewall to monitor and protect your VPC traffic in a number of ways.
182187
* The following are just a few examples: </p>
183188
* <ul>
184189
* <li>
185-
* <p>Allow domains or IP addresses for known AWS service endpoints, such as Amazon S3, and
190+
* <p>Allow domains or IP addresses for known Amazon Web Services service endpoints, such as Amazon S3, and
186191
* block all other forms of traffic.</p>
187192
* </li>
188193
* <li>
@@ -268,7 +273,7 @@ export class NetworkFirewall extends NetworkFirewallClient {
268273
/**
269274
* <p>Associates the specified subnets in the Amazon VPC to the firewall. You can specify one
270275
* subnet for each of the Availability Zones that the VPC spans. </p>
271-
* <p>This request creates an AWS Network Firewall firewall endpoint in each of the subnets. To
276+
* <p>This request creates an Network Firewall firewall endpoint in each of the subnets. To
272277
* enable the firewall's protections, you must also modify the VPC's route tables for each
273278
* subnet's Availability Zone, to redirect the traffic that's coming into and going out of the
274279
* zone through the firewall endpoint. </p>
@@ -303,12 +308,12 @@ export class NetworkFirewall extends NetworkFirewallClient {
303308
}
304309

305310
/**
306-
* <p>Creates an AWS Network Firewall <a>Firewall</a> and accompanying <a>FirewallStatus</a> for a VPC. </p>
307-
* <p>The firewall defines the configuration settings for an AWS 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 AWS resource. </p>
311+
* <p>Creates an Network Firewall <a>Firewall</a> and accompanying <a>FirewallStatus</a> for a VPC. </p>
312+
* <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>
308313
* <p>After you create a firewall, you can provide additional settings, like the logging configuration. </p>
309314
* <p>To update the settings for a firewall, you use the operations that apply to the settings
310315
* themselves, for example <a>UpdateLoggingConfiguration</a>, <a>AssociateSubnets</a>, and <a>UpdateFirewallDeleteProtection</a>. </p>
311-
* <p>To manage a firewall's tags, use the standard AWS resource tagging operations, <a>ListTagsForResource</a>, <a>TagResource</a>, and <a>UntagResource</a>.</p>
316+
* <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>
312317
* <p>To retrieve information about firewalls, use <a>ListFirewalls</a> and <a>DescribeFirewall</a>.</p>
313318
*/
314319
public createFirewall(
@@ -342,7 +347,7 @@ export class NetworkFirewall extends NetworkFirewallClient {
342347

343348
/**
344349
* <p>Creates the firewall policy for the firewall according to the specifications. </p>
345-
* <p>An AWS Network Firewall firewall policy defines the behavior of a firewall, in a collection of
350+
* <p>An Network Firewall firewall policy defines the behavior of a firewall, in a collection of
346351
* stateless and stateful rule groups and other settings. You can use one firewall policy for
347352
* multiple firewalls. </p>
348353
*/
@@ -885,9 +890,9 @@ export class NetworkFirewall extends NetworkFirewallClient {
885890
* <p>Retrieves the tags associated with the specified resource. Tags are key:value pairs that
886891
* you can use to categorize and manage your resources, for purposes like billing. For
887892
* example, you might set the tag key to "customer" and the value to the customer name or ID.
888-
* You can specify one or more tags to add to each AWS resource, up to 50 tags for a
893+
* You can specify one or more tags to add to each Amazon Web Services resource, up to 50 tags for a
889894
* resource.</p>
890-
* <p>You can tag the AWS resources that you manage through AWS Network Firewall: firewalls, firewall
895+
* <p>You can tag the Amazon Web Services resources that you manage through Network Firewall: firewalls, firewall
891896
* policies, and rule groups. </p>
892897
*/
893898
public listTagsForResource(
@@ -920,7 +925,7 @@ export class NetworkFirewall extends NetworkFirewallClient {
920925
}
921926

922927
/**
923-
* <p>Creates or updates an AWS Identity and Access Management 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 AWS Resource Access Manager (RAM) service
928+
* <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
924929
* to manage resource sharing for Network Firewall. </p>
925930
* <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>
926931
* <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>
@@ -934,7 +939,7 @@ export class NetworkFirewall extends NetworkFirewallClient {
934939
* <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>
935940
* </li>
936941
* </ul>
937-
* <p>For additional information about resource sharing using RAM, see <a href="https://docs.aws.amazon.com/ram/latest/userguide/what-is.html">AWS Resource Access Manager User Guide</a>.</p>
942+
* <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>
938943
*/
939944
public putResourcePolicy(
940945
args: PutResourcePolicyCommandInput,
@@ -969,8 +974,8 @@ export class NetworkFirewall extends NetworkFirewallClient {
969974
* <p>Adds the specified tags to the specified resource. Tags are key:value pairs that you can
970975
* use to categorize and manage your resources, for purposes like billing. For example, you
971976
* might set the tag key to "customer" and the value to the customer name or ID. You can
972-
* specify one or more tags to add to each AWS resource, up to 50 tags for a resource.</p>
973-
* <p>You can tag the AWS resources that you manage through AWS Network Firewall: firewalls, firewall
977+
* specify one or more tags to add to each Amazon Web Services resource, up to 50 tags for a resource.</p>
978+
* <p>You can tag the Amazon Web Services resources that you manage through Network Firewall: firewalls, firewall
974979
* policies, and rule groups. </p>
975980
*/
976981
public tagResource(args: TagResourceCommandInput, options?: __HttpHandlerOptions): Promise<TagResourceCommandOutput>;
@@ -1000,9 +1005,9 @@ export class NetworkFirewall extends NetworkFirewallClient {
10001005
* <p>Removes the tags with the specified keys from the specified resource. Tags are key:value
10011006
* pairs that you can use to categorize and manage your resources, for purposes like billing.
10021007
* For example, you might set the tag key to "customer" and the value to the customer name or
1003-
* ID. You can specify one or more tags to add to each AWS resource, up to 50 tags for a
1008+
* ID. You can specify one or more tags to add to each Amazon Web Services resource, up to 50 tags for a
10041009
* resource.</p>
1005-
* <p>You can manage tags for the AWS resources that you manage through AWS Network Firewall:
1010+
* <p>You can manage tags for the Amazon Web Services resources that you manage through Network Firewall:
10061011
* firewalls, firewall policies, and rule groups. </p>
10071012
*/
10081013
public untagResource(
@@ -1102,6 +1107,40 @@ export class NetworkFirewall extends NetworkFirewallClient {
11021107
}
11031108
}
11041109

1110+
/**
1111+
* <p>A complex type that contains settings for encryption of your firewall resources.</p>
1112+
*/
1113+
public updateFirewallEncryptionConfiguration(
1114+
args: UpdateFirewallEncryptionConfigurationCommandInput,
1115+
options?: __HttpHandlerOptions
1116+
): Promise<UpdateFirewallEncryptionConfigurationCommandOutput>;
1117+
public updateFirewallEncryptionConfiguration(
1118+
args: UpdateFirewallEncryptionConfigurationCommandInput,
1119+
cb: (err: any, data?: UpdateFirewallEncryptionConfigurationCommandOutput) => void
1120+
): void;
1121+
public updateFirewallEncryptionConfiguration(
1122+
args: UpdateFirewallEncryptionConfigurationCommandInput,
1123+
options: __HttpHandlerOptions,
1124+
cb: (err: any, data?: UpdateFirewallEncryptionConfigurationCommandOutput) => void
1125+
): void;
1126+
public updateFirewallEncryptionConfiguration(
1127+
args: UpdateFirewallEncryptionConfigurationCommandInput,
1128+
optionsOrCb?:
1129+
| __HttpHandlerOptions
1130+
| ((err: any, data?: UpdateFirewallEncryptionConfigurationCommandOutput) => void),
1131+
cb?: (err: any, data?: UpdateFirewallEncryptionConfigurationCommandOutput) => void
1132+
): Promise<UpdateFirewallEncryptionConfigurationCommandOutput> | void {
1133+
const command = new UpdateFirewallEncryptionConfigurationCommand(args);
1134+
if (typeof optionsOrCb === "function") {
1135+
this.send(command, optionsOrCb);
1136+
} else if (typeof cb === "function") {
1137+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
1138+
this.send(command, optionsOrCb || {}, cb);
1139+
} else {
1140+
return this.send(command, optionsOrCb);
1141+
}
1142+
}
1143+
11051144
/**
11061145
* <p>Updates the properties of the specified firewall policy.</p>
11071146
*/

0 commit comments

Comments
 (0)