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.



2792
2793
2794
# File 'lib/google/apis/compute_alpha/classes.rb', line 2792

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

Returns:

  • (String)


2694
2695
2696
# File 'lib/google/apis/compute_alpha/classes.rb', line 2694

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 supported by:

  • Internal TCP/UDP Load Balancing - Network Load Balancing Corresponds to the JSON property capacityScaler

Returns:

  • (Float)


2707
2708
2709
# File 'lib/google/apis/compute_alpha/classes.rb', line 2707

def capacity_scaler
  @capacity_scaler
end

#descriptionString

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

Returns:

  • (String)


2713
2714
2715
# File 'lib/google/apis/compute_alpha/classes.rb', line 2713

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)


2719
2720
2721
# File 'lib/google/apis/compute_alpha/classes.rb', line 2719

def failover
  @failover
end

#groupString

The fully-qualified URL of an instance group or network endpoint group (NEG) resource. The type of backend that a backend service supports depends on the backend service's loadBalancingScheme.

  • When the loadBalancingScheme for the backend service is EXTERNAL (except Network Load Balancing), INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED , the backend can be either an instance group or a NEG. The backends on the backend service must be either all instance groups or all NEGs. You cannot mix instance group and NEG backends on the same backend service.
  • When the loadBalancingScheme for the backend service is EXTERNAL for Network Load Balancing or INTERNAL for Internal TCP/UDP Load Balancing, the backend must be an instance group. NEGs are not supported. For regional services, the backend must be in the same region as the backend service. 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)


2740
2741
2742
# File 'lib/google/apis/compute_alpha/classes.rb', line 2740

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. Not supported by:

  • Internal TCP/UDP Load Balancing - Network Load Balancing Corresponds to the JSON property maxConnections

Returns:

  • (Fixnum)


2748
2749
2750
# File 'lib/google/apis/compute_alpha/classes.rb', line 2748

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. Not supported by:

  • Internal TCP/UDP Load Balancing - Network Load Balancing. Corresponds to the JSON property maxConnectionsPerEndpoint

Returns:

  • (Fixnum)


2756
2757
2758
# File 'lib/google/apis/compute_alpha/classes.rb', line 2756

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. Not supported by:

  • Internal TCP/UDP Load Balancing - Network Load Balancing. Corresponds to the JSON property maxConnectionsPerInstance

Returns:

  • (Fixnum)


2764
2765
2766
# File 'lib/google/apis/compute_alpha/classes.rb', line 2764

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)


2771
2772
2773
# File 'lib/google/apis/compute_alpha/classes.rb', line 2771

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)


2778
2779
2780
# File 'lib/google/apis/compute_alpha/classes.rb', line 2778

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)


2785
2786
2787
# File 'lib/google/apis/compute_alpha/classes.rb', line 2785

def max_rate_per_instance
  @max_rate_per_instance
end

#max_utilizationFloat

Corresponds to the JSON property maxUtilization

Returns:

  • (Float)


2790
2791
2792
# File 'lib/google/apis/compute_alpha/classes.rb', line 2790

def max_utilization
  @max_utilization
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
# File 'lib/google/apis/compute_alpha/classes.rb', line 2797

def update!(**args)
  @balancing_mode = args[:balancing_mode] if args.key?(:balancing_mode)
  @capacity_scaler = args[:capacity_scaler] if args.key?(:capacity_scaler)
  @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)
end