Class: Google::Apis::ComputeBeta::Backend
- Inherits:
-
Object
- Object
- Google::Apis::ComputeBeta::Backend
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/compute_beta/classes.rb,
lib/google/apis/compute_beta/representations.rb,
lib/google/apis/compute_beta/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::ComputeBeta::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 aninstance 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 theUTILIZATION balancing mode.
-
#orchestration_info ⇒ Google::Apis::ComputeBeta::BackendBackendOrchestrationInfo
A message containing information about the resource or system that manages the backend.
-
#preference ⇒ String
This field indicates whether this backend should be fully utilized before sending traffic to backends with default preference.
-
#service ⇒ String
Represents a service backend (e.g., Cloud Run service, PSC Service Attachment).
-
#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.
3526 3527 3528 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3526 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
3354 3355 3356 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3354 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 onbalancingMode). 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 than0.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 abalancingMode. This
includes backends such as global
internet NEGs, regional serverless NEGs, and PSC NEGs.
Corresponds to the JSON property capacityScaler
3371 3372 3373 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3371 def capacity_scaler @capacity_scaler end |
#custom_metrics ⇒ Array<Google::Apis::ComputeBeta::BackendCustomMetric>
List of custom metrics that are used for CUSTOM_METRICS
BalancingMode.
Corresponds to the JSON property customMetrics
3377 3378 3379 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3377 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
3383 3384 3385 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3383 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
3389 3390 3391 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3389 def failover @failover end |
#group ⇒ String
The fully-qualified URL of aninstance
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 withhttps://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
3405 3406 3407 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3405 def group @group end |
#max_connections ⇒ Fixnum
Defines a target maximum number of simultaneous connections. For usage
guidelines, seeConnection
balancing mode and Utilization
balancing mode. Not available if the backend'sbalancingMode is RATE.
Corresponds to the JSON property maxConnections
3413 3414 3415 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3413 def max_connections @max_connections end |
#max_connections_per_endpoint ⇒ Fixnum
Defines a target maximum number of simultaneous connections. For usage
guidelines, seeConnection
balancing mode and Utilization
balancing mode.
Not available if the backend's balancingMode isRATE.
Corresponds to the JSON property maxConnectionsPerEndpoint
3422 3423 3424 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3422 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, seeConnection
balancing mode and Utilization
balancing mode.
Not available if the backend's balancingMode isRATE.
Corresponds to the JSON property maxConnectionsPerInstance
3431 3432 3433 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3431 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 isRATE or CONNECTION.
Corresponds to the JSON property maxInFlightRequests
3437 3438 3439 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3437 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
3444 3445 3446 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3444 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
3451 3452 3453 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3451 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, seeRate
balancing mode and Utilization
balancing mode.
Not available if the backend's balancingMode isCONNECTION.
Corresponds to the JSON property maxRate
3460 3461 3462 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3460 def max_rate @max_rate end |
#max_rate_per_endpoint ⇒ Float
Defines a maximum target for requests per second (RPS). For usage
guidelines, seeRate
balancing mode and Utilization
balancing mode.
Not available if the backend's balancingMode isCONNECTION.
Corresponds to the JSON property maxRatePerEndpoint
3469 3470 3471 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3469 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, seeRate
balancing mode and Utilization
balancing mode.
Not available if the backend's balancingMode isCONNECTION.
Corresponds to the JSON property maxRatePerInstance
3478 3479 3480 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3478 def max_rate_per_instance @max_rate_per_instance end |
#max_utilization ⇒ Float
Optional parameter to define a target capacity for theUTILIZATION balancing
mode. The valid range is[0.0, 1.0].
For usage guidelines, seeUtilization
balancing mode.
Corresponds to the JSON property maxUtilization
3486 3487 3488 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3486 def max_utilization @max_utilization end |
#orchestration_info ⇒ Google::Apis::ComputeBeta::BackendBackendOrchestrationInfo
A message containing information about the resource or system that manages
the backend.
Corresponds to the JSON property orchestrationInfo
3492 3493 3494 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3492 def orchestration_info @orchestration_info 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
3506 3507 3508 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3506 def preference @preference end |
#service ⇒ String
Represents a service backend (e.g., Cloud Run service, PSC Service
Attachment).
e.g.
"run.googleapis.com/projects/123456789/locations/us-central1/services/my-
service"
for Cloud Run service.
"compute.googleapis.com/projects/123456789/regions/us-central1/
serviceAttachments/my-service-attachment"
for PSC Service Attachment.
Corresponds to the JSON property service
3519 3520 3521 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3519 def service @service end |
#traffic_duration ⇒ String
Corresponds to the JSON property trafficDuration
3524 3525 3526 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3524 def traffic_duration @traffic_duration end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3531 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) @orchestration_info = args[:orchestration_info] if args.key?(:orchestration_info) @preference = args[:preference] if args.key?(:preference) @service = args[:service] if args.key?(:service) @traffic_duration = args[:traffic_duration] if args.key?(:traffic_duration) end |