Class: Google::Apis::ComputeV1::BackendServiceConnectionTrackingPolicy
- Inherits:
-
Object
- Object
- Google::Apis::ComputeV1::BackendServiceConnectionTrackingPolicy
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/compute_v1/classes.rb,
lib/google/apis/compute_v1/representations.rb,
lib/google/apis/compute_v1/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.
4943 4944 4945 |
# File 'lib/google/apis/compute_v1/classes.rb', line 4943 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
4900 4901 4902 |
# File 'lib/google/apis/compute_v1/classes.rb', line 4900 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
4906 4907 4908 |
# File 'lib/google/apis/compute_v1/classes.rb', line 4906 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
4922 4923 4924 |
# File 'lib/google/apis/compute_v1/classes.rb', line 4922 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
4941 4942 4943 |
# File 'lib/google/apis/compute_v1/classes.rb', line 4941 def tracking_mode @tracking_mode end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
4948 4949 4950 4951 4952 4953 |
# File 'lib/google/apis/compute_v1/classes.rb', line 4948 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 |