Application Load Balancer API, gRPC: BackendGroupService.AddBackend
- gRPC request
- AddBackendRequest
- HttpBackend
- LoadBalancingConfig
- TargetGroupsBackend
- StorageBucketBackend
- HealthCheck
- StreamHealthCheck
- Payload
- HttpHealthCheck
- GrpcHealthCheck
- PlaintextTransportSettings
- SecureTransportSettings
- ValidationContext
- BackendTls
- GrpcBackend
- StreamBackend
- operation.Operation
- AddBackendMetadata
- BackendGroup
- HttpBackendGroup
- HttpBackend
- LoadBalancingConfig
- TargetGroupsBackend
- StorageBucketBackend
- HealthCheck
- StreamHealthCheck
- Payload
- HttpHealthCheck
- GrpcHealthCheck
- PlaintextTransportSettings
- SecureTransportSettings
- ValidationContext
- BackendTls
- ConnectionSessionAffinity
- HeaderSessionAffinity
- CookieSessionAffinity
- GrpcBackendGroup
- GrpcBackend
- StreamBackendGroup
- StreamBackend
Adds backends to the specified backend group.
gRPC request
rpc AddBackend (AddBackendRequest) returns (operation.Operation)
AddBackendRequest
{
"backend_group_id": "string",
// Includes only one of the fields `http`, `grpc`, `stream`
"http": {
"name": "string",
"backend_weight": "google.protobuf.Int64Value",
"load_balancing_config": {
"panic_threshold": "int64",
"locality_aware_routing_percent": "int64",
"strict_locality": "bool",
"mode": "LoadBalancingMode"
},
"port": "int64",
// Includes only one of the fields `target_groups`, `storage_bucket`
"target_groups": {
"target_group_ids": [
"string"
]
},
"storage_bucket": {
"bucket": "string"
},
// end of the list of possible fields
"healthchecks": [
{
"timeout": "google.protobuf.Duration",
"interval": "google.protobuf.Duration",
"interval_jitter_percent": "double",
"healthy_threshold": "int64",
"unhealthy_threshold": "int64",
"healthcheck_port": "int64",
// Includes only one of the fields `stream`, `http`, `grpc`
"stream": {
"send": {
// Includes only one of the fields `text`
"text": "string"
// end of the list of possible fields
},
"receive": {
// Includes only one of the fields `text`
"text": "string"
// end of the list of possible fields
}
},
"http": {
"host": "string",
"path": "string",
"use_http2": "bool",
"expected_statuses": [
"int64"
]
},
"grpc": {
"service_name": "string"
},
// end of the list of possible fields
// Includes only one of the fields `plaintext`, `tls`
"plaintext": "PlaintextTransportSettings",
"tls": {
"sni": "string",
"validation_context": {
// Includes only one of the fields `trusted_ca_id`, `trusted_ca_bytes`
"trusted_ca_id": "string",
"trusted_ca_bytes": "string"
// end of the list of possible fields
}
}
// end of the list of possible fields
}
],
"tls": {
"sni": "string",
"validation_context": {
// Includes only one of the fields `trusted_ca_id`, `trusted_ca_bytes`
"trusted_ca_id": "string",
"trusted_ca_bytes": "string"
// end of the list of possible fields
}
},
"use_http2": "bool"
},
"grpc": {
"name": "string",
"backend_weight": "google.protobuf.Int64Value",
"load_balancing_config": {
"panic_threshold": "int64",
"locality_aware_routing_percent": "int64",
"strict_locality": "bool",
"mode": "LoadBalancingMode"
},
"port": "int64",
// Includes only one of the fields `target_groups`
"target_groups": {
"target_group_ids": [
"string"
]
},
// end of the list of possible fields
"healthchecks": [
{
"timeout": "google.protobuf.Duration",
"interval": "google.protobuf.Duration",
"interval_jitter_percent": "double",
"healthy_threshold": "int64",
"unhealthy_threshold": "int64",
"healthcheck_port": "int64",
// Includes only one of the fields `stream`, `http`, `grpc`
"stream": {
"send": {
// Includes only one of the fields `text`
"text": "string"
// end of the list of possible fields
},
"receive": {
// Includes only one of the fields `text`
"text": "string"
// end of the list of possible fields
}
},
"http": {
"host": "string",
"path": "string",
"use_http2": "bool",
"expected_statuses": [
"int64"
]
},
"grpc": {
"service_name": "string"
},
// end of the list of possible fields
// Includes only one of the fields `plaintext`, `tls`
"plaintext": "PlaintextTransportSettings",
"tls": {
"sni": "string",
"validation_context": {
// Includes only one of the fields `trusted_ca_id`, `trusted_ca_bytes`
"trusted_ca_id": "string",
"trusted_ca_bytes": "string"
// end of the list of possible fields
}
}
// end of the list of possible fields
}
],
"tls": {
"sni": "string",
"validation_context": {
// Includes only one of the fields `trusted_ca_id`, `trusted_ca_bytes`
"trusted_ca_id": "string",
"trusted_ca_bytes": "string"
// end of the list of possible fields
}
}
},
"stream": {
"name": "string",
"backend_weight": "google.protobuf.Int64Value",
"load_balancing_config": {
"panic_threshold": "int64",
"locality_aware_routing_percent": "int64",
"strict_locality": "bool",
"mode": "LoadBalancingMode"
},
"port": "int64",
// Includes only one of the fields `target_groups`
"target_groups": {
"target_group_ids": [
"string"
]
},
// end of the list of possible fields
"healthchecks": [
{
"timeout": "google.protobuf.Duration",
"interval": "google.protobuf.Duration",
"interval_jitter_percent": "double",
"healthy_threshold": "int64",
"unhealthy_threshold": "int64",
"healthcheck_port": "int64",
// Includes only one of the fields `stream`, `http`, `grpc`
"stream": {
"send": {
// Includes only one of the fields `text`
"text": "string"
// end of the list of possible fields
},
"receive": {
// Includes only one of the fields `text`
"text": "string"
// end of the list of possible fields
}
},
"http": {
"host": "string",
"path": "string",
"use_http2": "bool",
"expected_statuses": [
"int64"
]
},
"grpc": {
"service_name": "string"
},
// end of the list of possible fields
// Includes only one of the fields `plaintext`, `tls`
"plaintext": "PlaintextTransportSettings",
"tls": {
"sni": "string",
"validation_context": {
// Includes only one of the fields `trusted_ca_id`, `trusted_ca_bytes`
"trusted_ca_id": "string",
"trusted_ca_bytes": "string"
// end of the list of possible fields
}
}
// end of the list of possible fields
}
],
"tls": {
"sni": "string",
"validation_context": {
// Includes only one of the fields `trusted_ca_id`, `trusted_ca_bytes`
"trusted_ca_id": "string",
"trusted_ca_bytes": "string"
// end of the list of possible fields
}
},
"enable_proxy_protocol": "bool",
"keep_connections_on_host_health_failure": "bool"
}
// end of the list of possible fields
}
Field |
Description |
backend_group_id |
string Required field. ID of the backend group to add a backend to. To get the backend group ID, make a BackendGroupService.List request. |
http |
HTTP backend to add to the backend group. Includes only one of the fields Backend to add to the backend group. |
grpc |
gRPC backend to add to the backend group. Includes only one of the fields Backend to add to the backend group. |
stream |
New settings for the Stream backend. Includes only one of the fields Backend to add to the backend group. |
HttpBackend
An HTTP backend resource.
Field |
Description |
name |
string Required field. Name of the backend. |
backend_weight |
Backend weight. Traffic is distributed between backends of a backend group according to their weights. Weights must be set either for all backends in a group or for none of them. If the weight is non-positive, traffic is not sent to the backend. |
load_balancing_config |
Load balancing configuration for the backend. |
port |
int64 Port used by all targets to receive traffic. |
target_groups |
Target groups that belong to the backend. For details about target groups, see Includes only one of the fields Reference to targets that belong to the backend. A backend may be a set of target groups or an Object Storage bucket. For details about backend types, see |
storage_bucket |
Object Storage bucket to use as the backend. For details about buckets, see If a bucket is used as a backend, the list of bucket objects and the objects themselves must be publicly Includes only one of the fields Reference to targets that belong to the backend. A backend may be a set of target groups or an Object Storage bucket. For details about backend types, see |
healthchecks[] |
Health checks to perform on targets from target groups. If no health checks are specified, active health checking is not performed. |
tls |
Settings for TLS connections between load balancer nodes and backend targets. If specified, the load balancer establishes HTTPS (HTTP over TLS) connections with targets |
use_http2 |
bool Enables HTTP/2 usage in connections between load balancer nodes and backend targets. Default value: |
LoadBalancingConfig
A load balancing configuration resource.
Field |
Description |
panic_threshold |
int64 Threshold for panic mode. If percentage of healthy backends in the group drops below threshold, If the value is Default value: |
locality_aware_routing_percent |
int64 Percentage of traffic that a load balancer node sends to healthy backends in its availability zone. If there are no healthy backends in an availability zone, all the traffic is divided between other zones. If Default value: |
strict_locality |
bool Specifies whether a load balancer node should only send traffic to backends in its availability zone, If set to If Default value: |
mode |
enum LoadBalancingMode Load balancing mode for the backend. For details about load balancing modes, see
|
TargetGroupsBackend
A resource for target groups that belong to the backend.
Field |
Description |
target_group_ids[] |
string List of ID's of target groups that belong to the backend. To get the ID's of all available target groups, make a TargetGroupService.List request. |
StorageBucketBackend
A resource for Object Storage bucket used as a backend. For details about the concept,
see documentation.
Field |
Description |
bucket |
string Required field. Name of the bucket. |
HealthCheck
A health check resource.
For details about the concept, see documentation.
Field |
Description |
timeout |
Required field. Health check timeout. The timeout is the time allowed for the target to respond to a check. |
interval |
Required field. Base interval between consecutive health checks. |
interval_jitter_percent |
double |
healthy_threshold |
int64 Number of consecutive successful health checks required to mark an unhealthy target as healthy. Both The value is ignored when a load balancer is initialized; a target is marked healthy after one successful check. Default value: |
unhealthy_threshold |
int64 Number of consecutive failed health checks required to mark a healthy target as unhealthy. Both The value is ignored if a health check is failed due to an HTTP Default value: |
healthcheck_port |
int64 Port used for health checks. If not specified, the backend port (HttpBackend.port or GrpcBackend.port) is used for health checks. |
stream |
TCP stream health check settings. Includes only one of the fields Protocol-specific health check settings. The protocols of the backend and of its health check may differ, |
http |
HTTP health check settings. Includes only one of the fields Protocol-specific health check settings. The protocols of the backend and of its health check may differ, |
grpc |
gRPC health check settings. Includes only one of the fields Protocol-specific health check settings. The protocols of the backend and of its health check may differ, |
plaintext |
Includes only one of the fields Optional transport protocol for health checks. |
tls |
Includes only one of the fields Optional transport protocol for health checks. |
StreamHealthCheck
A resource for TCP stream health check settings.
Field |
Description |
send |
Message sent to targets during TCP data transfer. If not specified, no data is sent to the target. |
receive |
Data that must be contained in the messages received from targets for a successful health check. If not specified, no messages are expected from targets, and those that are received are not checked. |
Payload
A health check payload resource.
Field |
Description |
text |
string Payload text. Includes only one of the fields Payload. |
HttpHealthCheck
A resource for HTTP health check settings.
Field |
Description |
host |
string Value for the HTTP/1.1 |
path |
string Required field. HTTP path used in requests to targets: request URI for HTTP/1.1 request line |
use_http2 |
bool Enables HTTP/2 usage in health checks. Default value: |
expected_statuses[] |
int64 A list of HTTP response statuses considered healthy. |
GrpcHealthCheck
A resource for gRPC health check settings.
Field |
Description |
service_name |
string Name of the gRPC service to be checked. If not specified, overall health is checked. For details about the concept, see GRPC Health Checking Protocol |
PlaintextTransportSettings
Transport settings to be used instead of the settings configured per-cluster
Field |
Description |
Empty |
SecureTransportSettings
Transport settings to be used instead of the settings configured per-cluster
Field |
Description |
sni |
string SNI string for TLS connections. |
validation_context |
Validation context for backend TLS connections. |
ValidationContext
A TLS validation context resource.
Field |
Description |
trusted_ca_id |
string Includes only one of the fields TLS certificate issued by a trusted certificate authority (CA). |
trusted_ca_bytes |
string X.509 certificate contents in PEM format. Includes only one of the fields TLS certificate issued by a trusted certificate authority (CA). |
BackendTls
A resource for backend TLS settings.
Field |
Description |
sni |
string Server Name Indication (SNI) string for TLS connections. |
validation_context |
Validation context for TLS connections. |
GrpcBackend
A gRPC backend resource.
Field |
Description |
name |
string Required field. Name of the backend. |
backend_weight |
Backend weight. Traffic is distributed between backends of a backend group according to their weights. Weights must be set either for all backends of a group or for none of them. If the weight is non-positive, traffic is not sent to the backend. |
load_balancing_config |
Load balancing configuration for the backend. |
port |
int64 Port used by all targets to receive traffic. |
target_groups |
Target groups that belong to the backend. Includes only one of the fields Reference to targets that belong to the backend. For now, targets are referenced via target groups. |
healthchecks[] |
Health checks to perform on targets from target groups. If no health checks are specified, active health checking is not performed. |
tls |
Settings for TLS connections between load balancer nodes and backend targets. If specified, the load balancer establishes HTTPS (HTTP over TLS) connections with targets |
StreamBackend
A stream (TCP) backend resource.
Field |
Description |
name |
string Name of the backend. |
backend_weight |
Backend weight. Traffic is distributed between backends of a backend group according to their weights. Weights must be set either for all backends in a group or for none of them. If the weight is non-positive, traffic is not sent to the backend. |
load_balancing_config |
Load balancing configuration for the backend. |
port |
int64 Port used by all targets to receive traffic. |
target_groups |
Target groups that belong to the backend. For details about target groups, see Includes only one of the fields Reference to targets that belong to the backend. |
healthchecks[] |
Health checks to perform on targets from target groups. If no health checks are specified, active health checking is not performed. |
tls |
Settings for TLS connections between load balancer nodes and backend targets. If specified, the load balancer establishes TLS-encrypted TCP connections with targets and compares received |
enable_proxy_protocol |
bool If set, proxy protocol will be enabled for this backend. |
keep_connections_on_host_health_failure |
bool If a backend host becomes unhealthy (as determined by the configured health checks), |
operation.Operation
{
"id": "string",
"description": "string",
"created_at": "google.protobuf.Timestamp",
"created_by": "string",
"modified_at": "google.protobuf.Timestamp",
"done": "bool",
"metadata": {
"backend_group_id": "string",
"backend_name": "string"
},
// Includes only one of the fields `error`, `response`
"error": "google.rpc.Status",
"response": {
"id": "string",
"name": "string",
"description": "string",
"folder_id": "string",
"labels": "map<string, string>",
// Includes only one of the fields `http`, `grpc`, `stream`
"http": {
"backends": [
{
"name": "string",
"backend_weight": "google.protobuf.Int64Value",
"load_balancing_config": {
"panic_threshold": "int64",
"locality_aware_routing_percent": "int64",
"strict_locality": "bool",
"mode": "LoadBalancingMode"
},
"port": "int64",
// Includes only one of the fields `target_groups`, `storage_bucket`
"target_groups": {
"target_group_ids": [
"string"
]
},
"storage_bucket": {
"bucket": "string"
},
// end of the list of possible fields
"healthchecks": [
{
"timeout": "google.protobuf.Duration",
"interval": "google.protobuf.Duration",
"interval_jitter_percent": "double",
"healthy_threshold": "int64",
"unhealthy_threshold": "int64",
"healthcheck_port": "int64",
// Includes only one of the fields `stream`, `http`, `grpc`
"stream": {
"send": {
// Includes only one of the fields `text`
"text": "string"
// end of the list of possible fields
},
"receive": {
// Includes only one of the fields `text`
"text": "string"
// end of the list of possible fields
}
},
"http": {
"host": "string",
"path": "string",
"use_http2": "bool",
"expected_statuses": [
"int64"
]
},
"grpc": {
"service_name": "string"
},
// end of the list of possible fields
// Includes only one of the fields `plaintext`, `tls`
"plaintext": "PlaintextTransportSettings",
"tls": {
"sni": "string",
"validation_context": {
// Includes only one of the fields `trusted_ca_id`, `trusted_ca_bytes`
"trusted_ca_id": "string",
"trusted_ca_bytes": "string"
// end of the list of possible fields
}
}
// end of the list of possible fields
}
],
"tls": {
"sni": "string",
"validation_context": {
// Includes only one of the fields `trusted_ca_id`, `trusted_ca_bytes`
"trusted_ca_id": "string",
"trusted_ca_bytes": "string"
// end of the list of possible fields
}
},
"use_http2": "bool"
}
],
// Includes only one of the fields `connection`, `header`, `cookie`
"connection": {
"source_ip": "bool"
},
"header": {
"header_name": "string"
},
"cookie": {
"name": "string",
"ttl": "google.protobuf.Duration"
}
// end of the list of possible fields
},
"grpc": {
"backends": [
{
"name": "string",
"backend_weight": "google.protobuf.Int64Value",
"load_balancing_config": {
"panic_threshold": "int64",
"locality_aware_routing_percent": "int64",
"strict_locality": "bool",
"mode": "LoadBalancingMode"
},
"port": "int64",
// Includes only one of the fields `target_groups`
"target_groups": {
"target_group_ids": [
"string"
]
},
// end of the list of possible fields
"healthchecks": [
{
"timeout": "google.protobuf.Duration",
"interval": "google.protobuf.Duration",
"interval_jitter_percent": "double",
"healthy_threshold": "int64",
"unhealthy_threshold": "int64",
"healthcheck_port": "int64",
// Includes only one of the fields `stream`, `http`, `grpc`
"stream": {
"send": {
// Includes only one of the fields `text`
"text": "string"
// end of the list of possible fields
},
"receive": {
// Includes only one of the fields `text`
"text": "string"
// end of the list of possible fields
}
},
"http": {
"host": "string",
"path": "string",
"use_http2": "bool",
"expected_statuses": [
"int64"
]
},
"grpc": {
"service_name": "string"
},
// end of the list of possible fields
// Includes only one of the fields `plaintext`, `tls`
"plaintext": "PlaintextTransportSettings",
"tls": {
"sni": "string",
"validation_context": {
// Includes only one of the fields `trusted_ca_id`, `trusted_ca_bytes`
"trusted_ca_id": "string",
"trusted_ca_bytes": "string"
// end of the list of possible fields
}
}
// end of the list of possible fields
}
],
"tls": {
"sni": "string",
"validation_context": {
// Includes only one of the fields `trusted_ca_id`, `trusted_ca_bytes`
"trusted_ca_id": "string",
"trusted_ca_bytes": "string"
// end of the list of possible fields
}
}
}
],
// Includes only one of the fields `connection`, `header`, `cookie`
"connection": {
"source_ip": "bool"
},
"header": {
"header_name": "string"
},
"cookie": {
"name": "string",
"ttl": "google.protobuf.Duration"
}
// end of the list of possible fields
},
"stream": {
"backends": [
{
"name": "string",
"backend_weight": "google.protobuf.Int64Value",
"load_balancing_config": {
"panic_threshold": "int64",
"locality_aware_routing_percent": "int64",
"strict_locality": "bool",
"mode": "LoadBalancingMode"
},
"port": "int64",
// Includes only one of the fields `target_groups`
"target_groups": {
"target_group_ids": [
"string"
]
},
// end of the list of possible fields
"healthchecks": [
{
"timeout": "google.protobuf.Duration",
"interval": "google.protobuf.Duration",
"interval_jitter_percent": "double",
"healthy_threshold": "int64",
"unhealthy_threshold": "int64",
"healthcheck_port": "int64",
// Includes only one of the fields `stream`, `http`, `grpc`
"stream": {
"send": {
// Includes only one of the fields `text`
"text": "string"
// end of the list of possible fields
},
"receive": {
// Includes only one of the fields `text`
"text": "string"
// end of the list of possible fields
}
},
"http": {
"host": "string",
"path": "string",
"use_http2": "bool",
"expected_statuses": [
"int64"
]
},
"grpc": {
"service_name": "string"
},
// end of the list of possible fields
// Includes only one of the fields `plaintext`, `tls`
"plaintext": "PlaintextTransportSettings",
"tls": {
"sni": "string",
"validation_context": {
// Includes only one of the fields `trusted_ca_id`, `trusted_ca_bytes`
"trusted_ca_id": "string",
"trusted_ca_bytes": "string"
// end of the list of possible fields
}
}
// end of the list of possible fields
}
],
"tls": {
"sni": "string",
"validation_context": {
// Includes only one of the fields `trusted_ca_id`, `trusted_ca_bytes`
"trusted_ca_id": "string",
"trusted_ca_bytes": "string"
// end of the list of possible fields
}
},
"enable_proxy_protocol": "bool",
"keep_connections_on_host_health_failure": "bool"
}
],
// Includes only one of the fields `connection`
"connection": {
"source_ip": "bool"
}
// end of the list of possible fields
},
// end of the list of possible fields
"created_at": "google.protobuf.Timestamp"
}
// 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. |
created_at |
Creation timestamp. |
created_by |
string ID of the user or service account who initiated the operation. |
modified_at |
The time when the Operation resource was last modified. |
done |
bool 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. |
AddBackendMetadata
Field |
Description |
backend_group_id |
string ID of the backend group that the backend is being added to. |
backend_name |
string Name of the backend that is being added to the backend group. |
BackendGroup
A backend group resource.
For details about the concept, see documentation.
Field |
Description |
id |
string ID of the backend group. Generated at creation time. |
name |
string Name of the backend group. The name is unique within the folder. The string length in characters is 3-63. |
description |
string Description of the backend group. The string is 0-256 characters long. |
folder_id |
string ID of the folder that the backend group belongs to. |
labels |
object (map<string, string>) Backend group labels as |
http |
List of HTTP backends that the backend group consists of. Includes only one of the fields Backends that the backend group consists of. |
grpc |
List of gRPC backends that the backend group consists of. Includes only one of the fields Backends that the backend group consists of. |
stream |
List of stream (TCP) backends that the backend group consists of. Includes only one of the fields Backends that the backend group consists of. |
created_at |
Creation timestamp. |
HttpBackendGroup
An HTTP backend group resource.
Field |
Description |
backends[] |
List of HTTP backends. |
connection |
Connection-based session affinity configuration. For now, a connection is defined only by an IP address of the client. Includes only one of the fields Session affinity configuration for the backend group. For details about the concept, see If session affinity is configured, the backend group should contain exactly one active backend (i.e. with positive |
header |
HTTP-header-field-based session affinity configuration. Includes only one of the fields Session affinity configuration for the backend group. For details about the concept, see If session affinity is configured, the backend group should contain exactly one active backend (i.e. with positive |
cookie |
Cookie-based session affinity configuration. Includes only one of the fields Session affinity configuration for the backend group. For details about the concept, see If session affinity is configured, the backend group should contain exactly one active backend (i.e. with positive |
HttpBackend
An HTTP backend resource.
Field |
Description |
name |
string Required field. Name of the backend. |
backend_weight |
Backend weight. Traffic is distributed between backends of a backend group according to their weights. Weights must be set either for all backends in a group or for none of them. If the weight is non-positive, traffic is not sent to the backend. |
load_balancing_config |
Load balancing configuration for the backend. |
port |
int64 Port used by all targets to receive traffic. |
target_groups |
Target groups that belong to the backend. For details about target groups, see Includes only one of the fields Reference to targets that belong to the backend. A backend may be a set of target groups or an Object Storage bucket. For details about backend types, see |
storage_bucket |
Object Storage bucket to use as the backend. For details about buckets, see If a bucket is used as a backend, the list of bucket objects and the objects themselves must be publicly Includes only one of the fields Reference to targets that belong to the backend. A backend may be a set of target groups or an Object Storage bucket. For details about backend types, see |
healthchecks[] |
Health checks to perform on targets from target groups. If no health checks are specified, active health checking is not performed. |
tls |
Settings for TLS connections between load balancer nodes and backend targets. If specified, the load balancer establishes HTTPS (HTTP over TLS) connections with targets |
use_http2 |
bool Enables HTTP/2 usage in connections between load balancer nodes and backend targets. Default value: |
LoadBalancingConfig
A load balancing configuration resource.
Field |
Description |
panic_threshold |
int64 Threshold for panic mode. If percentage of healthy backends in the group drops below threshold, If the value is Default value: |
locality_aware_routing_percent |
int64 Percentage of traffic that a load balancer node sends to healthy backends in its availability zone. If there are no healthy backends in an availability zone, all the traffic is divided between other zones. If Default value: |
strict_locality |
bool Specifies whether a load balancer node should only send traffic to backends in its availability zone, If set to If Default value: |
mode |
enum LoadBalancingMode Load balancing mode for the backend. For details about load balancing modes, see
|
TargetGroupsBackend
A resource for target groups that belong to the backend.
Field |
Description |
target_group_ids[] |
string List of ID's of target groups that belong to the backend. To get the ID's of all available target groups, make a TargetGroupService.List request. |
StorageBucketBackend
A resource for Object Storage bucket used as a backend. For details about the concept,
see documentation.
Field |
Description |
bucket |
string Required field. Name of the bucket. |
HealthCheck
A health check resource.
For details about the concept, see documentation.
Field |
Description |
timeout |
Required field. Health check timeout. The timeout is the time allowed for the target to respond to a check. |
interval |
Required field. Base interval between consecutive health checks. |
interval_jitter_percent |
double |
healthy_threshold |
int64 Number of consecutive successful health checks required to mark an unhealthy target as healthy. Both The value is ignored when a load balancer is initialized; a target is marked healthy after one successful check. Default value: |
unhealthy_threshold |
int64 Number of consecutive failed health checks required to mark a healthy target as unhealthy. Both The value is ignored if a health check is failed due to an HTTP Default value: |
healthcheck_port |
int64 Port used for health checks. If not specified, the backend port (HttpBackend.port or GrpcBackend.port) is used for health checks. |
stream |
TCP stream health check settings. Includes only one of the fields Protocol-specific health check settings. The protocols of the backend and of its health check may differ, |
http |
HTTP health check settings. Includes only one of the fields Protocol-specific health check settings. The protocols of the backend and of its health check may differ, |
grpc |
gRPC health check settings. Includes only one of the fields Protocol-specific health check settings. The protocols of the backend and of its health check may differ, |
plaintext |
Includes only one of the fields Optional transport protocol for health checks. |
tls |
Includes only one of the fields Optional transport protocol for health checks. |
StreamHealthCheck
A resource for TCP stream health check settings.
Field |
Description |
send |
Message sent to targets during TCP data transfer. If not specified, no data is sent to the target. |
receive |
Data that must be contained in the messages received from targets for a successful health check. If not specified, no messages are expected from targets, and those that are received are not checked. |
Payload
A health check payload resource.
Field |
Description |
text |
string Payload text. Includes only one of the fields Payload. |
HttpHealthCheck
A resource for HTTP health check settings.
Field |
Description |
host |
string Value for the HTTP/1.1 |
path |
string Required field. HTTP path used in requests to targets: request URI for HTTP/1.1 request line |
use_http2 |
bool Enables HTTP/2 usage in health checks. Default value: |
expected_statuses[] |
int64 A list of HTTP response statuses considered healthy. |
GrpcHealthCheck
A resource for gRPC health check settings.
Field |
Description |
service_name |
string Name of the gRPC service to be checked. If not specified, overall health is checked. For details about the concept, see GRPC Health Checking Protocol |
PlaintextTransportSettings
Transport settings to be used instead of the settings configured per-cluster
Field |
Description |
Empty |
SecureTransportSettings
Transport settings to be used instead of the settings configured per-cluster
Field |
Description |
sni |
string SNI string for TLS connections. |
validation_context |
Validation context for backend TLS connections. |
ValidationContext
A TLS validation context resource.
Field |
Description |
trusted_ca_id |
string Includes only one of the fields TLS certificate issued by a trusted certificate authority (CA). |
trusted_ca_bytes |
string X.509 certificate contents in PEM format. Includes only one of the fields TLS certificate issued by a trusted certificate authority (CA). |
BackendTls
A resource for backend TLS settings.
Field |
Description |
sni |
string Server Name Indication (SNI) string for TLS connections. |
validation_context |
Validation context for TLS connections. |
ConnectionSessionAffinity
A resource for connection-based session affinity configuration.
Field |
Description |
source_ip |
bool Specifies whether an IP address of the client is used to define a connection for session affinity. |
HeaderSessionAffinity
A resource for HTTP-header-field-based session affinity configuration.
Field |
Description |
header_name |
string Name of the HTTP header field that is used for session affinity. |
CookieSessionAffinity
A resource for cookie-based session affinity configuration.
Field |
Description |
name |
string Name of the cookie that is used for session affinity. |
ttl |
Maximum age of cookies that are generated for sessions. If set to If not set, the balancer does not generate cookies and only uses incoming ones for establishing session affinity. |
GrpcBackendGroup
A gRPC backend group resource.
Field |
Description |
backends[] |
List of gRPC backends. |
connection |
Connection-based session affinity configuration. For now, a connection is defined only by an IP address of the client. Includes only one of the fields Session affinity configuration for the backend group. For details about the concept, see If session affinity is configured, the backend group should contain exactly one active backend (i.e. with positive |
header |
HTTP-header-field-based session affinity configuration. Includes only one of the fields Session affinity configuration for the backend group. For details about the concept, see If session affinity is configured, the backend group should contain exactly one active backend (i.e. with positive |
cookie |
Cookie-based session affinity configuration. Includes only one of the fields Session affinity configuration for the backend group. For details about the concept, see If session affinity is configured, the backend group should contain exactly one active backend (i.e. with positive |
GrpcBackend
A gRPC backend resource.
Field |
Description |
name |
string Required field. Name of the backend. |
backend_weight |
Backend weight. Traffic is distributed between backends of a backend group according to their weights. Weights must be set either for all backends of a group or for none of them. If the weight is non-positive, traffic is not sent to the backend. |
load_balancing_config |
Load balancing configuration for the backend. |
port |
int64 Port used by all targets to receive traffic. |
target_groups |
Target groups that belong to the backend. Includes only one of the fields Reference to targets that belong to the backend. For now, targets are referenced via target groups. |
healthchecks[] |
Health checks to perform on targets from target groups. If no health checks are specified, active health checking is not performed. |
tls |
Settings for TLS connections between load balancer nodes and backend targets. If specified, the load balancer establishes HTTPS (HTTP over TLS) connections with targets |
StreamBackendGroup
A stream (TCP) backend group resource.
Field |
Description |
backends[] |
List of stream (TCP) backends. |
connection |
Connection-based session affinity configuration. For now, a connection is defined only by an IP address of the client. Includes only one of the fields Session affinity configuration for the backend group. For details about the concept, see If session affinity is configured, the backend group should contain exactly one active backend (i.e. with positive |
StreamBackend
A stream (TCP) backend resource.
Field |
Description |
name |
string Name of the backend. |
backend_weight |
Backend weight. Traffic is distributed between backends of a backend group according to their weights. Weights must be set either for all backends in a group or for none of them. If the weight is non-positive, traffic is not sent to the backend. |
load_balancing_config |
Load balancing configuration for the backend. |
port |
int64 Port used by all targets to receive traffic. |
target_groups |
Target groups that belong to the backend. For details about target groups, see Includes only one of the fields Reference to targets that belong to the backend. |
healthchecks[] |
Health checks to perform on targets from target groups. If no health checks are specified, active health checking is not performed. |
tls |
Settings for TLS connections between load balancer nodes and backend targets. If specified, the load balancer establishes TLS-encrypted TCP connections with targets and compares received |
enable_proxy_protocol |
bool If set, proxy protocol will be enabled for this backend. |
keep_connections_on_host_health_failure |
bool If a backend host becomes unhealthy (as determined by the configured health checks), |