You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(client-ec2): This launch allows customers to associate up to 8 IP addresses to their NAT Gateways to increase the limit on concurrent connections to a single destination by eight times from 55K to 440K.
Copy file name to clipboardExpand all lines: clients/client-ec2/src/EC2.ts
+163Lines changed: 163 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -71,6 +71,11 @@ import {
71
71
AssignPrivateIpAddressesCommandInput,
72
72
AssignPrivateIpAddressesCommandOutput,
73
73
} from "./commands/AssignPrivateIpAddressesCommand";
74
+
import {
75
+
AssignPrivateNatGatewayAddressCommand,
76
+
AssignPrivateNatGatewayAddressCommandInput,
77
+
AssignPrivateNatGatewayAddressCommandOutput,
78
+
} from "./commands/AssignPrivateNatGatewayAddressCommand";
74
79
import {
75
80
AssociateAddressCommand,
76
81
AssociateAddressCommandInput,
@@ -106,6 +111,11 @@ import {
106
111
AssociateIpamResourceDiscoveryCommandInput,
107
112
AssociateIpamResourceDiscoveryCommandOutput,
108
113
} from "./commands/AssociateIpamResourceDiscoveryCommand";
114
+
import {
115
+
AssociateNatGatewayAddressCommand,
116
+
AssociateNatGatewayAddressCommandInput,
117
+
AssociateNatGatewayAddressCommandOutput,
118
+
} from "./commands/AssociateNatGatewayAddressCommand";
109
119
import {
110
120
AssociateRouteTableCommand,
111
121
AssociateRouteTableCommandInput,
@@ -1862,6 +1872,11 @@ import {
1862
1872
DisassociateIpamResourceDiscoveryCommandInput,
1863
1873
DisassociateIpamResourceDiscoveryCommandOutput,
1864
1874
} from "./commands/DisassociateIpamResourceDiscoveryCommand";
1875
+
import {
1876
+
DisassociateNatGatewayAddressCommand,
1877
+
DisassociateNatGatewayAddressCommandInput,
1878
+
DisassociateNatGatewayAddressCommandOutput,
1879
+
} from "./commands/DisassociateNatGatewayAddressCommand";
1865
1880
import {
1866
1881
DisassociateRouteTableCommand,
1867
1882
DisassociateRouteTableCommandInput,
@@ -2842,6 +2857,11 @@ import {
2842
2857
UnassignPrivateIpAddressesCommandInput,
2843
2858
UnassignPrivateIpAddressesCommandOutput,
2844
2859
} from "./commands/UnassignPrivateIpAddressesCommand";
2860
+
import {
2861
+
UnassignPrivateNatGatewayAddressCommand,
2862
+
UnassignPrivateNatGatewayAddressCommandInput,
2863
+
UnassignPrivateNatGatewayAddressCommandOutput,
2864
+
} from "./commands/UnassignPrivateNatGatewayAddressCommand";
2845
2865
import {
2846
2866
UnmonitorInstancesCommand,
2847
2867
UnmonitorInstancesCommandInput,
@@ -3410,6 +3430,38 @@ export class EC2 extends EC2Client {
3410
3430
}
3411
3431
}
3412
3432
3433
+
/**
3434
+
* <p>Assigns one or more private IPv4 addresses to a private NAT gateway. For more information, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-working-with">Work with NAT gateways</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p>
const command = new AssignPrivateNatGatewayAddressCommand(args);
3455
+
if (typeof optionsOrCb === "function") {
3456
+
this.send(command, optionsOrCb);
3457
+
} else if (typeof cb === "function") {
3458
+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
3459
+
this.send(command, optionsOrCb || {}, cb);
3460
+
} else {
3461
+
return this.send(command, optionsOrCb);
3462
+
}
3463
+
}
3464
+
3413
3465
/**
3414
3466
* <p>Associates an Elastic IP address, or carrier IP address (for instances that are in
3415
3467
* subnets in Wavelength Zones) with an instance or a network interface. Before you can use an
@@ -3681,6 +3733,39 @@ export class EC2 extends EC2Client {
3681
3733
}
3682
3734
}
3683
3735
3736
+
/**
3737
+
* <p>Associates Elastic IP addresses (EIPs) and private IPv4 addresses with a public NAT gateway. For more information, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-working-with">Work with NAT gateways</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p>
3738
+
* <p>By default, you can associate up to 2 Elastic IP addresses per public NAT gateway. You can increase the limit by requesting a quota adjustment. For more information, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html#vpc-limits-eips">Elastic IP address quotas</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p>
const command = new AssociateNatGatewayAddressCommand(args);
3759
+
if (typeof optionsOrCb === "function") {
3760
+
this.send(command, optionsOrCb);
3761
+
} else if (typeof cb === "function") {
3762
+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
3763
+
this.send(command, optionsOrCb || {}, cb);
3764
+
} else {
3765
+
return this.send(command, optionsOrCb);
3766
+
}
3767
+
}
3768
+
3684
3769
/**
3685
3770
* <p>Associates a subnet in your VPC or an internet gateway or virtual private gateway
3686
3771
* attached to your VPC with a route table in your VPC. This association causes traffic
@@ -16547,6 +16632,44 @@ export class EC2 extends EC2Client {
16547
16632
}
16548
16633
}
16549
16634
16635
+
/**
16636
+
* <p>Disassociates secondary Elastic IP addresses (EIPs) from a public NAT gateway. You cannot disassociate your primary EIP. For more information, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-edit-secondary">Edit secondary IP address associations</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p>
16637
+
* <p>While disassociating is in progress, you cannot associate/disassociate additional EIPs while the connections are being drained. You are, however, allowed to delete the NAT gateway.</p>
16638
+
* <p>An EIP will only be released at the end of MaxDrainDurationSeconds. The EIPs stay
16639
+
* associated and support the existing connections but do not support any new connections
16640
+
* (new connections are distributed across the remaining associated EIPs). As the existing
16641
+
* connections drain out, the EIPs (and the corresponding private IPs mapped to them) get
const command = new DisassociateNatGatewayAddressCommand(args);
16663
+
if (typeof optionsOrCb === "function") {
16664
+
this.send(command, optionsOrCb);
16665
+
} else if (typeof cb === "function") {
16666
+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
16667
+
this.send(command, optionsOrCb || {}, cb);
16668
+
} else {
16669
+
return this.send(command, optionsOrCb);
16670
+
}
16671
+
}
16672
+
16550
16673
/**
16551
16674
* <p>Disassociates a subnet or gateway from a route table.</p>
16552
16675
* <p>After you perform this action, the subnet no longer uses the routes in the route table.
@@ -23985,6 +24108,46 @@ export class EC2 extends EC2Client {
23985
24108
}
23986
24109
}
23987
24110
24111
+
/**
24112
+
* <p>Unassigns secondary private NAT gateway IPv4 addresses from a private NAT gateway. You cannot unassign your primary private IP. For more information, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-edit-secondary">Edit secondary IP address associations</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p>
24113
+
* <p>While unassigning is in progress, you cannot assign/unassign additional IP addresses while the connections are being drained. You are, however, allowed to delete the NAT gateway.</p>
24114
+
* <p>A private IP address will only be released at the end of MaxDrainDurationSeconds. The
24115
+
* private IP addresses stay associated and support the existing connections but do not
24116
+
* support any new connections (new connections are distributed across the remaining
24117
+
* assigned private IP address). After the existing connections drain out, the private IP
const command = new UnassignPrivateNatGatewayAddressCommand(args);
24141
+
if (typeof optionsOrCb === "function") {
24142
+
this.send(command, optionsOrCb);
24143
+
} else if (typeof cb === "function") {
24144
+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
24145
+
this.send(command, optionsOrCb || {}, cb);
24146
+
} else {
24147
+
return this.send(command, optionsOrCb);
24148
+
}
24149
+
}
24150
+
23988
24151
/**
23989
24152
* <p>Disables detailed monitoring for a running instance. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html">Monitoring
0 commit comments