Application Load Balancer API, gRPC: BackendGroupService.UpdateBackend
Updates the specified backend.
gRPC request
rpc UpdateBackend (UpdateBackendRequest) returns (operation.Operation)
UpdateBackendRequest
{
"backend_group_id": "string",
"update_mask": "google.protobuf.FieldMask",
// Includes only one of the fields `stream`, `http`, `grpc`
"stream": {
"name": "string",
"backend_weight": "google.protobuf.Int64Value",
"load_balancing_config": {
"mode": "LoadBalancingMode",
"panic_threshold": "int64",
"locality_aware_routing_percent": "int64",
"strict_locality": "bool"
},
"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"
},
"http": {
"name": "string",
"backend_weight": "google.protobuf.Int64Value",
"load_balancing_config": {
"mode": "LoadBalancingMode",
"panic_threshold": "int64",
"locality_aware_routing_percent": "int64",
"strict_locality": "bool"
},
"port": "int64",
// Includes only one of the fields `storage_bucket`, `target_groups`
"storage_bucket": {
"bucket": "string"
},
"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
}
},
"use_http2": "bool"
},
"grpc": {
"name": "string",
"backend_weight": "google.protobuf.Int64Value",
"load_balancing_config": {
"mode": "LoadBalancingMode",
"panic_threshold": "int64",
"locality_aware_routing_percent": "int64",
"strict_locality": "bool"
},
"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
}
}
}
// end of the list of possible fields
}
|
Field |
Description |
|
backend_group_id |
string Required field. ID of the backend group to update the backend in. |
|
update_mask |
Field mask that specifies which attributes of the backend should be updated. |
|
stream |
New settings for the stream (TCP) backend. Includes only one of the fields Name of the backend to update (required) and new settings for the backend. |
|
http |
New settings for the HTTP backend. Includes only one of the fields Name of the backend to update (required) and new settings for the backend. |
|
grpc |
New settings for the gRPC backend. Includes only one of the fields Name of the backend to update (required) and new settings for the backend. |
StreamBackend
A stream (TCP) backend resource.
|
Field |
Description |
|
name |
string Name of the backend. Value must match the regular expression |
|
backend_weight |
Backend weight. Traffic is distributed between backends of a backend group according to their weights. |
|
load_balancing_config |
Load balancing configuration for the backend. |
|
port |
int64 Port used by all targets to receive traffic. Acceptable values are 0 to 65535, inclusive. |
|
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. |
|
tls |
Settings for TLS connections between load balancer nodes and backend targets. |
|
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), |
LoadBalancingConfig
A load balancing configuration resource.
|
Field |
Description |
|
mode |
enum LoadBalancingMode Load balancing mode for the backend.
|
|
panic_threshold |
int64 Threshold for panic mode. Acceptable values are 0 to 100, inclusive. |
|
locality_aware_routing_percent |
int64 Percentage of traffic that a load balancer node sends to healthy backends in its availability zone. Acceptable values are 0 to 100, inclusive. |
|
strict_locality |
bool Specifies whether a load balancer node should only send traffic to backends in its availability zone, |
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. The number of elements must be greater than 0. |
HealthCheck
A health check resource.
For details about the concept, see documentation.
|
Field |
Description |
|
timeout |
Required field. Health check timeout. |
|
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. |
|
unhealthy_threshold |
int64 Number of consecutive failed health checks required to mark a healthy target as unhealthy. |
|
healthcheck_port |
int64 Port used for health checks. Acceptable values are 0 to 65535, inclusive. |
|
stream |
TCP stream health check settings. Includes only one of the fields Protocol-specific health check settings. |
|
http |
HTTP health check settings. Includes only one of the fields Protocol-specific health check settings. |
|
grpc |
gRPC health check settings. Includes only one of the fields Protocol-specific health check settings. |
|
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. |
|
receive |
Data that must be contained in the messages received from targets for a successful health check. |
Payload
A health check payload resource.
|
Field |
Description |
|
text |
string Payload text. The string length in characters must be 1-16384. 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 The string length in characters must be 0-255. Value must match the regular expression |
|
path |
string HTTP path used in requests to targets: request URI for HTTP/1.1 request line The string length in characters must be 1-255. Value must match the regular expression |
|
use_http2 |
bool Enables HTTP/2 usage in health checks. |
|
expected_statuses[] |
int64 A list of HTTP response statuses considered healthy. Acceptable values are 100 to 599, inclusive. |
GrpcHealthCheck
A resource for gRPC health check settings.
|
Field |
Description |
|
service_name |
string Name of the gRPC service to be checked. |
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. The maximum string length in characters is 255. Value must match the regular expression |
|
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. The maximum string length in characters is 255. Value must match the regular expression |
|
validation_context |
Validation context for TLS connections. |
HttpBackend
An HTTP backend resource.
|
Field |
Description |
|
name |
string Name of the backend. Value must match the regular expression |
|
backend_weight |
Backend weight. Traffic is distributed between backends of a backend group according to their weights. |
|
load_balancing_config |
Load balancing configuration for the backend. |
|
port |
int64 Port used by all targets to receive traffic. Acceptable values are 0 to 65535, inclusive. |
|
storage_bucket |
Object Storage bucket to use as the backend. For details about buckets, see Includes only one of the fields Reference to targets that belong to the backend. |
|
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. |
|
tls |
Settings for TLS connections between load balancer nodes and backend targets. |
|
use_http2 |
bool Enables HTTP/2 usage in connections between load balancer nodes and backend targets. |
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. |
GrpcBackend
A gRPC backend resource.
|
Field |
Description |
|
name |
string Name of the backend. Value must match the regular expression |
|
backend_weight |
Backend weight. Traffic is distributed between backends of a backend group according to their weights. |
|
load_balancing_config |
Load balancing configuration for the backend. |
|
port |
int64 Port used by all targets to receive traffic. Acceptable values are 0 to 65535, inclusive. |
|
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. |
|
tls |
Settings for TLS connections between load balancer nodes and backend targets. |
operation.Operation
{
"id": "string",
"description": "string",
"created_at": "google.protobuf.Timestamp",
"created_by": "string",
"modified_at": "google.protobuf.Timestamp",
"done": "bool",
"metadata": "google.protobuf.Any",
// Includes only one of the fields `error`, `response`
"error": "google.rpc.Status",
"response": "google.protobuf.Any"
// 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. |