Application Load Balancer API, REST: LoadBalancer.update
Updates the specified application load balancer.
HTTP request
PATCH https://alb.api.il.nebius.cloud/apploadbalancer/v1/loadBalancers/{loadBalancerId}
Path parameters
Parameter | Description |
---|---|
loadBalancerId | Required. ID of the application load balancer to update. To get the application load balancer ID, make a list request. |
Body parameters
{
"updateMask": "string",
"name": "string",
"description": "string",
"labels": "object",
"listenerSpecs": [
{
"name": "string",
"endpointSpecs": [
{
"addressSpecs": [
{
// `listenerSpecs[].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`listenerSpecs[].endpointSpecs[].addressSpecs[]`
}
],
"ports": [
"string"
]
}
],
// `listenerSpecs[]` includes only one of the fields `http`, `tls`, `stream`
"http": {
"handler": {
"httpRouterId": "string",
"rewriteRequestId": true,
// `listenerSpecs[].http.handler` includes only one of the fields `http2Options`, `allowHttp10`
"http2Options": {
"maxConcurrentStreams": "string"
},
"allowHttp10": true,
// end of the list of possible fields`listenerSpecs[].http.handler`
},
"redirects": {
"httpToHttps": true
}
},
"tls": {
"defaultHandler": {
"certificateIds": [
"string"
],
// `listenerSpecs[].tls.defaultHandler` includes only one of the fields `httpHandler`, `streamHandler`
"httpHandler": {
"httpRouterId": "string",
"rewriteRequestId": true,
// `listenerSpecs[].tls.defaultHandler.httpHandler` includes only one of the fields `http2Options`, `allowHttp10`
"http2Options": {
"maxConcurrentStreams": "string"
},
"allowHttp10": true,
// end of the list of possible fields`listenerSpecs[].tls.defaultHandler.httpHandler`
},
"streamHandler": {
"backendGroupId": "string"
},
// end of the list of possible fields`listenerSpecs[].tls.defaultHandler`
},
"sniHandlers": [
{
"name": "string",
"serverNames": [
"string"
],
"handler": {
"certificateIds": [
"string"
],
// `listenerSpecs[].tls.sniHandlers[].handler` includes only one of the fields `httpHandler`, `streamHandler`
"httpHandler": {
"httpRouterId": "string",
"rewriteRequestId": true,
// `listenerSpecs[].tls.sniHandlers[].handler.httpHandler` includes only one of the fields `http2Options`, `allowHttp10`
"http2Options": {
"maxConcurrentStreams": "string"
},
"allowHttp10": true,
// end of the list of possible fields`listenerSpecs[].tls.sniHandlers[].handler.httpHandler`
},
"streamHandler": {
"backendGroupId": "string"
},
// end of the list of possible fields`listenerSpecs[].tls.sniHandlers[].handler`
}
}
]
},
"stream": {
"handler": {
"backendGroupId": "string"
}
},
// end of the list of possible fields`listenerSpecs[]`
}
],
"allocationPolicy": {
"locations": [
{
"zoneId": "string",
"subnetId": "string",
"disableTraffic": true
}
]
},
"securityGroupIds": [
"string"
],
"autoScalePolicy": {
"minZoneSize": "string",
"maxSize": "string"
},
"logOptions": {
"logGroupId": "string",
"discardRules": [
{
"httpCodes": [
"string"
],
"httpCodeIntervals": [
"string"
],
"grpcCodes": [
"string"
],
"discardPercent": "integer"
}
],
"disable": true
}
}
Field | Description |
---|---|
updateMask | string Field mask that specifies which attributes of the application load balancer should be updated. A comma-separated names off ALL fields to be updated. Only the specified fields will be changed. The others will be left untouched. If the field is specified in If |
name | string New name for the application load balancer. The name must be unique within the folder. Value must match the regular expression |
description | string New description of the application load balancer. The maximum string length in characters is 256. |
labels | object New application load balancer labels as Existing set of labels is completely replaced by the provided set, so if you just want to add or remove a label:
No more than 64 per resource. The string length in characters for each key must be 1-63. Each key must match the regular expression |
listenerSpecs[] | object New listeners for the application load balancer. For details about the concept, see documentation. Existing list of listeners is completely replaced by the specified list, so if you just want to add, update, or remove a listener, make a addListener request, a updateListener request, or a removeListener request. |
listenerSpecs[]. name |
string Required. Name of the listener. The name is unique within the application load balancer. Value must match the regular expression |
listenerSpecs[]. endpointSpecs[] |
object Required. Endpoints of the listener. Endpoints are defined by their IP addresses and ports. Must contain at least one element. |
listenerSpecs[]. endpointSpecs[]. addressSpecs[] |
object Required. Endpoint public (external) and internal addresses. Must contain at least one element. |
listenerSpecs[]. endpointSpecs[]. addressSpecs[]. externalIpv4AddressSpec |
object Public IPv4 endpoint address. listenerSpecs[].endpointSpecs[].addressSpecs[] includes only one of the fields externalIpv4AddressSpec , internalIpv4AddressSpec , externalIpv6AddressSpec |
listenerSpecs[]. endpointSpecs[]. addressSpecs[]. externalIpv4AddressSpec. address |
string IPv4 address. |
listenerSpecs[]. endpointSpecs[]. addressSpecs[]. internalIpv4AddressSpec |
object Internal IPv4 endpoint address. To enable the use of listeners with internal addresses, contact support listenerSpecs[].endpointSpecs[].addressSpecs[] includes only one of the fields externalIpv4AddressSpec , internalIpv4AddressSpec , externalIpv6AddressSpec |
listenerSpecs[]. endpointSpecs[]. addressSpecs[]. internalIpv4AddressSpec. address |
string IPv4 address. |
listenerSpecs[]. endpointSpecs[]. addressSpecs[]. internalIpv4AddressSpec. subnetId |
string ID of the subnet that the address belongs to. |
listenerSpecs[]. endpointSpecs[]. addressSpecs[]. externalIpv6AddressSpec |
object Public IPv6 endpoint address. listenerSpecs[].endpointSpecs[].addressSpecs[] includes only one of the fields externalIpv4AddressSpec , internalIpv4AddressSpec , externalIpv6AddressSpec |
listenerSpecs[]. endpointSpecs[]. addressSpecs[]. externalIpv6AddressSpec. address |
string IPv6 address. |
listenerSpecs[]. endpointSpecs[]. ports[] |
string (int64) Required. Endpoint ports. Must contain at least one element. Acceptable values are 1 to 65535, inclusive. |
listenerSpecs[]. http |
object Unencrypted HTTP listener settings. listenerSpecs[] includes only one of the fields http , tls , stream |
listenerSpecs[]. http. handler |
object Settings for handling HTTP requests. Only one of An HTTP handler resource. |
listenerSpecs[]. http. handler. httpRouterId |
string ID of the HTTP router processing requests. For details about the concept, see documentation. To get the list of all available HTTP routers, make a list request. |
listenerSpecs[]. http. handler. rewriteRequestId |
boolean (boolean) When unset, will preserve the incoming x-request-id header, otherwise would rewrite it with a new value. |
listenerSpecs[]. http. handler. http2Options |
object HTTP/2 settings. If specified, incoming HTTP/2 requests are supported by the listener. listenerSpecs[].http.handler includes only one of the fields http2Options , allowHttp10 |
listenerSpecs[]. http. handler. http2Options. maxConcurrentStreams |
string (int64) Maximum number of concurrent HTTP/2 streams in a connection. |
listenerSpecs[]. http. handler. allowHttp10 |
boolean (boolean) listenerSpecs[].http.handler includes only one of the fields http2Options , allowHttp10 Enables support for incoming HTTP/1.0 and HTTP/1.1 requests and disables it for HTTP/2 requests. |
listenerSpecs[]. http. redirects |
object Redirects settings. Only one of A listener redirects resource. |
listenerSpecs[]. http. redirects. httpToHttps |
boolean (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 |
listenerSpecs[]. tls |
object TLS-encrypted HTTP or TCP stream listener settings. All handlers within a listener ( defaultHandler and sniHandlers ) must be of one type, HttpHandler or StreamHandler . Mixing HTTP and TCP stream traffic in a TLS-encrypted listener is not supported. listenerSpecs[] includes only one of the fields http , tls , stream |
listenerSpecs[]. tls. defaultHandler |
object Required. Settings for handling requests by default, with Server Name Indication (SNI) not matching any of the A TLS-encrypted (HTTP or TCP stream) handler resource. |
listenerSpecs[]. tls. defaultHandler. certificateIds[] |
string Required. 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. Must contain at least one element. |
listenerSpecs[]. tls. defaultHandler. httpHandler |
object HTTP handler. listenerSpecs[].tls.defaultHandler includes only one of the fields httpHandler , streamHandler |
listenerSpecs[]. tls. defaultHandler. httpHandler. httpRouterId |
string ID of the HTTP router processing requests. For details about the concept, see documentation. To get the list of all available HTTP routers, make a list request. |
listenerSpecs[]. tls. defaultHandler. httpHandler. rewriteRequestId |
boolean (boolean) When unset, will preserve the incoming x-request-id header, otherwise would rewrite it with a new value. |
listenerSpecs[]. tls. defaultHandler. httpHandler. http2Options |
object HTTP/2 settings. If specified, incoming HTTP/2 requests are supported by the listener. listenerSpecs[].tls.defaultHandler.httpHandler includes only one of the fields http2Options , allowHttp10 |
listenerSpecs[]. tls. defaultHandler. httpHandler. http2Options. maxConcurrentStreams |
string (int64) Maximum number of concurrent HTTP/2 streams in a connection. |
listenerSpecs[]. tls. defaultHandler. httpHandler. allowHttp10 |
boolean (boolean) listenerSpecs[].tls.defaultHandler.httpHandler includes only one of the fields http2Options , allowHttp10 Enables support for incoming HTTP/1.0 and HTTP/1.1 requests and disables it for HTTP/2 requests. |
listenerSpecs[]. tls. defaultHandler. streamHandler |
object Stream (TCP) handler. listenerSpecs[].tls.defaultHandler includes only one of the fields httpHandler , streamHandler |
listenerSpecs[]. tls. defaultHandler. streamHandler. backendGroupId |
string Required. ID of the backend group processing requests. For details about the concept, see documentation. The backend group type, specified via [BackendGroup.backend], must be To get the list of all available backend groups, make a list request. |
listenerSpecs[]. tls. sniHandlers[] |
object Settings for handling requests with Server Name Indication (SNI) matching one of |
listenerSpecs[]. tls. sniHandlers[]. name |
string Required. Name of the SNI handler. |
listenerSpecs[]. tls. sniHandlers[]. serverNames[] |
string Required. Server names that are matched by the SNI handler. Must contain at least one element. |
listenerSpecs[]. tls. sniHandlers[]. handler |
object Required. Settings for handling requests with Server Name Indication (SNI) matching one of A TLS-encrypted (HTTP or TCP stream) handler resource. |
listenerSpecs[]. tls. sniHandlers[]. handler. certificateIds[] |
string Required. 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. Must contain at least one element. |
listenerSpecs[]. tls. sniHandlers[]. handler. httpHandler |
object HTTP handler. listenerSpecs[].tls.sniHandlers[].handler includes only one of the fields httpHandler , streamHandler |
listenerSpecs[]. tls. sniHandlers[]. handler. httpHandler. httpRouterId |
string ID of the HTTP router processing requests. For details about the concept, see documentation. To get the list of all available HTTP routers, make a list request. |
listenerSpecs[]. tls. sniHandlers[]. handler. httpHandler. rewriteRequestId |
boolean (boolean) When unset, will preserve the incoming x-request-id header, otherwise would rewrite it with a new value. |
listenerSpecs[]. tls. sniHandlers[]. handler. httpHandler. http2Options |
object HTTP/2 settings. If specified, incoming HTTP/2 requests are supported by the listener. listenerSpecs[].tls.sniHandlers[].handler.httpHandler includes only one of the fields http2Options , allowHttp10 |
listenerSpecs[]. tls. sniHandlers[]. handler. httpHandler. http2Options. maxConcurrentStreams |
string (int64) Maximum number of concurrent HTTP/2 streams in a connection. |
listenerSpecs[]. tls. sniHandlers[]. handler. httpHandler. allowHttp10 |
boolean (boolean) listenerSpecs[].tls.sniHandlers[].handler.httpHandler includes only one of the fields http2Options , allowHttp10 Enables support for incoming HTTP/1.0 and HTTP/1.1 requests and disables it for HTTP/2 requests. |
listenerSpecs[]. tls. sniHandlers[]. handler. streamHandler |
object Stream (TCP) handler. listenerSpecs[].tls.sniHandlers[].handler includes only one of the fields httpHandler , streamHandler |
listenerSpecs[]. tls. sniHandlers[]. handler. streamHandler. backendGroupId |
string Required. ID of the backend group processing requests. For details about the concept, see documentation. The backend group type, specified via [BackendGroup.backend], must be To get the list of all available backend groups, make a list request. |
listenerSpecs[]. stream |
object Unencrypted stream (TCP) listener settings. listenerSpecs[] includes only one of the fields http , tls , stream |
listenerSpecs[]. stream. handler |
object Required. Settings for handling stream (TCP) requests. A stream (TCP) handler resource. |
listenerSpecs[]. stream. handler. backendGroupId |
string Required. ID of the backend group processing requests. For details about the concept, see documentation. The backend group type, specified via [BackendGroup.backend], must be To get the list of all available backend groups, make a list request. |
allocationPolicy | object New locality settings of the application load balancer. For details about the concept, see documentation. Existing locality settings are completely replaced by the specified settings, so if you just want to add or remove an allocation policy:
A locality settings (allocation policy) resource. |
allocationPolicy. locations[] |
object Required. Availability zones and subnets that the application load balancer resides. The minimum number of elements is 1. |
allocationPolicy. locations[]. zoneId |
string Required. ID of the availability zone where the application load balancer resides. Each availability zone can only be specified once. |
allocationPolicy. locations[]. subnetId |
string ID of the subnet that the application load balancer belongs to. |
allocationPolicy. locations[]. disableTraffic |
boolean (boolean) Disables the load balancer node in the specified availability zone. Backends in the availability zone are not directly affected by this setting. They still may receive traffic from the load balancer nodes in other availability zones, subject to |
securityGroupIds[] | string ID's of new security groups attributed to the application load balancer. For details about the concept, see documentation. Existing list of security groups is completely replaced by the specified list, so if you just want to add or remove an allocation policy:
|
autoScalePolicy | object New scaling settings of the application load balancer. The scaling settings relate to a special internal instance group which facilitates the balancer's work. Instances in this group are called resource units. The group is scaled automatically based on incoming load and within limitations specified in these settings. For details about the concept, see documentation. A resource for scaling settings of an application load balancer. |
autoScalePolicy. 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. To revert to it, specify it explicitly. The minimum value is 2. Acceptable values are 0 to 1000, inclusive. |
autoScalePolicy. 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. Acceptable values are 0 to 1000, inclusive. |
logOptions | object Cloud logging settings of the application load balancer. |
logOptions. logGroupId |
string Cloud Logging log group ID to store access logs. If not set then logs will be stored in default log group for the folder where load balancer located. |
logOptions. discardRules[] |
object ordered list of rules, first matching rule applies |
logOptions. discardRules[]. httpCodes[] |
string (int64) HTTP codes that should be discarded. Acceptable values are 100 to 599, inclusive. |
logOptions. discardRules[]. httpCodeIntervals[] |
string Groups of HTTP codes like 4xx that should be discarded. |
logOptions. discardRules[]. grpcCodes[] |
string GRPC codes that should be discarded
|
logOptions. discardRules[]. discardPercent |
integer (int64) Percent of logs to be discarded: 0 - keep all, 100 or unset - discard all Acceptable values are 0 to 100, inclusive. |
logOptions. disable |
boolean (boolean) Do not send logs to Cloud Logging log group. |
Response
HTTP Code: 200 - OK
{
"id": "string",
"description": "string",
"createdAt": "string",
"createdBy": "string",
"modifiedAt": "string",
"done": true,
"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 text format. The range of possible values is from To work with values in this field, use the APIs described in the Protocol Buffers reference. In some languages, built-in datetime utilities do not support nanosecond precision (9 digits). |
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 text format. The range of possible values is from To work with values in this field, use the APIs described in the Protocol Buffers reference. In some languages, built-in datetime utilities do not support nanosecond precision (9 digits). |
done | boolean (boolean) If the value is |
metadata | object Service-specific metadata associated with the operation. It typically contains the ID of the target resource that the operation is performed on. Any method that returns a long-running operation should document the metadata type, if any. |
error | object The error result of the operation in case of failure or cancellation. includes only one of the fields error , response |
error. code |
integer (int32) Error code. An enum value of google.rpc.Code. |
error. message |
string An error message. |
error. details[] |
object A list of messages that carry the error details. |
response | object includes only one of the fields error , response The normal response of the operation in case of success. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is the standard Create/Update, the response should be the target resource of the operation. Any method that returns a long-running operation should document the response type, if any. |