Class BackendServiceConnectionTrackingPolicy.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessage.Builder<BackendServiceConnectionTrackingPolicy.Builder>
com.google.cloud.compute.v1.BackendServiceConnectionTrackingPolicy.Builder
All Implemented Interfaces:
BackendServiceConnectionTrackingPolicyOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
Enclosing class:
BackendServiceConnectionTrackingPolicy

public static final class BackendServiceConnectionTrackingPolicy.Builder extends com.google.protobuf.GeneratedMessage.Builder<BackendServiceConnectionTrackingPolicy.Builder> implements BackendServiceConnectionTrackingPolicyOrBuilder
 Connection Tracking configuration for this BackendService.
 
Protobuf type google.cloud.compute.v1.BackendServiceConnectionTrackingPolicy
  • Method Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage.Builder<BackendServiceConnectionTrackingPolicy.Builder>
    • clear

      Specified by:
      clear in interface com.google.protobuf.Message.Builder
      Specified by:
      clear in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clear in class com.google.protobuf.GeneratedMessage.Builder<BackendServiceConnectionTrackingPolicy.Builder>
    • getDescriptorForType

      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface com.google.protobuf.Message.Builder
      Specified by:
      getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
      Overrides:
      getDescriptorForType in class com.google.protobuf.GeneratedMessage.Builder<BackendServiceConnectionTrackingPolicy.Builder>
    • getDefaultInstanceForType

      public BackendServiceConnectionTrackingPolicy getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
    • build

      Specified by:
      build in interface com.google.protobuf.Message.Builder
      Specified by:
      build in interface com.google.protobuf.MessageLite.Builder
    • buildPartial

      Specified by:
      buildPartial in interface com.google.protobuf.Message.Builder
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.Builder
    • mergeFrom

      public BackendServiceConnectionTrackingPolicy.Builder mergeFrom(com.google.protobuf.Message other)
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<BackendServiceConnectionTrackingPolicy.Builder>
    • mergeFrom

    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage.Builder<BackendServiceConnectionTrackingPolicy.Builder>
    • mergeFrom

      public BackendServiceConnectionTrackingPolicy.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<BackendServiceConnectionTrackingPolicy.Builder>
      Throws:
      IOException
    • hasConnectionPersistenceOnUnhealthyBackends

      public boolean hasConnectionPersistenceOnUnhealthyBackends()
       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](https://cloud.google.com/load-balancing/docs/network/networklb-backend-service#connection-persistence)
       and [Connection Persistence for Internal TCP/UDP Load
       Balancing](https://cloud.google.com/load-balancing/docs/internal#connection-persistence).
       Check the ConnectionPersistenceOnUnhealthyBackends enum for the list of possible values.
       
      optional string connection_persistence_on_unhealthy_backends = 152439033;
      Specified by:
      hasConnectionPersistenceOnUnhealthyBackends in interface BackendServiceConnectionTrackingPolicyOrBuilder
      Returns:
      Whether the connectionPersistenceOnUnhealthyBackends field is set.
    • getConnectionPersistenceOnUnhealthyBackends

      public String getConnectionPersistenceOnUnhealthyBackends()
       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](https://cloud.google.com/load-balancing/docs/network/networklb-backend-service#connection-persistence)
       and [Connection Persistence for Internal TCP/UDP Load
       Balancing](https://cloud.google.com/load-balancing/docs/internal#connection-persistence).
       Check the ConnectionPersistenceOnUnhealthyBackends enum for the list of possible values.
       
      optional string connection_persistence_on_unhealthy_backends = 152439033;
      Specified by:
      getConnectionPersistenceOnUnhealthyBackends in interface BackendServiceConnectionTrackingPolicyOrBuilder
      Returns:
      The connectionPersistenceOnUnhealthyBackends.
    • getConnectionPersistenceOnUnhealthyBackendsBytes

      public com.google.protobuf.ByteString getConnectionPersistenceOnUnhealthyBackendsBytes()
       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](https://cloud.google.com/load-balancing/docs/network/networklb-backend-service#connection-persistence)
       and [Connection Persistence for Internal TCP/UDP Load
       Balancing](https://cloud.google.com/load-balancing/docs/internal#connection-persistence).
       Check the ConnectionPersistenceOnUnhealthyBackends enum for the list of possible values.
       
      optional string connection_persistence_on_unhealthy_backends = 152439033;
      Specified by:
      getConnectionPersistenceOnUnhealthyBackendsBytes in interface BackendServiceConnectionTrackingPolicyOrBuilder
      Returns:
      The bytes for connectionPersistenceOnUnhealthyBackends.
    • setConnectionPersistenceOnUnhealthyBackends

      public BackendServiceConnectionTrackingPolicy.Builder setConnectionPersistenceOnUnhealthyBackends(String value)
       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](https://cloud.google.com/load-balancing/docs/network/networklb-backend-service#connection-persistence)
       and [Connection Persistence for Internal TCP/UDP Load
       Balancing](https://cloud.google.com/load-balancing/docs/internal#connection-persistence).
       Check the ConnectionPersistenceOnUnhealthyBackends enum for the list of possible values.
       
      optional string connection_persistence_on_unhealthy_backends = 152439033;
      Parameters:
      value - The connectionPersistenceOnUnhealthyBackends to set.
      Returns:
      This builder for chaining.
    • clearConnectionPersistenceOnUnhealthyBackends

      public BackendServiceConnectionTrackingPolicy.Builder clearConnectionPersistenceOnUnhealthyBackends()
       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](https://cloud.google.com/load-balancing/docs/network/networklb-backend-service#connection-persistence)
       and [Connection Persistence for Internal TCP/UDP Load
       Balancing](https://cloud.google.com/load-balancing/docs/internal#connection-persistence).
       Check the ConnectionPersistenceOnUnhealthyBackends enum for the list of possible values.
       
      optional string connection_persistence_on_unhealthy_backends = 152439033;
      Returns:
      This builder for chaining.
    • setConnectionPersistenceOnUnhealthyBackendsBytes

      public BackendServiceConnectionTrackingPolicy.Builder setConnectionPersistenceOnUnhealthyBackendsBytes(com.google.protobuf.ByteString value)
       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](https://cloud.google.com/load-balancing/docs/network/networklb-backend-service#connection-persistence)
       and [Connection Persistence for Internal TCP/UDP Load
       Balancing](https://cloud.google.com/load-balancing/docs/internal#connection-persistence).
       Check the ConnectionPersistenceOnUnhealthyBackends enum for the list of possible values.
       
      optional string connection_persistence_on_unhealthy_backends = 152439033;
      Parameters:
      value - The bytes for connectionPersistenceOnUnhealthyBackends to set.
      Returns:
      This builder for chaining.
    • hasEnableStrongAffinity

      public boolean hasEnableStrongAffinity()
       Enable Strong Session Affinity for external passthrough Network Load
       Balancers. This option is not available publicly.
       
      optional bool enable_strong_affinity = 24539924;
      Specified by:
      hasEnableStrongAffinity in interface BackendServiceConnectionTrackingPolicyOrBuilder
      Returns:
      Whether the enableStrongAffinity field is set.
    • getEnableStrongAffinity

      public boolean getEnableStrongAffinity()
       Enable Strong Session Affinity for external passthrough Network Load
       Balancers. This option is not available publicly.
       
      optional bool enable_strong_affinity = 24539924;
      Specified by:
      getEnableStrongAffinity in interface BackendServiceConnectionTrackingPolicyOrBuilder
      Returns:
      The enableStrongAffinity.
    • setEnableStrongAffinity

      public BackendServiceConnectionTrackingPolicy.Builder setEnableStrongAffinity(boolean value)
       Enable Strong Session Affinity for external passthrough Network Load
       Balancers. This option is not available publicly.
       
      optional bool enable_strong_affinity = 24539924;
      Parameters:
      value - The enableStrongAffinity to set.
      Returns:
      This builder for chaining.
    • clearEnableStrongAffinity

      public BackendServiceConnectionTrackingPolicy.Builder clearEnableStrongAffinity()
       Enable Strong Session Affinity for external passthrough Network Load
       Balancers. This option is not available publicly.
       
      optional bool enable_strong_affinity = 24539924;
      Returns:
      This builder for chaining.
    • hasIdleTimeoutSec

      public boolean hasIdleTimeoutSec()
       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.
       
      optional int32 idle_timeout_sec = 24977544;
      Specified by:
      hasIdleTimeoutSec in interface BackendServiceConnectionTrackingPolicyOrBuilder
      Returns:
      Whether the idleTimeoutSec field is set.
    • getIdleTimeoutSec

      public int getIdleTimeoutSec()
       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.
       
      optional int32 idle_timeout_sec = 24977544;
      Specified by:
      getIdleTimeoutSec in interface BackendServiceConnectionTrackingPolicyOrBuilder
      Returns:
      The idleTimeoutSec.
    • setIdleTimeoutSec

      public BackendServiceConnectionTrackingPolicy.Builder setIdleTimeoutSec(int value)
       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.
       
      optional int32 idle_timeout_sec = 24977544;
      Parameters:
      value - The idleTimeoutSec to set.
      Returns:
      This builder for chaining.
    • clearIdleTimeoutSec

      public BackendServiceConnectionTrackingPolicy.Builder clearIdleTimeoutSec()
       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.
       
      optional int32 idle_timeout_sec = 24977544;
      Returns:
      This builder for chaining.
    • hasTrackingMode

      public boolean hasTrackingMode()
       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](https://cloud.google.com/load-balancing/docs/network/networklb-backend-service#tracking-mode)
       and [Tracking Mode for Internal TCP/UDP Load
       Balancing](https://cloud.google.com/load-balancing/docs/internal#tracking-mode).
       Check the TrackingMode enum for the list of possible values.
       
      optional string tracking_mode = 127757867;
      Specified by:
      hasTrackingMode in interface BackendServiceConnectionTrackingPolicyOrBuilder
      Returns:
      Whether the trackingMode field is set.
    • getTrackingMode

      public String getTrackingMode()
       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](https://cloud.google.com/load-balancing/docs/network/networklb-backend-service#tracking-mode)
       and [Tracking Mode for Internal TCP/UDP Load
       Balancing](https://cloud.google.com/load-balancing/docs/internal#tracking-mode).
       Check the TrackingMode enum for the list of possible values.
       
      optional string tracking_mode = 127757867;
      Specified by:
      getTrackingMode in interface BackendServiceConnectionTrackingPolicyOrBuilder
      Returns:
      The trackingMode.
    • getTrackingModeBytes

      public com.google.protobuf.ByteString getTrackingModeBytes()
       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](https://cloud.google.com/load-balancing/docs/network/networklb-backend-service#tracking-mode)
       and [Tracking Mode for Internal TCP/UDP Load
       Balancing](https://cloud.google.com/load-balancing/docs/internal#tracking-mode).
       Check the TrackingMode enum for the list of possible values.
       
      optional string tracking_mode = 127757867;
      Specified by:
      getTrackingModeBytes in interface BackendServiceConnectionTrackingPolicyOrBuilder
      Returns:
      The bytes for trackingMode.
    • setTrackingMode

       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](https://cloud.google.com/load-balancing/docs/network/networklb-backend-service#tracking-mode)
       and [Tracking Mode for Internal TCP/UDP Load
       Balancing](https://cloud.google.com/load-balancing/docs/internal#tracking-mode).
       Check the TrackingMode enum for the list of possible values.
       
      optional string tracking_mode = 127757867;
      Parameters:
      value - The trackingMode to set.
      Returns:
      This builder for chaining.
    • clearTrackingMode

       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](https://cloud.google.com/load-balancing/docs/network/networklb-backend-service#tracking-mode)
       and [Tracking Mode for Internal TCP/UDP Load
       Balancing](https://cloud.google.com/load-balancing/docs/internal#tracking-mode).
       Check the TrackingMode enum for the list of possible values.
       
      optional string tracking_mode = 127757867;
      Returns:
      This builder for chaining.
    • setTrackingModeBytes

      public BackendServiceConnectionTrackingPolicy.Builder setTrackingModeBytes(com.google.protobuf.ByteString value)
       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](https://cloud.google.com/load-balancing/docs/network/networklb-backend-service#tracking-mode)
       and [Tracking Mode for Internal TCP/UDP Load
       Balancing](https://cloud.google.com/load-balancing/docs/internal#tracking-mode).
       Check the TrackingMode enum for the list of possible values.
       
      optional string tracking_mode = 127757867;
      Parameters:
      value - The bytes for trackingMode to set.
      Returns:
      This builder for chaining.