Class: Google::Apis::ComputeBeta::BackendServiceConnectionTrackingPolicy
- Inherits:
-
Object
- Object
- Google::Apis::ComputeBeta::BackendServiceConnectionTrackingPolicy
- 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
Connection Tracking configuration for this BackendService.
Instance Attribute Summary collapse
-
#connection_persistence_on_unhealthy_backends ⇒ String
Specifies connection persistence when backends are unhealthy.
-
#enable_strong_affinity ⇒ Boolean
(also: #enable_strong_affinity?)
Enable Strong Session Affinity for external passthrough Network Load Balancers.
-
#idle_timeout_sec ⇒ Fixnum
Specifies how long to keep a Connection Tracking entry while there is no matching traffic (in seconds).
-
#tracking_mode ⇒ String
Specifies the key used for connection tracking.
Instance Method Summary collapse
-
#initialize(**args) ⇒ BackendServiceConnectionTrackingPolicy
constructor
A new instance of BackendServiceConnectionTrackingPolicy.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ BackendServiceConnectionTrackingPolicy
Returns a new instance of BackendServiceConnectionTrackingPolicy.
5461 5462 5463 |
# File 'lib/google/apis/compute_beta/classes.rb', line 5461 def initialize(**args) update!(**args) end |
Instance Attribute Details
#connection_persistence_on_unhealthy_backends ⇒ String
Specifies connection persistence when backends are unhealthy. The default
value is DEFAULT_FOR_PROTOCOL.
If set to DEFAULT_FOR_PROTOCOL, the existing connections
persist on unhealthy backends only for connection-oriented protocols
(TCP and SCTP) and only if the Tracking Mode isPER_CONNECTION (default
tracking mode) or the Session
Affinity is configured for 5-tuple. They do not persist forUDP.
If set to NEVER_PERSIST, after a backend becomes unhealthy,
the existing connections on the unhealthy backend are never persisted on
the unhealthy backend. They are always diverted to newly selected healthy
backends (unless all backends are unhealthy).
If set to ALWAYS_PERSIST, existing connections always
persist on unhealthy backends regardless of protocol and session
affinity. It is generally not recommended to use this mode overriding the
default.
For more details, see Connection Persistence for Network Load
Balancing
and Connection Persistence for Internal TCP/UDP Load
Balancing.
Corresponds to the JSON property connectionPersistenceOnUnhealthyBackends
5418 5419 5420 |
# File 'lib/google/apis/compute_beta/classes.rb', line 5418 def connection_persistence_on_unhealthy_backends @connection_persistence_on_unhealthy_backends end |
#enable_strong_affinity ⇒ Boolean Also known as: enable_strong_affinity?
Enable Strong Session Affinity for external passthrough Network Load
Balancers. This option is not available publicly.
Corresponds to the JSON property enableStrongAffinity
5424 5425 5426 |
# File 'lib/google/apis/compute_beta/classes.rb', line 5424 def enable_strong_affinity @enable_strong_affinity end |
#idle_timeout_sec ⇒ Fixnum
Specifies how long to keep a Connection Tracking entry while there is no matching traffic (in seconds). For internal passthrough Network Load Balancers:
- The minimum (default) is 10 minutes and the maximum is 16 hours.
- It can be set only if Connection Tracking is less than 5-tuple
(i.e. Session Affinity is CLIENT_IP_NO_DESTINATION,CLIENT_IP or
CLIENT_IP_PROTO, and Tracking
Mode is PER_SESSION).
For external passthrough Network Load Balancers the default is 60
seconds. This option is not available publicly.
Corresponds to the JSON property
idleTimeoutSec
5440 5441 5442 |
# File 'lib/google/apis/compute_beta/classes.rb', line 5440 def idle_timeout_sec @idle_timeout_sec end |
#tracking_mode ⇒ String
Specifies the key used for connection tracking. There are two options:
- PER_CONNECTION: This is the default mode. The Connection Tracking is performed as per the Connection Key (default Hash Method) for the specific protocol.
- PER_SESSION: The Connection Tracking is performed as per
the configured Session Affinity. It matches the configured Session
Affinity.
For more details, see Tracking Mode for Network Load
Balancing
and Tracking Mode for Internal TCP/UDP Load
Balancing
.
Corresponds to the JSON property
trackingMode
5459 5460 5461 |
# File 'lib/google/apis/compute_beta/classes.rb', line 5459 def tracking_mode @tracking_mode end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
5466 5467 5468 5469 5470 5471 |
# File 'lib/google/apis/compute_beta/classes.rb', line 5466 def update!(**args) @connection_persistence_on_unhealthy_backends = args[:connection_persistence_on_unhealthy_backends] if args.key?(:connection_persistence_on_unhealthy_backends) @enable_strong_affinity = args[:enable_strong_affinity] if args.key?(:enable_strong_affinity) @idle_timeout_sec = args[:idle_timeout_sec] if args.key?(:idle_timeout_sec) @tracking_mode = args[:tracking_mode] if args.key?(:tracking_mode) end |