Class: Google::Apis::ComputeAlpha::Backend

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Backend

Returns a new instance of Backend.



3999
4000
4001
# File 'lib/google/apis/compute_alpha/classes.rb', line 3999

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#balancing_modeString

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. Backends of a backend service may use different 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

Returns:

  • (String)


3819
3820
3821
# File 'lib/google/apis/compute_alpha/classes.rb', line 3819

def balancing_mode
  @balancing_mode
end

#capacity_scalerFloat

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

Returns:

  • (Float)


3836
3837
3838
# File 'lib/google/apis/compute_alpha/classes.rb', line 3836

def capacity_scaler
  @capacity_scaler
end

#custom_metricsArray<Google::Apis::ComputeAlpha::BackendCustomMetric>

List of custom metrics that are used for CUSTOM_METRICS BalancingMode. Corresponds to the JSON property customMetrics



3842
3843
3844
# File 'lib/google/apis/compute_alpha/classes.rb', line 3842

def custom_metrics
  @custom_metrics
end

#descriptionString

An optional description of this resource. Provide this property when you create the resource. Corresponds to the JSON property description

Returns:

  • (String)


3848
3849
3850
# File 'lib/google/apis/compute_alpha/classes.rb', line 3848

def description
  @description
end

#failoverBoolean 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. This field can only be used for a regional external Passthrough Network Load Balancer or a regional internal Passthrough Network Load Balancer. Corresponds to the JSON property failover

Returns:

  • (Boolean)


3856
3857
3858
# File 'lib/google/apis/compute_alpha/classes.rb', line 3856

def failover
  @failover
end

#groupString

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

Returns:

  • (String)


3872
3873
3874
# File 'lib/google/apis/compute_alpha/classes.rb', line 3872

def group
  @group
end

#max_connectionsFixnum

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

Returns:

  • (Fixnum)


3880
3881
3882
# File 'lib/google/apis/compute_alpha/classes.rb', line 3880

def max_connections
  @max_connections
end

#max_connections_per_endpointFixnum

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

Returns:

  • (Fixnum)


3889
3890
3891
# File 'lib/google/apis/compute_alpha/classes.rb', line 3889

def max_connections_per_endpoint
  @max_connections_per_endpoint
end

#max_connections_per_instanceFixnum

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

Returns:

  • (Fixnum)


3898
3899
3900
# File 'lib/google/apis/compute_alpha/classes.rb', line 3898

def max_connections_per_instance
  @max_connections_per_instance
end

#max_in_flight_requestsFixnum

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

Returns:

  • (Fixnum)


3904
3905
3906
# File 'lib/google/apis/compute_alpha/classes.rb', line 3904

def max_in_flight_requests
  @max_in_flight_requests
end

#max_in_flight_requests_per_endpointFixnum

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

Returns:

  • (Fixnum)


3911
3912
3913
# File 'lib/google/apis/compute_alpha/classes.rb', line 3911

def max_in_flight_requests_per_endpoint
  @max_in_flight_requests_per_endpoint
end

#max_in_flight_requests_per_instanceFixnum

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

Returns:

  • (Fixnum)


3918
3919
3920
# File 'lib/google/apis/compute_alpha/classes.rb', line 3918

def max_in_flight_requests_per_instance
  @max_in_flight_requests_per_instance
end

#max_rateFixnum

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

Returns:

  • (Fixnum)


3927
3928
3929
# File 'lib/google/apis/compute_alpha/classes.rb', line 3927

def max_rate
  @max_rate
end

#max_rate_per_endpointFloat

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

Returns:

  • (Float)


3936
3937
3938
# File 'lib/google/apis/compute_alpha/classes.rb', line 3936

def max_rate_per_endpoint
  @max_rate_per_endpoint
end

#max_rate_per_instanceFloat

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

Returns:

  • (Float)


3945
3946
3947
# File 'lib/google/apis/compute_alpha/classes.rb', line 3945

def max_rate_per_instance
  @max_rate_per_instance
end

#max_utilizationFloat

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

Returns:

  • (Float)


3953
3954
3955
# File 'lib/google/apis/compute_alpha/classes.rb', line 3953

def max_utilization
  @max_utilization
end

#orchestration_infoGoogle::Apis::ComputeAlpha::BackendBackendOrchestrationInfo

A message containing information about the resource or system that manages the backend. Corresponds to the JSON property orchestrationInfo



3959
3960
3961
# File 'lib/google/apis/compute_alpha/classes.rb', line 3959

def orchestration_info
  @orchestration_info
end

#preferenceString

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 For global external Passthrough Network Load Balancers, the following restrictions apply:

  • At most one backend can be marked as PREFERRED.

  • PREFERRED and DEFAULT backends cannot reside in the same Cloud region. Corresponds to the JSON property preference

Returns:

  • (String)


3979
3980
3981
# File 'lib/google/apis/compute_alpha/classes.rb', line 3979

def preference
  @preference
end

#serviceString

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

Returns:

  • (String)


3992
3993
3994
# File 'lib/google/apis/compute_alpha/classes.rb', line 3992

def service
  @service
end

#traffic_durationString

Corresponds to the JSON property trafficDuration

Returns:

  • (String)


3997
3998
3999
# File 'lib/google/apis/compute_alpha/classes.rb', line 3997

def traffic_duration
  @traffic_duration
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
# File 'lib/google/apis/compute_alpha/classes.rb', line 4004

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