Skip to content

Commit 0eb20e8

Browse files
author
awstools
committed
feat(client-network-firewall): Network Firewall release of the Proxy feature.
1 parent 75e196e commit 0eb20e8

34 files changed

+16142
-6568
lines changed

clients/client-network-firewall/README.md

Lines changed: 183 additions & 7 deletions
Large diffs are not rendered by default.

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

Lines changed: 465 additions & 0 deletions
Large diffs are not rendered by default.

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

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,25 @@ import {
7070
AssociateFirewallPolicyCommandOutput,
7171
} from "./commands/AssociateFirewallPolicyCommand";
7272
import { AssociateSubnetsCommandInput, AssociateSubnetsCommandOutput } from "./commands/AssociateSubnetsCommand";
73+
import {
74+
AttachRuleGroupsToProxyConfigurationCommandInput,
75+
AttachRuleGroupsToProxyConfigurationCommandOutput,
76+
} from "./commands/AttachRuleGroupsToProxyConfigurationCommand";
7377
import { CreateFirewallCommandInput, CreateFirewallCommandOutput } from "./commands/CreateFirewallCommand";
7478
import {
7579
CreateFirewallPolicyCommandInput,
7680
CreateFirewallPolicyCommandOutput,
7781
} from "./commands/CreateFirewallPolicyCommand";
82+
import { CreateProxyCommandInput, CreateProxyCommandOutput } from "./commands/CreateProxyCommand";
83+
import {
84+
CreateProxyConfigurationCommandInput,
85+
CreateProxyConfigurationCommandOutput,
86+
} from "./commands/CreateProxyConfigurationCommand";
87+
import {
88+
CreateProxyRuleGroupCommandInput,
89+
CreateProxyRuleGroupCommandOutput,
90+
} from "./commands/CreateProxyRuleGroupCommand";
91+
import { CreateProxyRulesCommandInput, CreateProxyRulesCommandOutput } from "./commands/CreateProxyRulesCommand";
7892
import { CreateRuleGroupCommandInput, CreateRuleGroupCommandOutput } from "./commands/CreateRuleGroupCommand";
7993
import {
8094
CreateTLSInspectionConfigurationCommandInput,
@@ -93,6 +107,16 @@ import {
93107
DeleteNetworkFirewallTransitGatewayAttachmentCommandInput,
94108
DeleteNetworkFirewallTransitGatewayAttachmentCommandOutput,
95109
} from "./commands/DeleteNetworkFirewallTransitGatewayAttachmentCommand";
110+
import { DeleteProxyCommandInput, DeleteProxyCommandOutput } from "./commands/DeleteProxyCommand";
111+
import {
112+
DeleteProxyConfigurationCommandInput,
113+
DeleteProxyConfigurationCommandOutput,
114+
} from "./commands/DeleteProxyConfigurationCommand";
115+
import {
116+
DeleteProxyRuleGroupCommandInput,
117+
DeleteProxyRuleGroupCommandOutput,
118+
} from "./commands/DeleteProxyRuleGroupCommand";
119+
import { DeleteProxyRulesCommandInput, DeleteProxyRulesCommandOutput } from "./commands/DeleteProxyRulesCommand";
96120
import {
97121
DeleteResourcePolicyCommandInput,
98122
DeleteResourcePolicyCommandOutput,
@@ -123,6 +147,16 @@ import {
123147
DescribeLoggingConfigurationCommandInput,
124148
DescribeLoggingConfigurationCommandOutput,
125149
} from "./commands/DescribeLoggingConfigurationCommand";
150+
import { DescribeProxyCommandInput, DescribeProxyCommandOutput } from "./commands/DescribeProxyCommand";
151+
import {
152+
DescribeProxyConfigurationCommandInput,
153+
DescribeProxyConfigurationCommandOutput,
154+
} from "./commands/DescribeProxyConfigurationCommand";
155+
import { DescribeProxyRuleCommandInput, DescribeProxyRuleCommandOutput } from "./commands/DescribeProxyRuleCommand";
156+
import {
157+
DescribeProxyRuleGroupCommandInput,
158+
DescribeProxyRuleGroupCommandOutput,
159+
} from "./commands/DescribeProxyRuleGroupCommand";
126160
import {
127161
DescribeResourcePolicyCommandInput,
128162
DescribeResourcePolicyCommandOutput,
@@ -144,6 +178,10 @@ import {
144178
DescribeVpcEndpointAssociationCommandInput,
145179
DescribeVpcEndpointAssociationCommandOutput,
146180
} from "./commands/DescribeVpcEndpointAssociationCommand";
181+
import {
182+
DetachRuleGroupsFromProxyConfigurationCommandInput,
183+
DetachRuleGroupsFromProxyConfigurationCommandOutput,
184+
} from "./commands/DetachRuleGroupsFromProxyConfigurationCommand";
147185
import {
148186
DisassociateAvailabilityZonesCommandInput,
149187
DisassociateAvailabilityZonesCommandOutput,
@@ -170,6 +208,15 @@ import {
170208
ListFlowOperationResultsCommandOutput,
171209
} from "./commands/ListFlowOperationResultsCommand";
172210
import { ListFlowOperationsCommandInput, ListFlowOperationsCommandOutput } from "./commands/ListFlowOperationsCommand";
211+
import { ListProxiesCommandInput, ListProxiesCommandOutput } from "./commands/ListProxiesCommand";
212+
import {
213+
ListProxyConfigurationsCommandInput,
214+
ListProxyConfigurationsCommandOutput,
215+
} from "./commands/ListProxyConfigurationsCommand";
216+
import {
217+
ListProxyRuleGroupsCommandInput,
218+
ListProxyRuleGroupsCommandOutput,
219+
} from "./commands/ListProxyRuleGroupsCommand";
173220
import { ListRuleGroupsCommandInput, ListRuleGroupsCommandOutput } from "./commands/ListRuleGroupsCommand";
174221
import {
175222
ListTagsForResourceCommandInput,
@@ -228,6 +275,20 @@ import {
228275
UpdateLoggingConfigurationCommandInput,
229276
UpdateLoggingConfigurationCommandOutput,
230277
} from "./commands/UpdateLoggingConfigurationCommand";
278+
import { UpdateProxyCommandInput, UpdateProxyCommandOutput } from "./commands/UpdateProxyCommand";
279+
import {
280+
UpdateProxyConfigurationCommandInput,
281+
UpdateProxyConfigurationCommandOutput,
282+
} from "./commands/UpdateProxyConfigurationCommand";
283+
import { UpdateProxyRuleCommandInput, UpdateProxyRuleCommandOutput } from "./commands/UpdateProxyRuleCommand";
284+
import {
285+
UpdateProxyRuleGroupPrioritiesCommandInput,
286+
UpdateProxyRuleGroupPrioritiesCommandOutput,
287+
} from "./commands/UpdateProxyRuleGroupPrioritiesCommand";
288+
import {
289+
UpdateProxyRulePrioritiesCommandInput,
290+
UpdateProxyRulePrioritiesCommandOutput,
291+
} from "./commands/UpdateProxyRulePrioritiesCommand";
231292
import { UpdateRuleGroupCommandInput, UpdateRuleGroupCommandOutput } from "./commands/UpdateRuleGroupCommand";
232293
import {
233294
UpdateSubnetChangeProtectionCommandInput,
@@ -256,14 +317,23 @@ export type ServiceInputTypes =
256317
| AssociateAvailabilityZonesCommandInput
257318
| AssociateFirewallPolicyCommandInput
258319
| AssociateSubnetsCommandInput
320+
| AttachRuleGroupsToProxyConfigurationCommandInput
259321
| CreateFirewallCommandInput
260322
| CreateFirewallPolicyCommandInput
323+
| CreateProxyCommandInput
324+
| CreateProxyConfigurationCommandInput
325+
| CreateProxyRuleGroupCommandInput
326+
| CreateProxyRulesCommandInput
261327
| CreateRuleGroupCommandInput
262328
| CreateTLSInspectionConfigurationCommandInput
263329
| CreateVpcEndpointAssociationCommandInput
264330
| DeleteFirewallCommandInput
265331
| DeleteFirewallPolicyCommandInput
266332
| DeleteNetworkFirewallTransitGatewayAttachmentCommandInput
333+
| DeleteProxyCommandInput
334+
| DeleteProxyConfigurationCommandInput
335+
| DeleteProxyRuleGroupCommandInput
336+
| DeleteProxyRulesCommandInput
267337
| DeleteResourcePolicyCommandInput
268338
| DeleteRuleGroupCommandInput
269339
| DeleteTLSInspectionConfigurationCommandInput
@@ -273,12 +343,17 @@ export type ServiceInputTypes =
273343
| DescribeFirewallPolicyCommandInput
274344
| DescribeFlowOperationCommandInput
275345
| DescribeLoggingConfigurationCommandInput
346+
| DescribeProxyCommandInput
347+
| DescribeProxyConfigurationCommandInput
348+
| DescribeProxyRuleCommandInput
349+
| DescribeProxyRuleGroupCommandInput
276350
| DescribeResourcePolicyCommandInput
277351
| DescribeRuleGroupCommandInput
278352
| DescribeRuleGroupMetadataCommandInput
279353
| DescribeRuleGroupSummaryCommandInput
280354
| DescribeTLSInspectionConfigurationCommandInput
281355
| DescribeVpcEndpointAssociationCommandInput
356+
| DetachRuleGroupsFromProxyConfigurationCommandInput
282357
| DisassociateAvailabilityZonesCommandInput
283358
| DisassociateSubnetsCommandInput
284359
| GetAnalysisReportResultsCommandInput
@@ -287,6 +362,9 @@ export type ServiceInputTypes =
287362
| ListFirewallsCommandInput
288363
| ListFlowOperationResultsCommandInput
289364
| ListFlowOperationsCommandInput
365+
| ListProxiesCommandInput
366+
| ListProxyConfigurationsCommandInput
367+
| ListProxyRuleGroupsCommandInput
290368
| ListRuleGroupsCommandInput
291369
| ListTLSInspectionConfigurationsCommandInput
292370
| ListTagsForResourceCommandInput
@@ -306,6 +384,11 @@ export type ServiceInputTypes =
306384
| UpdateFirewallPolicyChangeProtectionCommandInput
307385
| UpdateFirewallPolicyCommandInput
308386
| UpdateLoggingConfigurationCommandInput
387+
| UpdateProxyCommandInput
388+
| UpdateProxyConfigurationCommandInput
389+
| UpdateProxyRuleCommandInput
390+
| UpdateProxyRuleGroupPrioritiesCommandInput
391+
| UpdateProxyRulePrioritiesCommandInput
309392
| UpdateRuleGroupCommandInput
310393
| UpdateSubnetChangeProtectionCommandInput
311394
| UpdateTLSInspectionConfigurationCommandInput;
@@ -318,14 +401,23 @@ export type ServiceOutputTypes =
318401
| AssociateAvailabilityZonesCommandOutput
319402
| AssociateFirewallPolicyCommandOutput
320403
| AssociateSubnetsCommandOutput
404+
| AttachRuleGroupsToProxyConfigurationCommandOutput
321405
| CreateFirewallCommandOutput
322406
| CreateFirewallPolicyCommandOutput
407+
| CreateProxyCommandOutput
408+
| CreateProxyConfigurationCommandOutput
409+
| CreateProxyRuleGroupCommandOutput
410+
| CreateProxyRulesCommandOutput
323411
| CreateRuleGroupCommandOutput
324412
| CreateTLSInspectionConfigurationCommandOutput
325413
| CreateVpcEndpointAssociationCommandOutput
326414
| DeleteFirewallCommandOutput
327415
| DeleteFirewallPolicyCommandOutput
328416
| DeleteNetworkFirewallTransitGatewayAttachmentCommandOutput
417+
| DeleteProxyCommandOutput
418+
| DeleteProxyConfigurationCommandOutput
419+
| DeleteProxyRuleGroupCommandOutput
420+
| DeleteProxyRulesCommandOutput
329421
| DeleteResourcePolicyCommandOutput
330422
| DeleteRuleGroupCommandOutput
331423
| DeleteTLSInspectionConfigurationCommandOutput
@@ -335,12 +427,17 @@ export type ServiceOutputTypes =
335427
| DescribeFirewallPolicyCommandOutput
336428
| DescribeFlowOperationCommandOutput
337429
| DescribeLoggingConfigurationCommandOutput
430+
| DescribeProxyCommandOutput
431+
| DescribeProxyConfigurationCommandOutput
432+
| DescribeProxyRuleCommandOutput
433+
| DescribeProxyRuleGroupCommandOutput
338434
| DescribeResourcePolicyCommandOutput
339435
| DescribeRuleGroupCommandOutput
340436
| DescribeRuleGroupMetadataCommandOutput
341437
| DescribeRuleGroupSummaryCommandOutput
342438
| DescribeTLSInspectionConfigurationCommandOutput
343439
| DescribeVpcEndpointAssociationCommandOutput
440+
| DetachRuleGroupsFromProxyConfigurationCommandOutput
344441
| DisassociateAvailabilityZonesCommandOutput
345442
| DisassociateSubnetsCommandOutput
346443
| GetAnalysisReportResultsCommandOutput
@@ -349,6 +446,9 @@ export type ServiceOutputTypes =
349446
| ListFirewallsCommandOutput
350447
| ListFlowOperationResultsCommandOutput
351448
| ListFlowOperationsCommandOutput
449+
| ListProxiesCommandOutput
450+
| ListProxyConfigurationsCommandOutput
451+
| ListProxyRuleGroupsCommandOutput
352452
| ListRuleGroupsCommandOutput
353453
| ListTLSInspectionConfigurationsCommandOutput
354454
| ListTagsForResourceCommandOutput
@@ -368,6 +468,11 @@ export type ServiceOutputTypes =
368468
| UpdateFirewallPolicyChangeProtectionCommandOutput
369469
| UpdateFirewallPolicyCommandOutput
370470
| UpdateLoggingConfigurationCommandOutput
471+
| UpdateProxyCommandOutput
472+
| UpdateProxyConfigurationCommandOutput
473+
| UpdateProxyRuleCommandOutput
474+
| UpdateProxyRuleGroupPrioritiesCommandOutput
475+
| UpdateProxyRulePrioritiesCommandOutput
371476
| UpdateRuleGroupCommandOutput
372477
| UpdateSubnetChangeProtectionCommandOutput
373478
| UpdateTLSInspectionConfigurationCommandOutput;
Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
// smithy-typescript generated code
2+
import { getEndpointPlugin } from "@smithy/middleware-endpoint";
3+
import { Command as $Command } from "@smithy/smithy-client";
4+
import { MetadataBearer as __MetadataBearer } from "@smithy/types";
5+
6+
import { commonParams } from "../endpoint/EndpointParameters";
7+
import {
8+
AttachRuleGroupsToProxyConfigurationRequest,
9+
AttachRuleGroupsToProxyConfigurationResponse,
10+
} from "../models/models_0";
11+
import { NetworkFirewallClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../NetworkFirewallClient";
12+
import { AttachRuleGroupsToProxyConfiguration } from "../schemas/schemas_0";
13+
14+
/**
15+
* @public
16+
*/
17+
export type { __MetadataBearer };
18+
export { $Command };
19+
/**
20+
* @public
21+
*
22+
* The input for {@link AttachRuleGroupsToProxyConfigurationCommand}.
23+
*/
24+
export interface AttachRuleGroupsToProxyConfigurationCommandInput extends AttachRuleGroupsToProxyConfigurationRequest {}
25+
/**
26+
* @public
27+
*
28+
* The output of {@link AttachRuleGroupsToProxyConfigurationCommand}.
29+
*/
30+
export interface AttachRuleGroupsToProxyConfigurationCommandOutput
31+
extends AttachRuleGroupsToProxyConfigurationResponse,
32+
__MetadataBearer {}
33+
34+
/**
35+
* <p>Attaches <a>ProxyRuleGroup</a> resources to a <a>ProxyConfiguration</a>
36+
* </p>
37+
* <p>A Proxy Configuration defines the monitoring and protection behavior for a Proxy. The details of the behavior are defined in the rule groups that you add to your configuration. </p>
38+
* @example
39+
* Use a bare-bones client and the command you need to make an API call.
40+
* ```javascript
41+
* import { NetworkFirewallClient, AttachRuleGroupsToProxyConfigurationCommand } from "@aws-sdk/client-network-firewall"; // ES Modules import
42+
* // const { NetworkFirewallClient, AttachRuleGroupsToProxyConfigurationCommand } = require("@aws-sdk/client-network-firewall"); // CommonJS import
43+
* // import type { NetworkFirewallClientConfig } from "@aws-sdk/client-network-firewall";
44+
* const config = {}; // type is NetworkFirewallClientConfig
45+
* const client = new NetworkFirewallClient(config);
46+
* const input = { // AttachRuleGroupsToProxyConfigurationRequest
47+
* ProxyConfigurationName: "STRING_VALUE",
48+
* ProxyConfigurationArn: "STRING_VALUE",
49+
* RuleGroups: [ // ProxyRuleGroupAttachmentList // required
50+
* { // ProxyRuleGroupAttachment
51+
* ProxyRuleGroupName: "STRING_VALUE",
52+
* InsertPosition: Number("int"),
53+
* },
54+
* ],
55+
* UpdateToken: "STRING_VALUE", // required
56+
* };
57+
* const command = new AttachRuleGroupsToProxyConfigurationCommand(input);
58+
* const response = await client.send(command);
59+
* // { // AttachRuleGroupsToProxyConfigurationResponse
60+
* // ProxyConfiguration: { // ProxyConfiguration
61+
* // ProxyConfigurationName: "STRING_VALUE",
62+
* // ProxyConfigurationArn: "STRING_VALUE",
63+
* // Description: "STRING_VALUE",
64+
* // CreateTime: new Date("TIMESTAMP"),
65+
* // DeleteTime: new Date("TIMESTAMP"),
66+
* // RuleGroups: [ // ProxyConfigRuleGroupSet
67+
* // { // ProxyConfigRuleGroup
68+
* // ProxyRuleGroupName: "STRING_VALUE",
69+
* // ProxyRuleGroupArn: "STRING_VALUE",
70+
* // Type: "STRING_VALUE",
71+
* // Priority: Number("int"),
72+
* // },
73+
* // ],
74+
* // DefaultRulePhaseActions: { // ProxyConfigDefaultRulePhaseActionsRequest
75+
* // PreDNS: "ALLOW" || "DENY" || "ALERT",
76+
* // PreREQUEST: "ALLOW" || "DENY" || "ALERT",
77+
* // PostRESPONSE: "ALLOW" || "DENY" || "ALERT",
78+
* // },
79+
* // Tags: [ // TagList
80+
* // { // Tag
81+
* // Key: "STRING_VALUE", // required
82+
* // Value: "STRING_VALUE", // required
83+
* // },
84+
* // ],
85+
* // },
86+
* // UpdateToken: "STRING_VALUE",
87+
* // };
88+
*
89+
* ```
90+
*
91+
* @param AttachRuleGroupsToProxyConfigurationCommandInput - {@link AttachRuleGroupsToProxyConfigurationCommandInput}
92+
* @returns {@link AttachRuleGroupsToProxyConfigurationCommandOutput}
93+
* @see {@link AttachRuleGroupsToProxyConfigurationCommandInput} for command's `input` shape.
94+
* @see {@link AttachRuleGroupsToProxyConfigurationCommandOutput} for command's `response` shape.
95+
* @see {@link NetworkFirewallClientResolvedConfig | config} for NetworkFirewallClient's `config` shape.
96+
*
97+
* @throws {@link InternalServerError} (server fault)
98+
* <p>Your request is valid, but Network Firewall couldn't perform the operation because of a
99+
* system problem. Retry your request. </p>
100+
*
101+
* @throws {@link InvalidRequestException} (client fault)
102+
* <p>The operation failed because of a problem with your request. Examples include: </p>
103+
* <ul>
104+
* <li>
105+
* <p>You specified an unsupported parameter name or value.</p>
106+
* </li>
107+
* <li>
108+
* <p>You tried to update a property with a value that isn't among the available
109+
* types.</p>
110+
* </li>
111+
* <li>
112+
* <p>Your request references an ARN that is malformed, or corresponds to a resource
113+
* that isn't valid in the context of the request.</p>
114+
* </li>
115+
* </ul>
116+
*
117+
* @throws {@link ResourceNotFoundException} (client fault)
118+
* <p>Unable to locate a resource using the parameters that you provided.</p>
119+
*
120+
* @throws {@link ThrottlingException} (client fault)
121+
* <p>Unable to process the request due to throttling limitations.</p>
122+
*
123+
* @throws {@link NetworkFirewallServiceException}
124+
* <p>Base exception class for all service exceptions from NetworkFirewall service.</p>
125+
*
126+
*
127+
* @public
128+
*/
129+
export class AttachRuleGroupsToProxyConfigurationCommand extends $Command
130+
.classBuilder<
131+
AttachRuleGroupsToProxyConfigurationCommandInput,
132+
AttachRuleGroupsToProxyConfigurationCommandOutput,
133+
NetworkFirewallClientResolvedConfig,
134+
ServiceInputTypes,
135+
ServiceOutputTypes
136+
>()
137+
.ep(commonParams)
138+
.m(function (this: any, Command: any, cs: any, config: NetworkFirewallClientResolvedConfig, o: any) {
139+
return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];
140+
})
141+
.s("NetworkFirewall_20201112", "AttachRuleGroupsToProxyConfiguration", {})
142+
.n("NetworkFirewallClient", "AttachRuleGroupsToProxyConfigurationCommand")
143+
.sc(AttachRuleGroupsToProxyConfiguration)
144+
.build() {
145+
/** @internal type navigation helper, not in runtime. */
146+
protected declare static __types: {
147+
api: {
148+
input: AttachRuleGroupsToProxyConfigurationRequest;
149+
output: AttachRuleGroupsToProxyConfigurationResponse;
150+
};
151+
sdk: {
152+
input: AttachRuleGroupsToProxyConfigurationCommandInput;
153+
output: AttachRuleGroupsToProxyConfigurationCommandOutput;
154+
};
155+
};
156+
}

0 commit comments

Comments
 (0)