Application Load Balancer API, REST: LoadBalancer.Create
- HTTP request
- Body parameters
- ListenerSpec
- EndpointSpec
- AddressSpec
- ExternalIpv4AddressSpec
- InternalIpv4AddressSpec
- ExternalIpv6AddressSpec
- HttpListener
- HttpHandler
- Http2Options
- Redirects
- TlsListener
- TlsHandler
- StreamHandler
- SniMatch
- StreamListener
- AllocationPolicy
- Location
- AutoScalePolicy
- LogOptions
- LogDiscardRule
- Response
- CreateLoadBalancerMetadata
- Status
- LoadBalancer
- Listener
- Endpoint
- Address
- ExternalIpv4Address
- InternalIpv4Address
- ExternalIpv6Address
- HttpListener
- HttpHandler
- Http2Options
- Redirects
- TlsListener
- TlsHandler
- StreamHandler
- SniMatch
- StreamListener
- AllocationPolicy
- Location
- AutoScalePolicy
- LogOptions
- LogDiscardRule
Creates an application load balancer in the specified folder.
HTTP request
POST https://alb.api.cloud.yandex.net/apploadbalancer/v1/loadBalancers
Body parameters
{
"folderId": "string",
"name": "string",
"description": "string",
"labels": "string",
"regionId": "string",
"networkId": "string",
"listenerSpecs": [
{
"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 `http`, `tls`, `stream`
"http": {
"handler": {
"httpRouterId": "string",
// Includes only one of the fields `http2Options`, `allowHttp10`
"http2Options": {
"maxConcurrentStreams": "string"
},
"allowHttp10": "boolean",
// end of the list of possible fields
"rewriteRequestId": "boolean"
},
"redirects": {
"httpToHttps": "boolean"
}
},
"tls": {
"defaultHandler": {
// Includes only one of the fields `httpHandler`, `streamHandler`
"httpHandler": {
"httpRouterId": "string",
// Includes only one of the fields `http2Options`, `allowHttp10`
"http2Options": {
"maxConcurrentStreams": "string"
},
"allowHttp10": "boolean",
// end of the list of possible fields
"rewriteRequestId": "boolean"
},
"streamHandler": {
"backendGroupId": "string",
"idleTimeout": "string"
},
// end of the list of possible fields
"certificateIds": [
"string"
]
},
"sniHandlers": [
{
"name": "string",
"serverNames": [
"string"
],
"handler": {
// Includes only one of the fields `httpHandler`, `streamHandler`
"httpHandler": {
"httpRouterId": "string",
// Includes only one of the fields `http2Options`, `allowHttp10`
"http2Options": {
"maxConcurrentStreams": "string"
},
"allowHttp10": "boolean",
// end of the list of possible fields
"rewriteRequestId": "boolean"
},
"streamHandler": {
"backendGroupId": "string",
"idleTimeout": "string"
},
// end of the list of possible fields
"certificateIds": [
"string"
]
}
}
]
},
"stream": {
"handler": {
"backendGroupId": "string",
"idleTimeout": "string"
}
}
// end of the list of possible fields
}
],
"allocationPolicy": {
"locations": [
{
"zoneId": "string",
"subnetId": "string",
"disableTraffic": "boolean"
}
]
},
"securityGroupIds": [
"string"
],
"autoScalePolicy": {
"minZoneSize": "string",
"maxSize": "string"
},
"logOptions": {
"logGroupId": "string",
"discardRules": [
{
"httpCodes": [
"string"
],
"httpCodeIntervals": [
"string"
],
"grpcCodes": [
"string"
],
"discardPercent": "string"
}
],
"disable": "boolean"
}
}
Field |
Description |
folderId |
string Required field. ID of the folder to create an application load balancer in. To get the folder ID, make a yandex.cloud.resourcemanager.v1.FolderService.List request. |
name |
string Name of the application load balancer. |
description |
string Description of the application load balancer. |
labels |
string Application load balancer labels as |
regionId |
string Required field. ID of the region that the application load balancer is located at. The only supported value is |
networkId |
string Required field. ID of the network that the application load balancer belongs to. |
listenerSpecs[] |
Listeners that belong to the application load balancer. For details about the concept, |
allocationPolicy |
Locality settings of the application load balancer. For details about the concept, |
securityGroupIds[] |
string ID's of the security groups attributed to the application load balancer. For details about the concept, |
autoScalePolicy |
Scaling settings of the application load balancer. The scaling settings relate to a special internal instance group which facilitates the balancer's work. For details about the concept, |
logOptions |
Cloud logging settings of the application load balancer. |
ListenerSpec
Field |
Description |
name |
string Required field. Name of the listener. The name is unique within the application load balancer. |
endpointSpecs[] |
Endpoints of the listener. Endpoints are defined by their IP addresses and ports. |
http |
Unencrypted HTTP listener settings. Includes only one of the fields Listener type and settings. |
tls |
TLS-encrypted HTTP or TCP stream listener settings. All handlers within a listener (TlsListener.defaultHandler and TlsListener.sniHandlers) must be of one Includes only one of the fields Listener type and settings. |
stream |
Unencrypted stream (TCP) listener settings. Includes only one of the fields Listener type and settings. |
EndpointSpec
Field |
Description |
addressSpecs[] |
Endpoint public (external) and internal addresses. |
ports[] |
string (int64) Endpoint ports. |
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. To enable the use of listeners with internal addresses, contact support. 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 ID of the subnet that the address belongs to. |
ExternalIpv6AddressSpec
Field |
Description |
address |
string IPv6 address. |
HttpListener
An HTTP listener resource.
Field |
Description |
handler |
Settings for handling HTTP requests. Only one of |
redirects |
Redirects settings. Only one of |
HttpHandler
An HTTP handler resource.
Field |
Description |
httpRouterId |
string ID of the HTTP router processing requests. For details about the concept, see To get the list of all available HTTP routers, make a HttpRouterService.List request. |
http2Options |
HTTP/2 settings. If specified, incoming HTTP/2 requests are supported by the listener. Includes only one of the fields Protocol settings. For HTTPS (HTTP over TLS) connections, settings are applied to the protocol |
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. For HTTPS (HTTP over TLS) connections, settings are applied to the protocol |
rewriteRequestId |
boolean When unset, will preserve the incoming x-request-id header, otherwise would rewrite it with a new value. |
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 The setting has the same effect as a single, catch-all HttpRoute |
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 |
httpHandler |
HTTP handler. Includes only one of the fields Settings for handling requests. |
streamHandler |
Stream (TCP) handler. Includes only one of the fields Settings for handling requests. |
certificateIds[] |
string ID's of the TLS server certificates from Certificate Manager. RSA and ECDSA certificates are supported, and only the first certificate of each type is used. |
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 The backend group type, specified via BackendGroup.backend, must be To get the list of all available backend groups, make a BackendGroupService.List request. |
idleTimeout |
string (duration) The idle timeout is duration during which no data is transmitted or received on either the upstream or downstream connection. |
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. |
handler |
Required field. Settings for handling requests with Server Name Indication (SNI) matching one of |
StreamListener
A stream (TCP) listener resource.
Field |
Description |
handler |
Required field. Settings for handling stream (TCP) requests. |
AllocationPolicy
A locality settings (allocation policy) resource.
Field |
Description |
locations[] |
Availability zones and subnets that the application load balancer resides. |
Location
An application load balancer location resource.
For details about the concept, see documentation.
Field |
Description |
zoneId |
string Required field. ID of the availability zone where the application load balancer resides. Each availability zone can only be specified once. |
subnetId |
string ID of the subnet that the application load balancer belongs to. |
disableTraffic |
boolean Disables the load balancer node in the specified availability zone. Backends in the availability zone are not directly affected by this setting. |
AutoScalePolicy
A resource for scaling settings of an application load balancer.
Field |
Description |
minZoneSize |
string (int64) Lower limit for the number of resource units in each availability zone. If not specified previously (using other instruments such as management console), the default value is 2. The minimum value is 2. |
maxSize |
string (int64) Upper limit for the total number of resource units across all availability zones. If a positive value is specified, it must be at least If the value is 0, there is no upper limit. |
LogOptions
Field |
Description |
logGroupId |
string Cloud Logging log group ID to store access logs. |
discardRules[] |
ordered list of rules, first matching rule applies |
disable |
boolean Do not send logs to Cloud Logging log group. |
LogDiscardRule
LogDiscardRule discards a fraction of logs with certain codes.
If neither codes or intervals are provided, rule applies to all logs.
Field |
Description |
httpCodes[] |
string (int64) HTTP codes that should be discarded. |
httpCodeIntervals[] |
enum (HttpCodeInterval) Groups of HTTP codes like 4xx that should be discarded.
|
grpcCodes[] |
enum (Code) GRPC codes that should be discarded
|
discardPercent |
string (int64) Percent of logs to be discarded: 0 - keep all, 100 or unset - discard all |
Response
HTTP Code: 200 - OK
{
"id": "string",
"description": "string",
"createdAt": "string",
"createdBy": "string",
"modifiedAt": "string",
"done": "boolean",
"metadata": {
"loadBalancerId": "string"
},
// Includes only one of the fields `error`, `response`
"error": {
"code": "integer",
"message": "string",
"details": [
"object"
]
},
"response": {
"id": "string",
"name": "string",
"description": "string",
"folderId": "string",
"labels": "string",
"status": "string",
"regionId": "string",
"networkId": "string",
"listeners": [
{
"name": "string",
"endpoints": [
{
"addresses": [
{
// Includes only one of the fields `externalIpv4Address`, `internalIpv4Address`, `externalIpv6Address`
"externalIpv4Address": {
"address": "string"
},
"internalIpv4Address": {
"address": "string",
"subnetId": "string"
},
"externalIpv6Address": {
"address": "string"
}
// end of the list of possible fields
}
],
"ports": [
"string"
]
}
],
// Includes only one of the fields `http`, `tls`, `stream`
"http": {
"handler": {
"httpRouterId": "string",
// Includes only one of the fields `http2Options`, `allowHttp10`
"http2Options": {
"maxConcurrentStreams": "string"
},
"allowHttp10": "boolean",
// end of the list of possible fields
"rewriteRequestId": "boolean"
},
"redirects": {
"httpToHttps": "boolean"
}
},
"tls": {
"defaultHandler": {
// Includes only one of the fields `httpHandler`, `streamHandler`
"httpHandler": {
"httpRouterId": "string",
// Includes only one of the fields `http2Options`, `allowHttp10`
"http2Options": {
"maxConcurrentStreams": "string"
},
"allowHttp10": "boolean",
// end of the list of possible fields
"rewriteRequestId": "boolean"
},
"streamHandler": {
"backendGroupId": "string",
"idleTimeout": "string"
},
// end of the list of possible fields
"certificateIds": [
"string"
]
},
"sniHandlers": [
{
"name": "string",
"serverNames": [
"string"
],
"handler": {
// Includes only one of the fields `httpHandler`, `streamHandler`
"httpHandler": {
"httpRouterId": "string",
// Includes only one of the fields `http2Options`, `allowHttp10`
"http2Options": {
"maxConcurrentStreams": "string"
},
"allowHttp10": "boolean",
// end of the list of possible fields
"rewriteRequestId": "boolean"
},
"streamHandler": {
"backendGroupId": "string",
"idleTimeout": "string"
},
// end of the list of possible fields
"certificateIds": [
"string"
]
}
}
]
},
"stream": {
"handler": {
"backendGroupId": "string",
"idleTimeout": "string"
}
}
// end of the list of possible fields
}
],
"allocationPolicy": {
"locations": [
{
"zoneId": "string",
"subnetId": "string",
"disableTraffic": "boolean"
}
]
},
"logGroupId": "string",
"securityGroupIds": [
"string"
],
"createdAt": "string",
"autoScalePolicy": {
"minZoneSize": "string",
"maxSize": "string"
},
"logOptions": {
"logGroupId": "string",
"discardRules": [
{
"httpCodes": [
"string"
],
"httpCodeIntervals": [
"string"
],
"grpcCodes": [
"string"
],
"discardPercent": "string"
}
],
"disable": "boolean"
}
}
// 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 |
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 |
The normal response of the operation in case of success. Includes only one of the fields The operation result. |
CreateLoadBalancerMetadata
Field |
Description |
loadBalancerId |
string ID of the application load balancer that is being created. |
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. |
LoadBalancer
An application load balancer resource.
For details about the concept, see documentation.
Field |
Description |
id |
string ID of the application load balancer. Generated at creation time. |
name |
string Name of the application load balancer. The name is unique within the folder. |
description |
string Description of the application load balancer. |
folderId |
string ID of the folder that the application load balancer belongs to. |
labels |
string Application load balancer labels as |
status |
enum (Status) Status of the application load balancer.
|
regionId |
string ID of the region that the application load balancer is located at. |
networkId |
string ID of the network that the application load balancer belongs to. |
listeners[] |
Listeners that belong to the application load balancer. For details about the concept, see documentation. |
allocationPolicy |
Locality settings of the application load balancer. For details about the concept, see documentation. |
logGroupId |
string ID of the log group that stores access logs of the application load balancer. The logs can be accessed using a Cloud Functions trigger for Cloud Logs. |
securityGroupIds[] |
string ID's of the security groups attributed to the application load balancer. For details about the concept, |
createdAt |
string (date-time) Creation timestamp. String in RFC3339 To work with values in this field, use the APIs described in the |
autoScalePolicy |
Scaling settings of the application load balancer. The scaling settings relate to a special internal instance group which facilitates the balancer's work. For details about the concept, |
logOptions |
Cloud logging settings of the application load balancer. |
Listener
A listener resource.
For details about the concept, see documentation.
Field |
Description |
name |
string Required field. Name of the listener. The name is unique within the application load balancer. |
endpoints[] |
Endpoints of the listener. Endpoints are defined by their IP addresses and ports. |
http |
Unencrypted HTTP listener settings. Includes only one of the fields Listener type and settings. |
tls |
TLS-encrypted HTTP or TCP stream listener settings. All handlers within a listener (TlsListener.defaultHandler and TlsListener.sniHandlers) must be of one Includes only one of the fields Listener type and settings. |
stream |
Unencrypted stream (TCP) listener settings. Includes only one of the fields Listener type and settings. |
Endpoint
An endpoint resource.
Field |
Description |
addresses[] |
Endpoint public (external) and internal addresses. |
ports[] |
string (int64) Endpoint ports. |
Address
An endpoint address resource.
Field |
Description |
externalIpv4Address |
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. |
internalIpv4Address |
Internal IPv4 endpoint address. To enable the use of listeners with internal addresses, contact support. Includes only one of the fields Endpoint address of one of the types: public (external) IPv4 address, internal IPv4 address, public IPv6 address. |
externalIpv6Address |
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. |
ExternalIpv4Address
A public (external) IPv4 endpoint address resource.
Field |
Description |
address |
string IPv4 address. |
InternalIpv4Address
An internal IPv4 endpoint address resource.
Field |
Description |
address |
string IPv4 address. |
subnetId |
string ID of the subnet that the address belongs to. |
ExternalIpv6Address
A public (external) IPv4 endpoint address resource.
Field |
Description |
address |
string IPv6 address. |
HttpListener
An HTTP listener resource.
Field |
Description |
handler |
Settings for handling HTTP requests. Only one of |
redirects |
Redirects settings. Only one of |
HttpHandler
An HTTP handler resource.
Field |
Description |
httpRouterId |
string ID of the HTTP router processing requests. For details about the concept, see To get the list of all available HTTP routers, make a HttpRouterService.List request. |
http2Options |
HTTP/2 settings. If specified, incoming HTTP/2 requests are supported by the listener. Includes only one of the fields Protocol settings. For HTTPS (HTTP over TLS) connections, settings are applied to the protocol |
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. For HTTPS (HTTP over TLS) connections, settings are applied to the protocol |
rewriteRequestId |
boolean When unset, will preserve the incoming x-request-id header, otherwise would rewrite it with a new value. |
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 The setting has the same effect as a single, catch-all HttpRoute |
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 |
httpHandler |
HTTP handler. Includes only one of the fields Settings for handling requests. |
streamHandler |
Stream (TCP) handler. Includes only one of the fields Settings for handling requests. |
certificateIds[] |
string ID's of the TLS server certificates from Certificate Manager. RSA and ECDSA certificates are supported, and only the first certificate of each type is used. |
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 The backend group type, specified via BackendGroup.backend, must be To get the list of all available backend groups, make a BackendGroupService.List request. |
idleTimeout |
string (duration) The idle timeout is duration during which no data is transmitted or received on either the upstream or downstream connection. |
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. |
handler |
Required field. Settings for handling requests with Server Name Indication (SNI) matching one of |
StreamListener
A stream (TCP) listener resource.
Field |
Description |
handler |
Required field. Settings for handling stream (TCP) requests. |
AllocationPolicy
A locality settings (allocation policy) resource.
Field |
Description |
locations[] |
Availability zones and subnets that the application load balancer resides. |
Location
An application load balancer location resource.
For details about the concept, see documentation.
Field |
Description |
zoneId |
string Required field. ID of the availability zone where the application load balancer resides. Each availability zone can only be specified once. |
subnetId |
string ID of the subnet that the application load balancer belongs to. |
disableTraffic |
boolean Disables the load balancer node in the specified availability zone. Backends in the availability zone are not directly affected by this setting. |
AutoScalePolicy
A resource for scaling settings of an application load balancer.
Field |
Description |
minZoneSize |
string (int64) Lower limit for the number of resource units in each availability zone. If not specified previously (using other instruments such as management console), the default value is 2. The minimum value is 2. |
maxSize |
string (int64) Upper limit for the total number of resource units across all availability zones. If a positive value is specified, it must be at least If the value is 0, there is no upper limit. |
LogOptions
Field |
Description |
logGroupId |
string Cloud Logging log group ID to store access logs. |
discardRules[] |
ordered list of rules, first matching rule applies |
disable |
boolean Do not send logs to Cloud Logging log group. |
LogDiscardRule
LogDiscardRule discards a fraction of logs with certain codes.
If neither codes or intervals are provided, rule applies to all logs.
Field |
Description |
httpCodes[] |
string (int64) HTTP codes that should be discarded. |
httpCodeIntervals[] |
enum (HttpCodeInterval) Groups of HTTP codes like 4xx that should be discarded.
|
grpcCodes[] |
enum (Code) GRPC codes that should be discarded
|
discardPercent |
string (int64) Percent of logs to be discarded: 0 - keep all, 100 or unset - discard all |