Application Load Balancer API, REST: LoadBalancer.AddListener
Adds a listener to the specified application load balancer.
HTTP request
POST https://alb.api.yandexcloud.kz/apploadbalancer/v1/loadBalancers/{loadBalancerId}:addListener
Path parameters
|
Field |
Description |
|
loadBalancerId |
string Required field. ID of the application load balancer to add a listener to. |
Body parameters
{
"listenerSpec": {
"name": "string",
"endpointSpecs": [
{
"addressSpecs": [
{
// Includes only one of the fields `externalIpv4AddressSpec`, `internalIpv4AddressSpec`, `externalIpv6AddressSpec`
"externalIpv4AddressSpec": {
"address": "string"
},
"internalIpv4AddressSpec": {
"address": "string",
"subnetId": "string"
},
"externalIpv6AddressSpec": {
"address": "string"
}
// end of the list of possible fields
}
],
"ports": [
"string"
]
}
],
// Includes only one of the fields `stream`, `http`, `tls`
"stream": {
"handler": {
"backendGroupId": "string",
"idleTimeout": "string"
}
},
"http": {
"handler": {
"httpRouterId": "string",
"rewriteRequestId": "boolean",
// Includes only one of the fields `http2Options`, `allowHttp10`
"http2Options": {
"maxConcurrentStreams": "string"
},
"allowHttp10": "boolean",
// end of the list of possible fields
"preserveHttp1HeaderCasing": "boolean"
},
"redirects": {
"httpToHttps": "boolean"
}
},
"tls": {
"defaultHandler": {
// Includes only one of the fields `streamHandler`, `httpHandler`
"streamHandler": {
"backendGroupId": "string",
"idleTimeout": "string"
},
"httpHandler": {
"httpRouterId": "string",
"rewriteRequestId": "boolean",
// Includes only one of the fields `http2Options`, `allowHttp10`
"http2Options": {
"maxConcurrentStreams": "string"
},
"allowHttp10": "boolean",
// end of the list of possible fields
"preserveHttp1HeaderCasing": "boolean"
},
// end of the list of possible fields
"certificateIds": [
"string"
],
"clientCertificatesVerification": {
"requireClientCertificate": "boolean",
// Includes only one of the fields `bytes`
"bytes": "string"
// end of the list of possible fields
}
},
"sniHandlers": [
{
"name": "string",
"serverNames": [
"string"
],
"handler": {
// Includes only one of the fields `streamHandler`, `httpHandler`
"streamHandler": {
"backendGroupId": "string",
"idleTimeout": "string"
},
"httpHandler": {
"httpRouterId": "string",
"rewriteRequestId": "boolean",
// Includes only one of the fields `http2Options`, `allowHttp10`
"http2Options": {
"maxConcurrentStreams": "string"
},
"allowHttp10": "boolean",
// end of the list of possible fields
"preserveHttp1HeaderCasing": "boolean"
},
// end of the list of possible fields
"certificateIds": [
"string"
],
"clientCertificatesVerification": {
"requireClientCertificate": "boolean",
// Includes only one of the fields `bytes`
"bytes": "string"
// end of the list of possible fields
}
}
}
]
}
// end of the list of possible fields
}
}
|
Field |
Description |
|
listenerSpec |
Required field. Listener to add to the application load balancer. |
ListenerSpec
|
Field |
Description |
|
name |
string Required field. Name of the listener. The name is unique within the application load balancer. Value must match the regular expression |
|
endpointSpecs[] |
Endpoints of the listener. |
|
stream |
Unencrypted stream (TCP) listener settings. Includes only one of the fields Listener type and settings. |
|
http |
Unencrypted HTTP listener settings. Includes only one of the fields Listener type and settings. |
|
tls |
TLS-encrypted HTTP or TCP stream listener settings. Includes only one of the fields Listener type and settings. |
EndpointSpec
|
Field |
Description |
|
addressSpecs[] |
Endpoint public (external) and internal addresses. The number of elements must be greater than 0. |
|
ports[] |
string (int64) Endpoint ports. The number of elements must be greater than 0. Acceptable values are 1 to 65535, inclusive. |
AddressSpec
|
Field |
Description |
|
externalIpv4AddressSpec |
Public IPv4 endpoint address. Includes only one of the fields Endpoint address of one of the types: public (external) IPv4 address, internal IPv4 address, public IPv6 address. |
|
internalIpv4AddressSpec |
Internal IPv4 endpoint address. Includes only one of the fields Endpoint address of one of the types: public (external) IPv4 address, internal IPv4 address, public IPv6 address. |
|
externalIpv6AddressSpec |
Public IPv6 endpoint address. Includes only one of the fields Endpoint address of one of the types: public (external) IPv4 address, internal IPv4 address, public IPv6 address. |
ExternalIpv4AddressSpec
|
Field |
Description |
|
address |
string IPv4 address. |
InternalIpv4AddressSpec
|
Field |
Description |
|
address |
string IPv4 address. |
|
subnetId |
string Required field. ID of the subnet that the address belongs to. |
ExternalIpv6AddressSpec
|
Field |
Description |
|
address |
string IPv6 address. |
StreamListener
A stream (TCP) listener resource.
|
Field |
Description |
|
handler |
Required field. Settings for handling stream (TCP) requests. |
StreamHandler
A stream (TCP) handler resource.
|
Field |
Description |
|
backendGroupId |
string Required field. ID of the backend group processing requests. For details about the concept, see |
|
idleTimeout |
string (duration) The idle timeout is duration during which no data is transmitted or received on either the upstream or downstream connection. |
HttpListener
An HTTP listener resource.
|
Field |
Description |
|
handler |
Settings for handling HTTP requests. |
|
redirects |
Redirects settings. |
HttpHandler
An HTTP handler resource.
|
Field |
Description |
|
httpRouterId |
string ID of the HTTP router processing requests. For details about the concept, see |
|
rewriteRequestId |
boolean When unset, will preserve the incoming x-request-id header, otherwise would rewrite it with a new value. |
|
http2Options |
HTTP/2 settings. Includes only one of the fields Protocol settings. |
|
allowHttp10 |
boolean Enables support for incoming HTTP/1.0 and HTTP/1.1 requests and disables it for HTTP/2 requests. Includes only one of the fields Protocol settings. |
|
preserveHttp1HeaderCasing |
boolean When enabled, preserves the original casing of HTTP/1.1 header names (e.g. "CONTENT-Type" -> "CONTENT-Type"). |
Http2Options
An HTTP/2 options resource.
|
Field |
Description |
|
maxConcurrentStreams |
string (int64) Maximum number of concurrent HTTP/2 streams in a connection. |
Redirects
A listener redirects resource.
|
Field |
Description |
|
httpToHttps |
boolean Redirects all unencrypted HTTP requests to the same URI with scheme changed to |
TlsListener
TLS-encrypted (HTTP or TCP stream) listener resource.
|
Field |
Description |
|
defaultHandler |
Required field. Settings for handling requests by default, with Server Name |
|
sniHandlers[] |
Settings for handling requests with Server Name Indication (SNI) |
TlsHandler
A TLS-encrypted (HTTP or TCP stream) handler resource.
|
Field |
Description |
|
streamHandler |
Stream (TCP) handler. Includes only one of the fields Settings for handling requests. |
|
httpHandler |
HTTP handler. Includes only one of the fields Settings for handling requests. |
|
certificateIds[] |
string ID's of the TLS server certificates from Certificate Manager. The string length in characters for each value must be greater than 1. The maximum number of elements is 1. |
|
clientCertificatesVerification |
ClientCertificatesVerification Client certificates verification settings. |
ClientCertificatesVerification
Client certificates verification settings.
|
Field |
Description |
|
requireClientCertificate |
boolean If true, ALB will reject connections without a valid client certificate. |
|
bytes |
string Trusted certificate authority certificates bundle (PEM text). Includes only one of the fields |
SniMatch
A SNI handler resource.
|
Field |
Description |
|
name |
string Required field. Name of the SNI handler. |
|
serverNames[] |
string Server names that are matched by the SNI handler. The string length in characters for each value must be 1-255. Each value must match the regular expression |
|
handler |
Required field. Settings for handling requests with Server Name Indication (SNI) matching one of |
Response
HTTP Code: 200 - OK
{
"id": "string",
"description": "string",
"createdAt": "string",
"createdBy": "string",
"modifiedAt": "string",
"done": "boolean",
"metadata": "object",
// Includes only one of the fields `error`, `response`
"error": {
"code": "integer",
"message": "string",
"details": [
"object"
]
},
"response": "object"
// end of the list of possible fields
}
An Operation resource. For more information, see Operation.
|
Field |
Description |
|
id |
string ID of the operation. |
|
description |
string Description of the operation. 0-256 characters long. |
|
createdAt |
string (date-time) Creation timestamp. String in RFC3339 To work with values in this field, use the APIs described in the |
|
createdBy |
string ID of the user or service account who initiated the operation. |
|
modifiedAt |
string (date-time) The time when the Operation resource was last modified. String in RFC3339 To work with values in this field, use the APIs described in the |
|
done |
boolean If the value is |
|
metadata |
object Service-specific metadata associated with the operation. |
|
error |
The error result of the operation in case of failure or cancellation. Includes only one of the fields The operation result. |
|
response |
object The normal response of the operation in case of success. Includes only one of the fields The operation result. |
Status
The error result of the operation in case of failure or cancellation.
|
Field |
Description |
|
code |
integer (int32) Error code. An enum value of google.rpc.Code |
|
message |
string An error message. |
|
details[] |
object A list of messages that carry the error details. |