Skip to content

Commit 555b55d

Browse files
author
awstools
committed
feat(client-elastic-load-balancing-v2): QUIC and TCP_QUIC protocol support for Network Load Balancer (NLB). This capability enables customers to forward QUIC traffic to their targets with ultra-low latency while maintaining session stickiness using QUIC Connection IDs.
1 parent b2a1603 commit 555b55d

File tree

12 files changed

+60
-15
lines changed

12 files changed

+60
-15
lines changed

clients/client-elastic-load-balancing-v2/src/commands/CreateListenerCommand.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ export interface CreateListenerCommandOutput extends CreateListenerOutput, __Met
6666
* const client = new ElasticLoadBalancingV2Client(config);
6767
* const input = { // CreateListenerInput
6868
* LoadBalancerArn: "STRING_VALUE", // required
69-
* Protocol: "HTTP" || "HTTPS" || "TCP" || "TLS" || "UDP" || "TCP_UDP" || "GENEVE",
69+
* Protocol: "HTTP" || "HTTPS" || "TCP" || "TLS" || "UDP" || "TCP_UDP" || "GENEVE" || "QUIC" || "TCP_QUIC",
7070
* Port: Number("int"),
7171
* SslPolicy: "STRING_VALUE",
7272
* Certificates: [ // CertificateList
@@ -173,7 +173,7 @@ export interface CreateListenerCommandOutput extends CreateListenerOutput, __Met
173173
* // ListenerArn: "STRING_VALUE",
174174
* // LoadBalancerArn: "STRING_VALUE",
175175
* // Port: Number("int"),
176-
* // Protocol: "HTTP" || "HTTPS" || "TCP" || "TLS" || "UDP" || "TCP_UDP" || "GENEVE",
176+
* // Protocol: "HTTP" || "HTTPS" || "TCP" || "TLS" || "UDP" || "TCP_UDP" || "GENEVE" || "QUIC" || "TCP_QUIC",
177177
* // Certificates: [ // CertificateList
178178
* // { // Certificate
179179
* // CertificateArn: "STRING_VALUE",

clients/client-elastic-load-balancing-v2/src/commands/CreateTargetGroupCommand.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,11 @@ export interface CreateTargetGroupCommandOutput extends CreateTargetGroupOutput,
6565
* const client = new ElasticLoadBalancingV2Client(config);
6666
* const input = { // CreateTargetGroupInput
6767
* Name: "STRING_VALUE", // required
68-
* Protocol: "HTTP" || "HTTPS" || "TCP" || "TLS" || "UDP" || "TCP_UDP" || "GENEVE",
68+
* Protocol: "HTTP" || "HTTPS" || "TCP" || "TLS" || "UDP" || "TCP_UDP" || "GENEVE" || "QUIC" || "TCP_QUIC",
6969
* ProtocolVersion: "STRING_VALUE",
7070
* Port: Number("int"),
7171
* VpcId: "STRING_VALUE",
72-
* HealthCheckProtocol: "HTTP" || "HTTPS" || "TCP" || "TLS" || "UDP" || "TCP_UDP" || "GENEVE",
72+
* HealthCheckProtocol: "HTTP" || "HTTPS" || "TCP" || "TLS" || "UDP" || "TCP_UDP" || "GENEVE" || "QUIC" || "TCP_QUIC",
7373
* HealthCheckPort: "STRING_VALUE",
7474
* HealthCheckEnabled: true || false,
7575
* HealthCheckPath: "STRING_VALUE",
@@ -97,10 +97,10 @@ export interface CreateTargetGroupCommandOutput extends CreateTargetGroupOutput,
9797
* // { // TargetGroup
9898
* // TargetGroupArn: "STRING_VALUE",
9999
* // TargetGroupName: "STRING_VALUE",
100-
* // Protocol: "HTTP" || "HTTPS" || "TCP" || "TLS" || "UDP" || "TCP_UDP" || "GENEVE",
100+
* // Protocol: "HTTP" || "HTTPS" || "TCP" || "TLS" || "UDP" || "TCP_UDP" || "GENEVE" || "QUIC" || "TCP_QUIC",
101101
* // Port: Number("int"),
102102
* // VpcId: "STRING_VALUE",
103-
* // HealthCheckProtocol: "HTTP" || "HTTPS" || "TCP" || "TLS" || "UDP" || "TCP_UDP" || "GENEVE",
103+
* // HealthCheckProtocol: "HTTP" || "HTTPS" || "TCP" || "TLS" || "UDP" || "TCP_UDP" || "GENEVE" || "QUIC" || "TCP_QUIC",
104104
* // HealthCheckPort: "STRING_VALUE",
105105
* // HealthCheckEnabled: true || false,
106106
* // HealthCheckIntervalSeconds: Number("int"),

clients/client-elastic-load-balancing-v2/src/commands/DeregisterTargetsCommand.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ export interface DeregisterTargetsCommandOutput extends DeregisterTargetsOutput,
7373
* Id: "STRING_VALUE", // required
7474
* Port: Number("int"),
7575
* AvailabilityZone: "STRING_VALUE",
76+
* QuicServerId: "STRING_VALUE",
7677
* },
7778
* ],
7879
* };

clients/client-elastic-load-balancing-v2/src/commands/DescribeListenersCommand.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ export interface DescribeListenersCommandOutput extends DescribeListenersOutput,
5858
* // ListenerArn: "STRING_VALUE",
5959
* // LoadBalancerArn: "STRING_VALUE",
6060
* // Port: Number("int"),
61-
* // Protocol: "HTTP" || "HTTPS" || "TCP" || "TLS" || "UDP" || "TCP_UDP" || "GENEVE",
61+
* // Protocol: "HTTP" || "HTTPS" || "TCP" || "TLS" || "UDP" || "TCP_UDP" || "GENEVE" || "QUIC" || "TCP_QUIC",
6262
* // Certificates: [ // CertificateList
6363
* // { // Certificate
6464
* // CertificateArn: "STRING_VALUE",

clients/client-elastic-load-balancing-v2/src/commands/DescribeTargetGroupsCommand.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,10 @@ export interface DescribeTargetGroupsCommandOutput extends DescribeTargetGroupsO
6161
* // { // TargetGroup
6262
* // TargetGroupArn: "STRING_VALUE",
6363
* // TargetGroupName: "STRING_VALUE",
64-
* // Protocol: "HTTP" || "HTTPS" || "TCP" || "TLS" || "UDP" || "TCP_UDP" || "GENEVE",
64+
* // Protocol: "HTTP" || "HTTPS" || "TCP" || "TLS" || "UDP" || "TCP_UDP" || "GENEVE" || "QUIC" || "TCP_QUIC",
6565
* // Port: Number("int"),
6666
* // VpcId: "STRING_VALUE",
67-
* // HealthCheckProtocol: "HTTP" || "HTTPS" || "TCP" || "TLS" || "UDP" || "TCP_UDP" || "GENEVE",
67+
* // HealthCheckProtocol: "HTTP" || "HTTPS" || "TCP" || "TLS" || "UDP" || "TCP_UDP" || "GENEVE" || "QUIC" || "TCP_QUIC",
6868
* // HealthCheckPort: "STRING_VALUE",
6969
* // HealthCheckEnabled: true || false,
7070
* // HealthCheckIntervalSeconds: Number("int"),

clients/client-elastic-load-balancing-v2/src/commands/DescribeTargetHealthCommand.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ export interface DescribeTargetHealthCommandOutput extends DescribeTargetHealthO
4747
* Id: "STRING_VALUE", // required
4848
* Port: Number("int"),
4949
* AvailabilityZone: "STRING_VALUE",
50+
* QuicServerId: "STRING_VALUE",
5051
* },
5152
* ],
5253
* Include: [ // ListOfDescribeTargetHealthIncludeOptions
@@ -62,6 +63,7 @@ export interface DescribeTargetHealthCommandOutput extends DescribeTargetHealthO
6263
* // Id: "STRING_VALUE", // required
6364
* // Port: Number("int"),
6465
* // AvailabilityZone: "STRING_VALUE",
66+
* // QuicServerId: "STRING_VALUE",
6567
* // },
6668
* // HealthCheckPort: "STRING_VALUE",
6769
* // TargetHealth: { // TargetHealth

clients/client-elastic-load-balancing-v2/src/commands/ModifyListenerCommand.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ export interface ModifyListenerCommandOutput extends ModifyListenerOutput, __Met
5050
* const input = { // ModifyListenerInput
5151
* ListenerArn: "STRING_VALUE", // required
5252
* Port: Number("int"),
53-
* Protocol: "HTTP" || "HTTPS" || "TCP" || "TLS" || "UDP" || "TCP_UDP" || "GENEVE",
53+
* Protocol: "HTTP" || "HTTPS" || "TCP" || "TLS" || "UDP" || "TCP_UDP" || "GENEVE" || "QUIC" || "TCP_QUIC",
5454
* SslPolicy: "STRING_VALUE",
5555
* Certificates: [ // CertificateList
5656
* { // Certificate
@@ -150,7 +150,7 @@ export interface ModifyListenerCommandOutput extends ModifyListenerOutput, __Met
150150
* // ListenerArn: "STRING_VALUE",
151151
* // LoadBalancerArn: "STRING_VALUE",
152152
* // Port: Number("int"),
153-
* // Protocol: "HTTP" || "HTTPS" || "TCP" || "TLS" || "UDP" || "TCP_UDP" || "GENEVE",
153+
* // Protocol: "HTTP" || "HTTPS" || "TCP" || "TLS" || "UDP" || "TCP_UDP" || "GENEVE" || "QUIC" || "TCP_QUIC",
154154
* // Certificates: [ // CertificateList
155155
* // { // Certificate
156156
* // CertificateArn: "STRING_VALUE",

clients/client-elastic-load-balancing-v2/src/commands/ModifyTargetGroupCommand.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ export interface ModifyTargetGroupCommandOutput extends ModifyTargetGroupOutput,
4343
* const client = new ElasticLoadBalancingV2Client(config);
4444
* const input = { // ModifyTargetGroupInput
4545
* TargetGroupArn: "STRING_VALUE", // required
46-
* HealthCheckProtocol: "HTTP" || "HTTPS" || "TCP" || "TLS" || "UDP" || "TCP_UDP" || "GENEVE",
46+
* HealthCheckProtocol: "HTTP" || "HTTPS" || "TCP" || "TLS" || "UDP" || "TCP_UDP" || "GENEVE" || "QUIC" || "TCP_QUIC",
4747
* HealthCheckPort: "STRING_VALUE",
4848
* HealthCheckPath: "STRING_VALUE",
4949
* HealthCheckEnabled: true || false,
@@ -63,10 +63,10 @@ export interface ModifyTargetGroupCommandOutput extends ModifyTargetGroupOutput,
6363
* // { // TargetGroup
6464
* // TargetGroupArn: "STRING_VALUE",
6565
* // TargetGroupName: "STRING_VALUE",
66-
* // Protocol: "HTTP" || "HTTPS" || "TCP" || "TLS" || "UDP" || "TCP_UDP" || "GENEVE",
66+
* // Protocol: "HTTP" || "HTTPS" || "TCP" || "TLS" || "UDP" || "TCP_UDP" || "GENEVE" || "QUIC" || "TCP_QUIC",
6767
* // Port: Number("int"),
6868
* // VpcId: "STRING_VALUE",
69-
* // HealthCheckProtocol: "HTTP" || "HTTPS" || "TCP" || "TLS" || "UDP" || "TCP_UDP" || "GENEVE",
69+
* // HealthCheckProtocol: "HTTP" || "HTTPS" || "TCP" || "TLS" || "UDP" || "TCP_UDP" || "GENEVE" || "QUIC" || "TCP_QUIC",
7070
* // HealthCheckPort: "STRING_VALUE",
7171
* // HealthCheckEnabled: true || false,
7272
* // HealthCheckIntervalSeconds: Number("int"),

clients/client-elastic-load-balancing-v2/src/commands/RegisterTargetsCommand.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ export interface RegisterTargetsCommandOutput extends RegisterTargetsOutput, __M
7474
* Id: "STRING_VALUE", // required
7575
* Port: Number("int"),
7676
* AvailabilityZone: "STRING_VALUE",
77+
* QuicServerId: "STRING_VALUE",
7778
* },
7879
* ],
7980
* };

clients/client-elastic-load-balancing-v2/src/models/models_0.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1465,7 +1465,9 @@ export const ProtocolEnum = {
14651465
GENEVE: "GENEVE",
14661466
HTTP: "HTTP",
14671467
HTTPS: "HTTPS",
1468+
QUIC: "QUIC",
14681469
TCP: "TCP",
1470+
TCP_QUIC: "TCP_QUIC",
14691471
TCP_UDP: "TCP_UDP",
14701472
TLS: "TLS",
14711473
UDP: "UDP",
@@ -3841,6 +3843,17 @@ export interface TargetDescription {
38413843
* @public
38423844
*/
38433845
AvailabilityZone?: string | undefined;
3846+
3847+
/**
3848+
* <p>The server ID for the targets. This value is required if the protocol is
3849+
* <code>QUIC</code> or <code>TCP_QUIC</code> and can't be used with other protocols.</p>
3850+
* <p>The ID consists of the <code>0x</code> prefix followed by 16 hexadecimal characters.
3851+
* Any letters must be lowercase. The value must be unique at the listener level. You can't
3852+
* modify the server ID for a registered target. You must deregister the target and then
3853+
* provide a new server ID when you register the target again.</p>
3854+
* @public
3855+
*/
3856+
QuicServerId?: string | undefined;
38443857
}
38453858

38463859
/**

0 commit comments

Comments
 (0)