Class: Google::Apis::ComputeAlpha::Backend
- Inherits:
-
Object
- Object
- Google::Apis::ComputeAlpha::Backend
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/compute_alpha/classes.rb,
lib/google/apis/compute_alpha/representations.rb,
lib/google/apis/compute_alpha/representations.rb
Overview
Message containing information of one individual backend.
Instance Attribute Summary collapse
-
#balancing_mode ⇒ String
Specifies how to determine whether the backend of a load balancer can handle additional traffic or is fully loaded.
-
#capacity_scaler ⇒ Float
A multiplier applied to the backend's target capacity of its balancing mode.
-
#custom_metrics ⇒ Array<Google::Apis::ComputeAlpha::BackendCustomMetric>
List of custom metrics that are used for CUSTOM_METRICS BalancingMode.
-
#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.
-
#max_connections_per_endpoint ⇒ Fixnum
Defines a target maximum number of simultaneous connections.
-
#max_connections_per_instance ⇒ Fixnum
Defines a target maximum number of simultaneous connections.
-
#max_in_flight_requests ⇒ Fixnum
Defines a maximum number of in-flight requests for the whole NEG or instance group.
-
#max_in_flight_requests_per_endpoint ⇒ Fixnum
Defines a maximum number of in-flight requests for a single endpoint.
-
#max_in_flight_requests_per_instance ⇒ Fixnum
Defines a maximum number of in-flight requests for a single VM.
-
#max_rate ⇒ Fixnum
Defines a maximum number of HTTP requests per second (RPS).
-
#max_rate_per_endpoint ⇒ Float
Defines a maximum target for requests per second (RPS).
-
#max_rate_per_instance ⇒ Float
Defines a maximum target for requests per second (RPS).
-
#max_utilization ⇒ Float
Optional parameter to define a target capacity for the UTILIZATION balancing mode.
-
#preference ⇒ String
This field indicates whether this backend should be fully utilized before sending traffic to backends with default preference.
-
#traffic_duration ⇒ String
Corresponds to the JSON property
trafficDuration.
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.
3260 3261 3262 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 3260 def initialize(**args) update!(**args) end |
Instance Attribute Details
#balancing_mode ⇒ String
Specifies how to determine whether the backend of a load balancer can handle
additional traffic or is fully loaded. For usage guidelines, see Connection
balancing mode. Backends must use compatible balancing modes. For more
information, see Supported balancing modes and target capacity settings and
Restrictions and guidance for instance groups. Note: Currently, if you use the
API to configure incompatible balancing modes, the configuration might be
accepted even though it has no impact and is ignored. Specifically, Backend.
maxUtilization is ignored when Backend.balancingMode is RATE. In the future,
this incompatible combination will be rejected.
Corresponds to the JSON property balancingMode
3134 3135 3136 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 3134 def balancing_mode @balancing_mode end |
#capacity_scaler ⇒ Float
A multiplier applied to the backend's target capacity of its balancing mode.
The default value is 1, which means the group serves 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. The valid
ranges are 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. Not available with backends that don'
t support using a balancingMode. This includes backends such as global
internet NEGs, regional serverless NEGs, and PSC NEGs.
Corresponds to the JSON property capacityScaler
3147 3148 3149 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 3147 def capacity_scaler @capacity_scaler end |
#custom_metrics ⇒ Array<Google::Apis::ComputeAlpha::BackendCustomMetric>
List of custom metrics that are used for CUSTOM_METRICS BalancingMode.
Corresponds to the JSON property customMetrics
3152 3153 3154 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 3152 def custom_metrics @custom_metrics end |
#description ⇒ String
An optional description of this resource. Provide this property when you
create the resource.
Corresponds to the JSON property description
3158 3159 3160 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 3158 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
3164 3165 3166 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 3164 def failover @failover end |
#group ⇒ String
The fully-qualified URL of an instance group or network endpoint group (NEG)
resource. To determine what types of backends a load balancer supports, see
the Backend services overview. 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. If haPolicy is specified, backends must refer
to NEG resources of type GCE_VM_IP.
Corresponds to the JSON property group
3176 3177 3178 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 3176 def group @group end |
#max_connections ⇒ Fixnum
Defines a target maximum number of simultaneous connections. For usage
guidelines, see Connection balancing mode and Utilization balancing mode. Not
available if the backend's balancingMode is RATE.
Corresponds to the JSON property maxConnections
3183 3184 3185 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 3183 def max_connections @max_connections end |
#max_connections_per_endpoint ⇒ Fixnum
Defines a target maximum number of simultaneous connections. For usage
guidelines, see Connection balancing mode and Utilization balancing mode. Not
available if the backend's balancingMode is RATE.
Corresponds to the JSON property maxConnectionsPerEndpoint
3190 3191 3192 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 3190 def max_connections_per_endpoint @max_connections_per_endpoint end |
#max_connections_per_instance ⇒ Fixnum
Defines a target maximum number of simultaneous connections. For usage
guidelines, see Connection balancing mode and Utilization balancing mode. Not
available if the backend's balancingMode is RATE.
Corresponds to the JSON property maxConnectionsPerInstance
3197 3198 3199 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 3197 def max_connections_per_instance @max_connections_per_instance end |
#max_in_flight_requests ⇒ Fixnum
Defines a maximum number of in-flight requests for the whole NEG or instance
group. Not available if backend's balancingMode is RATE or CONNECTION.
Corresponds to the JSON property maxInFlightRequests
3203 3204 3205 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 3203 def max_in_flight_requests @max_in_flight_requests end |
#max_in_flight_requests_per_endpoint ⇒ Fixnum
Defines a maximum number of in-flight requests for a single endpoint. Not
available if backend's balancingMode is RATE or CONNECTION.
Corresponds to the JSON property maxInFlightRequestsPerEndpoint
3209 3210 3211 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 3209 def max_in_flight_requests_per_endpoint @max_in_flight_requests_per_endpoint end |
#max_in_flight_requests_per_instance ⇒ Fixnum
Defines a maximum number of in-flight requests for a single VM. Not available
if backend's balancingMode is RATE or CONNECTION.
Corresponds to the JSON property maxInFlightRequestsPerInstance
3215 3216 3217 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 3215 def max_in_flight_requests_per_instance @max_in_flight_requests_per_instance end |
#max_rate ⇒ Fixnum
Defines a maximum number of HTTP requests per second (RPS). For usage
guidelines, see Rate balancing mode and Utilization balancing mode. Not
available if the backend's balancingMode is CONNECTION.
Corresponds to the JSON property maxRate
3222 3223 3224 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 3222 def max_rate @max_rate end |
#max_rate_per_endpoint ⇒ Float
Defines a maximum target for requests per second (RPS). For usage guidelines,
see Rate balancing mode and Utilization balancing mode. Not available if the
backend's balancingMode is CONNECTION.
Corresponds to the JSON property maxRatePerEndpoint
3229 3230 3231 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 3229 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 usage guidelines,
see Rate balancing mode and Utilization balancing mode. Not available if the
backend's balancingMode is CONNECTION.
Corresponds to the JSON property maxRatePerInstance
3236 3237 3238 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 3236 def max_rate_per_instance @max_rate_per_instance end |
#max_utilization ⇒ Float
Optional parameter to define a target capacity for the UTILIZATION balancing
mode. The valid range is [0.0, 1.0]. For usage guidelines, see Utilization
balancing mode.
Corresponds to the JSON property maxUtilization
3243 3244 3245 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 3243 def max_utilization @max_utilization end |
#preference ⇒ String
This field indicates whether this backend should be fully utilized before
sending traffic to backends with default preference. The possible values are: -
PREFERRED: Backends with this preference level will be filled up to their
capacity limits first, based on RTT. - DEFAULT: If preferred backends don't
have enough capacity, backends in this layer would be used and traffic would
be assigned based on the load balancing algorithm you use. This is the default
Corresponds to the JSON property preference
3253 3254 3255 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 3253 def preference @preference end |
#traffic_duration ⇒ String
Corresponds to the JSON property trafficDuration
3258 3259 3260 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 3258 def traffic_duration @traffic_duration end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 3265 def update!(**args) @balancing_mode = args[:balancing_mode] if args.key?(:balancing_mode) @capacity_scaler = args[:capacity_scaler] if args.key?(:capacity_scaler) @custom_metrics = args[:custom_metrics] if args.key?(:custom_metrics) @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_in_flight_requests = args[:max_in_flight_requests] if args.key?(:max_in_flight_requests) @max_in_flight_requests_per_endpoint = args[:max_in_flight_requests_per_endpoint] if args.key?(:max_in_flight_requests_per_endpoint) @max_in_flight_requests_per_instance = args[:max_in_flight_requests_per_instance] if args.key?(:max_in_flight_requests_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) @preference = args[:preference] if args.key?(:preference) @traffic_duration = args[:traffic_duration] if args.key?(:traffic_duration) end |