Class: Google::Apis::ComputeV1::Backend
- Inherits:
-
Object
- Object
- Google::Apis::ComputeV1::Backend
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- generated/google/apis/compute_v1/classes.rb,
generated/google/apis/compute_v1/representations.rb,
generated/google/apis/compute_v1/representations.rb
Overview
Message containing information of one individual backend.
Instance Attribute Summary collapse
-
#balancing_mode ⇒ String
Specifies the balancing mode for the backend.
-
#capacity_scaler ⇒ Float
A multiplier applied to the group's maximum servicing capacity (based on UTILIZATION, RATE or CONNECTION).
-
#description ⇒ String
An optional description of this resource.
-
#failover ⇒ Boolean
(also: #failover?)
This field designates whether this is a failover backend.
-
#group ⇒ String
The fully-qualified URL of an instance group or network endpoint group (NEG) resource.
-
#max_connections ⇒ Fixnum
Defines a target maximum number of simultaneous connections that the backend can handle.
-
#max_connections_per_endpoint ⇒ Fixnum
Defines a target maximum number of simultaneous connections for an endpoint of a NEG.
-
#max_connections_per_instance ⇒ Fixnum
Defines a target maximum number of simultaneous connections for a single VM in a backend instance group.
-
#max_rate ⇒ Fixnum
Defines a maximum number of HTTP requests per second (RPS) that the backend can handle.
-
#max_rate_per_endpoint ⇒ Float
Defines a maximum target for requests per second (RPS) for an endpoint of a NEG.
-
#max_rate_per_instance ⇒ Float
Defines a maximum target for requests per second (RPS) for a single VM in a backend instance group.
-
#max_utilization ⇒ Float
Defines the maximum average backend utilization of a backend VM in an instance group.
Instance Method Summary collapse
-
#initialize(**args) ⇒ Backend
constructor
A new instance of Backend.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ Backend
Returns a new instance of Backend.
2471 2472 2473 |
# File 'generated/google/apis/compute_v1/classes.rb', line 2471 def initialize(**args) update!(**args) end |
Instance Attribute Details
#balancing_mode ⇒ String
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) or EXTERNAL (Network Load Balancing), 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, HTTP2, 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 (except Network Load Balancing), INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED and the backends are instance groups. There are no restrictions on the backend service protocol. Corresponds to the JSON property
balancingMode
2334 2335 2336 |
# File 'generated/google/apis/compute_v1/classes.rb', line 2334 def balancing_mode @balancing_mode end |
#capacity_scaler ⇒ Float
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 and [0.1,1.0]. You cannot configure a
setting larger than 0 and smaller than 0.1. You cannot configure a setting of
0 when there is only one backend attached to the backend service.
This cannot be used for Internal TCP/UDP Load Balancing and Network Load
Balancing.
Corresponds to the JSON property capacityScaler
2347 2348 2349 |
# File 'generated/google/apis/compute_v1/classes.rb', line 2347 def capacity_scaler @capacity_scaler end |
#description ⇒ String
An optional description of this resource. Provide this property when you
create the resource.
Corresponds to the JSON property description
2353 2354 2355 |
# File 'generated/google/apis/compute_v1/classes.rb', line 2353 def description @description end |
#failover ⇒ Boolean Also known as: failover?
This field designates whether this is a failover backend. More than one
failover backend can be configured for a given BackendService.
Corresponds to the JSON property failover
2359 2360 2361 |
# File 'generated/google/apis/compute_v1/classes.rb', line 2359 def failover @failover end |
#group ⇒ String
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 (except Network Load Balancing), 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 EXTERNAL for Network
Load Balancing or INTERNAL for Internal TCP/UDP Load Balancing, the backend
must be an instance group. NEGs are not supported.
For regional services, the backend must be in the same region as the backend
service.
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.
Corresponds to the JSON property
group
2380 2381 2382 |
# File 'generated/google/apis/compute_v1/classes.rb', line 2380 def group @group end |
#max_connections ⇒ Fixnum
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 (except Network Load Balancing), you must
specify either this parameter, maxConnectionsPerInstance, or
maxConnectionsPerEndpoint.
Not available if the backend's balancingMode is RATE. Cannot be specified for
Network Load Balancing or Internal TCP/UDP Load Balancing, even though those
load balancers require a balancing mode of CONNECTION.
Corresponds to the JSON property maxConnections
2395 2396 2397 |
# File 'generated/google/apis/compute_v1/classes.rb', line 2395 def max_connections @max_connections end |
#max_connections_per_endpoint ⇒ Fixnum
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 backend is attached to
a backend service whose loadBalancingScheme is EXTERNAL (except Network Load
Balancing), you must specify either this parameter, maxConnections, or
maxConnectionsPerInstance.
Not available if the backend's balancingMode is RATE. Cannot be specified for
Network Load Balancing or Internal TCP/UDP Load Balancing, even though those
load balancers require a balancing mode of CONNECTION.
Corresponds to the JSON property maxConnectionsPerEndpoint
2409 2410 2411 |
# File 'generated/google/apis/compute_v1/classes.rb', line 2409 def max_connections_per_endpoint @max_connections_per_endpoint end |
#max_connections_per_instance ⇒ Fixnum
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 (except Network Load Balancing), you must
specify either this parameter, maxConnections, or maxConnectionsPerEndpoint.
Not available if the backend's balancingMode is RATE. Cannot be specified for
Network Load Balancing or Internal TCP/UDP Load Balancing, even though those
load balancers require a balancing mode of CONNECTION.
Corresponds to the JSON property maxConnectionsPerInstance
2424 2425 2426 |
# File 'generated/google/apis/compute_v1/classes.rb', line 2424 def max_connections_per_instance @max_connections_per_instance end |
#max_rate ⇒ Fixnum
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.
Corresponds to the JSON property maxRate
2437 2438 2439 |
# File 'generated/google/apis/compute_v1/classes.rb', line 2437 def max_rate @max_rate end |
#max_rate_per_endpoint ⇒ Float
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.
Corresponds to the JSON property maxRatePerEndpoint
2447 2448 2449 |
# File 'generated/google/apis/compute_v1/classes.rb', line 2447 def max_rate_per_endpoint @max_rate_per_endpoint end |
#max_rate_per_instance ⇒ Float
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.
Corresponds to the JSON property maxRatePerInstance
2459 2460 2461 |
# File 'generated/google/apis/compute_v1/classes.rb', line 2459 def max_rate_per_instance @max_rate_per_instance end |
#max_utilization ⇒ Float
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.
Corresponds to the JSON property maxUtilization
2469 2470 2471 |
# File 'generated/google/apis/compute_v1/classes.rb', line 2469 def max_utilization @max_utilization end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 |
# File 'generated/google/apis/compute_v1/classes.rb', line 2476 def update!(**args) @balancing_mode = args[:balancing_mode] if args.key?(:balancing_mode) @capacity_scaler = args[:capacity_scaler] if args.key?(:capacity_scaler) @description = args[:description] if args.key?(:description) @failover = args[:failover] if args.key?(:failover) @group = args[:group] if args.key?(:group) @max_connections = args[:max_connections] if args.key?(:max_connections) @max_connections_per_endpoint = args[:max_connections_per_endpoint] if args.key?(:max_connections_per_endpoint) @max_connections_per_instance = args[:max_connections_per_instance] if args.key?(:max_connections_per_instance) @max_rate = args[:max_rate] if args.key?(:max_rate) @max_rate_per_endpoint = args[:max_rate_per_endpoint] if args.key?(:max_rate_per_endpoint) @max_rate_per_instance = args[:max_rate_per_instance] if args.key?(:max_rate_per_instance) @max_utilization = args[:max_utilization] if args.key?(:max_utilization) end |