Application Load Balancer API, REST: LoadBalancer methods
A set of methods for managing application load balancers.
JSON Representation
{
"id": "string",
"name": "string",
"description": "string",
"folderId": "string",
"labels": "object",
"status": "string",
"regionId": "string",
"networkId": "string",
"listeners": [
{
"name": "string",
"endpoints": [
{
"addresses": [
{
// `listeners[].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`listeners[].endpoints[].addresses[]`
}
],
"ports": [
"string"
]
}
],
// `listeners[]` includes only one of the fields `http`, `tls`, `stream`
"http": {
"handler": {
"httpRouterId": "string",
"rewriteRequestId": true,
// `listeners[].http.handler` includes only one of the fields `http2Options`, `allowHttp10`
"http2Options": {
"maxConcurrentStreams": "string"
},
"allowHttp10": true,
// end of the list of possible fields`listeners[].http.handler`
},
"redirects": {
"httpToHttps": true
}
},
"tls": {
"defaultHandler": {
"certificateIds": [
"string"
],
// `listeners[].tls.defaultHandler` includes only one of the fields `httpHandler`, `streamHandler`
"httpHandler": {
"httpRouterId": "string",
"rewriteRequestId": true,
// `listeners[].tls.defaultHandler.httpHandler` includes only one of the fields `http2Options`, `allowHttp10`
"http2Options": {
"maxConcurrentStreams": "string"
},
"allowHttp10": true,
// end of the list of possible fields`listeners[].tls.defaultHandler.httpHandler`
},
"streamHandler": {
"backendGroupId": "string"
},
// end of the list of possible fields`listeners[].tls.defaultHandler`
},
"sniHandlers": [
{
"name": "string",
"serverNames": [
"string"
],
"handler": {
"certificateIds": [
"string"
],
// `listeners[].tls.sniHandlers[].handler` includes only one of the fields `httpHandler`, `streamHandler`
"httpHandler": {
"httpRouterId": "string",
"rewriteRequestId": true,
// `listeners[].tls.sniHandlers[].handler.httpHandler` includes only one of the fields `http2Options`, `allowHttp10`
"http2Options": {
"maxConcurrentStreams": "string"
},
"allowHttp10": true,
// end of the list of possible fields`listeners[].tls.sniHandlers[].handler.httpHandler`
},
"streamHandler": {
"backendGroupId": "string"
},
// end of the list of possible fields`listeners[].tls.sniHandlers[].handler`
}
}
]
},
"stream": {
"handler": {
"backendGroupId": "string"
}
},
// end of the list of possible fields`listeners[]`
}
],
"allocationPolicy": {
"locations": [
{
"zoneId": "string",
"subnetId": "string",
"disableTraffic": true
}
]
},
"logGroupId": "string",
"securityGroupIds": [
"string"
],
"createdAt": "string",
"autoScalePolicy": {
"minZoneSize": "string",
"maxSize": "string"
},
"logOptions": {
"logGroupId": "string",
"discardRules": [
{
"httpCodes": [
"string"
],
"httpCodeIntervals": [
"string"
],
"grpcCodes": [
"string"
],
"discardPercent": "integer"
}
],
"disable": true
}
}
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 | object Application load balancer labels as |
status | string 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[] | object Listeners that belong to the application load balancer. For details about the concept, see documentation. |
listeners[]. name |
string Required. Name of the listener. The name is unique within the application load balancer. The string length in characters is 3-63. |
listeners[]. endpoints[] |
object Endpoints of the listener. Endpoints are defined by their IP addresses and ports. |
listeners[]. endpoints[]. addresses[] |
object Required. Endpoint public (external) and internal addresses. Must contain at least one element. |
listeners[]. endpoints[]. addresses[]. externalIpv4Address |
object listeners[].endpoints[].addresses[] includes only one of the fields externalIpv4Address , internalIpv4Address , externalIpv6Address A public (external) IPv4 endpoint address resource. |
listeners[]. endpoints[]. addresses[]. externalIpv4Address. address |
string IPv4 address. |
listeners[]. endpoints[]. addresses[]. internalIpv4Address |
object listeners[].endpoints[].addresses[] includes only one of the fields externalIpv4Address , internalIpv4Address , externalIpv6Address An internal IPv4 endpoint address resource. |
listeners[]. endpoints[]. addresses[]. internalIpv4Address. address |
string IPv4 address. |
listeners[]. endpoints[]. addresses[]. internalIpv4Address. subnetId |
string ID of the subnet that the address belongs to. |
listeners[]. endpoints[]. addresses[]. externalIpv6Address |
object listeners[].endpoints[].addresses[] includes only one of the fields externalIpv4Address , internalIpv4Address , externalIpv6Address A public (external) IPv4 endpoint address resource. |
listeners[]. endpoints[]. addresses[]. externalIpv6Address. address |
string IPv6 address. |
listeners[]. endpoints[]. ports[] |
string (int64) Required. Endpoint ports. Must contain at least one element. Acceptable values are 1 to 65535, inclusive. |
listeners[]. http |
object listeners[] includes only one of the fields http , tls , stream An HTTP listener resource. |
listeners[]. http. handler |
object Settings for handling HTTP requests. Only one of An HTTP handler resource. |
listeners[]. 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. |
listeners[]. http. handler. rewriteRequestId |
boolean (boolean) When unset, will preserve the incoming x-request-id header, otherwise would rewrite it with a new value. |
listeners[]. http. handler. http2Options |
object listeners[].http.handler includes only one of the fields http2Options , allowHttp10 An HTTP/2 options resource. |
listeners[]. http. handler. http2Options. maxConcurrentStreams |
string (int64) Maximum number of concurrent HTTP/2 streams in a connection. |
listeners[]. http. handler. allowHttp10 |
boolean (boolean) listeners[].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. |
listeners[]. http. redirects |
object Redirects settings. Only one of A listener redirects resource. |
listeners[]. 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 |
listeners[]. tls |
object listeners[] includes only one of the fields http , tls , stream TLS-encrypted (HTTP or TCP stream) listener resource. |
listeners[]. 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. |
listeners[]. 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. |
listeners[]. tls. defaultHandler. httpHandler |
object listeners[].tls.defaultHandler includes only one of the fields httpHandler , streamHandler An HTTP handler resource. |
listeners[]. 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. |
listeners[]. tls. defaultHandler. httpHandler. rewriteRequestId |
boolean (boolean) When unset, will preserve the incoming x-request-id header, otherwise would rewrite it with a new value. |
listeners[]. tls. defaultHandler. httpHandler. http2Options |
object HTTP/2 settings. If specified, incoming HTTP/2 requests are supported by the listener. listeners[].tls.defaultHandler.httpHandler includes only one of the fields http2Options , allowHttp10 |
listeners[]. tls. defaultHandler. httpHandler. http2Options. maxConcurrentStreams |
string (int64) Maximum number of concurrent HTTP/2 streams in a connection. |
listeners[]. tls. defaultHandler. httpHandler. allowHttp10 |
boolean (boolean) listeners[].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. |
listeners[]. tls. defaultHandler. streamHandler |
object listeners[].tls.defaultHandler includes only one of the fields httpHandler , streamHandler A stream (TCP) handler resource. |
listeners[]. 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. |
listeners[]. tls. sniHandlers[] |
object Settings for handling requests with Server Name Indication (SNI) matching one of |
listeners[]. tls. sniHandlers[]. name |
string Required. Name of the SNI handler. |
listeners[]. tls. sniHandlers[]. serverNames[] |
string Required. Server names that are matched by the SNI handler. Must contain at least one element. |
listeners[]. 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. |
listeners[]. 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. |
listeners[]. tls. sniHandlers[]. handler. httpHandler |
object HTTP handler. listeners[].tls.sniHandlers[].handler includes only one of the fields httpHandler , streamHandler |
listeners[]. 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. |
listeners[]. 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. |
listeners[]. tls. sniHandlers[]. handler. httpHandler. http2Options |
object HTTP/2 settings. If specified, incoming HTTP/2 requests are supported by the listener. listeners[].tls.sniHandlers[].handler.httpHandler includes only one of the fields http2Options , allowHttp10 |
listeners[]. tls. sniHandlers[]. handler. httpHandler. http2Options. maxConcurrentStreams |
string (int64) Maximum number of concurrent HTTP/2 streams in a connection. |
listeners[]. tls. sniHandlers[]. handler. httpHandler. allowHttp10 |
boolean (boolean) listeners[].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. |
listeners[]. tls. sniHandlers[]. handler. streamHandler |
object Stream (TCP) handler. listeners[].tls.sniHandlers[].handler includes only one of the fields httpHandler , streamHandler |
listeners[]. 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. |
listeners[]. stream |
object listeners[] includes only one of the fields http , tls , stream A stream (TCP) listener resource. |
listeners[]. stream. handler |
object Required. Settings for handling stream (TCP) requests. A stream (TCP) handler resource. |
listeners[]. 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 Locality settings of the application load balancer. For details about the concept, see documentation. 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 |
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, see documentation. |
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). |
autoScalePolicy | object 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. |
Methods
Method | Description |
---|---|
addListener | Adds a listener to the specified application load balancer. |
addSniMatch | Adds a SNI handler to the specified listener. |
create | Creates an application load balancer in the specified folder. |
delete | Deletes the specified application load balancer. |
get | Returns the specified application load balancer. |
getTargetStates | Returns the statuses of all targets of the specified backend group in all their availability zones. |
list | Lists application load balancers in the specified folder. |
listOperations | Lists operations for the specified application load balancer. |
removeListener | Deletes the specified listener. |
removeSniMatch | Deletes the specified SNI handler. |
start | Starts the specified application load balancer. |
stop | Stops the specified application load balancer. |
update | Updates the specified application load balancer. |
updateListener | Updates the specified listener of the specified application load balancer. |
updateSniMatch | Updates the specified SNI handler of the specified listener. |