Class: Google::Apis::ComputeBeta::Backend
- Inherits:
-
Object
- Object
- Google::Apis::ComputeBeta::Backend
- Defined in:
- generated/google/apis/compute_beta/classes.rb,
generated/google/apis/compute_beta/representations.rb,
generated/google/apis/compute_beta/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 maximum target for simultaneous connections for the entire backend ( instance group or NEG).
-
#max_connections_per_endpoint ⇒ Fixnum
Defines a maximum target for simultaneous connections for an endpoint of a NEG.
-
#max_connections_per_instance ⇒ Fixnum
Defines a maximum target for simultaneous connections for a single VM in a backend instance group.
-
#max_rate ⇒ Fixnum
The max requests per second (RPS) of the group.
-
#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 CPU 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.
Methods included from Google::Apis::Core::JsonObjectSupport
Methods included from Google::Apis::Core::Hashable
Constructor Details
#initialize(**args) ⇒ Backend
Returns a new instance of Backend
2317 2318 2319 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2317 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. The CONNECTION balancing mode is only available 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, 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, then the load is spread based on the rate of HTTP requests per second (RPS). The RATE balancing mode is only available if the protocol for the backend service is HTTP or HTTPS. You must specify exactly one of the following parameters: maxRate, maxRatePerInstance, or maxRatePerEndpoint.
If the load balancing mode is UTILIZATION, then the load is spread based on the CPU utilization of instances in an instance group. The UTILIZATION balancing mode is only available if the loadBalancingScheme of the backend service is EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED and the backend is made up of instance groups. There are no restrictions on the backend service protocol. Corresponds to the JSON property
balancingMode
2194 2195 2196 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2194 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,1.0].
This cannot be used for internal load balancing.
Corresponds to the JSON property capacityScaler
2204 2205 2206 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2204 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
2210 2211 2212 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2210 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
2216 2217 2218 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2216 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, 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.
Corresponds to the JSON property
group
2235 2236 2237 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2235 def group @group end |
#max_connections ⇒ Fixnum
Defines a maximum target for simultaneous connections for the entire backend (
instance group or NEG). 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.
Corresponds to the JSON property maxConnections
2248 2249 2250 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2248 def max_connections @max_connections end |
#max_connections_per_endpoint ⇒ Fixnum
Defines a maximum target for 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.
Corresponds to the JSON property maxConnectionsPerEndpoint
2261 2262 2263 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2261 def max_connections_per_endpoint @max_connections_per_endpoint end |
#max_connections_per_instance ⇒ Fixnum
Defines a maximum target for 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.
Corresponds to the JSON property maxConnectionsPerInstance
2276 2277 2278 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2276 def max_connections_per_instance @max_connections_per_instance end |
#max_rate ⇒ Fixnum
The max requests per second (RPS) of the group. Can be used with either RATE
or UTILIZATION balancing modes, but required if RATE mode. For RATE mode,
either maxRate or maxRatePerInstance must be set.
This cannot be used for internal load balancing.
Corresponds to the JSON property maxRate
2284 2285 2286 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2284 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, or maxRatePerInstance.
Not available if the backend's balancingMode is CONNECTION.
Corresponds to the JSON property maxRatePerEndpoint
2294 2295 2296 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2294 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, or maxRatePerEndpoint.
Not available if the backend's balancingMode is CONNECTION.
Corresponds to the JSON property maxRatePerInstance
2306 2307 2308 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2306 def max_rate_per_instance @max_rate_per_instance end |
#max_utilization ⇒ Float
Defines the maximum average CPU 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, or maxConnectionsPerInstance.
Corresponds to the JSON property maxUtilization
2315 2316 2317 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2315 def max_utilization @max_utilization end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 |
# File 'generated/google/apis/compute_beta/classes.rb', line 2322 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 |