Show / Hide Table of Contents

Class Backend

Message containing information of one individual backend.

Inheritance
System.Object
Backend
Implements
Google.Apis.Requests.IDirectResponseSchema
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: Google.Apis.Compute.v1.Data
Assembly: Google.Apis.Compute.v1.dll
Syntax
public class Backend : IDirectResponseSchema

Properties

BalancingMode

Specifies the balancing mode for the backend.

When choosing a balancing mode, you need to consider the loadBalancingScheme, and protocol for the backend service, as well as the type of backend (instance group or NEG).

  • If the load balancing mode is CONNECTION, then the load is spread based on how many concurrent connections the backend can handle. You can use the CONNECTION balancing mode if the protocol for the backend service is SSL, TCP, or UDP.

If the loadBalancingScheme for the backend service is EXTERNAL (SSL Proxy and TCP Proxy load balancers), you must also specify exactly one of the following parameters: maxConnections (except for regional managed instance groups), maxConnectionsPerInstance, or maxConnectionsPerEndpoint.

If the loadBalancingScheme for the backend service is INTERNAL (internal TCP/UDP load balancers), you cannot specify any additional parameters.

  • If the load balancing mode is RATE, the load is spread based on the rate of HTTP requests per second (RPS). You can use the RATE balancing mode if the protocol for the backend service is HTTP or HTTPS. You must specify exactly one of the following parameters: maxRate (except for regional managed instance groups), maxRatePerInstance, or maxRatePerEndpoint.

  • If the load balancing mode is UTILIZATION, the load is spread based on the backend utilization of instances in an instance group. You can use the UTILIZATION balancing mode if the loadBalancingScheme of the backend service is EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED and the backends are instance groups. There are no restrictions on the backend service protocol.

Declaration
[JsonProperty("balancingMode")]
public virtual string BalancingMode { get; set; }
Property Value
Type Description
System.String

CapacityScaler

A multiplier applied to the group's maximum servicing capacity (based on UTILIZATION, RATE or CONNECTION). Default value is 1, which means the group will serve up to 100% of its configured capacity (depending on balancingMode). A setting of 0 means the group is completely drained, offering 0% of its available Capacity. Valid range is [0.0,1.0].

This cannot be used for internal load balancing.

Declaration
[JsonProperty("capacityScaler")]
public virtual float? CapacityScaler { get; set; }
Property Value
Type Description
System.Nullable<System.Single>

Description

An optional description of this resource. Provide this property when you create the resource.

Declaration
[JsonProperty("description")]
public virtual string Description { get; set; }
Property Value
Type Description
System.String

ETag

The ETag of the item.

Declaration
public virtual string ETag { get; set; }
Property Value
Type Description
System.String

Failover

This field designates whether this is a failover backend. More than one failover backend can be configured for a given BackendService.

Declaration
[JsonProperty("failover")]
public virtual bool? Failover { get; set; }
Property Value
Type Description
System.Nullable<System.Boolean>

Group

The fully-qualified URL of an instance group or network endpoint group (NEG) resource. The type of backend that a backend service supports depends on the backend service's loadBalancingScheme.

  • When the loadBalancingScheme for the backend service is EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED, the backend can be either an instance group or a NEG. The backends on the backend service must be either all instance groups or all NEGs. You cannot mix instance group and NEG backends on the same backend service.

  • When the loadBalancingScheme for the backend service is INTERNAL, the backend must be an instance group in the same region as the backend service. NEGs are not supported.

You must use the fully-qualified URL (starting with https://www.googleapis.com/) to specify the instance group or NEG. Partial URLs are not supported.

Declaration
[JsonProperty("group")]
public virtual string Group { get; set; }
Property Value
Type Description
System.String

MaxConnections

Defines a target maximum number of simultaneous connections that the backend can handle. Valid for network endpoint group and instance group backends (except for regional managed instance groups). If the backend's balancingMode is UTILIZATION, this is an optional parameter. If the backend's balancingMode is CONNECTION, and backend is attached to a backend service whose loadBalancingScheme is EXTERNAL, you must specify either this parameter, maxConnectionsPerInstance, or maxConnectionsPerEndpoint.

Not available if the backend's balancingMode is RATE. If the loadBalancingScheme is INTERNAL, then maxConnections is not supported, even though the backend requires a balancing mode of CONNECTION.

Declaration
[JsonProperty("maxConnections")]
public virtual int? MaxConnections { get; set; }
Property Value
Type Description
System.Nullable<System.Int32>

MaxConnectionsPerEndpoint

Defines a target maximum number of simultaneous connections for an endpoint of a NEG. This is multiplied by the number of endpoints in the NEG to implicitly calculate a maximum number of target maximum simultaneous connections for the NEG. If the backend's balancingMode is CONNECTION, and the backend is attached to a backend service whose loadBalancingScheme is EXTERNAL, you must specify either this parameter, maxConnections, or maxConnectionsPerInstance.

Not available if the backend's balancingMode is RATE. Internal TCP/UDP load balancing does not support setting maxConnectionsPerEndpoint even though its backends require a balancing mode of CONNECTION.

Declaration
[JsonProperty("maxConnectionsPerEndpoint")]
public virtual int? MaxConnectionsPerEndpoint { get; set; }
Property Value
Type Description
System.Nullable<System.Int32>

MaxConnectionsPerInstance

Defines a target maximum number of simultaneous connections for a single VM in a backend instance group. This is multiplied by the number of instances in the instance group to implicitly calculate a target maximum number of simultaneous connections for the whole instance group. If the backend's balancingMode is UTILIZATION, this is an optional parameter. If the backend's balancingMode is CONNECTION, and backend is attached to a backend service whose loadBalancingScheme is EXTERNAL, you must specify either this parameter, maxConnections, or maxConnectionsPerEndpoint.

Not available if the backend's balancingMode is RATE. Internal TCP/UDP load balancing does not support setting maxConnectionsPerInstance even though its backends require a balancing mode of CONNECTION.

Declaration
[JsonProperty("maxConnectionsPerInstance")]
public virtual int? MaxConnectionsPerInstance { get; set; }
Property Value
Type Description
System.Nullable<System.Int32>

MaxRate

Defines a maximum number of HTTP requests per second (RPS) that the backend can handle. Valid for network endpoint group and instance group backends (except for regional managed instance groups). Must not be defined if the backend is a managed instance group that uses autoscaling based on load balancing.

If the backend's balancingMode is UTILIZATION, this is an optional parameter. If the backend's balancingMode is RATE, you must specify maxRate, maxRatePerInstance, or maxRatePerEndpoint.

Not available if the backend's balancingMode is CONNECTION.

Declaration
[JsonProperty("maxRate")]
public virtual int? MaxRate { get; set; }
Property Value
Type Description
System.Nullable<System.Int32>

MaxRatePerEndpoint

Defines a maximum target for requests per second (RPS) for an endpoint of a NEG. This is multiplied by the number of endpoints in the NEG to implicitly calculate a target maximum rate for the NEG.

If the backend's balancingMode is RATE, you must specify either this parameter, maxRate (except for regional managed instance groups), or maxRatePerInstance.

Not available if the backend's balancingMode is CONNECTION.

Declaration
[JsonProperty("maxRatePerEndpoint")]
public virtual float? MaxRatePerEndpoint { get; set; }
Property Value
Type Description
System.Nullable<System.Single>

MaxRatePerInstance

Defines a maximum target for requests per second (RPS) for a single VM in a backend instance group. This is multiplied by the number of instances in the instance group to implicitly calculate a target maximum rate for the whole instance group.

If the backend's balancingMode is UTILIZATION, this is an optional parameter. If the backend's balancingMode is RATE, you must specify either this parameter, maxRate (except for regional managed instance groups), or maxRatePerEndpoint.

Not available if the backend's balancingMode is CONNECTION.

Declaration
[JsonProperty("maxRatePerInstance")]
public virtual float? MaxRatePerInstance { get; set; }
Property Value
Type Description
System.Nullable<System.Single>

MaxUtilization

Defines the maximum average backend utilization of a backend VM in an instance group. The valid range is [0.0, 1.0]. This is an optional parameter if the backend's balancingMode is UTILIZATION.

This parameter can be used in conjunction with maxRate, maxRatePerInstance, maxConnections (except for regional managed instance groups), or maxConnectionsPerInstance.

Declaration
[JsonProperty("maxUtilization")]
public virtual float? MaxUtilization { get; set; }
Property Value
Type Description
System.Nullable<System.Single>

Implements

Google.Apis.Requests.IDirectResponseSchema
Back to top