target.apidocs.com.google.api.services.compute.model.BackendService.html Maven / Gradle / Ivy
BackendService (Compute Engine API v1-rev20250107-2.0.0)
com.google.api.services.compute.model
Class BackendService
- java.lang.Object
-
- java.util.AbstractMap<String,Object>
-
- com.google.api.client.util.GenericData
-
- com.google.api.client.json.GenericJson
-
- com.google.api.services.compute.model.BackendService
-
public final class BackendService
extends com.google.api.client.json.GenericJson
Represents a Backend Service resource. A backend service defines how Google Cloud load balancers
distribute traffic. The backend service configuration contains a set of values, such as the
protocol used to connect to backends, various distribution and session settings, health checks,
and timeouts. These settings provide fine-grained control over how your load balancer behaves.
Most of the settings have default values that allow for easy configuration if you need to get
started quickly. Backend services in Google Compute Engine can be either regionally or globally
scoped. * [Global](https://cloud.google.com/compute/docs/reference/rest/v1/backendServices) *
[Regional](https://cloud.google.com/compute/docs/reference/rest/v1/regionBackendServices) For
more information, see Backend Services.
This is the Java data model class that specifies how to parse/serialize into the JSON that is
transmitted over HTTP when working with the Compute Engine API. For a detailed explanation see:
https://developers.google.com/api-client-library/java/google-http-java-client/json
- Author:
- Google, Inc.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.google.api.client.util.GenericData
com.google.api.client.util.GenericData.Flags
-
Nested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
-
Constructor Summary
Constructors
Constructor and Description
BackendService()
-
Method Summary
All Methods Instance Methods Concrete Methods
Modifier and Type
Method and Description
BackendService
clone()
byte[]
decodeFingerprint()
Fingerprint of this resource.
BackendService
encodeFingerprint(byte[] fingerprint)
Fingerprint of this resource.
Integer
getAffinityCookieTtlSec()
Lifetime of cookies in seconds.
List<Backend>
getBackends()
The list of backends that serve this BackendService.
BackendServiceCdnPolicy
getCdnPolicy()
Cloud CDN configuration for this BackendService.
CircuitBreakers
getCircuitBreakers()
String
getCompressionMode()
Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding
header.
ConnectionDraining
getConnectionDraining()
BackendServiceConnectionTrackingPolicy
getConnectionTrackingPolicy()
Connection Tracking configuration for this BackendService.
ConsistentHashLoadBalancerSettings
getConsistentHash()
Consistent Hash-based load balancing can be used to provide soft session affinity based on HTTP
headers, cookies or other properties.
String
getCreationTimestamp()
[Output Only] Creation timestamp in RFC3339 text format.
List<String>
getCustomRequestHeaders()
Headers that the load balancer adds to proxied requests.
List<String>
getCustomResponseHeaders()
Headers that the load balancer adds to proxied responses.
String
getDescription()
An optional description of this resource.
String
getEdgeSecurityPolicy()
[Output Only] The resource URL for the edge security policy associated with this backend
service.
Boolean
getEnableCDN()
If true, enables Cloud CDN for the backend service of a global external Application Load
Balancer.
BackendServiceFailoverPolicy
getFailoverPolicy()
Requires at least one backend instance group to be defined as a backup (failover) backend.
String
getFingerprint()
Fingerprint of this resource.
List<String>
getHealthChecks()
The list of URLs to the healthChecks, httpHealthChecks (legacy), or httpsHealthChecks (legacy)
resource for health checking this backend service.
BackendServiceIAP
getIap()
The configurations for Identity-Aware Proxy on this resource.
BigInteger
getId()
[Output Only] The unique identifier for the resource.
String
getIpAddressSelectionPolicy()
Specifies a preference for traffic sent from the proxy to the backend (or from the client to
the backend for proxyless gRPC).
String
getKind()
[Output Only] Type of resource.
String
getLoadBalancingScheme()
Specifies the load balancer type.
List<BackendServiceLocalityLoadBalancingPolicyConfig>
getLocalityLbPolicies()
A list of locality load-balancing policies to be used in order of preference.
String
getLocalityLbPolicy()
The load balancing algorithm used within the scope of the locality.
BackendServiceLogConfig
getLogConfig()
This field denotes the logging options for the load balancer traffic served by this backend
service.
Duration
getMaxStreamDuration()
Specifies the default maximum duration (timeout) for streams to this service.
Map<String,String>
getMetadatas()
Deployment metadata associated with the resource to be set by a GKE hub controller and read by
the backend RCTH
String
getName()
Name of the resource.
String
getNetwork()
The URL of the network to which this backend service belongs.
OutlierDetection
getOutlierDetection()
Settings controlling the ejection of unhealthy backend endpoints from the load balancing pool
of each individual proxy instance that processes the traffic for the given backend service.
Integer
getPort()
Deprecated in favor of portName.
String
getPortName()
A named port on a backend instance group representing the port for communication to the backend
VMs in that group.
String
getProtocol()
The protocol this BackendService uses to communicate with backends.
String
getRegion()
[Output Only] URL of the region where the regional backend service resides.
String
getSecurityPolicy()
[Output Only] The resource URL for the security policy associated with this backend service.
SecuritySettings
getSecuritySettings()
This field specifies the security settings that apply to this backend service.
String
getSelfLink()
[Output Only] Server-defined URL for the resource.
List<String>
getServiceBindings()
URLs of networkservices.ServiceBinding resources.
String
getServiceLbPolicy()
URL to networkservices.ServiceLbPolicy resource.
String
getSessionAffinity()
Type of session affinity to use.
BackendServiceHttpCookie
getStrongSessionAffinityCookie()
Describes the HTTP cookie used for stateful session affinity.
Subsetting
getSubsetting()
Integer
getTimeoutSec()
The backend service timeout has a different meaning depending on the type of load balancer.
List<BackendServiceUsedBy>
getUsedBy()
[Output Only] List of resources referencing given backend service.
BackendService
set(String fieldName,
Object value)
BackendService
setAffinityCookieTtlSec(Integer affinityCookieTtlSec)
Lifetime of cookies in seconds.
BackendService
setBackends(List<Backend> backends)
The list of backends that serve this BackendService.
BackendService
setCdnPolicy(BackendServiceCdnPolicy cdnPolicy)
Cloud CDN configuration for this BackendService.
BackendService
setCircuitBreakers(CircuitBreakers circuitBreakers)
BackendService
setCompressionMode(String compressionMode)
Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding
header.
BackendService
setConnectionDraining(ConnectionDraining connectionDraining)
BackendService
setConnectionTrackingPolicy(BackendServiceConnectionTrackingPolicy connectionTrackingPolicy)
Connection Tracking configuration for this BackendService.
BackendService
setConsistentHash(ConsistentHashLoadBalancerSettings consistentHash)
Consistent Hash-based load balancing can be used to provide soft session affinity based on HTTP
headers, cookies or other properties.
BackendService
setCreationTimestamp(String creationTimestamp)
[Output Only] Creation timestamp in RFC3339 text format.
BackendService
setCustomRequestHeaders(List<String> customRequestHeaders)
Headers that the load balancer adds to proxied requests.
BackendService
setCustomResponseHeaders(List<String> customResponseHeaders)
Headers that the load balancer adds to proxied responses.
BackendService
setDescription(String description)
An optional description of this resource.
BackendService
setEdgeSecurityPolicy(String edgeSecurityPolicy)
[Output Only] The resource URL for the edge security policy associated with this backend
service.
BackendService
setEnableCDN(Boolean enableCDN)
If true, enables Cloud CDN for the backend service of a global external Application Load
Balancer.
BackendService
setFailoverPolicy(BackendServiceFailoverPolicy failoverPolicy)
Requires at least one backend instance group to be defined as a backup (failover) backend.
BackendService
setFingerprint(String fingerprint)
Fingerprint of this resource.
BackendService
setHealthChecks(List<String> healthChecks)
The list of URLs to the healthChecks, httpHealthChecks (legacy), or httpsHealthChecks (legacy)
resource for health checking this backend service.
BackendService
setIap(BackendServiceIAP iap)
The configurations for Identity-Aware Proxy on this resource.
BackendService
setId(BigInteger id)
[Output Only] The unique identifier for the resource.
BackendService
setIpAddressSelectionPolicy(String ipAddressSelectionPolicy)
Specifies a preference for traffic sent from the proxy to the backend (or from the client to
the backend for proxyless gRPC).
BackendService
setKind(String kind)
[Output Only] Type of resource.
BackendService
setLoadBalancingScheme(String loadBalancingScheme)
Specifies the load balancer type.
BackendService
setLocalityLbPolicies(List<BackendServiceLocalityLoadBalancingPolicyConfig> localityLbPolicies)
A list of locality load-balancing policies to be used in order of preference.
BackendService
setLocalityLbPolicy(String localityLbPolicy)
The load balancing algorithm used within the scope of the locality.
BackendService
setLogConfig(BackendServiceLogConfig logConfig)
This field denotes the logging options for the load balancer traffic served by this backend
service.
BackendService
setMaxStreamDuration(Duration maxStreamDuration)
Specifies the default maximum duration (timeout) for streams to this service.
BackendService
setMetadatas(Map<String,String> metadatas)
Deployment metadata associated with the resource to be set by a GKE hub controller and read by
the backend RCTH
BackendService
setName(String name)
Name of the resource.
BackendService
setNetwork(String network)
The URL of the network to which this backend service belongs.
BackendService
setOutlierDetection(OutlierDetection outlierDetection)
Settings controlling the ejection of unhealthy backend endpoints from the load balancing pool
of each individual proxy instance that processes the traffic for the given backend service.
BackendService
setPort(Integer port)
Deprecated in favor of portName.
BackendService
setPortName(String portName)
A named port on a backend instance group representing the port for communication to the backend
VMs in that group.
BackendService
setProtocol(String protocol)
The protocol this BackendService uses to communicate with backends.
BackendService
setRegion(String region)
[Output Only] URL of the region where the regional backend service resides.
BackendService
setSecurityPolicy(String securityPolicy)
[Output Only] The resource URL for the security policy associated with this backend service.
BackendService
setSecuritySettings(SecuritySettings securitySettings)
This field specifies the security settings that apply to this backend service.
BackendService
setSelfLink(String selfLink)
[Output Only] Server-defined URL for the resource.
BackendService
setServiceBindings(List<String> serviceBindings)
URLs of networkservices.ServiceBinding resources.
BackendService
setServiceLbPolicy(String serviceLbPolicy)
URL to networkservices.ServiceLbPolicy resource.
BackendService
setSessionAffinity(String sessionAffinity)
Type of session affinity to use.
BackendService
setStrongSessionAffinityCookie(BackendServiceHttpCookie strongSessionAffinityCookie)
Describes the HTTP cookie used for stateful session affinity.
BackendService
setSubsetting(Subsetting subsetting)
BackendService
setTimeoutSec(Integer timeoutSec)
The backend service timeout has a different meaning depending on the type of load balancer.
BackendService
setUsedBy(List<BackendServiceUsedBy> usedBy)
[Output Only] List of resources referencing given backend service.
-
Methods inherited from class com.google.api.client.json.GenericJson
getFactory, setFactory, toPrettyString, toString
-
Methods inherited from class com.google.api.client.util.GenericData
entrySet, equals, get, getClassInfo, getUnknownKeys, hashCode, put, putAll, remove, setUnknownKeys
-
Methods inherited from class java.util.AbstractMap
clear, containsKey, containsValue, isEmpty, keySet, size, values
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
-
-
Method Detail
-
getAffinityCookieTtlSec
public Integer getAffinityCookieTtlSec()
Lifetime of cookies in seconds. This setting is applicable to Application Load Balancers and
Traffic Director and requires GENERATED_COOKIE or HTTP_COOKIE session affinity. If set to 0,
the cookie is non-persistent and lasts only until the end of the browser session (or
equivalent). The maximum allowed value is two weeks (1,209,600). Not supported when the backend
service is referenced by a URL map that is bound to target gRPC proxy that has
validateForProxyless field set to true.
- Returns:
- value or
null for none
-
setAffinityCookieTtlSec
public BackendService setAffinityCookieTtlSec(Integer affinityCookieTtlSec)
Lifetime of cookies in seconds. This setting is applicable to Application Load Balancers and
Traffic Director and requires GENERATED_COOKIE or HTTP_COOKIE session affinity. If set to 0,
the cookie is non-persistent and lasts only until the end of the browser session (or
equivalent). The maximum allowed value is two weeks (1,209,600). Not supported when the backend
service is referenced by a URL map that is bound to target gRPC proxy that has
validateForProxyless field set to true.
- Parameters:
affinityCookieTtlSec - affinityCookieTtlSec or null for none
-
getBackends
public List<Backend> getBackends()
The list of backends that serve this BackendService.
- Returns:
- value or
null for none
-
setBackends
public BackendService setBackends(List<Backend> backends)
The list of backends that serve this BackendService.
- Parameters:
backends - backends or null for none
-
getCdnPolicy
public BackendServiceCdnPolicy getCdnPolicy()
Cloud CDN configuration for this BackendService. Only available for specified load balancer
types.
- Returns:
- value or
null for none
-
setCdnPolicy
public BackendService setCdnPolicy(BackendServiceCdnPolicy cdnPolicy)
Cloud CDN configuration for this BackendService. Only available for specified load balancer
types.
- Parameters:
cdnPolicy - cdnPolicy or null for none
-
getCircuitBreakers
public CircuitBreakers getCircuitBreakers()
- Returns:
- value or
null for none
-
setCircuitBreakers
public BackendService setCircuitBreakers(CircuitBreakers circuitBreakers)
- Parameters:
circuitBreakers - circuitBreakers or null for none
-
getCompressionMode
public String getCompressionMode()
Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding
header.
- Returns:
- value or
null for none
-
setCompressionMode
public BackendService setCompressionMode(String compressionMode)
Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding
header.
- Parameters:
compressionMode - compressionMode or null for none
-
getConnectionDraining
public ConnectionDraining getConnectionDraining()
- Returns:
- value or
null for none
-
setConnectionDraining
public BackendService setConnectionDraining(ConnectionDraining connectionDraining)
- Parameters:
connectionDraining - connectionDraining or null for none
-
getConnectionTrackingPolicy
public BackendServiceConnectionTrackingPolicy getConnectionTrackingPolicy()
Connection Tracking configuration for this BackendService. Connection tracking policy settings
are only available for external passthrough Network Load Balancers and internal passthrough
Network Load Balancers.
- Returns:
- value or
null for none
-
setConnectionTrackingPolicy
public BackendService setConnectionTrackingPolicy(BackendServiceConnectionTrackingPolicy connectionTrackingPolicy)
Connection Tracking configuration for this BackendService. Connection tracking policy settings
are only available for external passthrough Network Load Balancers and internal passthrough
Network Load Balancers.
- Parameters:
connectionTrackingPolicy - connectionTrackingPolicy or null for none
-
getConsistentHash
public ConsistentHashLoadBalancerSettings getConsistentHash()
Consistent Hash-based load balancing can be used to provide soft session affinity based on HTTP
headers, cookies or other properties. This load balancing policy is applicable only for HTTP
connections. The affinity to a particular destination host will be lost when one or more hosts
are added/removed from the destination service. This field specifies parameters that control
consistent hashing. This field is only applicable when localityLbPolicy is set to MAGLEV or
RING_HASH. This field is applicable to either: - A regional backend service with the
service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to
INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to
INTERNAL_SELF_MANAGED.
- Returns:
- value or
null for none
-
setConsistentHash
public BackendService setConsistentHash(ConsistentHashLoadBalancerSettings consistentHash)
Consistent Hash-based load balancing can be used to provide soft session affinity based on HTTP
headers, cookies or other properties. This load balancing policy is applicable only for HTTP
connections. The affinity to a particular destination host will be lost when one or more hosts
are added/removed from the destination service. This field specifies parameters that control
consistent hashing. This field is only applicable when localityLbPolicy is set to MAGLEV or
RING_HASH. This field is applicable to either: - A regional backend service with the
service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to
INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to
INTERNAL_SELF_MANAGED.
- Parameters:
consistentHash - consistentHash or null for none
-
getCreationTimestamp
public String getCreationTimestamp()
[Output Only] Creation timestamp in RFC3339 text format.
- Returns:
- value or
null for none
-
setCreationTimestamp
public BackendService setCreationTimestamp(String creationTimestamp)
[Output Only] Creation timestamp in RFC3339 text format.
- Parameters:
creationTimestamp - creationTimestamp or null for none
-
getCustomRequestHeaders
public List<String> getCustomRequestHeaders()
Headers that the load balancer adds to proxied requests. See [Creating custom
headers](https://cloud.google.com/load-balancing/docs/custom-headers).
- Returns:
- value or
null for none
-
setCustomRequestHeaders
public BackendService setCustomRequestHeaders(List<String> customRequestHeaders)
Headers that the load balancer adds to proxied requests. See [Creating custom
headers](https://cloud.google.com/load-balancing/docs/custom-headers).
- Parameters:
customRequestHeaders - customRequestHeaders or null for none
-
getCustomResponseHeaders
public List<String> getCustomResponseHeaders()
Headers that the load balancer adds to proxied responses. See [Creating custom
headers](https://cloud.google.com/load-balancing/docs/custom-headers).
- Returns:
- value or
null for none
-
setCustomResponseHeaders
public BackendService setCustomResponseHeaders(List<String> customResponseHeaders)
Headers that the load balancer adds to proxied responses. See [Creating custom
headers](https://cloud.google.com/load-balancing/docs/custom-headers).
- Parameters:
customResponseHeaders - customResponseHeaders or null for none
-
getDescription
public String getDescription()
An optional description of this resource. Provide this property when you create the resource.
- Returns:
- value or
null for none
-
setDescription
public BackendService setDescription(String description)
An optional description of this resource. Provide this property when you create the resource.
- Parameters:
description - description or null for none
-
getEdgeSecurityPolicy
public String getEdgeSecurityPolicy()
[Output Only] The resource URL for the edge security policy associated with this backend
service.
- Returns:
- value or
null for none
-
setEdgeSecurityPolicy
public BackendService setEdgeSecurityPolicy(String edgeSecurityPolicy)
[Output Only] The resource URL for the edge security policy associated with this backend
service.
- Parameters:
edgeSecurityPolicy - edgeSecurityPolicy or null for none
-
getEnableCDN
public Boolean getEnableCDN()
If true, enables Cloud CDN for the backend service of a global external Application Load
Balancer.
- Returns:
- value or
null for none
-
setEnableCDN
public BackendService setEnableCDN(Boolean enableCDN)
If true, enables Cloud CDN for the backend service of a global external Application Load
Balancer.
- Parameters:
enableCDN - enableCDN or null for none
-
getFailoverPolicy
public BackendServiceFailoverPolicy getFailoverPolicy()
Requires at least one backend instance group to be defined as a backup (failover) backend. For
load balancers that have configurable failover: [Internal passthrough Network Load
Balancers](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and
[external passthrough Network Load Balancers](https://cloud.google.com/load-
balancing/docs/network/networklb-failover-overview).
- Returns:
- value or
null for none
-
setFailoverPolicy
public BackendService setFailoverPolicy(BackendServiceFailoverPolicy failoverPolicy)
Requires at least one backend instance group to be defined as a backup (failover) backend. For
load balancers that have configurable failover: [Internal passthrough Network Load
Balancers](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and
[external passthrough Network Load Balancers](https://cloud.google.com/load-
balancing/docs/network/networklb-failover-overview).
- Parameters:
failoverPolicy - failoverPolicy or null for none
-
getFingerprint
public String getFingerprint()
Fingerprint of this resource. A hash of the contents stored in this object. This field is used
in optimistic locking. This field will be ignored when inserting a BackendService. An up-to-
date fingerprint must be provided in order to update the BackendService, otherwise the request
will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request
to retrieve a BackendService.
- Returns:
- value or
null for none
- See Also:
decodeFingerprint()
-
decodeFingerprint
public byte[] decodeFingerprint()
Fingerprint of this resource. A hash of the contents stored in this object. This field is used
in optimistic locking. This field will be ignored when inserting a BackendService. An up-to-
date fingerprint must be provided in order to update the BackendService, otherwise the request
will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request
to retrieve a BackendService.
- Returns:
- Base64 decoded value or
null for none
- Since:
- 1.14
- See Also:
getFingerprint()
-
setFingerprint
public BackendService setFingerprint(String fingerprint)
Fingerprint of this resource. A hash of the contents stored in this object. This field is used
in optimistic locking. This field will be ignored when inserting a BackendService. An up-to-
date fingerprint must be provided in order to update the BackendService, otherwise the request
will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request
to retrieve a BackendService.
- Parameters:
fingerprint - fingerprint or null for none
- See Also:
#encodeFingerprint()
-
encodeFingerprint
public BackendService encodeFingerprint(byte[] fingerprint)
Fingerprint of this resource. A hash of the contents stored in this object. This field is used
in optimistic locking. This field will be ignored when inserting a BackendService. An up-to-
date fingerprint must be provided in order to update the BackendService, otherwise the request
will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request
to retrieve a BackendService.
- Since:
- 1.14
- See Also:
The value is encoded Base64 or {@code null} for none.
-
getHealthChecks
public List<String> getHealthChecks()
The list of URLs to the healthChecks, httpHealthChecks (legacy), or httpsHealthChecks (legacy)
resource for health checking this backend service. Not all backend services support legacy
health checks. See Load balancer guide. Currently, at most one health check can be specified
for each backend service. Backend services with instance group or zonal NEG backends must have
a health check. Backend services with internet or serverless NEG backends must not have a
health check.
- Returns:
- value or
null for none
-
setHealthChecks
public BackendService setHealthChecks(List<String> healthChecks)
The list of URLs to the healthChecks, httpHealthChecks (legacy), or httpsHealthChecks (legacy)
resource for health checking this backend service. Not all backend services support legacy
health checks. See Load balancer guide. Currently, at most one health check can be specified
for each backend service. Backend services with instance group or zonal NEG backends must have
a health check. Backend services with internet or serverless NEG backends must not have a
health check.
- Parameters:
healthChecks - healthChecks or null for none
-
getIap
public BackendServiceIAP getIap()
The configurations for Identity-Aware Proxy on this resource. Not available for internal
passthrough Network Load Balancers and external passthrough Network Load Balancers.
- Returns:
- value or
null for none
-
setIap
public BackendService setIap(BackendServiceIAP iap)
The configurations for Identity-Aware Proxy on this resource. Not available for internal
passthrough Network Load Balancers and external passthrough Network Load Balancers.
- Parameters:
iap - iap or null for none
-
getId
public BigInteger getId()
[Output Only] The unique identifier for the resource. This identifier is defined by the server.
- Returns:
- value or
null for none
-
setId
public BackendService setId(BigInteger id)
[Output Only] The unique identifier for the resource. This identifier is defined by the server.
- Parameters:
id - id or null for none
-
getIpAddressSelectionPolicy
public String getIpAddressSelectionPolicy()
Specifies a preference for traffic sent from the proxy to the backend (or from the client to
the backend for proxyless gRPC). The possible values are: - IPV4_ONLY: Only send IPv4 traffic
to the backends of the backend service (Instance Group, Managed Instance Group, Network
Endpoint Group), regardless of traffic from the client to the proxy. Only IPv4 health checks
are used to check the health of the backends. This is the default setting. - PREFER_IPV6:
Prioritize the connection to the endpoint's IPv6 address over its IPv4 address (provided there
is a healthy IPv6 address). - IPV6_ONLY: Only send IPv6 traffic to the backends of the backend
service (Instance Group, Managed Instance Group, Network Endpoint Group), regardless of traffic
from the client to the proxy. Only IPv6 health checks are used to check the health of the
backends. This field is applicable to either: - Advanced global external Application Load
Balancer (load balancing scheme EXTERNAL_MANAGED), - Regional external Application Load
Balancer, - Internal proxy Network Load Balancer (load balancing scheme INTERNAL_MANAGED), -
Regional internal Application Load Balancer (load balancing scheme INTERNAL_MANAGED), - Traffic
Director with Envoy proxies and proxyless gRPC (load balancing scheme INTERNAL_SELF_MANAGED).
- Returns:
- value or
null for none
-
setIpAddressSelectionPolicy
public BackendService setIpAddressSelectionPolicy(String ipAddressSelectionPolicy)
Specifies a preference for traffic sent from the proxy to the backend (or from the client to
the backend for proxyless gRPC). The possible values are: - IPV4_ONLY: Only send IPv4 traffic
to the backends of the backend service (Instance Group, Managed Instance Group, Network
Endpoint Group), regardless of traffic from the client to the proxy. Only IPv4 health checks
are used to check the health of the backends. This is the default setting. - PREFER_IPV6:
Prioritize the connection to the endpoint's IPv6 address over its IPv4 address (provided there
is a healthy IPv6 address). - IPV6_ONLY: Only send IPv6 traffic to the backends of the backend
service (Instance Group, Managed Instance Group, Network Endpoint Group), regardless of traffic
from the client to the proxy. Only IPv6 health checks are used to check the health of the
backends. This field is applicable to either: - Advanced global external Application Load
Balancer (load balancing scheme EXTERNAL_MANAGED), - Regional external Application Load
Balancer, - Internal proxy Network Load Balancer (load balancing scheme INTERNAL_MANAGED), -
Regional internal Application Load Balancer (load balancing scheme INTERNAL_MANAGED), - Traffic
Director with Envoy proxies and proxyless gRPC (load balancing scheme INTERNAL_SELF_MANAGED).
- Parameters:
ipAddressSelectionPolicy - ipAddressSelectionPolicy or null for none
-
getKind
public String getKind()
[Output Only] Type of resource. Always compute#backendService for backend services.
- Returns:
- value or
null for none
-
setKind
public BackendService setKind(String kind)
[Output Only] Type of resource. Always compute#backendService for backend services.
- Parameters:
kind - kind or null for none
-
getLoadBalancingScheme
public String getLoadBalancingScheme()
Specifies the load balancer type. A backend service created for one type of load balancer
cannot be used with another. For more information, refer to Choosing a load balancer.
- Returns:
- value or
null for none
-
setLoadBalancingScheme
public BackendService setLoadBalancingScheme(String loadBalancingScheme)
Specifies the load balancer type. A backend service created for one type of load balancer
cannot be used with another. For more information, refer to Choosing a load balancer.
- Parameters:
loadBalancingScheme - loadBalancingScheme or null for none
-
getLocalityLbPolicies
public List<BackendServiceLocalityLoadBalancingPolicyConfig> getLocalityLbPolicies()
A list of locality load-balancing policies to be used in order of preference. When you use
localityLbPolicies, you must set at least one value for either the localityLbPolicies[].policy
or the localityLbPolicies[].customPolicy field. localityLbPolicies overrides any value set in
the localityLbPolicy field. For an example of how to use this field, see Define a list of
preferred policies. Caution: This field and its children are intended for use in a service mesh
that includes gRPC clients only. Envoy proxies can't use backend services that have this
configuration.
- Returns:
- value or
null for none
-
setLocalityLbPolicies
public BackendService setLocalityLbPolicies(List<BackendServiceLocalityLoadBalancingPolicyConfig> localityLbPolicies)
A list of locality load-balancing policies to be used in order of preference. When you use
localityLbPolicies, you must set at least one value for either the localityLbPolicies[].policy
or the localityLbPolicies[].customPolicy field. localityLbPolicies overrides any value set in
the localityLbPolicy field. For an example of how to use this field, see Define a list of
preferred policies. Caution: This field and its children are intended for use in a service mesh
that includes gRPC clients only. Envoy proxies can't use backend services that have this
configuration.
- Parameters:
localityLbPolicies - localityLbPolicies or null for none
-
getLocalityLbPolicy
public String getLocalityLbPolicy()
The load balancing algorithm used within the scope of the locality. The possible values are: -
ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin
order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy
hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash
load balancer implements consistent hashing to backends. The algorithm has the property that
the addition/removal of a host from a set of N hosts only affects 1/N of the requests. -
RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host
is selected based on the client connection metadata, i.e., connections are opened to the same
address as the destination address of the incoming connection before the connection was
redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load
balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host
selection times. For more information about Maglev, see
https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional
backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and
load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the
load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If
sessionAffinity is not configured—that is, if session affinity remains at the default value of
NONE—then the default value for localityLbPolicy is ROUND_ROBIN. If session affinity is set to
a value other than NONE, then the default value for localityLbPolicy is MAGLEV. Only
ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map
that is bound to target gRPC proxy that has validateForProxyless field set to true.
- Returns:
- value or
null for none
-
setLocalityLbPolicy
public BackendService setLocalityLbPolicy(String localityLbPolicy)
The load balancing algorithm used within the scope of the locality. The possible values are: -
ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin
order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy
hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash
load balancer implements consistent hashing to backends. The algorithm has the property that
the addition/removal of a host from a set of N hosts only affects 1/N of the requests. -
RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host
is selected based on the client connection metadata, i.e., connections are opened to the same
address as the destination address of the incoming connection before the connection was
redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load
balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host
selection times. For more information about Maglev, see
https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional
backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and
load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the
load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If
sessionAffinity is not configured—that is, if session affinity remains at the default value of
NONE—then the default value for localityLbPolicy is ROUND_ROBIN. If session affinity is set to
a value other than NONE, then the default value for localityLbPolicy is MAGLEV. Only
ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map
that is bound to target gRPC proxy that has validateForProxyless field set to true.
- Parameters:
localityLbPolicy - localityLbPolicy or null for none
-
getLogConfig
public BackendServiceLogConfig getLogConfig()
This field denotes the logging options for the load balancer traffic served by this backend
service. If logging is enabled, logs will be exported to Stackdriver.
- Returns:
- value or
null for none
-
setLogConfig
public BackendService setLogConfig(BackendServiceLogConfig logConfig)
This field denotes the logging options for the load balancer traffic served by this backend
service. If logging is enabled, logs will be exported to Stackdriver.
- Parameters:
logConfig - logConfig or null for none
-
getMaxStreamDuration
public Duration getMaxStreamDuration()
Specifies the default maximum duration (timeout) for streams to this service. Duration is
computed from the beginning of the stream until the response has been completely processed,
including all retries. A stream that does not complete in this duration is closed. If not
specified, there will be no timeout limit, i.e. the maximum duration is infinite. This value
can be overridden in the PathMatcher configuration of the UrlMap that references this backend
service. This field is only allowed when the loadBalancingScheme of the backend service is
INTERNAL_SELF_MANAGED.
- Returns:
- value or
null for none
-
setMaxStreamDuration
public BackendService setMaxStreamDuration(Duration maxStreamDuration)
Specifies the default maximum duration (timeout) for streams to this service. Duration is
computed from the beginning of the stream until the response has been completely processed,
including all retries. A stream that does not complete in this duration is closed. If not
specified, there will be no timeout limit, i.e. the maximum duration is infinite. This value
can be overridden in the PathMatcher configuration of the UrlMap that references this backend
service. This field is only allowed when the loadBalancingScheme of the backend service is
INTERNAL_SELF_MANAGED.
- Parameters:
maxStreamDuration - maxStreamDuration or null for none
-
getMetadatas
public Map<String,String> getMetadatas()
Deployment metadata associated with the resource to be set by a GKE hub controller and read by
the backend RCTH
- Returns:
- value or
null for none
-
setMetadatas
public BackendService setMetadatas(Map<String,String> metadatas)
Deployment metadata associated with the resource to be set by a GKE hub controller and read by
the backend RCTH
- Parameters:
metadatas - metadatas or null for none
-
getName
public String getName()
Name of the resource. Provided by the client when the resource is created. The name must be
1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters
long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
character must be a lowercase letter, and all following characters must be a dash, lowercase
letter, or digit, except the last character, which cannot be a dash.
- Returns:
- value or
null for none
-
setName
public BackendService setName(String name)
Name of the resource. Provided by the client when the resource is created. The name must be
1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters
long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
character must be a lowercase letter, and all following characters must be a dash, lowercase
letter, or digit, except the last character, which cannot be a dash.
- Parameters:
name - name or null for none
-
getNetwork
public String getNetwork()
The URL of the network to which this backend service belongs. This field can only be specified
when the load balancing scheme is set to INTERNAL.
- Returns:
- value or
null for none
-
setNetwork
public BackendService setNetwork(String network)
The URL of the network to which this backend service belongs. This field can only be specified
when the load balancing scheme is set to INTERNAL.
- Parameters:
network - network or null for none
-
getOutlierDetection
public OutlierDetection getOutlierDetection()
Settings controlling the ejection of unhealthy backend endpoints from the load balancing pool
of each individual proxy instance that processes the traffic for the given backend service. If
not set, this feature is considered disabled. Results of the outlier detection algorithm
(ejection of endpoints from the load balancing pool and returning them back to the pool) are
executed independently by each proxy instance of the load balancer. In most cases, more than
one proxy instance handles the traffic received by a backend service. Thus, it is possible that
an unhealthy endpoint is detected and ejected by only some of the proxies, and while this
happens, other proxies may continue to send requests to the same unhealthy endpoint until they
detect and eject the unhealthy endpoint. Applicable backend endpoints can be: - VM instances in
an Instance Group - Endpoints in a Zonal NEG (GCE_VM_IP, GCE_VM_IP_PORT) - Endpoints in a
Hybrid Connectivity NEG (NON_GCP_PRIVATE_IP_PORT) - Serverless NEGs, that resolve to Cloud Run,
App Engine, or Cloud Functions Services - Private Service Connect NEGs, that resolve to Google-
managed regional API endpoints or managed services published using Private Service Connect
Applicable backend service types can be: - A global backend service with the
loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL_MANAGED. - A regional backend
service with the serviceProtocol set to HTTP, HTTPS, or HTTP2, and loadBalancingScheme set to
INTERNAL_MANAGED or EXTERNAL_MANAGED. Not supported for Serverless NEGs. Not supported when the
backend service is referenced by a URL map that is bound to target gRPC proxy that has
validateForProxyless field set to true.
- Returns:
- value or
null for none
-
setOutlierDetection
public BackendService setOutlierDetection(OutlierDetection outlierDetection)
Settings controlling the ejection of unhealthy backend endpoints from the load balancing pool
of each individual proxy instance that processes the traffic for the given backend service. If
not set, this feature is considered disabled. Results of the outlier detection algorithm
(ejection of endpoints from the load balancing pool and returning them back to the pool) are
executed independently by each proxy instance of the load balancer. In most cases, more than
one proxy instance handles the traffic received by a backend service. Thus, it is possible that
an unhealthy endpoint is detected and ejected by only some of the proxies, and while this
happens, other proxies may continue to send requests to the same unhealthy endpoint until they
detect and eject the unhealthy endpoint. Applicable backend endpoints can be: - VM instances in
an Instance Group - Endpoints in a Zonal NEG (GCE_VM_IP, GCE_VM_IP_PORT) - Endpoints in a
Hybrid Connectivity NEG (NON_GCP_PRIVATE_IP_PORT) - Serverless NEGs, that resolve to Cloud Run,
App Engine, or Cloud Functions Services - Private Service Connect NEGs, that resolve to Google-
managed regional API endpoints or managed services published using Private Service Connect
Applicable backend service types can be: - A global backend service with the
loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL_MANAGED. - A regional backend
service with the serviceProtocol set to HTTP, HTTPS, or HTTP2, and loadBalancingScheme set to
INTERNAL_MANAGED or EXTERNAL_MANAGED. Not supported for Serverless NEGs. Not supported when the
backend service is referenced by a URL map that is bound to target gRPC proxy that has
validateForProxyless field set to true.
- Parameters:
outlierDetection - outlierDetection or null for none
-
getPort
public Integer getPort()
Deprecated in favor of portName. The TCP port to connect on the backend. The default value is
80. For internal passthrough Network Load Balancers and external passthrough Network Load
Balancers, omit port.
- Returns:
- value or
null for none
-
setPort
public BackendService setPort(Integer port)
Deprecated in favor of portName. The TCP port to connect on the backend. The default value is
80. For internal passthrough Network Load Balancers and external passthrough Network Load
Balancers, omit port.
- Parameters:
port - port or null for none
-
getPortName
public String getPortName()
A named port on a backend instance group representing the port for communication to the backend
VMs in that group. The named port must be [defined on each backend instance
group](https://cloud.google.com/load-balancing/docs/backend-service#named_ports). This
parameter has no meaning if the backends are NEGs. For internal passthrough Network Load
Balancers and external passthrough Network Load Balancers, omit port_name.
- Returns:
- value or
null for none
-
setPortName
public BackendService setPortName(String portName)
A named port on a backend instance group representing the port for communication to the backend
VMs in that group. The named port must be [defined on each backend instance
group](https://cloud.google.com/load-balancing/docs/backend-service#named_ports). This
parameter has no meaning if the backends are NEGs. For internal passthrough Network Load
Balancers and external passthrough Network Load Balancers, omit port_name.
- Parameters:
portName - portName or null for none
-
getProtocol
public String getProtocol()
The protocol this BackendService uses to communicate with backends. Possible values are HTTP,
HTTPS, HTTP2, TCP, SSL, UDP or GRPC. depending on the chosen load balancer or Traffic Director
configuration. Refer to the documentation for the load balancers or for Traffic Director for
more information. Must be set to GRPC when the backend service is referenced by a URL map that
is bound to target gRPC proxy.
- Returns:
- value or
null for none
-
setProtocol
public BackendService setProtocol(String protocol)
The protocol this BackendService uses to communicate with backends. Possible values are HTTP,
HTTPS, HTTP2, TCP, SSL, UDP or GRPC. depending on the chosen load balancer or Traffic Director
configuration. Refer to the documentation for the load balancers or for Traffic Director for
more information. Must be set to GRPC when the backend service is referenced by a URL map that
is bound to target gRPC proxy.
- Parameters:
protocol - protocol or null for none
-
getRegion
public String getRegion()
[Output Only] URL of the region where the regional backend service resides. This field is not
applicable to global backend services. You must specify this field as part of the HTTP request
URL. It is not settable as a field in the request body.
- Returns:
- value or
null for none
-
setRegion
public BackendService setRegion(String region)
[Output Only] URL of the region where the regional backend service resides. This field is not
applicable to global backend services. You must specify this field as part of the HTTP request
URL. It is not settable as a field in the request body.
- Parameters:
region - region or null for none
-
getSecurityPolicy
public String getSecurityPolicy()
[Output Only] The resource URL for the security policy associated with this backend service.
- Returns:
- value or
null for none
-
setSecurityPolicy
public BackendService setSecurityPolicy(String securityPolicy)
[Output Only] The resource URL for the security policy associated with this backend service.
- Parameters:
securityPolicy - securityPolicy or null for none
-
getSecuritySettings
public SecuritySettings getSecuritySettings()
This field specifies the security settings that apply to this backend service. This field is
applicable to a global backend service with the load_balancing_scheme set to
INTERNAL_SELF_MANAGED.
- Returns:
- value or
null for none
-
setSecuritySettings
public BackendService setSecuritySettings(SecuritySettings securitySettings)
This field specifies the security settings that apply to this backend service. This field is
applicable to a global backend service with the load_balancing_scheme set to
INTERNAL_SELF_MANAGED.
- Parameters:
securitySettings - securitySettings or null for none
-
getSelfLink
public String getSelfLink()
[Output Only] Server-defined URL for the resource.
- Returns:
- value or
null for none
-
setSelfLink
public BackendService setSelfLink(String selfLink)
[Output Only] Server-defined URL for the resource.
- Parameters:
selfLink - selfLink or null for none
-
getServiceBindings
public List<String> getServiceBindings()
URLs of networkservices.ServiceBinding resources. Can only be set if load balancing scheme is
INTERNAL_SELF_MANAGED. If set, lists of backends and health checks must be both empty.
- Returns:
- value or
null for none
-
setServiceBindings
public BackendService setServiceBindings(List<String> serviceBindings)
URLs of networkservices.ServiceBinding resources. Can only be set if load balancing scheme is
INTERNAL_SELF_MANAGED. If set, lists of backends and health checks must be both empty.
- Parameters:
serviceBindings - serviceBindings or null for none
-
getServiceLbPolicy
public String getServiceLbPolicy()
URL to networkservices.ServiceLbPolicy resource. Can only be set if load balancing scheme is
EXTERNAL, EXTERNAL_MANAGED, INTERNAL_MANAGED or INTERNAL_SELF_MANAGED and the scope is global.
- Returns:
- value or
null for none
-
setServiceLbPolicy
public BackendService setServiceLbPolicy(String serviceLbPolicy)
URL to networkservices.ServiceLbPolicy resource. Can only be set if load balancing scheme is
EXTERNAL, EXTERNAL_MANAGED, INTERNAL_MANAGED or INTERNAL_SELF_MANAGED and the scope is global.
- Parameters:
serviceLbPolicy - serviceLbPolicy or null for none
-
getSessionAffinity
public String getSessionAffinity()
Type of session affinity to use. The default is NONE. Only NONE and HEADER_FIELD are supported
when the backend service is referenced by a URL map that is bound to target gRPC proxy that has
validateForProxyless field set to true. For more details, see: [Session
Affinity](https://cloud.google.com/load-balancing/docs/backend-service#session_affinity).
- Returns:
- value or
null for none
-
setSessionAffinity
public BackendService setSessionAffinity(String sessionAffinity)
Type of session affinity to use. The default is NONE. Only NONE and HEADER_FIELD are supported
when the backend service is referenced by a URL map that is bound to target gRPC proxy that has
validateForProxyless field set to true. For more details, see: [Session
Affinity](https://cloud.google.com/load-balancing/docs/backend-service#session_affinity).
- Parameters:
sessionAffinity - sessionAffinity or null for none
-
getStrongSessionAffinityCookie
public BackendServiceHttpCookie getStrongSessionAffinityCookie()
Describes the HTTP cookie used for stateful session affinity. This field is applicable and
required if the sessionAffinity is set to STRONG_COOKIE_AFFINITY.
- Returns:
- value or
null for none
-
setStrongSessionAffinityCookie
public BackendService setStrongSessionAffinityCookie(BackendServiceHttpCookie strongSessionAffinityCookie)
Describes the HTTP cookie used for stateful session affinity. This field is applicable and
required if the sessionAffinity is set to STRONG_COOKIE_AFFINITY.
- Parameters:
strongSessionAffinityCookie - strongSessionAffinityCookie or null for none
-
getSubsetting
public Subsetting getSubsetting()
- Returns:
- value or
null for none
-
setSubsetting
public BackendService setSubsetting(Subsetting subsetting)
- Parameters:
subsetting - subsetting or null for none
-
getTimeoutSec
public Integer getTimeoutSec()
The backend service timeout has a different meaning depending on the type of load balancer. For
more information see, Backend service settings. The default is 30 seconds. The full range of
timeout values allowed goes from 1 through 2,147,483,647 seconds. This value can be overridden
in the PathMatcher configuration of the UrlMap that references this backend service. Not
supported when the backend service is referenced by a URL map that is bound to target gRPC
proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
- Returns:
- value or
null for none
-
setTimeoutSec
public BackendService setTimeoutSec(Integer timeoutSec)
The backend service timeout has a different meaning depending on the type of load balancer. For
more information see, Backend service settings. The default is 30 seconds. The full range of
timeout values allowed goes from 1 through 2,147,483,647 seconds. This value can be overridden
in the PathMatcher configuration of the UrlMap that references this backend service. Not
supported when the backend service is referenced by a URL map that is bound to target gRPC
proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
- Parameters:
timeoutSec - timeoutSec or null for none
-
getUsedBy
public List<BackendServiceUsedBy> getUsedBy()
[Output Only] List of resources referencing given backend service.
- Returns:
- value or
null for none
-
setUsedBy
public BackendService setUsedBy(List<BackendServiceUsedBy> usedBy)
[Output Only] List of resources referencing given backend service.
- Parameters:
usedBy - usedBy or null for none
-
set
public BackendService set(String fieldName,
Object value)
- Overrides:
set in class com.google.api.client.json.GenericJson
-
clone
public BackendService clone()
- Overrides:
clone in class com.google.api.client.json.GenericJson
Copyright © 2011–2025 Google. All rights reserved.
© 2015 - 2025 Weber Informatics LLC | Privacy Policy