Class 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, java.lang.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
    • Constructor Detail

      • Builder

        private Builder()
      • Builder

        private Builder​(com.google.protobuf.AbstractMessage.BuilderParent parent)
    • Method Detail

      • 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()
      • 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

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

        public java.lang.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

        public RouteAction.HashPolicy.Cookie.Builder setName​(java.lang.String 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 name to set.
        Returns:
        This builder for chaining.
      • clearName

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

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

        public RouteAction.HashPolicy.Cookie.Builder setPath​(java.lang.String 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 path to set.
        Returns:
        This builder for chaining.
      • clearPath

        public RouteAction.HashPolicy.Cookie.Builder 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()
      • 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
      • 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;
      • 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 java.util.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;