Class ClusterConfig.Builder

  • All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, ClusterConfigOrBuilder, Cloneable
    Enclosing class:
    ClusterConfig

    public static final class ClusterConfig.Builder
    extends com.google.protobuf.GeneratedMessageV3.Builder<ClusterConfig.Builder>
    implements ClusterConfigOrBuilder
     Configuration for the dynamic forward proxy cluster. See the :ref:`architecture overview
     <arch_overview_http_dynamic_forward_proxy>` for more information.
     [#extension: envoy.clusters.dynamic_forward_proxy]
     
    Protobuf type envoy.extensions.clusters.dynamic_forward_proxy.v3.ClusterConfig
    • Method Detail

      • getDescriptor

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

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

        public ClusterConfig.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.GeneratedMessageV3.Builder<ClusterConfig.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.GeneratedMessageV3.Builder<ClusterConfig.Builder>
      • getDefaultInstanceForType

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

        public ClusterConfig build()
        Specified by:
        build in interface com.google.protobuf.Message.Builder
        Specified by:
        build in interface com.google.protobuf.MessageLite.Builder
      • buildPartial

        public ClusterConfig buildPartial()
        Specified by:
        buildPartial in interface com.google.protobuf.Message.Builder
        Specified by:
        buildPartial in interface com.google.protobuf.MessageLite.Builder
      • clone

        public ClusterConfig.Builder clone()
        Specified by:
        clone in interface com.google.protobuf.Message.Builder
        Specified by:
        clone in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clone in class com.google.protobuf.GeneratedMessageV3.Builder<ClusterConfig.Builder>
      • setField

        public ClusterConfig.Builder setField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                              Object value)
        Specified by:
        setField in interface com.google.protobuf.Message.Builder
        Overrides:
        setField in class com.google.protobuf.GeneratedMessageV3.Builder<ClusterConfig.Builder>
      • clearField

        public ClusterConfig.Builder clearField​(com.google.protobuf.Descriptors.FieldDescriptor field)
        Specified by:
        clearField in interface com.google.protobuf.Message.Builder
        Overrides:
        clearField in class com.google.protobuf.GeneratedMessageV3.Builder<ClusterConfig.Builder>
      • clearOneof

        public ClusterConfig.Builder clearOneof​(com.google.protobuf.Descriptors.OneofDescriptor oneof)
        Specified by:
        clearOneof in interface com.google.protobuf.Message.Builder
        Overrides:
        clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<ClusterConfig.Builder>
      • setRepeatedField

        public ClusterConfig.Builder setRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                      int index,
                                                      Object value)
        Specified by:
        setRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<ClusterConfig.Builder>
      • addRepeatedField

        public ClusterConfig.Builder addRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                      Object value)
        Specified by:
        addRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<ClusterConfig.Builder>
      • mergeFrom

        public ClusterConfig.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<ClusterConfig.Builder>
      • isInitialized

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

        public ClusterConfig.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<ClusterConfig.Builder>
        Throws:
        IOException
      • hasDnsCacheConfig

        public boolean hasDnsCacheConfig()
         The DNS cache configuration that the cluster will attach to. Note this configuration must
         match that of associated :ref:`dynamic forward proxy HTTP filter configuration
         <envoy_v3_api_field_extensions.filters.http.dynamic_forward_proxy.v3.FilterConfig.dns_cache_config>`.
         
        .envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig dns_cache_config = 1 [(.validate.rules) = { ... }
        Specified by:
        hasDnsCacheConfig in interface ClusterConfigOrBuilder
        Returns:
        Whether the dnsCacheConfig field is set.
      • getDnsCacheConfig

        public DnsCacheConfig getDnsCacheConfig()
         The DNS cache configuration that the cluster will attach to. Note this configuration must
         match that of associated :ref:`dynamic forward proxy HTTP filter configuration
         <envoy_v3_api_field_extensions.filters.http.dynamic_forward_proxy.v3.FilterConfig.dns_cache_config>`.
         
        .envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig dns_cache_config = 1 [(.validate.rules) = { ... }
        Specified by:
        getDnsCacheConfig in interface ClusterConfigOrBuilder
        Returns:
        The dnsCacheConfig.
      • setDnsCacheConfig

        public ClusterConfig.Builder setDnsCacheConfig​(DnsCacheConfig value)
         The DNS cache configuration that the cluster will attach to. Note this configuration must
         match that of associated :ref:`dynamic forward proxy HTTP filter configuration
         <envoy_v3_api_field_extensions.filters.http.dynamic_forward_proxy.v3.FilterConfig.dns_cache_config>`.
         
        .envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig dns_cache_config = 1 [(.validate.rules) = { ... }
      • setDnsCacheConfig

        public ClusterConfig.Builder setDnsCacheConfig​(DnsCacheConfig.Builder builderForValue)
         The DNS cache configuration that the cluster will attach to. Note this configuration must
         match that of associated :ref:`dynamic forward proxy HTTP filter configuration
         <envoy_v3_api_field_extensions.filters.http.dynamic_forward_proxy.v3.FilterConfig.dns_cache_config>`.
         
        .envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig dns_cache_config = 1 [(.validate.rules) = { ... }
      • mergeDnsCacheConfig

        public ClusterConfig.Builder mergeDnsCacheConfig​(DnsCacheConfig value)
         The DNS cache configuration that the cluster will attach to. Note this configuration must
         match that of associated :ref:`dynamic forward proxy HTTP filter configuration
         <envoy_v3_api_field_extensions.filters.http.dynamic_forward_proxy.v3.FilterConfig.dns_cache_config>`.
         
        .envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig dns_cache_config = 1 [(.validate.rules) = { ... }
      • clearDnsCacheConfig

        public ClusterConfig.Builder clearDnsCacheConfig()
         The DNS cache configuration that the cluster will attach to. Note this configuration must
         match that of associated :ref:`dynamic forward proxy HTTP filter configuration
         <envoy_v3_api_field_extensions.filters.http.dynamic_forward_proxy.v3.FilterConfig.dns_cache_config>`.
         
        .envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig dns_cache_config = 1 [(.validate.rules) = { ... }
      • getDnsCacheConfigBuilder

        public DnsCacheConfig.Builder getDnsCacheConfigBuilder()
         The DNS cache configuration that the cluster will attach to. Note this configuration must
         match that of associated :ref:`dynamic forward proxy HTTP filter configuration
         <envoy_v3_api_field_extensions.filters.http.dynamic_forward_proxy.v3.FilterConfig.dns_cache_config>`.
         
        .envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig dns_cache_config = 1 [(.validate.rules) = { ... }
      • getDnsCacheConfigOrBuilder

        public DnsCacheConfigOrBuilder getDnsCacheConfigOrBuilder()
         The DNS cache configuration that the cluster will attach to. Note this configuration must
         match that of associated :ref:`dynamic forward proxy HTTP filter configuration
         <envoy_v3_api_field_extensions.filters.http.dynamic_forward_proxy.v3.FilterConfig.dns_cache_config>`.
         
        .envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig dns_cache_config = 1 [(.validate.rules) = { ... }
        Specified by:
        getDnsCacheConfigOrBuilder in interface ClusterConfigOrBuilder
      • getAllowInsecureClusterOptions

        public boolean getAllowInsecureClusterOptions()
         If true allow the cluster configuration to disable the auto_sni and auto_san_validation options
         in the :ref:`cluster's upstream_http_protocol_options
         <envoy_v3_api_field_config.cluster.v3.Cluster.upstream_http_protocol_options>`
         
        bool allow_insecure_cluster_options = 2;
        Specified by:
        getAllowInsecureClusterOptions in interface ClusterConfigOrBuilder
        Returns:
        The allowInsecureClusterOptions.
      • setAllowInsecureClusterOptions

        public ClusterConfig.Builder setAllowInsecureClusterOptions​(boolean value)
         If true allow the cluster configuration to disable the auto_sni and auto_san_validation options
         in the :ref:`cluster's upstream_http_protocol_options
         <envoy_v3_api_field_config.cluster.v3.Cluster.upstream_http_protocol_options>`
         
        bool allow_insecure_cluster_options = 2;
        Parameters:
        value - The allowInsecureClusterOptions to set.
        Returns:
        This builder for chaining.
      • clearAllowInsecureClusterOptions

        public ClusterConfig.Builder clearAllowInsecureClusterOptions()
         If true allow the cluster configuration to disable the auto_sni and auto_san_validation options
         in the :ref:`cluster's upstream_http_protocol_options
         <envoy_v3_api_field_config.cluster.v3.Cluster.upstream_http_protocol_options>`
         
        bool allow_insecure_cluster_options = 2;
        Returns:
        This builder for chaining.
      • getAllowCoalescedConnections

        public boolean getAllowCoalescedConnections()
         [#not-implemented-hide:]
         If true allow HTTP/2 and HTTP/3 connections to be reused for requests to different
         origins than the connection was initially created for. This will only happen when the
         resolved address for the new connection matches the peer address of the connection and
         the TLS certificate is also valid for the new hostname. For example, if a connection
         has previously been established to foo.example.com at IP 1.2.3.4 with a certificate
         that is valid for `*.example.com`, then this connection could be used for requests to
         bar.example.com if that also resolved to 1.2.3.4.
         .. note::
           By design, this feature will maximize reuse of connections. This means that instead
           opening a new connection when an existing connection reaches the maximum number of
           concurrent streams, requests will instead be sent to the existing connection.
           TODO(alyssawilk) implement request queueing in connections.
         .. note::
           The coalesced connections might be to upstreams that would not be otherwise
           selected by Envoy. See the section `Connection Reuse in RFC 7540
           <https://datatracker.ietf.org/doc/html/rfc7540#section-9.1.1>`_
         
        bool allow_coalesced_connections = 3;
        Specified by:
        getAllowCoalescedConnections in interface ClusterConfigOrBuilder
        Returns:
        The allowCoalescedConnections.
      • setAllowCoalescedConnections

        public ClusterConfig.Builder setAllowCoalescedConnections​(boolean value)
         [#not-implemented-hide:]
         If true allow HTTP/2 and HTTP/3 connections to be reused for requests to different
         origins than the connection was initially created for. This will only happen when the
         resolved address for the new connection matches the peer address of the connection and
         the TLS certificate is also valid for the new hostname. For example, if a connection
         has previously been established to foo.example.com at IP 1.2.3.4 with a certificate
         that is valid for `*.example.com`, then this connection could be used for requests to
         bar.example.com if that also resolved to 1.2.3.4.
         .. note::
           By design, this feature will maximize reuse of connections. This means that instead
           opening a new connection when an existing connection reaches the maximum number of
           concurrent streams, requests will instead be sent to the existing connection.
           TODO(alyssawilk) implement request queueing in connections.
         .. note::
           The coalesced connections might be to upstreams that would not be otherwise
           selected by Envoy. See the section `Connection Reuse in RFC 7540
           <https://datatracker.ietf.org/doc/html/rfc7540#section-9.1.1>`_
         
        bool allow_coalesced_connections = 3;
        Parameters:
        value - The allowCoalescedConnections to set.
        Returns:
        This builder for chaining.
      • clearAllowCoalescedConnections

        public ClusterConfig.Builder clearAllowCoalescedConnections()
         [#not-implemented-hide:]
         If true allow HTTP/2 and HTTP/3 connections to be reused for requests to different
         origins than the connection was initially created for. This will only happen when the
         resolved address for the new connection matches the peer address of the connection and
         the TLS certificate is also valid for the new hostname. For example, if a connection
         has previously been established to foo.example.com at IP 1.2.3.4 with a certificate
         that is valid for `*.example.com`, then this connection could be used for requests to
         bar.example.com if that also resolved to 1.2.3.4.
         .. note::
           By design, this feature will maximize reuse of connections. This means that instead
           opening a new connection when an existing connection reaches the maximum number of
           concurrent streams, requests will instead be sent to the existing connection.
           TODO(alyssawilk) implement request queueing in connections.
         .. note::
           The coalesced connections might be to upstreams that would not be otherwise
           selected by Envoy. See the section `Connection Reuse in RFC 7540
           <https://datatracker.ietf.org/doc/html/rfc7540#section-9.1.1>`_
         
        bool allow_coalesced_connections = 3;
        Returns:
        This builder for chaining.
      • setUnknownFields

        public final ClusterConfig.Builder setUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        setUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<ClusterConfig.Builder>
      • mergeUnknownFields

        public final ClusterConfig.Builder mergeUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        mergeUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<ClusterConfig.Builder>