Application Load Balancer API, gRPC: BackendGroupService.Update
- gRPC request
- UpdateBackendGroupRequest
- StreamBackendGroup
- StreamBackend
- LoadBalancingConfig
- TargetGroupsBackend
- HealthCheck
- StreamHealthCheck
- Payload
- HttpHealthCheck
- GrpcHealthCheck
- PlaintextTransportSettings
- SecureTransportSettings
- ValidationContext
- BackendTls
- ConnectionSessionAffinity
- HttpBackendGroup
- HttpBackend
- StorageBucketBackend
- HeaderSessionAffinity
- CookieSessionAffinity
- GrpcBackendGroup
- GrpcBackend
- operation.Operation
Updates the specified backend group.
gRPC request
rpc Update (UpdateBackendGroupRequest) returns (operation.Operation)
UpdateBackendGroupRequest
{
"backend_group_id": "string",
"update_mask": "google.protobuf.FieldMask",
"name": "string",
"description": "string",
"labels": "map<string, string>",
// Includes only one of the fields `stream`, `http`, `grpc`
"stream": {
"backends": [
{
"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"
}
],
// Includes only one of the fields `connection`
"connection": {
"source_ip": "bool"
}
// end of the list of possible fields
},
"http": {
"backends": [
{
"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"
}
],
// Includes only one of the fields `connection`, `header`, `cookie`
"connection": {
"source_ip": "bool"
},
"header": {
"header_name": "string"
},
"cookie": {
"name": "string",
"ttl": "google.protobuf.Duration",
"path": "string"
}
// end of the list of possible fields
},
"grpc": {
"backends": [
{
"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
}
}
}
],
// Includes only one of the fields `connection`, `header`, `cookie`
"connection": {
"source_ip": "bool"
},
"header": {
"header_name": "string"
},
"cookie": {
"name": "string",
"ttl": "google.protobuf.Duration",
"path": "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. |
|
update_mask |
Field mask that specifies which attributes of the backend group should be updated. |
|
name |
string New name for the backend group. Value must match the regular expression |
|
description |
string New description of the backend group. The maximum string length in characters is 256. |
|
labels |
object (map<string, string>) Backend group labels as
The maximum string length in characters for each value is 63. The string length in characters for each key must be 1-63. Each key must match the regular expression |
|
stream |
New list of stream (TCP) backends that the backend group will consist of. Includes only one of the fields New list of backends in the backend group. |
|
http |
New list of HTTP backends that the backend group will consist of. Includes only one of the fields New list of backends in the backend group. |
|
grpc |
New list of gRPC backends that the backend group will consist of. Includes only one of the fields New list of backends in the backend group. |
StreamBackendGroup
A stream (TCP) backend group resource.
|
Field |
Description |
|
backends[] |
List of stream (TCP) backends. |
|
connection |
Connection-based session affinity configuration. Includes only one of the fields Session affinity configuration for the backend group. |
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. |
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. |
HttpBackendGroup
An HTTP backend group resource.
|
Field |
Description |
|
backends[] |
List of HTTP backends. |
|
connection |
Connection-based session affinity configuration. Includes only one of the fields Session affinity configuration for the backend group. |
|
header |
HTTP-header-field-based session affinity configuration. Includes only one of the fields Session affinity configuration for the backend group. |
|
cookie |
Cookie-based session affinity configuration. Includes only one of the fields Session affinity configuration for the backend group. |
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. |
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. The string length in characters must be 1-256. |
CookieSessionAffinity
A resource for cookie-based session affinity configuration.
|
Field |
Description |
|
name |
string Name of the cookie that is used for session affinity. The string length in characters must be 1-256. |
|
ttl |
Maximum age of cookies that are generated for sessions. |
|
path |
string Path of cookie. The string length in characters must be 0-256. |
GrpcBackendGroup
A gRPC backend group resource.
|
Field |
Description |
|
backends[] |
List of gRPC backends. |
|
connection |
Connection-based session affinity configuration. Includes only one of the fields Session affinity configuration for the backend group. |
|
header |
HTTP-header-field-based session affinity configuration. Includes only one of the fields Session affinity configuration for the backend group. |
|
cookie |
Cookie-based session affinity configuration. Includes only one of the fields Session affinity configuration for the backend group. |
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. |