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.
3491 3492 3493 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3491 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
3319 3320 3321 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3319 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
3336 3337 3338 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3336 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
3342 3343 3344 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3342 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
3348 3349 3350 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3348 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
3354 3355 3356 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3354 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
3370 3371 3372 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3370 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
3378 3379 3380 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3378 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
3387 3388 3389 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3387 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
3396 3397 3398 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3396 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
3402 3403 3404 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3402 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
3409 3410 3411 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3409 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
3416 3417 3418 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3416 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
3425 3426 3427 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3425 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
3434 3435 3436 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3434 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
3443 3444 3445 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3443 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
3451 3452 3453 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3451 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
3457 3458 3459 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3457 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
3471 3472 3473 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3471 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
3484 3485 3486 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3484 def service @service end |
#traffic_duration ⇒ String
Corresponds to the JSON property trafficDuration
3489 3490 3491 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3489 def traffic_duration @traffic_duration end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 |
# File 'lib/google/apis/compute_beta/classes.rb', line 3496 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 |