Skip to content

Commit 7d70b06

Browse files
author
awstools
committed
feat(client-ec2): This release adds support to view Network firewall proxy appliances attached to an existing NAT Gateway via DescribeNatGateways API NatGatewayAttachedAppliance structure.
1 parent e43ff44 commit 7d70b06

File tree

15 files changed

+580
-212
lines changed

15 files changed

+580
-212
lines changed

clients/client-ec2/src/commands/CreateNatGatewayCommand.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,17 @@ export interface CreateNatGatewayCommandOutput extends CreateNatGatewayResult, _
136136
* // AvailabilityMode: "zonal" || "regional",
137137
* // AutoScalingIps: "enabled" || "disabled",
138138
* // AutoProvisionZones: "enabled" || "disabled",
139+
* // AttachedAppliances: [ // NatGatewayAttachedApplianceList
140+
* // { // NatGatewayAttachedAppliance
141+
* // Type: "network-firewall-proxy",
142+
* // ApplianceArn: "STRING_VALUE",
143+
* // VpcEndpointId: "STRING_VALUE",
144+
* // AttachmentState: "attaching" || "attached" || "detaching" || "detached" || "attach-failed" || "detach-failed",
145+
* // ModificationState: "modifying" || "completed" || "failed",
146+
* // FailureCode: "STRING_VALUE",
147+
* // FailureMessage: "STRING_VALUE",
148+
* // },
149+
* // ],
139150
* // RouteTableId: "STRING_VALUE",
140151
* // },
141152
* // };

clients/client-ec2/src/commands/DeleteTransitGatewayPolicyTableCommand.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types";
55

66
import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client";
77
import { commonParams } from "../endpoint/EndpointParameters";
8-
import { DeleteTransitGatewayPolicyTableRequest, DeleteTransitGatewayPolicyTableResult } from "../models/models_2";
8+
import { DeleteTransitGatewayPolicyTableRequest } from "../models/models_2";
9+
import { DeleteTransitGatewayPolicyTableResult } from "../models/models_3";
910
import { DeleteTransitGatewayPolicyTable } from "../schemas/schemas_0";
1011

1112
/**

clients/client-ec2/src/commands/DescribeNatGatewaysCommand.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,17 @@ export interface DescribeNatGatewaysCommandOutput extends DescribeNatGatewaysRes
9898
* // AvailabilityMode: "zonal" || "regional",
9999
* // AutoScalingIps: "enabled" || "disabled",
100100
* // AutoProvisionZones: "enabled" || "disabled",
101+
* // AttachedAppliances: [ // NatGatewayAttachedApplianceList
102+
* // { // NatGatewayAttachedAppliance
103+
* // Type: "network-firewall-proxy",
104+
* // ApplianceArn: "STRING_VALUE",
105+
* // VpcEndpointId: "STRING_VALUE",
106+
* // AttachmentState: "attaching" || "attached" || "detaching" || "detached" || "attach-failed" || "detach-failed",
107+
* // ModificationState: "modifying" || "completed" || "failed",
108+
* // FailureCode: "STRING_VALUE",
109+
* // FailureMessage: "STRING_VALUE",
110+
* // },
111+
* // ],
101112
* // RouteTableId: "STRING_VALUE",
102113
* // },
103114
* // ],

clients/client-ec2/src/commands/GetIpamAddressHistoryCommand.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types";
55

66
import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client";
77
import { commonParams } from "../endpoint/EndpointParameters";
8-
import { GetIpamAddressHistoryRequest } from "../models/models_5";
9-
import { GetIpamAddressHistoryResult } from "../models/models_6";
8+
import { GetIpamAddressHistoryRequest, GetIpamAddressHistoryResult } from "../models/models_6";
109
import { GetIpamAddressHistory } from "../schemas/schemas_0";
1110

1211
/**

clients/client-ec2/src/commands/ModifyVerifiedAccessTrustProviderCommand.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types";
55

66
import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client";
77
import { commonParams } from "../endpoint/EndpointParameters";
8-
import { ModifyVerifiedAccessTrustProviderRequest } from "../models/models_6";
9-
import { ModifyVerifiedAccessTrustProviderResult } from "../models/models_7";
8+
import { ModifyVerifiedAccessTrustProviderRequest, ModifyVerifiedAccessTrustProviderResult } from "../models/models_7";
109
import { ModifyVerifiedAccessTrustProvider } from "../schemas/schemas_0";
1110

1211
/**

clients/client-ec2/src/models/enums.ts

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3860,6 +3860,50 @@ export const ConnectivityType = {
38603860
*/
38613861
export type ConnectivityType = (typeof ConnectivityType)[keyof typeof ConnectivityType];
38623862

3863+
/**
3864+
* @public
3865+
* @enum
3866+
*/
3867+
export const NatGatewayApplianceState = {
3868+
ATTACHED: "attached",
3869+
ATTACHING: "attaching",
3870+
ATTACH_FAILED: "attach-failed",
3871+
DETACHED: "detached",
3872+
DETACHING: "detaching",
3873+
DETACH_FAILED: "detach-failed",
3874+
} as const;
3875+
/**
3876+
* @public
3877+
*/
3878+
export type NatGatewayApplianceState = (typeof NatGatewayApplianceState)[keyof typeof NatGatewayApplianceState];
3879+
3880+
/**
3881+
* @public
3882+
* @enum
3883+
*/
3884+
export const NatGatewayApplianceModifyState = {
3885+
COMPLETED: "completed",
3886+
FAILED: "failed",
3887+
MODIFYING: "modifying",
3888+
} as const;
3889+
/**
3890+
* @public
3891+
*/
3892+
export type NatGatewayApplianceModifyState =
3893+
(typeof NatGatewayApplianceModifyState)[keyof typeof NatGatewayApplianceModifyState];
3894+
3895+
/**
3896+
* @public
3897+
* @enum
3898+
*/
3899+
export const NatGatewayApplianceType = {
3900+
NETWORK_FIREWALL_PROXY: "network-firewall-proxy",
3901+
} as const;
3902+
/**
3903+
* @public
3904+
*/
3905+
export type NatGatewayApplianceType = (typeof NatGatewayApplianceType)[keyof typeof NatGatewayApplianceType];
3906+
38633907
/**
38643908
* @public
38653909
* @enum

clients/client-ec2/src/models/models_1.ts

Lines changed: 57 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import {
1818
CopyTagsFromSource,
1919
CpuManufacturer,
2020
CurrencyCodeValues,
21-
DatafeedSubscriptionState,
2221
DefaultTargetCapacityType,
2322
DestinationFileFormat,
2423
DiskImageFormat,
@@ -77,6 +76,9 @@ import {
7776
LogDestinationType,
7877
MacSystemIntegrityProtectionSettingStatus,
7978
MarketType,
79+
NatGatewayApplianceModifyState,
80+
NatGatewayApplianceState,
81+
NatGatewayApplianceType,
8082
NatGatewayState,
8183
NetworkInterfaceCreationType,
8284
NetworkInterfacePermissionStateCode,
@@ -10631,6 +10633,54 @@ export interface CreateNatGatewayRequest {
1063110633
SecondaryPrivateIpAddressCount?: number | undefined;
1063210634
}
1063310635

10636+
/**
10637+
* <p>Information about an appliance attached to a NAT Gateway, providing managed security solutions for traffic filtering and inspection.</p>
10638+
* @public
10639+
*/
10640+
export interface NatGatewayAttachedAppliance {
10641+
/**
10642+
* <p>The type of appliance attached to the NAT Gateway. For network firewall proxy functionality, this will be "network-firewall-proxy".</p>
10643+
* @public
10644+
*/
10645+
Type?: NatGatewayApplianceType | undefined;
10646+
10647+
/**
10648+
* <p>The Amazon Resource Name (ARN) of the attached appliance, identifying the specific proxy or security appliance resource.</p>
10649+
* @public
10650+
*/
10651+
ApplianceArn?: string | undefined;
10652+
10653+
/**
10654+
* <p>The VPC endpoint ID used to route traffic from application VPCs to the proxy for inspection and filtering.</p>
10655+
* @public
10656+
*/
10657+
VpcEndpointId?: string | undefined;
10658+
10659+
/**
10660+
* <p>The current attachment state of the appliance.</p>
10661+
* @public
10662+
*/
10663+
AttachmentState?: NatGatewayApplianceState | undefined;
10664+
10665+
/**
10666+
* <p>The current modification state of the appliance.</p>
10667+
* @public
10668+
*/
10669+
ModificationState?: NatGatewayApplianceModifyState | undefined;
10670+
10671+
/**
10672+
* <p>The failure code if the appliance attachment or modification operation failed.</p>
10673+
* @public
10674+
*/
10675+
FailureCode?: string | undefined;
10676+
10677+
/**
10678+
* <p>A descriptive message explaining the failure if the appliance attachment or modification operation failed.</p>
10679+
* @public
10680+
*/
10681+
FailureMessage?: string | undefined;
10682+
}
10683+
1063410684
/**
1063510685
* <p>Reserved. If you need to sustain traffic greater than the <a href="https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html#vpc-limits-gateways">documented limits</a>,
1063610686
* contact Amazon Web Services Support.</p>
@@ -10819,6 +10869,12 @@ export interface NatGateway {
1081910869
*/
1082010870
AutoProvisionZones?: AutoProvisionZonesState | undefined;
1082110871

10872+
/**
10873+
* <p>The proxy appliances attached to the NAT Gateway for filtering and inspecting traffic to prevent data exfiltration.</p>
10874+
* @public
10875+
*/
10876+
AttachedAppliances?: NatGatewayAttachedAppliance[] | undefined;
10877+
1082210878
/**
1082310879
* <p>For regional NAT gateways only, this is the ID of the NAT gateway.</p>
1082410880
* @public
@@ -14274,39 +14330,3 @@ export interface SpotInstanceStateFault {
1427414330
*/
1427514331
Message?: string | undefined;
1427614332
}
14277-
14278-
/**
14279-
* <p>Describes the data feed for a Spot Instance.</p>
14280-
* @public
14281-
*/
14282-
export interface SpotDatafeedSubscription {
14283-
/**
14284-
* <p>The name of the Amazon S3 bucket where the Spot Instance data feed is located.</p>
14285-
* @public
14286-
*/
14287-
Bucket?: string | undefined;
14288-
14289-
/**
14290-
* <p>The fault codes for the Spot Instance request, if any.</p>
14291-
* @public
14292-
*/
14293-
Fault?: SpotInstanceStateFault | undefined;
14294-
14295-
/**
14296-
* <p>The Amazon Web Services account ID of the account.</p>
14297-
* @public
14298-
*/
14299-
OwnerId?: string | undefined;
14300-
14301-
/**
14302-
* <p>The prefix for the data feed files.</p>
14303-
* @public
14304-
*/
14305-
Prefix?: string | undefined;
14306-
14307-
/**
14308-
* <p>The state of the Spot Instance data feed subscription.</p>
14309-
* @public
14310-
*/
14311-
State?: DatafeedSubscriptionState | undefined;
14312-
}

clients/client-ec2/src/models/models_2.ts

Lines changed: 38 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import {
66
BgpStatus,
77
ConnectionNotificationState,
88
ConnectionNotificationType,
9+
DatafeedSubscriptionState,
910
DefaultRouteTableAssociationValue,
1011
DefaultRouteTablePropagationValue,
1112
DeleteFleetErrorCode,
@@ -118,9 +119,45 @@ import {
118119
RouteServer,
119120
RouteServerEndpoint,
120121
RouteServerPeer,
121-
SpotDatafeedSubscription,
122+
SpotInstanceStateFault,
122123
} from "./models_1";
123124

125+
/**
126+
* <p>Describes the data feed for a Spot Instance.</p>
127+
* @public
128+
*/
129+
export interface SpotDatafeedSubscription {
130+
/**
131+
* <p>The name of the Amazon S3 bucket where the Spot Instance data feed is located.</p>
132+
* @public
133+
*/
134+
Bucket?: string | undefined;
135+
136+
/**
137+
* <p>The fault codes for the Spot Instance request, if any.</p>
138+
* @public
139+
*/
140+
Fault?: SpotInstanceStateFault | undefined;
141+
142+
/**
143+
* <p>The Amazon Web Services account ID of the account.</p>
144+
* @public
145+
*/
146+
OwnerId?: string | undefined;
147+
148+
/**
149+
* <p>The prefix for the data feed files.</p>
150+
* @public
151+
*/
152+
Prefix?: string | undefined;
153+
154+
/**
155+
* <p>The state of the Spot Instance data feed subscription.</p>
156+
* @public
157+
*/
158+
State?: DatafeedSubscriptionState | undefined;
159+
}
160+
124161
/**
125162
* <p>Contains the output of CreateSpotDatafeedSubscription.</p>
126163
* @public
@@ -8943,14 +8980,3 @@ export interface DeleteTransitGatewayPolicyTableRequest {
89438980
*/
89448981
DryRun?: boolean | undefined;
89458982
}
8946-
8947-
/**
8948-
* @public
8949-
*/
8950-
export interface DeleteTransitGatewayPolicyTableResult {
8951-
/**
8952-
* <p>Provides details about the deleted transit gateway policy table.</p>
8953-
* @public
8954-
*/
8955-
TransitGatewayPolicyTable?: TransitGatewayPolicyTable | undefined;
8956-
}

clients/client-ec2/src/models/models_3.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ import {
140140
} from "./models_1";
141141

142142
import {
143+
TransitGatewayPolicyTable,
143144
TransitGatewayPrefixListReference,
144145
TransitGatewayRoute,
145146
TransitGatewayRouteTable,
@@ -149,6 +150,17 @@ import {
149150
VpcBlockPublicAccessExclusion,
150151
} from "./models_2";
151152

153+
/**
154+
* @public
155+
*/
156+
export interface DeleteTransitGatewayPolicyTableResult {
157+
/**
158+
* <p>Provides details about the deleted transit gateway policy table.</p>
159+
* @public
160+
*/
161+
TransitGatewayPolicyTable?: TransitGatewayPolicyTable | undefined;
162+
}
163+
152164
/**
153165
* @public
154166
*/
@@ -12394,15 +12406,3 @@ export interface InstanceIpv4Prefix {
1239412406
*/
1239512407
Ipv4Prefix?: string | undefined;
1239612408
}
12397-
12398-
/**
12399-
* <p>Information about an IPv6 prefix.</p>
12400-
* @public
12401-
*/
12402-
export interface InstanceIpv6Prefix {
12403-
/**
12404-
* <p>One or more IPv6 prefixes assigned to the network interface.</p>
12405-
* @public
12406-
*/
12407-
Ipv6Prefix?: string | undefined;
12408-
}

0 commit comments

Comments
 (0)