Class RouteAction.HashPolicy.Cookie.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<RouteAction.HashPolicy.Cookie.Builder>
com.google.protobuf.GeneratedMessage.Builder<RouteAction.HashPolicy.Cookie.Builder>
io.envoyproxy.envoy.config.route.v3.RouteAction.HashPolicy.Cookie.Builder
All Implemented Interfaces:
com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, RouteAction.HashPolicy.CookieOrBuilder, Cloneable
Enclosing class:
RouteAction.HashPolicy.Cookie

public static final class RouteAction.HashPolicy.Cookie.Builder extends com.google.protobuf.GeneratedMessage.Builder<RouteAction.HashPolicy.Cookie.Builder> implements RouteAction.HashPolicy.CookieOrBuilder
 Envoy supports two types of cookie affinity:

 1. Passive. Envoy takes a cookie that's present in the cookies header and
 hashes on its value.

 2. Generated. Envoy generates and sets a cookie with an expiration (TTL)
 on the first request from the client in its response to the client,
 based on the endpoint the request gets sent to. The client then
 presents this on the next and all subsequent requests. The hash of
 this is sufficient to ensure these requests get sent to the same
 endpoint. The cookie is generated by hashing the source and
 destination ports and addresses so that multiple independent HTTP2
 streams on the same connection will independently receive the same
 cookie, even if they arrive at the Envoy simultaneously.
 
Protobuf type envoy.config.route.v3.RouteAction.HashPolicy.Cookie
  • Field Details

  • Constructor Details

    • Builder

      private Builder()
    • Builder

      private Builder(com.google.protobuf.AbstractMessage.BuilderParent parent)
  • 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<RouteAction.HashPolicy.Cookie.Builder>
    • maybeForceBuilderInitialization

      private void maybeForceBuilderInitialization()
    • 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<RouteAction.HashPolicy.Cookie.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<RouteAction.HashPolicy.Cookie.Builder>
    • getDefaultInstanceForType

      public RouteAction.HashPolicy.Cookie 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

      public RouteAction.HashPolicy.Cookie buildPartial()
      Specified by:
      buildPartial in interface com.google.protobuf.Message.Builder
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.Builder
    • buildPartialRepeatedFields

      private void buildPartialRepeatedFields(RouteAction.HashPolicy.Cookie result)
    • buildPartial0

      private void buildPartial0(RouteAction.HashPolicy.Cookie result)
    • mergeFrom

      public RouteAction.HashPolicy.Cookie.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<RouteAction.HashPolicy.Cookie.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<RouteAction.HashPolicy.Cookie.Builder>
    • mergeFrom

      public RouteAction.HashPolicy.Cookie.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<RouteAction.HashPolicy.Cookie.Builder>
      Throws:
      IOException
    • getName

      public String getName()
       The name of the cookie that will be used to obtain the hash key. If the
       cookie is not present and ttl below is not set, no hash will be
       produced.
       
      string name = 1 [(.validate.rules) = { ... }
      Specified by:
      getName in interface RouteAction.HashPolicy.CookieOrBuilder
      Returns:
      The name.
    • getNameBytes

      public com.google.protobuf.ByteString getNameBytes()
       The name of the cookie that will be used to obtain the hash key. If the
       cookie is not present and ttl below is not set, no hash will be
       produced.
       
      string name = 1 [(.validate.rules) = { ... }
      Specified by:
      getNameBytes in interface RouteAction.HashPolicy.CookieOrBuilder
      Returns:
      The bytes for name.
    • setName

       The name of the cookie that will be used to obtain the hash key. If the
       cookie is not present and ttl below is not set, no hash will be
       produced.
       
      string name = 1 [(.validate.rules) = { ... }
      Parameters:
      value - The name to set.
      Returns:
      This builder for chaining.
    • clearName

       The name of the cookie that will be used to obtain the hash key. If the
       cookie is not present and ttl below is not set, no hash will be
       produced.
       
      string name = 1 [(.validate.rules) = { ... }
      Returns:
      This builder for chaining.
    • setNameBytes

      public RouteAction.HashPolicy.Cookie.Builder setNameBytes(com.google.protobuf.ByteString value)
       The name of the cookie that will be used to obtain the hash key. If the
       cookie is not present and ttl below is not set, no hash will be
       produced.
       
      string name = 1 [(.validate.rules) = { ... }
      Parameters:
      value - The bytes for name to set.
      Returns:
      This builder for chaining.
    • hasTtl

      public boolean hasTtl()
       If specified, a cookie with the TTL will be generated if the cookie is
       not present. If the TTL is present and zero, the generated cookie will
       be a session cookie.
       
      .google.protobuf.Duration ttl = 2;
      Specified by:
      hasTtl in interface RouteAction.HashPolicy.CookieOrBuilder
      Returns:
      Whether the ttl field is set.
    • getTtl

      public com.google.protobuf.Duration getTtl()
       If specified, a cookie with the TTL will be generated if the cookie is
       not present. If the TTL is present and zero, the generated cookie will
       be a session cookie.
       
      .google.protobuf.Duration ttl = 2;
      Specified by:
      getTtl in interface RouteAction.HashPolicy.CookieOrBuilder
      Returns:
      The ttl.
    • setTtl

      public RouteAction.HashPolicy.Cookie.Builder setTtl(com.google.protobuf.Duration value)
       If specified, a cookie with the TTL will be generated if the cookie is
       not present. If the TTL is present and zero, the generated cookie will
       be a session cookie.
       
      .google.protobuf.Duration ttl = 2;
    • setTtl

      public RouteAction.HashPolicy.Cookie.Builder setTtl(com.google.protobuf.Duration.Builder builderForValue)
       If specified, a cookie with the TTL will be generated if the cookie is
       not present. If the TTL is present and zero, the generated cookie will
       be a session cookie.
       
      .google.protobuf.Duration ttl = 2;
    • mergeTtl

      public RouteAction.HashPolicy.Cookie.Builder mergeTtl(com.google.protobuf.Duration value)
       If specified, a cookie with the TTL will be generated if the cookie is
       not present. If the TTL is present and zero, the generated cookie will
       be a session cookie.
       
      .google.protobuf.Duration ttl = 2;
    • clearTtl

       If specified, a cookie with the TTL will be generated if the cookie is
       not present. If the TTL is present and zero, the generated cookie will
       be a session cookie.
       
      .google.protobuf.Duration ttl = 2;
    • getTtlBuilder

      public com.google.protobuf.Duration.Builder getTtlBuilder()
       If specified, a cookie with the TTL will be generated if the cookie is
       not present. If the TTL is present and zero, the generated cookie will
       be a session cookie.
       
      .google.protobuf.Duration ttl = 2;
    • getTtlOrBuilder

      public com.google.protobuf.DurationOrBuilder getTtlOrBuilder()
       If specified, a cookie with the TTL will be generated if the cookie is
       not present. If the TTL is present and zero, the generated cookie will
       be a session cookie.
       
      .google.protobuf.Duration ttl = 2;
      Specified by:
      getTtlOrBuilder in interface RouteAction.HashPolicy.CookieOrBuilder
    • getTtlFieldBuilder

      private com.google.protobuf.SingleFieldBuilder<com.google.protobuf.Duration,com.google.protobuf.Duration.Builder,com.google.protobuf.DurationOrBuilder> getTtlFieldBuilder()
       If specified, a cookie with the TTL will be generated if the cookie is
       not present. If the TTL is present and zero, the generated cookie will
       be a session cookie.
       
      .google.protobuf.Duration ttl = 2;
    • getPath

      public String getPath()
       The name of the path for the cookie. If no path is specified here, no path
       will be set for the cookie.
       
      string path = 3;
      Specified by:
      getPath in interface RouteAction.HashPolicy.CookieOrBuilder
      Returns:
      The path.
    • getPathBytes

      public com.google.protobuf.ByteString getPathBytes()
       The name of the path for the cookie. If no path is specified here, no path
       will be set for the cookie.
       
      string path = 3;
      Specified by:
      getPathBytes in interface RouteAction.HashPolicy.CookieOrBuilder
      Returns:
      The bytes for path.
    • setPath

       The name of the path for the cookie. If no path is specified here, no path
       will be set for the cookie.
       
      string path = 3;
      Parameters:
      value - The path to set.
      Returns:
      This builder for chaining.
    • clearPath

       The name of the path for the cookie. If no path is specified here, no path
       will be set for the cookie.
       
      string path = 3;
      Returns:
      This builder for chaining.
    • setPathBytes

      public RouteAction.HashPolicy.Cookie.Builder setPathBytes(com.google.protobuf.ByteString value)
       The name of the path for the cookie. If no path is specified here, no path
       will be set for the cookie.
       
      string path = 3;
      Parameters:
      value - The bytes for path to set.
      Returns:
      This builder for chaining.
    • ensureAttributesIsMutable

      private void ensureAttributesIsMutable()
    • getAttributesList

      public List<RouteAction.HashPolicy.CookieAttribute> getAttributesList()
       Additional attributes for the cookie. They will be used when generating a new cookie.
       
      repeated .envoy.config.route.v3.RouteAction.HashPolicy.CookieAttribute attributes = 4;
      Specified by:
      getAttributesList in interface RouteAction.HashPolicy.CookieOrBuilder
    • getAttributesCount

      public int getAttributesCount()
       Additional attributes for the cookie. They will be used when generating a new cookie.
       
      repeated .envoy.config.route.v3.RouteAction.HashPolicy.CookieAttribute attributes = 4;
      Specified by:
      getAttributesCount in interface RouteAction.HashPolicy.CookieOrBuilder
    • getAttributes

      public RouteAction.HashPolicy.CookieAttribute getAttributes(int index)
       Additional attributes for the cookie. They will be used when generating a new cookie.
       
      repeated .envoy.config.route.v3.RouteAction.HashPolicy.CookieAttribute attributes = 4;
      Specified by:
      getAttributes in interface RouteAction.HashPolicy.CookieOrBuilder
    • setAttributes

       Additional attributes for the cookie. They will be used when generating a new cookie.
       
      repeated .envoy.config.route.v3.RouteAction.HashPolicy.CookieAttribute attributes = 4;
    • setAttributes

       Additional attributes for the cookie. They will be used when generating a new cookie.
       
      repeated .envoy.config.route.v3.RouteAction.HashPolicy.CookieAttribute attributes = 4;
    • addAttributes

       Additional attributes for the cookie. They will be used when generating a new cookie.
       
      repeated .envoy.config.route.v3.RouteAction.HashPolicy.CookieAttribute attributes = 4;
    • addAttributes

       Additional attributes for the cookie. They will be used when generating a new cookie.
       
      repeated .envoy.config.route.v3.RouteAction.HashPolicy.CookieAttribute attributes = 4;
    • addAttributes

       Additional attributes for the cookie. They will be used when generating a new cookie.
       
      repeated .envoy.config.route.v3.RouteAction.HashPolicy.CookieAttribute attributes = 4;
    • addAttributes

       Additional attributes for the cookie. They will be used when generating a new cookie.
       
      repeated .envoy.config.route.v3.RouteAction.HashPolicy.CookieAttribute attributes = 4;
    • addAllAttributes

       Additional attributes for the cookie. They will be used when generating a new cookie.
       
      repeated .envoy.config.route.v3.RouteAction.HashPolicy.CookieAttribute attributes = 4;
    • clearAttributes

      public RouteAction.HashPolicy.Cookie.Builder clearAttributes()
       Additional attributes for the cookie. They will be used when generating a new cookie.
       
      repeated .envoy.config.route.v3.RouteAction.HashPolicy.CookieAttribute attributes = 4;
    • removeAttributes

      public RouteAction.HashPolicy.Cookie.Builder removeAttributes(int index)
       Additional attributes for the cookie. They will be used when generating a new cookie.
       
      repeated .envoy.config.route.v3.RouteAction.HashPolicy.CookieAttribute attributes = 4;
    • getAttributesBuilder

      public RouteAction.HashPolicy.CookieAttribute.Builder getAttributesBuilder(int index)
       Additional attributes for the cookie. They will be used when generating a new cookie.
       
      repeated .envoy.config.route.v3.RouteAction.HashPolicy.CookieAttribute attributes = 4;
    • getAttributesOrBuilder

      public RouteAction.HashPolicy.CookieAttributeOrBuilder getAttributesOrBuilder(int index)
       Additional attributes for the cookie. They will be used when generating a new cookie.
       
      repeated .envoy.config.route.v3.RouteAction.HashPolicy.CookieAttribute attributes = 4;
      Specified by:
      getAttributesOrBuilder in interface RouteAction.HashPolicy.CookieOrBuilder
    • getAttributesOrBuilderList

      public List<? extends RouteAction.HashPolicy.CookieAttributeOrBuilder> getAttributesOrBuilderList()
       Additional attributes for the cookie. They will be used when generating a new cookie.
       
      repeated .envoy.config.route.v3.RouteAction.HashPolicy.CookieAttribute attributes = 4;
      Specified by:
      getAttributesOrBuilderList in interface RouteAction.HashPolicy.CookieOrBuilder
    • addAttributesBuilder

      public RouteAction.HashPolicy.CookieAttribute.Builder addAttributesBuilder()
       Additional attributes for the cookie. They will be used when generating a new cookie.
       
      repeated .envoy.config.route.v3.RouteAction.HashPolicy.CookieAttribute attributes = 4;
    • addAttributesBuilder

      public RouteAction.HashPolicy.CookieAttribute.Builder addAttributesBuilder(int index)
       Additional attributes for the cookie. They will be used when generating a new cookie.
       
      repeated .envoy.config.route.v3.RouteAction.HashPolicy.CookieAttribute attributes = 4;
    • getAttributesBuilderList

      public List<RouteAction.HashPolicy.CookieAttribute.Builder> getAttributesBuilderList()
       Additional attributes for the cookie. They will be used when generating a new cookie.
       
      repeated .envoy.config.route.v3.RouteAction.HashPolicy.CookieAttribute attributes = 4;
    • getAttributesFieldBuilder