Class: Google::Apis::NetworkservicesV1beta1::ServiceLbPolicy

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/networkservices_v1beta1/classes.rb,
lib/google/apis/networkservices_v1beta1/representations.rb,
lib/google/apis/networkservices_v1beta1/representations.rb

Overview

ServiceLbPolicy holds global load balancing and traffic distribution configuration that can be applied to a BackendService.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ ServiceLbPolicy

Returns a new instance of ServiceLbPolicy.



3950
3951
3952
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 3950

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

Instance Attribute Details

#auto_capacity_drainGoogle::Apis::NetworkservicesV1beta1::ServiceLbPolicyAutoCapacityDrain

Option to specify if an unhealthy IG/NEG should be considered for global load balancing and traffic routing. Corresponds to the JSON property autoCapacityDrain



3905
3906
3907
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 3905

def auto_capacity_drain
  @auto_capacity_drain
end

#create_timeString

Output only. The timestamp when this resource was created. Corresponds to the JSON property createTime

Returns:

  • (String)


3910
3911
3912
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 3910

def create_time
  @create_time
end

#descriptionString

Optional. A free-text description of the resource. Max length 1024 characters. Corresponds to the JSON property description

Returns:

  • (String)


3915
3916
3917
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 3915

def description
  @description
end

#failover_configGoogle::Apis::NetworkservicesV1beta1::ServiceLbPolicyFailoverConfig

Option to specify health based failover behavior. This is not related to Network load balancer FailoverPolicy. Corresponds to the JSON property failoverConfig



3921
3922
3923
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 3921

def failover_config
  @failover_config
end

#isolation_configGoogle::Apis::NetworkservicesV1beta1::ServiceLbPolicyIsolationConfig

Configuration to provide isolation support for the associated Backend Service. Corresponds to the JSON property isolationConfig



3926
3927
3928
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 3926

def isolation_config
  @isolation_config
end

#labelsHash<String,String>

Optional. Set of label tags associated with the ServiceLbPolicy resource. Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


3931
3932
3933
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 3931

def labels
  @labels
end

#load_balancing_algorithmString

Optional. The type of load balancing algorithm to be used. The default behavior is WATERFALL_BY_REGION. Corresponds to the JSON property loadBalancingAlgorithm

Returns:

  • (String)


3937
3938
3939
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 3937

def load_balancing_algorithm
  @load_balancing_algorithm
end

#nameString

Identifier. Name of the ServiceLbPolicy resource. It matches pattern projects/ project/locations/location/serviceLbPolicies/service_lb_policy_name`. Corresponds to the JSON propertyname`

Returns:

  • (String)


3943
3944
3945
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 3943

def name
  @name
end

#update_timeString

Output only. The timestamp when this resource was last updated. Corresponds to the JSON property updateTime

Returns:

  • (String)


3948
3949
3950
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 3948

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 3955

def update!(**args)
  @auto_capacity_drain = args[:auto_capacity_drain] if args.key?(:auto_capacity_drain)
  @create_time = args[:create_time] if args.key?(:create_time)
  @description = args[:description] if args.key?(:description)
  @failover_config = args[:failover_config] if args.key?(:failover_config)
  @isolation_config = args[:isolation_config] if args.key?(:isolation_config)
  @labels = args[:labels] if args.key?(:labels)
  @load_balancing_algorithm = args[:load_balancing_algorithm] if args.key?(:load_balancing_algorithm)
  @name = args[:name] if args.key?(:name)
  @update_time = args[:update_time] if args.key?(:update_time)
end