LoadBalancer
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",
// `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",
// `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",
// `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"
}
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 A listener resource. 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 An endpoint resource. |
listeners[]. endpoints[]. addresses[] |
object An endpoint address resource. |
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. 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. 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 An HTTP/2 options resource. |
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 A SNI handler resource. |
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 An HTTP handler resource. |
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. 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 An HTTP/2 options resource. |
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 A stream (TCP) handler resource. |
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 An application load balancer location resource. For details about the concept, see documentation. |
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. |
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. |