Class: Google::Apis::ComputeBeta::Backend

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

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Backend

Returns a new instance of Backend.



2984
2985
2986
# File 'lib/google/apis/compute_beta/classes.rb', line 2984

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. 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)


2882
2883
2884
# File 'lib/google/apis/compute_beta/classes.rb', line 2882

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 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

Returns:

  • (Float)


2895
2896
2897
# File 'lib/google/apis/compute_beta/classes.rb', line 2895

def capacity_scaler
  @capacity_scaler
end

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

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



2900
2901
2902
# File 'lib/google/apis/compute_beta/classes.rb', line 2900

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)


2906
2907
2908
# File 'lib/google/apis/compute_beta/classes.rb', line 2906

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. Corresponds to the JSON property failover

Returns:

  • (Boolean)


2912
2913
2914
# File 'lib/google/apis/compute_beta/classes.rb', line 2912

def failover
  @failover
end

#groupString

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. Corresponds to the JSON property group

Returns:

  • (String)


2923
2924
2925
# File 'lib/google/apis/compute_beta/classes.rb', line 2923

def group
  @group
end

#max_connectionsFixnum

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

Returns:

  • (Fixnum)


2930
2931
2932
# File 'lib/google/apis/compute_beta/classes.rb', line 2930

def max_connections
  @max_connections
end

#max_connections_per_endpointFixnum

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

Returns:

  • (Fixnum)


2937
2938
2939
# File 'lib/google/apis/compute_beta/classes.rb', line 2937

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, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE. Corresponds to the JSON property maxConnectionsPerInstance

Returns:

  • (Fixnum)


2944
2945
2946
# File 'lib/google/apis/compute_beta/classes.rb', line 2944

def max_connections_per_instance
  @max_connections_per_instance
end

#max_rateFixnum

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

Returns:

  • (Fixnum)


2951
2952
2953
# File 'lib/google/apis/compute_beta/classes.rb', line 2951

def max_rate
  @max_rate
end

#max_rate_per_endpointFloat

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

Returns:

  • (Float)


2958
2959
2960
# File 'lib/google/apis/compute_beta/classes.rb', line 2958

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, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION. Corresponds to the JSON property maxRatePerInstance

Returns:

  • (Float)


2965
2966
2967
# File 'lib/google/apis/compute_beta/classes.rb', line 2965

def max_rate_per_instance
  @max_rate_per_instance
end

#max_utilizationFloat

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

Returns:

  • (Float)


2972
2973
2974
# File 'lib/google/apis/compute_beta/classes.rb', line 2972

def max_utilization
  @max_utilization
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 Corresponds to the JSON property preference

Returns:

  • (String)


2982
2983
2984
# File 'lib/google/apis/compute_beta/classes.rb', line 2982

def preference
  @preference
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
# File 'lib/google/apis/compute_beta/classes.rb', line 2989

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_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)
end