io.envoyproxy.envoy.config.cluster.v3.Cluster.scala Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of envoy-scala-control-plane_2.13 Show documentation
Show all versions of envoy-scala-control-plane_2.13 Show documentation
ScalaPB generated bindings for Envoy
// Generated by the Scala Plugin for the Protocol Buffer Compiler.
// Do not edit!
//
// Protofile syntax: PROTO3
package io.envoyproxy.envoy.config.cluster.v3
/** Configuration for a single upstream cluster.
* [#next-free-field: 57]
*
* @param transportSocketMatches
* Configuration to use different transport sockets for different endpoints.
* The entry of *envoy.transport_socket_match* in the
* :ref:`LbEndpoint.Metadata <envoy_v3_api_field_config.endpoint.v3.LbEndpoint.metadata>`
* is used to match against the transport sockets as they appear in the list. The first
* :ref:`match <envoy_v3_api_msg_config.cluster.v3.Cluster.TransportSocketMatch>` is used.
* For example, with the following match
*
* .. code-block:: yaml
*
* transport_socket_matches:
* - name: "enableMTLS"
* match:
* acceptMTLS: true
* transport_socket:
* name: envoy.transport_sockets.tls
* config: { ... } # tls socket configuration
* - name: "defaultToPlaintext"
* match: {}
* transport_socket:
* name: envoy.transport_sockets.raw_buffer
*
* Connections to the endpoints whose metadata value under *envoy.transport_socket_match*
* having "acceptMTLS"/"true" key/value pair use the "enableMTLS" socket configuration.
*
* If a :ref:`socket match <envoy_v3_api_msg_config.cluster.v3.Cluster.TransportSocketMatch>` with empty match
* criteria is provided, that always match any endpoint. For example, the "defaultToPlaintext"
* socket match in case above.
*
* If an endpoint metadata's value under *envoy.transport_socket_match* does not match any
* *TransportSocketMatch*, socket configuration fallbacks to use the *tls_context* or
* *transport_socket* specified in this cluster.
*
* This field allows gradual and flexible transport socket configuration changes.
*
* The metadata of endpoints in EDS can indicate transport socket capabilities. For example,
* an endpoint's metadata can have two key value pairs as "acceptMTLS": "true",
* "acceptPlaintext": "true". While some other endpoints, only accepting plaintext traffic
* has "acceptPlaintext": "true" metadata information.
*
* Then the xDS server can configure the CDS to a client, Envoy A, to send mutual TLS
* traffic for endpoints with "acceptMTLS": "true", by adding a corresponding
* *TransportSocketMatch* in this field. Other client Envoys receive CDS without
* *transport_socket_match* set, and still send plain text traffic to the same cluster.
*
* This field can be used to specify custom transport socket configurations for health
* checks by adding matching key/value pairs in a health check's
* :ref:`transport socket match criteria <envoy_v3_api_field_config.core.v3.HealthCheck.transport_socket_match_criteria>` field.
*
* [#comment:TODO(incfly): add a detailed architecture doc on intended usage.]
* @param name
* Supplies the name of the cluster which must be unique across all clusters.
* The cluster name is used when emitting
* :ref:`statistics <config_cluster_manager_cluster_stats>` if :ref:`alt_stat_name
* <envoy_v3_api_field_config.cluster.v3.Cluster.alt_stat_name>` is not provided.
* Any ``:`` in the cluster name will be converted to ``_`` when emitting statistics.
* @param altStatName
* An optional alternative to the cluster name to be used for observability. This name is used
* emitting stats for the cluster and access logging the cluster name. This will appear as
* additional information in configuration dumps of a cluster's current status as
* :ref:`observability_name <envoy_v3_api_field_admin.v3.ClusterStatus.observability_name>`
* and as an additional tag "upstream_cluster.name" while tracing. Note: Any ``:`` in the name
* will be converted to ``_`` when emitting statistics. This should not be confused with
* :ref:`Router Filter Header <config_http_filters_router_x-envoy-upstream-alt-stat-name>`.
* @param edsClusterConfig
* Configuration to use for EDS updates for the Cluster.
* @param connectTimeout
* The timeout for new network connections to hosts in the cluster.
* If not set, a default value of 5s will be used.
* @param perConnectionBufferLimitBytes
* Soft limit on size of the cluster’s connections read and write buffers. If
* unspecified, an implementation defined default is applied (1MiB).
* @param lbPolicy
* The :ref:`load balancer type <arch_overview_load_balancing_types>` to use
* when picking a host in the cluster.
* @param loadAssignment
* Setting this is required for specifying members of
* :ref:`STATIC<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STATIC>`,
* :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`
* or :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>` clusters.
* This field supersedes the *hosts* field in the v2 API.
*
* .. attention::
*
* Setting this allows non-EDS cluster types to contain embedded EDS equivalent
* :ref:`endpoint assignments<envoy_v3_api_msg_config.endpoint.v3.ClusterLoadAssignment>`.
* @param healthChecks
* Optional :ref:`active health checking <arch_overview_health_checking>`
* configuration for the cluster. If no
* configuration is specified no health checking will be done and all cluster
* members will be considered healthy at all times.
* @param maxRequestsPerConnection
* Optional maximum requests for a single upstream connection. This parameter
* is respected by both the HTTP/1.1 and HTTP/2 connection pool
* implementations. If not specified, there is no limit. Setting this
* parameter to 1 will effectively disable keep alive.
*
* .. attention::
* This field has been deprecated in favor of the :ref:`max_requests_per_connection <envoy_v3_api_field_config.core.v3.HttpProtocolOptions.max_requests_per_connection>` field.
* @param circuitBreakers
* Optional :ref:`circuit breaking <arch_overview_circuit_break>` for the cluster.
* @param upstreamHttpProtocolOptions
* HTTP protocol options that are applied only to upstream HTTP connections.
* These options apply to all HTTP versions.
* This has been deprecated in favor of
* :ref:`upstream_http_protocol_options <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.upstream_http_protocol_options>`
* in the :ref:`http_protocol_options <envoy_v3_api_msg_extensions.upstreams.http.v3.HttpProtocolOptions>` message.
* upstream_http_protocol_options can be set via the cluster's
* :ref:`extension_protocol_options<envoy_v3_api_field_config.cluster.v3.Cluster.typed_extension_protocol_options>`.
* See :ref:`upstream_http_protocol_options
* <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.upstream_http_protocol_options>`
* for example usage.
* @param commonHttpProtocolOptions
* Additional options when handling HTTP requests upstream. These options will be applicable to
* both HTTP1 and HTTP2 requests.
* This has been deprecated in favor of
* :ref:`common_http_protocol_options <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.common_http_protocol_options>`
* in the :ref:`http_protocol_options <envoy_v3_api_msg_extensions.upstreams.http.v3.HttpProtocolOptions>` message.
* common_http_protocol_options can be set via the cluster's
* :ref:`extension_protocol_options<envoy_v3_api_field_config.cluster.v3.Cluster.typed_extension_protocol_options>`.
* See :ref:`upstream_http_protocol_options
* <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.upstream_http_protocol_options>`
* for example usage.
* @param httpProtocolOptions
* Additional options when handling HTTP1 requests.
* This has been deprecated in favor of http_protocol_options fields in the
* :ref:`http_protocol_options <envoy_v3_api_msg_extensions.upstreams.http.v3.HttpProtocolOptions>` message.
* http_protocol_options can be set via the cluster's
* :ref:`extension_protocol_options<envoy_v3_api_field_config.cluster.v3.Cluster.typed_extension_protocol_options>`.
* See :ref:`upstream_http_protocol_options
* <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.upstream_http_protocol_options>`
* for example usage.
* @param http2ProtocolOptions
* Even if default HTTP2 protocol options are desired, this field must be
* set so that Envoy will assume that the upstream supports HTTP/2 when
* making new HTTP connection pool connections. Currently, Envoy only
* supports prior knowledge for upstream connections. Even if TLS is used
* with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
* connections to happen over plain text.
* This has been deprecated in favor of http2_protocol_options fields in the
* :ref:`http_protocol_options <envoy_v3_api_msg_extensions.upstreams.http.v3.HttpProtocolOptions>`
* message. http2_protocol_options can be set via the cluster's
* :ref:`extension_protocol_options<envoy_v3_api_field_config.cluster.v3.Cluster.typed_extension_protocol_options>`.
* See :ref:`upstream_http_protocol_options
* <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.upstream_http_protocol_options>`
* for example usage.
* @param typedExtensionProtocolOptions
* The extension_protocol_options field is used to provide extension-specific protocol options
* for upstream connections. The key should match the extension filter name, such as
* "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
* specific options.
* [#next-major-version: make this a list of typed extensions.]
* @param dnsRefreshRate
* If the DNS refresh rate is specified and the cluster type is either
* :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
* or :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`,
* this value is used as the cluster’s DNS refresh
* rate. The value configured must be at least 1ms. If this setting is not specified, the
* value defaults to 5000ms. For cluster types other than
* :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`
* and :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`
* this setting is ignored.
* @param dnsFailureRefreshRate
* If the DNS failure refresh rate is specified and the cluster type is either
* :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
* or :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`,
* this is used as the cluster’s DNS refresh rate when requests are failing. If this setting is
* not specified, the failure refresh rate defaults to the DNS refresh rate. For cluster types
* other than :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>` and
* :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>` this setting is
* ignored.
* @param respectDnsTtl
* Optional configuration for setting cluster's DNS refresh rate. If the value is set to true,
* cluster's DNS refresh rate will be set to resource record's TTL which comes from DNS
* resolution.
* @param dnsLookupFamily
* The DNS IP address resolution policy. If this setting is not specified, the
* value defaults to
* :ref:`AUTO<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DnsLookupFamily.AUTO>`.
* @param dnsResolvers
* If DNS resolvers are specified and the cluster type is either
* :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
* or :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`,
* this value is used to specify the cluster’s dns resolvers.
* If this setting is not specified, the value defaults to the default
* resolver, which uses /etc/resolv.conf for configuration. For cluster types
* other than
* :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`
* and :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`
* this setting is ignored.
* This field is deprecated in favor of *dns_resolution_config*
* which aggregates all of the DNS resolver configuration in a single message.
* @param useTcpForDnsLookups
* Always use TCP queries instead of UDP queries for DNS lookups.
* This field is deprecated in favor of *dns_resolution_config*
* which aggregates all of the DNS resolver configuration in a single message.
* @param dnsResolutionConfig
* DNS resolution configuration which includes the underlying dns resolver addresses and options.
* This field is deprecated in favor of
* :ref:`typed_dns_resolver_config <envoy_v3_api_field_config.cluster.v3.Cluster.typed_dns_resolver_config>`.
* @param typedDnsResolverConfig
* DNS resolver type configuration extension. This extension can be used to configure c-ares, apple,
* or any other DNS resolver types and the related parameters.
* For example, an object of
* :ref:`CaresDnsResolverConfig <envoy_v3_api_msg_extensions.network.dns_resolver.cares.v3.CaresDnsResolverConfig>`
* can be packed into this *typed_dns_resolver_config*. This configuration replaces the
* :ref:`dns_resolution_config <envoy_v3_api_field_config.cluster.v3.Cluster.dns_resolution_config>`
* configuration.
* During the transition period when both *dns_resolution_config* and *typed_dns_resolver_config* exists,
* when *typed_dns_resolver_config* is in place, Envoy will use it and ignore *dns_resolution_config*.
* When *typed_dns_resolver_config* is missing, the default behavior is in place.
* [#extension-category: envoy.network.dns_resolver]
* @param waitForWarmOnInit
* Optional configuration for having cluster readiness block on warm-up. Currently, only applicable for
* :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
* or :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`.
* If true, cluster readiness blocks on warm-up. If false, the cluster will complete
* initialization whether or not warm-up has completed. Defaults to true.
* @param outlierDetection
* If specified, outlier detection will be enabled for this upstream cluster.
* Each of the configuration values can be overridden via
* :ref:`runtime values <config_cluster_manager_cluster_runtime_outlier_detection>`.
* @param cleanupInterval
* The interval for removing stale hosts from a cluster type
* :ref:`ORIGINAL_DST<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.ORIGINAL_DST>`.
* Hosts are considered stale if they have not been used
* as upstream destinations during this interval. New hosts are added
* to original destination clusters on demand as new connections are
* redirected to Envoy, causing the number of hosts in the cluster to
* grow over time. Hosts that are not stale (they are actively used as
* destinations) are kept in the cluster, which allows connections to
* them remain open, saving the latency that would otherwise be spent
* on opening new connections. If this setting is not specified, the
* value defaults to 5000ms. For cluster types other than
* :ref:`ORIGINAL_DST<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.ORIGINAL_DST>`
* this setting is ignored.
* @param upstreamBindConfig
* Optional configuration used to bind newly established upstream connections.
* This overrides any bind_config specified in the bootstrap proto.
* If the address and port are empty, no bind will be performed.
* @param lbSubsetConfig
* Configuration for load balancing subsetting.
* @param commonLbConfig
* Common configuration for all load balancer implementations.
* @param transportSocket
* Optional custom transport socket implementation to use for upstream connections.
* To setup TLS, set a transport socket with name `envoy.transport_sockets.tls` and
* :ref:`UpstreamTlsContexts <envoy_v3_api_msg_extensions.transport_sockets.tls.v3.UpstreamTlsContext>` in the `typed_config`.
* If no transport socket configuration is specified, new connections
* will be set up with plaintext.
* @param metadata
* The Metadata field can be used to provide additional information about the
* cluster. It can be used for stats, logging, and varying filter behavior.
* Fields should use reverse DNS notation to denote which entity within Envoy
* will need the information. For instance, if the metadata is intended for
* the Router filter, the filter name should be specified as *envoy.filters.http.router*.
* @param protocolSelection
* Determines how Envoy selects the protocol used to speak to upstream hosts.
* This has been deprecated in favor of setting explicit protocol selection
* in the :ref:`http_protocol_options
* <envoy_v3_api_msg_extensions.upstreams.http.v3.HttpProtocolOptions>` message.
* http_protocol_options can be set via the cluster's
* :ref:`extension_protocol_options<envoy_v3_api_field_config.cluster.v3.Cluster.typed_extension_protocol_options>`.
* @param upstreamConnectionOptions
* Optional options for upstream connections.
* @param closeConnectionsOnHostHealthFailure
* If an upstream host becomes unhealthy (as determined by the configured health checks
* or outlier detection), immediately close all connections to the failed host.
*
* .. note::
*
* This is currently only supported for connections created by tcp_proxy.
*
* .. note::
*
* The current implementation of this feature closes all connections immediately when
* the unhealthy status is detected. If there are a large number of connections open
* to an upstream host that becomes unhealthy, Envoy may spend a substantial amount of
* time exclusively closing these connections, and not processing any other traffic.
* @param ignoreHealthOnHostRemoval
* If set to true, Envoy will ignore the health value of a host when processing its removal
* from service discovery. This means that if active health checking is used, Envoy will *not*
* wait for the endpoint to go unhealthy before removing it.
* @param filters
* An (optional) network filter chain, listed in the order the filters should be applied.
* The chain will be applied to all outgoing connections that Envoy makes to the upstream
* servers of this cluster.
* @param loadBalancingPolicy
* If this field is set and is supported by the client, it will supersede the value of
* :ref:`lb_policy<envoy_v3_api_field_config.cluster.v3.Cluster.lb_policy>`.
* @param lrsServer
* [#not-implemented-hide:]
* If present, tells the client where to send load reports via LRS. If not present, the
* client will fall back to a client-side default, which may be either (a) don't send any
* load reports or (b) send load reports for all clusters to a single default server
* (which may be configured in the bootstrap file).
*
* Note that if multiple clusters point to the same LRS server, the client may choose to
* create a separate stream for each cluster or it may choose to coalesce the data for
* multiple clusters onto a single stream. Either way, the client must make sure to send
* the data for any given cluster on no more than one stream.
*
* [#next-major-version: In the v3 API, we should consider restructuring this somehow,
* maybe by allowing LRS to go on the ADS stream, or maybe by moving some of the negotiation
* from the LRS stream here.]
* @param trackTimeoutBudgets
* If track_timeout_budgets is true, the :ref:`timeout budget histograms
* <config_cluster_manager_cluster_stats_timeout_budgets>` will be published for each
* request. These show what percentage of a request's per try and global timeout was used. A value
* of 0 would indicate that none of the timeout was used or that the timeout was infinite. A value
* of 100 would indicate that the request took the entirety of the timeout given to it.
*
* .. attention::
*
* This field has been deprecated in favor of `timeout_budgets`, part of
* :ref:`track_cluster_stats <envoy_v3_api_field_config.cluster.v3.Cluster.track_cluster_stats>`.
* @param upstreamConfig
* Optional customization and configuration of upstream connection pool, and upstream type.
*
* Currently this field only applies for HTTP traffic but is designed for eventual use for custom
* TCP upstreams.
*
* For HTTP traffic, Envoy will generally take downstream HTTP and send it upstream as upstream
* HTTP, using the http connection pool and the codec from `http2_protocol_options`
*
* For routes where CONNECT termination is configured, Envoy will take downstream CONNECT
* requests and forward the CONNECT payload upstream over raw TCP using the tcp connection pool.
*
* The default pool used is the generic connection pool which creates the HTTP upstream for most
* HTTP requests, and the TCP upstream if CONNECT termination is configured.
*
* If users desire custom connection pool or upstream behavior, for example terminating
* CONNECT only if a custom filter indicates it is appropriate, the custom factories
* can be registered and configured here.
* [#extension-category: envoy.upstreams]
* @param trackClusterStats
* Configuration to track optional cluster stats.
* @param preconnectPolicy
* Preconnect configuration for this cluster.
* @param connectionPoolPerDownstreamConnection
* If `connection_pool_per_downstream_connection` is true, the cluster will use a separate
* connection pool for every downstream connection
*/
@SerialVersionUID(0L)
final case class Cluster(
transportSocketMatches: _root_.scala.Seq[io.envoyproxy.envoy.config.cluster.v3.Cluster.TransportSocketMatch] = _root_.scala.Seq.empty,
name: _root_.scala.Predef.String = "",
altStatName: _root_.scala.Predef.String = "",
clusterDiscoveryType: io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterDiscoveryType = io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterDiscoveryType.Empty,
edsClusterConfig: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.EdsClusterConfig] = _root_.scala.None,
connectTimeout: _root_.scala.Option[com.google.protobuf.duration.Duration] = _root_.scala.None,
perConnectionBufferLimitBytes: _root_.scala.Option[_root_.scala.Int] = _root_.scala.None,
lbPolicy: io.envoyproxy.envoy.config.cluster.v3.Cluster.LbPolicy = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbPolicy.ROUND_ROBIN,
loadAssignment: _root_.scala.Option[io.envoyproxy.envoy.config.endpoint.v3.ClusterLoadAssignment] = _root_.scala.None,
healthChecks: _root_.scala.Seq[io.envoyproxy.envoy.config.core.v3.HealthCheck] = _root_.scala.Seq.empty,
@scala.deprecated(message="Marked as deprecated in proto file", "") maxRequestsPerConnection: _root_.scala.Option[_root_.scala.Int] = _root_.scala.None,
circuitBreakers: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.CircuitBreakers] = _root_.scala.None,
@scala.deprecated(message="Marked as deprecated in proto file", "") upstreamHttpProtocolOptions: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptions] = _root_.scala.None,
@scala.deprecated(message="Marked as deprecated in proto file", "") commonHttpProtocolOptions: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions] = _root_.scala.None,
@scala.deprecated(message="Marked as deprecated in proto file", "") httpProtocolOptions: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions] = _root_.scala.None,
@scala.deprecated(message="Marked as deprecated in proto file", "") http2ProtocolOptions: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions] = _root_.scala.None,
typedExtensionProtocolOptions: _root_.scala.collection.immutable.Map[_root_.scala.Predef.String, com.google.protobuf.any.Any] = _root_.scala.collection.immutable.Map.empty,
dnsRefreshRate: _root_.scala.Option[com.google.protobuf.duration.Duration] = _root_.scala.None,
dnsFailureRefreshRate: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.RefreshRate] = _root_.scala.None,
respectDnsTtl: _root_.scala.Boolean = false,
dnsLookupFamily: io.envoyproxy.envoy.config.cluster.v3.Cluster.DnsLookupFamily = io.envoyproxy.envoy.config.cluster.v3.Cluster.DnsLookupFamily.AUTO,
@scala.deprecated(message="Marked as deprecated in proto file", "") dnsResolvers: _root_.scala.Seq[io.envoyproxy.envoy.config.core.v3.Address] = _root_.scala.Seq.empty,
@scala.deprecated(message="Marked as deprecated in proto file", "") useTcpForDnsLookups: _root_.scala.Boolean = false,
@scala.deprecated(message="Marked as deprecated in proto file", "") dnsResolutionConfig: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.DnsResolutionConfig] = _root_.scala.None,
typedDnsResolverConfig: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig] = _root_.scala.None,
waitForWarmOnInit: _root_.scala.Option[_root_.scala.Boolean] = _root_.scala.None,
outlierDetection: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.OutlierDetection] = _root_.scala.None,
cleanupInterval: _root_.scala.Option[com.google.protobuf.duration.Duration] = _root_.scala.None,
upstreamBindConfig: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.BindConfig] = _root_.scala.None,
lbSubsetConfig: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig] = _root_.scala.None,
lbConfig: io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig.Empty,
commonLbConfig: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig] = _root_.scala.None,
transportSocket: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.TransportSocket] = _root_.scala.None,
metadata: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Metadata] = _root_.scala.None,
@scala.deprecated(message="Marked as deprecated in proto file", "") protocolSelection: io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterProtocolSelection = io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterProtocolSelection.USE_CONFIGURED_PROTOCOL,
upstreamConnectionOptions: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.UpstreamConnectionOptions] = _root_.scala.None,
closeConnectionsOnHostHealthFailure: _root_.scala.Boolean = false,
ignoreHealthOnHostRemoval: _root_.scala.Boolean = false,
filters: _root_.scala.Seq[io.envoyproxy.envoy.config.cluster.v3.Filter] = _root_.scala.Seq.empty,
loadBalancingPolicy: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.LoadBalancingPolicy] = _root_.scala.None,
lrsServer: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.ConfigSource] = _root_.scala.None,
@scala.deprecated(message="Marked as deprecated in proto file", "") trackTimeoutBudgets: _root_.scala.Boolean = false,
upstreamConfig: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig] = _root_.scala.None,
trackClusterStats: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.TrackClusterStats] = _root_.scala.None,
preconnectPolicy: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy] = _root_.scala.None,
connectionPoolPerDownstreamConnection: _root_.scala.Boolean = false,
unknownFields: _root_.scalapb.UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty
) extends scalapb.GeneratedMessage with scalapb.lenses.Updatable[Cluster] {
@transient
private[this] var __serializedSizeMemoized: _root_.scala.Int = 0
private[this] def __computeSerializedSize(): _root_.scala.Int = {
var __size = 0
transportSocketMatches.foreach { __item =>
val __value = __item
__size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
}
{
val __value = name
if (!__value.isEmpty) {
__size += _root_.com.google.protobuf.CodedOutputStream.computeStringSize(1, __value)
}
};
{
val __value = altStatName
if (!__value.isEmpty) {
__size += _root_.com.google.protobuf.CodedOutputStream.computeStringSize(28, __value)
}
};
if (clusterDiscoveryType.`type`.isDefined) {
val __value = clusterDiscoveryType.`type`.get.value
__size += _root_.com.google.protobuf.CodedOutputStream.computeEnumSize(2, __value)
};
if (clusterDiscoveryType.clusterType.isDefined) {
val __value = clusterDiscoveryType.clusterType.get
__size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (edsClusterConfig.isDefined) {
val __value = edsClusterConfig.get
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (connectTimeout.isDefined) {
val __value = connectTimeout.get
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (perConnectionBufferLimitBytes.isDefined) {
val __value = io.envoyproxy.envoy.config.cluster.v3.Cluster._typemapper_perConnectionBufferLimitBytes.toBase(perConnectionBufferLimitBytes.get)
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
{
val __value = lbPolicy.value
if (__value != 0) {
__size += _root_.com.google.protobuf.CodedOutputStream.computeEnumSize(6, __value)
}
};
if (loadAssignment.isDefined) {
val __value = loadAssignment.get
__size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
healthChecks.foreach { __item =>
val __value = __item
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
}
if (maxRequestsPerConnection.isDefined) {
val __value = io.envoyproxy.envoy.config.cluster.v3.Cluster._typemapper_maxRequestsPerConnection.toBase(maxRequestsPerConnection.get)
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (circuitBreakers.isDefined) {
val __value = circuitBreakers.get
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (upstreamHttpProtocolOptions.isDefined) {
val __value = upstreamHttpProtocolOptions.get
__size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (commonHttpProtocolOptions.isDefined) {
val __value = commonHttpProtocolOptions.get
__size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (httpProtocolOptions.isDefined) {
val __value = httpProtocolOptions.get
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (http2ProtocolOptions.isDefined) {
val __value = http2ProtocolOptions.get
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
typedExtensionProtocolOptions.foreach { __item =>
val __value = io.envoyproxy.envoy.config.cluster.v3.Cluster._typemapper_typedExtensionProtocolOptions.toBase(__item)
__size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
}
if (dnsRefreshRate.isDefined) {
val __value = dnsRefreshRate.get
__size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (dnsFailureRefreshRate.isDefined) {
val __value = dnsFailureRefreshRate.get
__size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
{
val __value = respectDnsTtl
if (__value != false) {
__size += _root_.com.google.protobuf.CodedOutputStream.computeBoolSize(39, __value)
}
};
{
val __value = dnsLookupFamily.value
if (__value != 0) {
__size += _root_.com.google.protobuf.CodedOutputStream.computeEnumSize(17, __value)
}
};
dnsResolvers.foreach { __item =>
val __value = __item
__size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
}
{
val __value = useTcpForDnsLookups
if (__value != false) {
__size += _root_.com.google.protobuf.CodedOutputStream.computeBoolSize(45, __value)
}
};
if (dnsResolutionConfig.isDefined) {
val __value = dnsResolutionConfig.get
__size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (typedDnsResolverConfig.isDefined) {
val __value = typedDnsResolverConfig.get
__size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (waitForWarmOnInit.isDefined) {
val __value = io.envoyproxy.envoy.config.cluster.v3.Cluster._typemapper_waitForWarmOnInit.toBase(waitForWarmOnInit.get)
__size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (outlierDetection.isDefined) {
val __value = outlierDetection.get
__size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (cleanupInterval.isDefined) {
val __value = cleanupInterval.get
__size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (upstreamBindConfig.isDefined) {
val __value = upstreamBindConfig.get
__size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (lbSubsetConfig.isDefined) {
val __value = lbSubsetConfig.get
__size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (lbConfig.ringHashLbConfig.isDefined) {
val __value = lbConfig.ringHashLbConfig.get
__size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (lbConfig.maglevLbConfig.isDefined) {
val __value = lbConfig.maglevLbConfig.get
__size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (lbConfig.originalDstLbConfig.isDefined) {
val __value = lbConfig.originalDstLbConfig.get
__size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (lbConfig.leastRequestLbConfig.isDefined) {
val __value = lbConfig.leastRequestLbConfig.get
__size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (lbConfig.roundRobinLbConfig.isDefined) {
val __value = lbConfig.roundRobinLbConfig.get
__size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (commonLbConfig.isDefined) {
val __value = commonLbConfig.get
__size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (transportSocket.isDefined) {
val __value = transportSocket.get
__size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (metadata.isDefined) {
val __value = metadata.get
__size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
{
val __value = protocolSelection.value
if (__value != 0) {
__size += _root_.com.google.protobuf.CodedOutputStream.computeEnumSize(26, __value)
}
};
if (upstreamConnectionOptions.isDefined) {
val __value = upstreamConnectionOptions.get
__size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
{
val __value = closeConnectionsOnHostHealthFailure
if (__value != false) {
__size += _root_.com.google.protobuf.CodedOutputStream.computeBoolSize(31, __value)
}
};
{
val __value = ignoreHealthOnHostRemoval
if (__value != false) {
__size += _root_.com.google.protobuf.CodedOutputStream.computeBoolSize(32, __value)
}
};
filters.foreach { __item =>
val __value = __item
__size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
}
if (loadBalancingPolicy.isDefined) {
val __value = loadBalancingPolicy.get
__size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (lrsServer.isDefined) {
val __value = lrsServer.get
__size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
{
val __value = trackTimeoutBudgets
if (__value != false) {
__size += _root_.com.google.protobuf.CodedOutputStream.computeBoolSize(47, __value)
}
};
if (upstreamConfig.isDefined) {
val __value = upstreamConfig.get
__size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (trackClusterStats.isDefined) {
val __value = trackClusterStats.get
__size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (preconnectPolicy.isDefined) {
val __value = preconnectPolicy.get
__size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
{
val __value = connectionPoolPerDownstreamConnection
if (__value != false) {
__size += _root_.com.google.protobuf.CodedOutputStream.computeBoolSize(51, __value)
}
};
__size += unknownFields.serializedSize
__size
}
override def serializedSize: _root_.scala.Int = {
var __size = __serializedSizeMemoized
if (__size == 0) {
__size = __computeSerializedSize() + 1
__serializedSizeMemoized = __size
}
__size - 1
}
def writeTo(`_output__`: _root_.com.google.protobuf.CodedOutputStream): _root_.scala.Unit = {
{
val __v = name
if (!__v.isEmpty) {
_output__.writeString(1, __v)
}
};
clusterDiscoveryType.`type`.foreach { __v =>
val __m = __v.value
_output__.writeEnum(2, __m)
};
edsClusterConfig.foreach { __v =>
val __m = __v
_output__.writeTag(3, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
connectTimeout.foreach { __v =>
val __m = __v
_output__.writeTag(4, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
perConnectionBufferLimitBytes.foreach { __v =>
val __m = io.envoyproxy.envoy.config.cluster.v3.Cluster._typemapper_perConnectionBufferLimitBytes.toBase(__v)
_output__.writeTag(5, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
{
val __v = lbPolicy.value
if (__v != 0) {
_output__.writeEnum(6, __v)
}
};
healthChecks.foreach { __v =>
val __m = __v
_output__.writeTag(8, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
maxRequestsPerConnection.foreach { __v =>
val __m = io.envoyproxy.envoy.config.cluster.v3.Cluster._typemapper_maxRequestsPerConnection.toBase(__v)
_output__.writeTag(9, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
circuitBreakers.foreach { __v =>
val __m = __v
_output__.writeTag(10, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
httpProtocolOptions.foreach { __v =>
val __m = __v
_output__.writeTag(13, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
http2ProtocolOptions.foreach { __v =>
val __m = __v
_output__.writeTag(14, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
dnsRefreshRate.foreach { __v =>
val __m = __v
_output__.writeTag(16, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
{
val __v = dnsLookupFamily.value
if (__v != 0) {
_output__.writeEnum(17, __v)
}
};
dnsResolvers.foreach { __v =>
val __m = __v
_output__.writeTag(18, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
outlierDetection.foreach { __v =>
val __m = __v
_output__.writeTag(19, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
cleanupInterval.foreach { __v =>
val __m = __v
_output__.writeTag(20, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
upstreamBindConfig.foreach { __v =>
val __m = __v
_output__.writeTag(21, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
lbSubsetConfig.foreach { __v =>
val __m = __v
_output__.writeTag(22, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
lbConfig.ringHashLbConfig.foreach { __v =>
val __m = __v
_output__.writeTag(23, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
transportSocket.foreach { __v =>
val __m = __v
_output__.writeTag(24, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
metadata.foreach { __v =>
val __m = __v
_output__.writeTag(25, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
{
val __v = protocolSelection.value
if (__v != 0) {
_output__.writeEnum(26, __v)
}
};
commonLbConfig.foreach { __v =>
val __m = __v
_output__.writeTag(27, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
{
val __v = altStatName
if (!__v.isEmpty) {
_output__.writeString(28, __v)
}
};
commonHttpProtocolOptions.foreach { __v =>
val __m = __v
_output__.writeTag(29, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
upstreamConnectionOptions.foreach { __v =>
val __m = __v
_output__.writeTag(30, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
{
val __v = closeConnectionsOnHostHealthFailure
if (__v != false) {
_output__.writeBool(31, __v)
}
};
{
val __v = ignoreHealthOnHostRemoval
if (__v != false) {
_output__.writeBool(32, __v)
}
};
loadAssignment.foreach { __v =>
val __m = __v
_output__.writeTag(33, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
lbConfig.originalDstLbConfig.foreach { __v =>
val __m = __v
_output__.writeTag(34, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
typedExtensionProtocolOptions.foreach { __v =>
val __m = io.envoyproxy.envoy.config.cluster.v3.Cluster._typemapper_typedExtensionProtocolOptions.toBase(__v)
_output__.writeTag(36, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
lbConfig.leastRequestLbConfig.foreach { __v =>
val __m = __v
_output__.writeTag(37, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
clusterDiscoveryType.clusterType.foreach { __v =>
val __m = __v
_output__.writeTag(38, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
{
val __v = respectDnsTtl
if (__v != false) {
_output__.writeBool(39, __v)
}
};
filters.foreach { __v =>
val __m = __v
_output__.writeTag(40, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
loadBalancingPolicy.foreach { __v =>
val __m = __v
_output__.writeTag(41, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
lrsServer.foreach { __v =>
val __m = __v
_output__.writeTag(42, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
transportSocketMatches.foreach { __v =>
val __m = __v
_output__.writeTag(43, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
dnsFailureRefreshRate.foreach { __v =>
val __m = __v
_output__.writeTag(44, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
{
val __v = useTcpForDnsLookups
if (__v != false) {
_output__.writeBool(45, __v)
}
};
upstreamHttpProtocolOptions.foreach { __v =>
val __m = __v
_output__.writeTag(46, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
{
val __v = trackTimeoutBudgets
if (__v != false) {
_output__.writeBool(47, __v)
}
};
upstreamConfig.foreach { __v =>
val __m = __v
_output__.writeTag(48, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
trackClusterStats.foreach { __v =>
val __m = __v
_output__.writeTag(49, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
preconnectPolicy.foreach { __v =>
val __m = __v
_output__.writeTag(50, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
{
val __v = connectionPoolPerDownstreamConnection
if (__v != false) {
_output__.writeBool(51, __v)
}
};
lbConfig.maglevLbConfig.foreach { __v =>
val __m = __v
_output__.writeTag(52, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
dnsResolutionConfig.foreach { __v =>
val __m = __v
_output__.writeTag(53, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
waitForWarmOnInit.foreach { __v =>
val __m = io.envoyproxy.envoy.config.cluster.v3.Cluster._typemapper_waitForWarmOnInit.toBase(__v)
_output__.writeTag(54, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
typedDnsResolverConfig.foreach { __v =>
val __m = __v
_output__.writeTag(55, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
lbConfig.roundRobinLbConfig.foreach { __v =>
val __m = __v
_output__.writeTag(56, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
unknownFields.writeTo(_output__)
}
def clearTransportSocketMatches = copy(transportSocketMatches = _root_.scala.Seq.empty)
def addTransportSocketMatches(__vs: io.envoyproxy.envoy.config.cluster.v3.Cluster.TransportSocketMatch *): Cluster = addAllTransportSocketMatches(__vs)
def addAllTransportSocketMatches(__vs: Iterable[io.envoyproxy.envoy.config.cluster.v3.Cluster.TransportSocketMatch]): Cluster = copy(transportSocketMatches = transportSocketMatches ++ __vs)
def withTransportSocketMatches(__v: _root_.scala.Seq[io.envoyproxy.envoy.config.cluster.v3.Cluster.TransportSocketMatch]): Cluster = copy(transportSocketMatches = __v)
def withName(__v: _root_.scala.Predef.String): Cluster = copy(name = __v)
def withAltStatName(__v: _root_.scala.Predef.String): Cluster = copy(altStatName = __v)
def getType: io.envoyproxy.envoy.config.cluster.v3.Cluster.DiscoveryType = clusterDiscoveryType.`type`.getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.DiscoveryType.STATIC)
def withType(__v: io.envoyproxy.envoy.config.cluster.v3.Cluster.DiscoveryType): Cluster = copy(clusterDiscoveryType = io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterDiscoveryType.Type(__v))
def getClusterType: io.envoyproxy.envoy.config.cluster.v3.Cluster.CustomClusterType = clusterDiscoveryType.clusterType.getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.CustomClusterType.defaultInstance)
def withClusterType(__v: io.envoyproxy.envoy.config.cluster.v3.Cluster.CustomClusterType): Cluster = copy(clusterDiscoveryType = io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterDiscoveryType.ClusterType(__v))
def getEdsClusterConfig: io.envoyproxy.envoy.config.cluster.v3.Cluster.EdsClusterConfig = edsClusterConfig.getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.EdsClusterConfig.defaultInstance)
def clearEdsClusterConfig: Cluster = copy(edsClusterConfig = _root_.scala.None)
def withEdsClusterConfig(__v: io.envoyproxy.envoy.config.cluster.v3.Cluster.EdsClusterConfig): Cluster = copy(edsClusterConfig = Option(__v))
def getConnectTimeout: com.google.protobuf.duration.Duration = connectTimeout.getOrElse(com.google.protobuf.duration.Duration.defaultInstance)
def clearConnectTimeout: Cluster = copy(connectTimeout = _root_.scala.None)
def withConnectTimeout(__v: com.google.protobuf.duration.Duration): Cluster = copy(connectTimeout = Option(__v))
def getPerConnectionBufferLimitBytes: _root_.scala.Int = perConnectionBufferLimitBytes.getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster._typemapper_perConnectionBufferLimitBytes.toCustom(com.google.protobuf.wrappers.UInt32Value.defaultInstance))
def clearPerConnectionBufferLimitBytes: Cluster = copy(perConnectionBufferLimitBytes = _root_.scala.None)
def withPerConnectionBufferLimitBytes(__v: _root_.scala.Int): Cluster = copy(perConnectionBufferLimitBytes = Option(__v))
def withLbPolicy(__v: io.envoyproxy.envoy.config.cluster.v3.Cluster.LbPolicy): Cluster = copy(lbPolicy = __v)
def getLoadAssignment: io.envoyproxy.envoy.config.endpoint.v3.ClusterLoadAssignment = loadAssignment.getOrElse(io.envoyproxy.envoy.config.endpoint.v3.ClusterLoadAssignment.defaultInstance)
def clearLoadAssignment: Cluster = copy(loadAssignment = _root_.scala.None)
def withLoadAssignment(__v: io.envoyproxy.envoy.config.endpoint.v3.ClusterLoadAssignment): Cluster = copy(loadAssignment = Option(__v))
def clearHealthChecks = copy(healthChecks = _root_.scala.Seq.empty)
def addHealthChecks(__vs: io.envoyproxy.envoy.config.core.v3.HealthCheck *): Cluster = addAllHealthChecks(__vs)
def addAllHealthChecks(__vs: Iterable[io.envoyproxy.envoy.config.core.v3.HealthCheck]): Cluster = copy(healthChecks = healthChecks ++ __vs)
def withHealthChecks(__v: _root_.scala.Seq[io.envoyproxy.envoy.config.core.v3.HealthCheck]): Cluster = copy(healthChecks = __v)
def getMaxRequestsPerConnection: _root_.scala.Int = maxRequestsPerConnection.getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster._typemapper_maxRequestsPerConnection.toCustom(com.google.protobuf.wrappers.UInt32Value.defaultInstance))
def clearMaxRequestsPerConnection: Cluster = copy(maxRequestsPerConnection = _root_.scala.None)
def withMaxRequestsPerConnection(__v: _root_.scala.Int): Cluster = copy(maxRequestsPerConnection = Option(__v))
def getCircuitBreakers: io.envoyproxy.envoy.config.cluster.v3.CircuitBreakers = circuitBreakers.getOrElse(io.envoyproxy.envoy.config.cluster.v3.CircuitBreakers.defaultInstance)
def clearCircuitBreakers: Cluster = copy(circuitBreakers = _root_.scala.None)
def withCircuitBreakers(__v: io.envoyproxy.envoy.config.cluster.v3.CircuitBreakers): Cluster = copy(circuitBreakers = Option(__v))
def getUpstreamHttpProtocolOptions: io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptions = upstreamHttpProtocolOptions.getOrElse(io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptions.defaultInstance)
def clearUpstreamHttpProtocolOptions: Cluster = copy(upstreamHttpProtocolOptions = _root_.scala.None)
def withUpstreamHttpProtocolOptions(__v: io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptions): Cluster = copy(upstreamHttpProtocolOptions = Option(__v))
def getCommonHttpProtocolOptions: io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions = commonHttpProtocolOptions.getOrElse(io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions.defaultInstance)
def clearCommonHttpProtocolOptions: Cluster = copy(commonHttpProtocolOptions = _root_.scala.None)
def withCommonHttpProtocolOptions(__v: io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions): Cluster = copy(commonHttpProtocolOptions = Option(__v))
def getHttpProtocolOptions: io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions = httpProtocolOptions.getOrElse(io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.defaultInstance)
def clearHttpProtocolOptions: Cluster = copy(httpProtocolOptions = _root_.scala.None)
def withHttpProtocolOptions(__v: io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions): Cluster = copy(httpProtocolOptions = Option(__v))
def getHttp2ProtocolOptions: io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions = http2ProtocolOptions.getOrElse(io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.defaultInstance)
def clearHttp2ProtocolOptions: Cluster = copy(http2ProtocolOptions = _root_.scala.None)
def withHttp2ProtocolOptions(__v: io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions): Cluster = copy(http2ProtocolOptions = Option(__v))
def clearTypedExtensionProtocolOptions = copy(typedExtensionProtocolOptions = _root_.scala.collection.immutable.Map.empty)
def addTypedExtensionProtocolOptions(__vs: (_root_.scala.Predef.String, com.google.protobuf.any.Any) *): Cluster = addAllTypedExtensionProtocolOptions(__vs)
def addAllTypedExtensionProtocolOptions(__vs: Iterable[(_root_.scala.Predef.String, com.google.protobuf.any.Any)]): Cluster = copy(typedExtensionProtocolOptions = typedExtensionProtocolOptions ++ __vs)
def withTypedExtensionProtocolOptions(__v: _root_.scala.collection.immutable.Map[_root_.scala.Predef.String, com.google.protobuf.any.Any]): Cluster = copy(typedExtensionProtocolOptions = __v)
def getDnsRefreshRate: com.google.protobuf.duration.Duration = dnsRefreshRate.getOrElse(com.google.protobuf.duration.Duration.defaultInstance)
def clearDnsRefreshRate: Cluster = copy(dnsRefreshRate = _root_.scala.None)
def withDnsRefreshRate(__v: com.google.protobuf.duration.Duration): Cluster = copy(dnsRefreshRate = Option(__v))
def getDnsFailureRefreshRate: io.envoyproxy.envoy.config.cluster.v3.Cluster.RefreshRate = dnsFailureRefreshRate.getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.RefreshRate.defaultInstance)
def clearDnsFailureRefreshRate: Cluster = copy(dnsFailureRefreshRate = _root_.scala.None)
def withDnsFailureRefreshRate(__v: io.envoyproxy.envoy.config.cluster.v3.Cluster.RefreshRate): Cluster = copy(dnsFailureRefreshRate = Option(__v))
def withRespectDnsTtl(__v: _root_.scala.Boolean): Cluster = copy(respectDnsTtl = __v)
def withDnsLookupFamily(__v: io.envoyproxy.envoy.config.cluster.v3.Cluster.DnsLookupFamily): Cluster = copy(dnsLookupFamily = __v)
def clearDnsResolvers = copy(dnsResolvers = _root_.scala.Seq.empty)
def addDnsResolvers(__vs: io.envoyproxy.envoy.config.core.v3.Address *): Cluster = addAllDnsResolvers(__vs)
def addAllDnsResolvers(__vs: Iterable[io.envoyproxy.envoy.config.core.v3.Address]): Cluster = copy(dnsResolvers = dnsResolvers ++ __vs)
def withDnsResolvers(__v: _root_.scala.Seq[io.envoyproxy.envoy.config.core.v3.Address]): Cluster = copy(dnsResolvers = __v)
def withUseTcpForDnsLookups(__v: _root_.scala.Boolean): Cluster = copy(useTcpForDnsLookups = __v)
def getDnsResolutionConfig: io.envoyproxy.envoy.config.core.v3.DnsResolutionConfig = dnsResolutionConfig.getOrElse(io.envoyproxy.envoy.config.core.v3.DnsResolutionConfig.defaultInstance)
def clearDnsResolutionConfig: Cluster = copy(dnsResolutionConfig = _root_.scala.None)
def withDnsResolutionConfig(__v: io.envoyproxy.envoy.config.core.v3.DnsResolutionConfig): Cluster = copy(dnsResolutionConfig = Option(__v))
def getTypedDnsResolverConfig: io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig = typedDnsResolverConfig.getOrElse(io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig.defaultInstance)
def clearTypedDnsResolverConfig: Cluster = copy(typedDnsResolverConfig = _root_.scala.None)
def withTypedDnsResolverConfig(__v: io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig): Cluster = copy(typedDnsResolverConfig = Option(__v))
def getWaitForWarmOnInit: _root_.scala.Boolean = waitForWarmOnInit.getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster._typemapper_waitForWarmOnInit.toCustom(com.google.protobuf.wrappers.BoolValue.defaultInstance))
def clearWaitForWarmOnInit: Cluster = copy(waitForWarmOnInit = _root_.scala.None)
def withWaitForWarmOnInit(__v: _root_.scala.Boolean): Cluster = copy(waitForWarmOnInit = Option(__v))
def getOutlierDetection: io.envoyproxy.envoy.config.cluster.v3.OutlierDetection = outlierDetection.getOrElse(io.envoyproxy.envoy.config.cluster.v3.OutlierDetection.defaultInstance)
def clearOutlierDetection: Cluster = copy(outlierDetection = _root_.scala.None)
def withOutlierDetection(__v: io.envoyproxy.envoy.config.cluster.v3.OutlierDetection): Cluster = copy(outlierDetection = Option(__v))
def getCleanupInterval: com.google.protobuf.duration.Duration = cleanupInterval.getOrElse(com.google.protobuf.duration.Duration.defaultInstance)
def clearCleanupInterval: Cluster = copy(cleanupInterval = _root_.scala.None)
def withCleanupInterval(__v: com.google.protobuf.duration.Duration): Cluster = copy(cleanupInterval = Option(__v))
def getUpstreamBindConfig: io.envoyproxy.envoy.config.core.v3.BindConfig = upstreamBindConfig.getOrElse(io.envoyproxy.envoy.config.core.v3.BindConfig.defaultInstance)
def clearUpstreamBindConfig: Cluster = copy(upstreamBindConfig = _root_.scala.None)
def withUpstreamBindConfig(__v: io.envoyproxy.envoy.config.core.v3.BindConfig): Cluster = copy(upstreamBindConfig = Option(__v))
def getLbSubsetConfig: io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig = lbSubsetConfig.getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.defaultInstance)
def clearLbSubsetConfig: Cluster = copy(lbSubsetConfig = _root_.scala.None)
def withLbSubsetConfig(__v: io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig): Cluster = copy(lbSubsetConfig = Option(__v))
def getRingHashLbConfig: io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig = lbConfig.ringHashLbConfig.getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig.defaultInstance)
def withRingHashLbConfig(__v: io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig): Cluster = copy(lbConfig = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig.RingHashLbConfig(__v))
def getMaglevLbConfig: io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig = lbConfig.maglevLbConfig.getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig.defaultInstance)
def withMaglevLbConfig(__v: io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig): Cluster = copy(lbConfig = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig.MaglevLbConfig(__v))
def getOriginalDstLbConfig: io.envoyproxy.envoy.config.cluster.v3.Cluster.OriginalDstLbConfig = lbConfig.originalDstLbConfig.getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.OriginalDstLbConfig.defaultInstance)
def withOriginalDstLbConfig(__v: io.envoyproxy.envoy.config.cluster.v3.Cluster.OriginalDstLbConfig): Cluster = copy(lbConfig = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig.OriginalDstLbConfig(__v))
def getLeastRequestLbConfig: io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig = lbConfig.leastRequestLbConfig.getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig.defaultInstance)
def withLeastRequestLbConfig(__v: io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig): Cluster = copy(lbConfig = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig.LeastRequestLbConfig(__v))
def getRoundRobinLbConfig: io.envoyproxy.envoy.config.cluster.v3.Cluster.RoundRobinLbConfig = lbConfig.roundRobinLbConfig.getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.RoundRobinLbConfig.defaultInstance)
def withRoundRobinLbConfig(__v: io.envoyproxy.envoy.config.cluster.v3.Cluster.RoundRobinLbConfig): Cluster = copy(lbConfig = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig.RoundRobinLbConfig(__v))
def getCommonLbConfig: io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig = commonLbConfig.getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.defaultInstance)
def clearCommonLbConfig: Cluster = copy(commonLbConfig = _root_.scala.None)
def withCommonLbConfig(__v: io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig): Cluster = copy(commonLbConfig = Option(__v))
def getTransportSocket: io.envoyproxy.envoy.config.core.v3.TransportSocket = transportSocket.getOrElse(io.envoyproxy.envoy.config.core.v3.TransportSocket.defaultInstance)
def clearTransportSocket: Cluster = copy(transportSocket = _root_.scala.None)
def withTransportSocket(__v: io.envoyproxy.envoy.config.core.v3.TransportSocket): Cluster = copy(transportSocket = Option(__v))
def getMetadata: io.envoyproxy.envoy.config.core.v3.Metadata = metadata.getOrElse(io.envoyproxy.envoy.config.core.v3.Metadata.defaultInstance)
def clearMetadata: Cluster = copy(metadata = _root_.scala.None)
def withMetadata(__v: io.envoyproxy.envoy.config.core.v3.Metadata): Cluster = copy(metadata = Option(__v))
def withProtocolSelection(__v: io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterProtocolSelection): Cluster = copy(protocolSelection = __v)
def getUpstreamConnectionOptions: io.envoyproxy.envoy.config.cluster.v3.UpstreamConnectionOptions = upstreamConnectionOptions.getOrElse(io.envoyproxy.envoy.config.cluster.v3.UpstreamConnectionOptions.defaultInstance)
def clearUpstreamConnectionOptions: Cluster = copy(upstreamConnectionOptions = _root_.scala.None)
def withUpstreamConnectionOptions(__v: io.envoyproxy.envoy.config.cluster.v3.UpstreamConnectionOptions): Cluster = copy(upstreamConnectionOptions = Option(__v))
def withCloseConnectionsOnHostHealthFailure(__v: _root_.scala.Boolean): Cluster = copy(closeConnectionsOnHostHealthFailure = __v)
def withIgnoreHealthOnHostRemoval(__v: _root_.scala.Boolean): Cluster = copy(ignoreHealthOnHostRemoval = __v)
def clearFilters = copy(filters = _root_.scala.Seq.empty)
def addFilters(__vs: io.envoyproxy.envoy.config.cluster.v3.Filter *): Cluster = addAllFilters(__vs)
def addAllFilters(__vs: Iterable[io.envoyproxy.envoy.config.cluster.v3.Filter]): Cluster = copy(filters = filters ++ __vs)
def withFilters(__v: _root_.scala.Seq[io.envoyproxy.envoy.config.cluster.v3.Filter]): Cluster = copy(filters = __v)
def getLoadBalancingPolicy: io.envoyproxy.envoy.config.cluster.v3.LoadBalancingPolicy = loadBalancingPolicy.getOrElse(io.envoyproxy.envoy.config.cluster.v3.LoadBalancingPolicy.defaultInstance)
def clearLoadBalancingPolicy: Cluster = copy(loadBalancingPolicy = _root_.scala.None)
def withLoadBalancingPolicy(__v: io.envoyproxy.envoy.config.cluster.v3.LoadBalancingPolicy): Cluster = copy(loadBalancingPolicy = Option(__v))
def getLrsServer: io.envoyproxy.envoy.config.core.v3.ConfigSource = lrsServer.getOrElse(io.envoyproxy.envoy.config.core.v3.ConfigSource.defaultInstance)
def clearLrsServer: Cluster = copy(lrsServer = _root_.scala.None)
def withLrsServer(__v: io.envoyproxy.envoy.config.core.v3.ConfigSource): Cluster = copy(lrsServer = Option(__v))
def withTrackTimeoutBudgets(__v: _root_.scala.Boolean): Cluster = copy(trackTimeoutBudgets = __v)
def getUpstreamConfig: io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig = upstreamConfig.getOrElse(io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig.defaultInstance)
def clearUpstreamConfig: Cluster = copy(upstreamConfig = _root_.scala.None)
def withUpstreamConfig(__v: io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig): Cluster = copy(upstreamConfig = Option(__v))
def getTrackClusterStats: io.envoyproxy.envoy.config.cluster.v3.TrackClusterStats = trackClusterStats.getOrElse(io.envoyproxy.envoy.config.cluster.v3.TrackClusterStats.defaultInstance)
def clearTrackClusterStats: Cluster = copy(trackClusterStats = _root_.scala.None)
def withTrackClusterStats(__v: io.envoyproxy.envoy.config.cluster.v3.TrackClusterStats): Cluster = copy(trackClusterStats = Option(__v))
def getPreconnectPolicy: io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy = preconnectPolicy.getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy.defaultInstance)
def clearPreconnectPolicy: Cluster = copy(preconnectPolicy = _root_.scala.None)
def withPreconnectPolicy(__v: io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy): Cluster = copy(preconnectPolicy = Option(__v))
def withConnectionPoolPerDownstreamConnection(__v: _root_.scala.Boolean): Cluster = copy(connectionPoolPerDownstreamConnection = __v)
def clearClusterDiscoveryType: Cluster = copy(clusterDiscoveryType = io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterDiscoveryType.Empty)
def withClusterDiscoveryType(__v: io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterDiscoveryType): Cluster = copy(clusterDiscoveryType = __v)
def clearLbConfig: Cluster = copy(lbConfig = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig.Empty)
def withLbConfig(__v: io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig): Cluster = copy(lbConfig = __v)
def withUnknownFields(__v: _root_.scalapb.UnknownFieldSet) = copy(unknownFields = __v)
def discardUnknownFields = copy(unknownFields = _root_.scalapb.UnknownFieldSet.empty)
def getFieldByNumber(__fieldNumber: _root_.scala.Int): _root_.scala.Any = {
(__fieldNumber: @_root_.scala.unchecked) match {
case 43 => transportSocketMatches
case 1 => {
val __t = name
if (__t != "") __t else null
}
case 28 => {
val __t = altStatName
if (__t != "") __t else null
}
case 2 => clusterDiscoveryType.`type`.map(_.javaValueDescriptor).orNull
case 38 => clusterDiscoveryType.clusterType.orNull
case 3 => edsClusterConfig.orNull
case 4 => connectTimeout.orNull
case 5 => perConnectionBufferLimitBytes.map(io.envoyproxy.envoy.config.cluster.v3.Cluster._typemapper_perConnectionBufferLimitBytes.toBase(_)).orNull
case 6 => {
val __t = lbPolicy.javaValueDescriptor
if (__t.getNumber() != 0) __t else null
}
case 33 => loadAssignment.orNull
case 8 => healthChecks
case 9 => maxRequestsPerConnection.map(io.envoyproxy.envoy.config.cluster.v3.Cluster._typemapper_maxRequestsPerConnection.toBase(_)).orNull
case 10 => circuitBreakers.orNull
case 46 => upstreamHttpProtocolOptions.orNull
case 29 => commonHttpProtocolOptions.orNull
case 13 => httpProtocolOptions.orNull
case 14 => http2ProtocolOptions.orNull
case 36 => typedExtensionProtocolOptions.iterator.map(io.envoyproxy.envoy.config.cluster.v3.Cluster._typemapper_typedExtensionProtocolOptions.toBase(_)).toSeq
case 16 => dnsRefreshRate.orNull
case 44 => dnsFailureRefreshRate.orNull
case 39 => {
val __t = respectDnsTtl
if (__t != false) __t else null
}
case 17 => {
val __t = dnsLookupFamily.javaValueDescriptor
if (__t.getNumber() != 0) __t else null
}
case 18 => dnsResolvers
case 45 => {
val __t = useTcpForDnsLookups
if (__t != false) __t else null
}
case 53 => dnsResolutionConfig.orNull
case 55 => typedDnsResolverConfig.orNull
case 54 => waitForWarmOnInit.map(io.envoyproxy.envoy.config.cluster.v3.Cluster._typemapper_waitForWarmOnInit.toBase(_)).orNull
case 19 => outlierDetection.orNull
case 20 => cleanupInterval.orNull
case 21 => upstreamBindConfig.orNull
case 22 => lbSubsetConfig.orNull
case 23 => lbConfig.ringHashLbConfig.orNull
case 52 => lbConfig.maglevLbConfig.orNull
case 34 => lbConfig.originalDstLbConfig.orNull
case 37 => lbConfig.leastRequestLbConfig.orNull
case 56 => lbConfig.roundRobinLbConfig.orNull
case 27 => commonLbConfig.orNull
case 24 => transportSocket.orNull
case 25 => metadata.orNull
case 26 => {
val __t = protocolSelection.javaValueDescriptor
if (__t.getNumber() != 0) __t else null
}
case 30 => upstreamConnectionOptions.orNull
case 31 => {
val __t = closeConnectionsOnHostHealthFailure
if (__t != false) __t else null
}
case 32 => {
val __t = ignoreHealthOnHostRemoval
if (__t != false) __t else null
}
case 40 => filters
case 41 => loadBalancingPolicy.orNull
case 42 => lrsServer.orNull
case 47 => {
val __t = trackTimeoutBudgets
if (__t != false) __t else null
}
case 48 => upstreamConfig.orNull
case 49 => trackClusterStats.orNull
case 50 => preconnectPolicy.orNull
case 51 => {
val __t = connectionPoolPerDownstreamConnection
if (__t != false) __t else null
}
}
}
def getField(__field: _root_.scalapb.descriptors.FieldDescriptor): _root_.scalapb.descriptors.PValue = {
_root_.scala.Predef.require(__field.containingMessage eq companion.scalaDescriptor)
(__field.number: @_root_.scala.unchecked) match {
case 43 => _root_.scalapb.descriptors.PRepeated(transportSocketMatches.iterator.map(_.toPMessage).toVector)
case 1 => _root_.scalapb.descriptors.PString(name)
case 28 => _root_.scalapb.descriptors.PString(altStatName)
case 2 => clusterDiscoveryType.`type`.map(__e => _root_.scalapb.descriptors.PEnum(__e.scalaValueDescriptor)).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 38 => clusterDiscoveryType.clusterType.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 3 => edsClusterConfig.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 4 => connectTimeout.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 5 => perConnectionBufferLimitBytes.map(io.envoyproxy.envoy.config.cluster.v3.Cluster._typemapper_perConnectionBufferLimitBytes.toBase(_).toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 6 => _root_.scalapb.descriptors.PEnum(lbPolicy.scalaValueDescriptor)
case 33 => loadAssignment.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 8 => _root_.scalapb.descriptors.PRepeated(healthChecks.iterator.map(_.toPMessage).toVector)
case 9 => maxRequestsPerConnection.map(io.envoyproxy.envoy.config.cluster.v3.Cluster._typemapper_maxRequestsPerConnection.toBase(_).toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 10 => circuitBreakers.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 46 => upstreamHttpProtocolOptions.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 29 => commonHttpProtocolOptions.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 13 => httpProtocolOptions.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 14 => http2ProtocolOptions.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 36 => _root_.scalapb.descriptors.PRepeated(typedExtensionProtocolOptions.iterator.map(io.envoyproxy.envoy.config.cluster.v3.Cluster._typemapper_typedExtensionProtocolOptions.toBase(_).toPMessage).toVector)
case 16 => dnsRefreshRate.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 44 => dnsFailureRefreshRate.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 39 => _root_.scalapb.descriptors.PBoolean(respectDnsTtl)
case 17 => _root_.scalapb.descriptors.PEnum(dnsLookupFamily.scalaValueDescriptor)
case 18 => _root_.scalapb.descriptors.PRepeated(dnsResolvers.iterator.map(_.toPMessage).toVector)
case 45 => _root_.scalapb.descriptors.PBoolean(useTcpForDnsLookups)
case 53 => dnsResolutionConfig.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 55 => typedDnsResolverConfig.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 54 => waitForWarmOnInit.map(io.envoyproxy.envoy.config.cluster.v3.Cluster._typemapper_waitForWarmOnInit.toBase(_).toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 19 => outlierDetection.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 20 => cleanupInterval.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 21 => upstreamBindConfig.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 22 => lbSubsetConfig.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 23 => lbConfig.ringHashLbConfig.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 52 => lbConfig.maglevLbConfig.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 34 => lbConfig.originalDstLbConfig.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 37 => lbConfig.leastRequestLbConfig.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 56 => lbConfig.roundRobinLbConfig.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 27 => commonLbConfig.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 24 => transportSocket.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 25 => metadata.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 26 => _root_.scalapb.descriptors.PEnum(protocolSelection.scalaValueDescriptor)
case 30 => upstreamConnectionOptions.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 31 => _root_.scalapb.descriptors.PBoolean(closeConnectionsOnHostHealthFailure)
case 32 => _root_.scalapb.descriptors.PBoolean(ignoreHealthOnHostRemoval)
case 40 => _root_.scalapb.descriptors.PRepeated(filters.iterator.map(_.toPMessage).toVector)
case 41 => loadBalancingPolicy.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 42 => lrsServer.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 47 => _root_.scalapb.descriptors.PBoolean(trackTimeoutBudgets)
case 48 => upstreamConfig.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 49 => trackClusterStats.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 50 => preconnectPolicy.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 51 => _root_.scalapb.descriptors.PBoolean(connectionPoolPerDownstreamConnection)
}
}
def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this)
def companion: io.envoyproxy.envoy.config.cluster.v3.Cluster.type = io.envoyproxy.envoy.config.cluster.v3.Cluster
// @@protoc_insertion_point(GeneratedMessage[envoy.config.cluster.v3.Cluster])
}
object Cluster extends scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster] {
implicit def messageCompanion: scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster] = this
def parseFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): io.envoyproxy.envoy.config.cluster.v3.Cluster = {
val __transportSocketMatches: _root_.scala.collection.immutable.VectorBuilder[io.envoyproxy.envoy.config.cluster.v3.Cluster.TransportSocketMatch] = new _root_.scala.collection.immutable.VectorBuilder[io.envoyproxy.envoy.config.cluster.v3.Cluster.TransportSocketMatch]
var __name: _root_.scala.Predef.String = ""
var __altStatName: _root_.scala.Predef.String = ""
var __edsClusterConfig: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.EdsClusterConfig] = _root_.scala.None
var __connectTimeout: _root_.scala.Option[com.google.protobuf.duration.Duration] = _root_.scala.None
var __perConnectionBufferLimitBytes: _root_.scala.Option[_root_.scala.Int] = _root_.scala.None
var __lbPolicy: io.envoyproxy.envoy.config.cluster.v3.Cluster.LbPolicy = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbPolicy.ROUND_ROBIN
var __loadAssignment: _root_.scala.Option[io.envoyproxy.envoy.config.endpoint.v3.ClusterLoadAssignment] = _root_.scala.None
val __healthChecks: _root_.scala.collection.immutable.VectorBuilder[io.envoyproxy.envoy.config.core.v3.HealthCheck] = new _root_.scala.collection.immutable.VectorBuilder[io.envoyproxy.envoy.config.core.v3.HealthCheck]
var __maxRequestsPerConnection: _root_.scala.Option[_root_.scala.Int] = _root_.scala.None
var __circuitBreakers: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.CircuitBreakers] = _root_.scala.None
var __upstreamHttpProtocolOptions: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptions] = _root_.scala.None
var __commonHttpProtocolOptions: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions] = _root_.scala.None
var __httpProtocolOptions: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions] = _root_.scala.None
var __http2ProtocolOptions: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions] = _root_.scala.None
val __typedExtensionProtocolOptions: _root_.scala.collection.mutable.Builder[(_root_.scala.Predef.String, com.google.protobuf.any.Any), _root_.scala.collection.immutable.Map[_root_.scala.Predef.String, com.google.protobuf.any.Any]] = _root_.scala.collection.immutable.Map.newBuilder[_root_.scala.Predef.String, com.google.protobuf.any.Any]
var __dnsRefreshRate: _root_.scala.Option[com.google.protobuf.duration.Duration] = _root_.scala.None
var __dnsFailureRefreshRate: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.RefreshRate] = _root_.scala.None
var __respectDnsTtl: _root_.scala.Boolean = false
var __dnsLookupFamily: io.envoyproxy.envoy.config.cluster.v3.Cluster.DnsLookupFamily = io.envoyproxy.envoy.config.cluster.v3.Cluster.DnsLookupFamily.AUTO
val __dnsResolvers: _root_.scala.collection.immutable.VectorBuilder[io.envoyproxy.envoy.config.core.v3.Address] = new _root_.scala.collection.immutable.VectorBuilder[io.envoyproxy.envoy.config.core.v3.Address]
var __useTcpForDnsLookups: _root_.scala.Boolean = false
var __dnsResolutionConfig: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.DnsResolutionConfig] = _root_.scala.None
var __typedDnsResolverConfig: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig] = _root_.scala.None
var __waitForWarmOnInit: _root_.scala.Option[_root_.scala.Boolean] = _root_.scala.None
var __outlierDetection: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.OutlierDetection] = _root_.scala.None
var __cleanupInterval: _root_.scala.Option[com.google.protobuf.duration.Duration] = _root_.scala.None
var __upstreamBindConfig: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.BindConfig] = _root_.scala.None
var __lbSubsetConfig: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig] = _root_.scala.None
var __commonLbConfig: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig] = _root_.scala.None
var __transportSocket: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.TransportSocket] = _root_.scala.None
var __metadata: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Metadata] = _root_.scala.None
var __protocolSelection: io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterProtocolSelection = io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterProtocolSelection.USE_CONFIGURED_PROTOCOL
var __upstreamConnectionOptions: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.UpstreamConnectionOptions] = _root_.scala.None
var __closeConnectionsOnHostHealthFailure: _root_.scala.Boolean = false
var __ignoreHealthOnHostRemoval: _root_.scala.Boolean = false
val __filters: _root_.scala.collection.immutable.VectorBuilder[io.envoyproxy.envoy.config.cluster.v3.Filter] = new _root_.scala.collection.immutable.VectorBuilder[io.envoyproxy.envoy.config.cluster.v3.Filter]
var __loadBalancingPolicy: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.LoadBalancingPolicy] = _root_.scala.None
var __lrsServer: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.ConfigSource] = _root_.scala.None
var __trackTimeoutBudgets: _root_.scala.Boolean = false
var __upstreamConfig: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig] = _root_.scala.None
var __trackClusterStats: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.TrackClusterStats] = _root_.scala.None
var __preconnectPolicy: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy] = _root_.scala.None
var __connectionPoolPerDownstreamConnection: _root_.scala.Boolean = false
var __clusterDiscoveryType: io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterDiscoveryType = io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterDiscoveryType.Empty
var __lbConfig: io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig.Empty
var `_unknownFields__`: _root_.scalapb.UnknownFieldSet.Builder = null
var _done__ = false
while (!_done__) {
val _tag__ = _input__.readTag()
_tag__ match {
case 0 => _done__ = true
case 346 =>
__transportSocketMatches += _root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.cluster.v3.Cluster.TransportSocketMatch](_input__)
case 10 =>
__name = _input__.readStringRequireUtf8()
case 226 =>
__altStatName = _input__.readStringRequireUtf8()
case 16 =>
__clusterDiscoveryType = io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterDiscoveryType.Type(io.envoyproxy.envoy.config.cluster.v3.Cluster.DiscoveryType.fromValue(_input__.readEnum()))
case 306 =>
__clusterDiscoveryType = io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterDiscoveryType.ClusterType(__clusterDiscoveryType.clusterType.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.cluster.v3.Cluster.CustomClusterType](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 26 =>
__edsClusterConfig = Option(__edsClusterConfig.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.cluster.v3.Cluster.EdsClusterConfig](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 34 =>
__connectTimeout = Option(__connectTimeout.fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.duration.Duration](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 42 =>
__perConnectionBufferLimitBytes = Option(io.envoyproxy.envoy.config.cluster.v3.Cluster._typemapper_perConnectionBufferLimitBytes.toCustom(__perConnectionBufferLimitBytes.map(io.envoyproxy.envoy.config.cluster.v3.Cluster._typemapper_perConnectionBufferLimitBytes.toBase(_)).fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.wrappers.UInt32Value](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _))))
case 48 =>
__lbPolicy = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbPolicy.fromValue(_input__.readEnum())
case 266 =>
__loadAssignment = Option(__loadAssignment.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.endpoint.v3.ClusterLoadAssignment](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 66 =>
__healthChecks += _root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.core.v3.HealthCheck](_input__)
case 74 =>
__maxRequestsPerConnection = Option(io.envoyproxy.envoy.config.cluster.v3.Cluster._typemapper_maxRequestsPerConnection.toCustom(__maxRequestsPerConnection.map(io.envoyproxy.envoy.config.cluster.v3.Cluster._typemapper_maxRequestsPerConnection.toBase(_)).fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.wrappers.UInt32Value](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _))))
case 82 =>
__circuitBreakers = Option(__circuitBreakers.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.cluster.v3.CircuitBreakers](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 370 =>
__upstreamHttpProtocolOptions = Option(__upstreamHttpProtocolOptions.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptions](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 234 =>
__commonHttpProtocolOptions = Option(__commonHttpProtocolOptions.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 106 =>
__httpProtocolOptions = Option(__httpProtocolOptions.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 114 =>
__http2ProtocolOptions = Option(__http2ProtocolOptions.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 290 =>
__typedExtensionProtocolOptions += io.envoyproxy.envoy.config.cluster.v3.Cluster._typemapper_typedExtensionProtocolOptions.toCustom(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.cluster.v3.Cluster.TypedExtensionProtocolOptionsEntry](_input__))
case 130 =>
__dnsRefreshRate = Option(__dnsRefreshRate.fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.duration.Duration](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 354 =>
__dnsFailureRefreshRate = Option(__dnsFailureRefreshRate.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.cluster.v3.Cluster.RefreshRate](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 312 =>
__respectDnsTtl = _input__.readBool()
case 136 =>
__dnsLookupFamily = io.envoyproxy.envoy.config.cluster.v3.Cluster.DnsLookupFamily.fromValue(_input__.readEnum())
case 146 =>
__dnsResolvers += _root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.core.v3.Address](_input__)
case 360 =>
__useTcpForDnsLookups = _input__.readBool()
case 426 =>
__dnsResolutionConfig = Option(__dnsResolutionConfig.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.core.v3.DnsResolutionConfig](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 442 =>
__typedDnsResolverConfig = Option(__typedDnsResolverConfig.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 434 =>
__waitForWarmOnInit = Option(io.envoyproxy.envoy.config.cluster.v3.Cluster._typemapper_waitForWarmOnInit.toCustom(__waitForWarmOnInit.map(io.envoyproxy.envoy.config.cluster.v3.Cluster._typemapper_waitForWarmOnInit.toBase(_)).fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.wrappers.BoolValue](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _))))
case 154 =>
__outlierDetection = Option(__outlierDetection.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.cluster.v3.OutlierDetection](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 162 =>
__cleanupInterval = Option(__cleanupInterval.fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.duration.Duration](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 170 =>
__upstreamBindConfig = Option(__upstreamBindConfig.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.core.v3.BindConfig](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 178 =>
__lbSubsetConfig = Option(__lbSubsetConfig.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 186 =>
__lbConfig = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig.RingHashLbConfig(__lbConfig.ringHashLbConfig.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 418 =>
__lbConfig = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig.MaglevLbConfig(__lbConfig.maglevLbConfig.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 274 =>
__lbConfig = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig.OriginalDstLbConfig(__lbConfig.originalDstLbConfig.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.cluster.v3.Cluster.OriginalDstLbConfig](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 298 =>
__lbConfig = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig.LeastRequestLbConfig(__lbConfig.leastRequestLbConfig.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 450 =>
__lbConfig = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig.RoundRobinLbConfig(__lbConfig.roundRobinLbConfig.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.cluster.v3.Cluster.RoundRobinLbConfig](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 218 =>
__commonLbConfig = Option(__commonLbConfig.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 194 =>
__transportSocket = Option(__transportSocket.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.core.v3.TransportSocket](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 202 =>
__metadata = Option(__metadata.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.core.v3.Metadata](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 208 =>
__protocolSelection = io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterProtocolSelection.fromValue(_input__.readEnum())
case 242 =>
__upstreamConnectionOptions = Option(__upstreamConnectionOptions.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.cluster.v3.UpstreamConnectionOptions](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 248 =>
__closeConnectionsOnHostHealthFailure = _input__.readBool()
case 256 =>
__ignoreHealthOnHostRemoval = _input__.readBool()
case 322 =>
__filters += _root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.cluster.v3.Filter](_input__)
case 330 =>
__loadBalancingPolicy = Option(__loadBalancingPolicy.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.cluster.v3.LoadBalancingPolicy](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 338 =>
__lrsServer = Option(__lrsServer.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.core.v3.ConfigSource](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 376 =>
__trackTimeoutBudgets = _input__.readBool()
case 386 =>
__upstreamConfig = Option(__upstreamConfig.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 394 =>
__trackClusterStats = Option(__trackClusterStats.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.cluster.v3.TrackClusterStats](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 402 =>
__preconnectPolicy = Option(__preconnectPolicy.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 408 =>
__connectionPoolPerDownstreamConnection = _input__.readBool()
case tag =>
if (_unknownFields__ == null) {
_unknownFields__ = new _root_.scalapb.UnknownFieldSet.Builder()
}
_unknownFields__.parseField(tag, _input__)
}
}
io.envoyproxy.envoy.config.cluster.v3.Cluster(
transportSocketMatches = __transportSocketMatches.result(),
name = __name,
altStatName = __altStatName,
edsClusterConfig = __edsClusterConfig,
connectTimeout = __connectTimeout,
perConnectionBufferLimitBytes = __perConnectionBufferLimitBytes,
lbPolicy = __lbPolicy,
loadAssignment = __loadAssignment,
healthChecks = __healthChecks.result(),
maxRequestsPerConnection = __maxRequestsPerConnection,
circuitBreakers = __circuitBreakers,
upstreamHttpProtocolOptions = __upstreamHttpProtocolOptions,
commonHttpProtocolOptions = __commonHttpProtocolOptions,
httpProtocolOptions = __httpProtocolOptions,
http2ProtocolOptions = __http2ProtocolOptions,
typedExtensionProtocolOptions = __typedExtensionProtocolOptions.result(),
dnsRefreshRate = __dnsRefreshRate,
dnsFailureRefreshRate = __dnsFailureRefreshRate,
respectDnsTtl = __respectDnsTtl,
dnsLookupFamily = __dnsLookupFamily,
dnsResolvers = __dnsResolvers.result(),
useTcpForDnsLookups = __useTcpForDnsLookups,
dnsResolutionConfig = __dnsResolutionConfig,
typedDnsResolverConfig = __typedDnsResolverConfig,
waitForWarmOnInit = __waitForWarmOnInit,
outlierDetection = __outlierDetection,
cleanupInterval = __cleanupInterval,
upstreamBindConfig = __upstreamBindConfig,
lbSubsetConfig = __lbSubsetConfig,
commonLbConfig = __commonLbConfig,
transportSocket = __transportSocket,
metadata = __metadata,
protocolSelection = __protocolSelection,
upstreamConnectionOptions = __upstreamConnectionOptions,
closeConnectionsOnHostHealthFailure = __closeConnectionsOnHostHealthFailure,
ignoreHealthOnHostRemoval = __ignoreHealthOnHostRemoval,
filters = __filters.result(),
loadBalancingPolicy = __loadBalancingPolicy,
lrsServer = __lrsServer,
trackTimeoutBudgets = __trackTimeoutBudgets,
upstreamConfig = __upstreamConfig,
trackClusterStats = __trackClusterStats,
preconnectPolicy = __preconnectPolicy,
connectionPoolPerDownstreamConnection = __connectionPoolPerDownstreamConnection,
clusterDiscoveryType = __clusterDiscoveryType,
lbConfig = __lbConfig,
unknownFields = if (_unknownFields__ == null) _root_.scalapb.UnknownFieldSet.empty else _unknownFields__.result()
)
}
implicit def messageReads: _root_.scalapb.descriptors.Reads[io.envoyproxy.envoy.config.cluster.v3.Cluster] = _root_.scalapb.descriptors.Reads{
case _root_.scalapb.descriptors.PMessage(__fieldsMap) =>
_root_.scala.Predef.require(__fieldsMap.keys.forall(_.containingMessage eq scalaDescriptor), "FieldDescriptor does not match message type.")
io.envoyproxy.envoy.config.cluster.v3.Cluster(
transportSocketMatches = __fieldsMap.get(scalaDescriptor.findFieldByNumber(43).get).map(_.as[_root_.scala.Seq[io.envoyproxy.envoy.config.cluster.v3.Cluster.TransportSocketMatch]]).getOrElse(_root_.scala.Seq.empty),
name = __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).map(_.as[_root_.scala.Predef.String]).getOrElse(""),
altStatName = __fieldsMap.get(scalaDescriptor.findFieldByNumber(28).get).map(_.as[_root_.scala.Predef.String]).getOrElse(""),
edsClusterConfig = __fieldsMap.get(scalaDescriptor.findFieldByNumber(3).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.EdsClusterConfig]]),
connectTimeout = __fieldsMap.get(scalaDescriptor.findFieldByNumber(4).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.duration.Duration]]),
perConnectionBufferLimitBytes = __fieldsMap.get(scalaDescriptor.findFieldByNumber(5).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.wrappers.UInt32Value]]).map(io.envoyproxy.envoy.config.cluster.v3.Cluster._typemapper_perConnectionBufferLimitBytes.toCustom(_)),
lbPolicy = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbPolicy.fromValue(__fieldsMap.get(scalaDescriptor.findFieldByNumber(6).get).map(_.as[_root_.scalapb.descriptors.EnumValueDescriptor]).getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.LbPolicy.ROUND_ROBIN.scalaValueDescriptor).number),
loadAssignment = __fieldsMap.get(scalaDescriptor.findFieldByNumber(33).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.endpoint.v3.ClusterLoadAssignment]]),
healthChecks = __fieldsMap.get(scalaDescriptor.findFieldByNumber(8).get).map(_.as[_root_.scala.Seq[io.envoyproxy.envoy.config.core.v3.HealthCheck]]).getOrElse(_root_.scala.Seq.empty),
maxRequestsPerConnection = __fieldsMap.get(scalaDescriptor.findFieldByNumber(9).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.wrappers.UInt32Value]]).map(io.envoyproxy.envoy.config.cluster.v3.Cluster._typemapper_maxRequestsPerConnection.toCustom(_)),
circuitBreakers = __fieldsMap.get(scalaDescriptor.findFieldByNumber(10).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.CircuitBreakers]]),
upstreamHttpProtocolOptions = __fieldsMap.get(scalaDescriptor.findFieldByNumber(46).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptions]]),
commonHttpProtocolOptions = __fieldsMap.get(scalaDescriptor.findFieldByNumber(29).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions]]),
httpProtocolOptions = __fieldsMap.get(scalaDescriptor.findFieldByNumber(13).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions]]),
http2ProtocolOptions = __fieldsMap.get(scalaDescriptor.findFieldByNumber(14).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions]]),
typedExtensionProtocolOptions = __fieldsMap.get(scalaDescriptor.findFieldByNumber(36).get).map(_.as[_root_.scala.Seq[io.envoyproxy.envoy.config.cluster.v3.Cluster.TypedExtensionProtocolOptionsEntry]]).getOrElse(_root_.scala.Seq.empty).iterator.map(io.envoyproxy.envoy.config.cluster.v3.Cluster._typemapper_typedExtensionProtocolOptions.toCustom(_)).toMap,
dnsRefreshRate = __fieldsMap.get(scalaDescriptor.findFieldByNumber(16).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.duration.Duration]]),
dnsFailureRefreshRate = __fieldsMap.get(scalaDescriptor.findFieldByNumber(44).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.RefreshRate]]),
respectDnsTtl = __fieldsMap.get(scalaDescriptor.findFieldByNumber(39).get).map(_.as[_root_.scala.Boolean]).getOrElse(false),
dnsLookupFamily = io.envoyproxy.envoy.config.cluster.v3.Cluster.DnsLookupFamily.fromValue(__fieldsMap.get(scalaDescriptor.findFieldByNumber(17).get).map(_.as[_root_.scalapb.descriptors.EnumValueDescriptor]).getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.DnsLookupFamily.AUTO.scalaValueDescriptor).number),
dnsResolvers = __fieldsMap.get(scalaDescriptor.findFieldByNumber(18).get).map(_.as[_root_.scala.Seq[io.envoyproxy.envoy.config.core.v3.Address]]).getOrElse(_root_.scala.Seq.empty),
useTcpForDnsLookups = __fieldsMap.get(scalaDescriptor.findFieldByNumber(45).get).map(_.as[_root_.scala.Boolean]).getOrElse(false),
dnsResolutionConfig = __fieldsMap.get(scalaDescriptor.findFieldByNumber(53).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.core.v3.DnsResolutionConfig]]),
typedDnsResolverConfig = __fieldsMap.get(scalaDescriptor.findFieldByNumber(55).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig]]),
waitForWarmOnInit = __fieldsMap.get(scalaDescriptor.findFieldByNumber(54).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.wrappers.BoolValue]]).map(io.envoyproxy.envoy.config.cluster.v3.Cluster._typemapper_waitForWarmOnInit.toCustom(_)),
outlierDetection = __fieldsMap.get(scalaDescriptor.findFieldByNumber(19).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.OutlierDetection]]),
cleanupInterval = __fieldsMap.get(scalaDescriptor.findFieldByNumber(20).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.duration.Duration]]),
upstreamBindConfig = __fieldsMap.get(scalaDescriptor.findFieldByNumber(21).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.core.v3.BindConfig]]),
lbSubsetConfig = __fieldsMap.get(scalaDescriptor.findFieldByNumber(22).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig]]),
commonLbConfig = __fieldsMap.get(scalaDescriptor.findFieldByNumber(27).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig]]),
transportSocket = __fieldsMap.get(scalaDescriptor.findFieldByNumber(24).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.core.v3.TransportSocket]]),
metadata = __fieldsMap.get(scalaDescriptor.findFieldByNumber(25).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Metadata]]),
protocolSelection = io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterProtocolSelection.fromValue(__fieldsMap.get(scalaDescriptor.findFieldByNumber(26).get).map(_.as[_root_.scalapb.descriptors.EnumValueDescriptor]).getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterProtocolSelection.USE_CONFIGURED_PROTOCOL.scalaValueDescriptor).number),
upstreamConnectionOptions = __fieldsMap.get(scalaDescriptor.findFieldByNumber(30).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.UpstreamConnectionOptions]]),
closeConnectionsOnHostHealthFailure = __fieldsMap.get(scalaDescriptor.findFieldByNumber(31).get).map(_.as[_root_.scala.Boolean]).getOrElse(false),
ignoreHealthOnHostRemoval = __fieldsMap.get(scalaDescriptor.findFieldByNumber(32).get).map(_.as[_root_.scala.Boolean]).getOrElse(false),
filters = __fieldsMap.get(scalaDescriptor.findFieldByNumber(40).get).map(_.as[_root_.scala.Seq[io.envoyproxy.envoy.config.cluster.v3.Filter]]).getOrElse(_root_.scala.Seq.empty),
loadBalancingPolicy = __fieldsMap.get(scalaDescriptor.findFieldByNumber(41).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.LoadBalancingPolicy]]),
lrsServer = __fieldsMap.get(scalaDescriptor.findFieldByNumber(42).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.core.v3.ConfigSource]]),
trackTimeoutBudgets = __fieldsMap.get(scalaDescriptor.findFieldByNumber(47).get).map(_.as[_root_.scala.Boolean]).getOrElse(false),
upstreamConfig = __fieldsMap.get(scalaDescriptor.findFieldByNumber(48).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig]]),
trackClusterStats = __fieldsMap.get(scalaDescriptor.findFieldByNumber(49).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.TrackClusterStats]]),
preconnectPolicy = __fieldsMap.get(scalaDescriptor.findFieldByNumber(50).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy]]),
connectionPoolPerDownstreamConnection = __fieldsMap.get(scalaDescriptor.findFieldByNumber(51).get).map(_.as[_root_.scala.Boolean]).getOrElse(false),
clusterDiscoveryType = __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).flatMap(_.as[_root_.scala.Option[_root_.scalapb.descriptors.EnumValueDescriptor]]).map(__e => io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterDiscoveryType.Type(io.envoyproxy.envoy.config.cluster.v3.Cluster.DiscoveryType.fromValue(__e.number)))
.orElse[io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterDiscoveryType](__fieldsMap.get(scalaDescriptor.findFieldByNumber(38).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.CustomClusterType]]).map(io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterDiscoveryType.ClusterType(_)))
.getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterDiscoveryType.Empty),
lbConfig = __fieldsMap.get(scalaDescriptor.findFieldByNumber(23).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig]]).map(io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig.RingHashLbConfig(_))
.orElse[io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig](__fieldsMap.get(scalaDescriptor.findFieldByNumber(52).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig]]).map(io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig.MaglevLbConfig(_)))
.orElse[io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig](__fieldsMap.get(scalaDescriptor.findFieldByNumber(34).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.OriginalDstLbConfig]]).map(io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig.OriginalDstLbConfig(_)))
.orElse[io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig](__fieldsMap.get(scalaDescriptor.findFieldByNumber(37).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig]]).map(io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig.LeastRequestLbConfig(_)))
.orElse[io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig](__fieldsMap.get(scalaDescriptor.findFieldByNumber(56).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.RoundRobinLbConfig]]).map(io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig.RoundRobinLbConfig(_)))
.getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig.Empty)
)
case _ => throw new RuntimeException("Expected PMessage")
}
def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = ClusterProto.javaDescriptor.getMessageTypes().get(1)
def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = ClusterProto.scalaDescriptor.messages(1)
def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = {
var __out: _root_.scalapb.GeneratedMessageCompanion[_] = null
(__number: @_root_.scala.unchecked) match {
case 43 => __out = io.envoyproxy.envoy.config.cluster.v3.Cluster.TransportSocketMatch
case 38 => __out = io.envoyproxy.envoy.config.cluster.v3.Cluster.CustomClusterType
case 3 => __out = io.envoyproxy.envoy.config.cluster.v3.Cluster.EdsClusterConfig
case 4 => __out = com.google.protobuf.duration.Duration
case 5 => __out = com.google.protobuf.wrappers.UInt32Value
case 33 => __out = io.envoyproxy.envoy.config.endpoint.v3.ClusterLoadAssignment
case 8 => __out = io.envoyproxy.envoy.config.core.v3.HealthCheck
case 9 => __out = com.google.protobuf.wrappers.UInt32Value
case 10 => __out = io.envoyproxy.envoy.config.cluster.v3.CircuitBreakers
case 46 => __out = io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptions
case 29 => __out = io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions
case 13 => __out = io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions
case 14 => __out = io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions
case 36 => __out = io.envoyproxy.envoy.config.cluster.v3.Cluster.TypedExtensionProtocolOptionsEntry
case 16 => __out = com.google.protobuf.duration.Duration
case 44 => __out = io.envoyproxy.envoy.config.cluster.v3.Cluster.RefreshRate
case 18 => __out = io.envoyproxy.envoy.config.core.v3.Address
case 53 => __out = io.envoyproxy.envoy.config.core.v3.DnsResolutionConfig
case 55 => __out = io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig
case 54 => __out = com.google.protobuf.wrappers.BoolValue
case 19 => __out = io.envoyproxy.envoy.config.cluster.v3.OutlierDetection
case 20 => __out = com.google.protobuf.duration.Duration
case 21 => __out = io.envoyproxy.envoy.config.core.v3.BindConfig
case 22 => __out = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig
case 23 => __out = io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig
case 52 => __out = io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig
case 34 => __out = io.envoyproxy.envoy.config.cluster.v3.Cluster.OriginalDstLbConfig
case 37 => __out = io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig
case 56 => __out = io.envoyproxy.envoy.config.cluster.v3.Cluster.RoundRobinLbConfig
case 27 => __out = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig
case 24 => __out = io.envoyproxy.envoy.config.core.v3.TransportSocket
case 25 => __out = io.envoyproxy.envoy.config.core.v3.Metadata
case 30 => __out = io.envoyproxy.envoy.config.cluster.v3.UpstreamConnectionOptions
case 40 => __out = io.envoyproxy.envoy.config.cluster.v3.Filter
case 41 => __out = io.envoyproxy.envoy.config.cluster.v3.LoadBalancingPolicy
case 42 => __out = io.envoyproxy.envoy.config.core.v3.ConfigSource
case 48 => __out = io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig
case 49 => __out = io.envoyproxy.envoy.config.cluster.v3.TrackClusterStats
case 50 => __out = io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy
}
__out
}
lazy val nestedMessagesCompanions: Seq[_root_.scalapb.GeneratedMessageCompanion[_ <: _root_.scalapb.GeneratedMessage]] =
Seq[_root_.scalapb.GeneratedMessageCompanion[_ <: _root_.scalapb.GeneratedMessage]](
_root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.TransportSocketMatch,
_root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.CustomClusterType,
_root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.EdsClusterConfig,
_root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig,
_root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig,
_root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.RoundRobinLbConfig,
_root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig,
_root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig,
_root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig,
_root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.OriginalDstLbConfig,
_root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig,
_root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.RefreshRate,
_root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy,
_root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.TypedExtensionProtocolOptionsEntry
)
def enumCompanionForFieldNumber(__fieldNumber: _root_.scala.Int): _root_.scalapb.GeneratedEnumCompanion[_] = {
(__fieldNumber: @_root_.scala.unchecked) match {
case 2 => io.envoyproxy.envoy.config.cluster.v3.Cluster.DiscoveryType
case 6 => io.envoyproxy.envoy.config.cluster.v3.Cluster.LbPolicy
case 17 => io.envoyproxy.envoy.config.cluster.v3.Cluster.DnsLookupFamily
case 26 => io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterProtocolSelection
}
}
lazy val defaultInstance = io.envoyproxy.envoy.config.cluster.v3.Cluster(
transportSocketMatches = _root_.scala.Seq.empty,
name = "",
altStatName = "",
edsClusterConfig = _root_.scala.None,
connectTimeout = _root_.scala.None,
perConnectionBufferLimitBytes = _root_.scala.None,
lbPolicy = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbPolicy.ROUND_ROBIN,
loadAssignment = _root_.scala.None,
healthChecks = _root_.scala.Seq.empty,
maxRequestsPerConnection = _root_.scala.None,
circuitBreakers = _root_.scala.None,
upstreamHttpProtocolOptions = _root_.scala.None,
commonHttpProtocolOptions = _root_.scala.None,
httpProtocolOptions = _root_.scala.None,
http2ProtocolOptions = _root_.scala.None,
typedExtensionProtocolOptions = _root_.scala.collection.immutable.Map.empty,
dnsRefreshRate = _root_.scala.None,
dnsFailureRefreshRate = _root_.scala.None,
respectDnsTtl = false,
dnsLookupFamily = io.envoyproxy.envoy.config.cluster.v3.Cluster.DnsLookupFamily.AUTO,
dnsResolvers = _root_.scala.Seq.empty,
useTcpForDnsLookups = false,
dnsResolutionConfig = _root_.scala.None,
typedDnsResolverConfig = _root_.scala.None,
waitForWarmOnInit = _root_.scala.None,
outlierDetection = _root_.scala.None,
cleanupInterval = _root_.scala.None,
upstreamBindConfig = _root_.scala.None,
lbSubsetConfig = _root_.scala.None,
commonLbConfig = _root_.scala.None,
transportSocket = _root_.scala.None,
metadata = _root_.scala.None,
protocolSelection = io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterProtocolSelection.USE_CONFIGURED_PROTOCOL,
upstreamConnectionOptions = _root_.scala.None,
closeConnectionsOnHostHealthFailure = false,
ignoreHealthOnHostRemoval = false,
filters = _root_.scala.Seq.empty,
loadBalancingPolicy = _root_.scala.None,
lrsServer = _root_.scala.None,
trackTimeoutBudgets = false,
upstreamConfig = _root_.scala.None,
trackClusterStats = _root_.scala.None,
preconnectPolicy = _root_.scala.None,
connectionPoolPerDownstreamConnection = false,
clusterDiscoveryType = io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterDiscoveryType.Empty,
lbConfig = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig.Empty
)
/** Refer to :ref:`service discovery type <arch_overview_service_discovery_types>`
* for an explanation on each type.
*/
sealed abstract class DiscoveryType(val value: _root_.scala.Int) extends _root_.scalapb.GeneratedEnum {
type EnumType = DiscoveryType
def isStatic: _root_.scala.Boolean = false
def isStrictDns: _root_.scala.Boolean = false
def isLogicalDns: _root_.scala.Boolean = false
def isEds: _root_.scala.Boolean = false
def isOriginalDst: _root_.scala.Boolean = false
def companion: _root_.scalapb.GeneratedEnumCompanion[DiscoveryType] = io.envoyproxy.envoy.config.cluster.v3.Cluster.DiscoveryType
final def asRecognized: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.DiscoveryType.Recognized] = if (isUnrecognized) _root_.scala.None else _root_.scala.Some(this.asInstanceOf[io.envoyproxy.envoy.config.cluster.v3.Cluster.DiscoveryType.Recognized])
}
object DiscoveryType extends _root_.scalapb.GeneratedEnumCompanion[DiscoveryType] {
sealed trait Recognized extends DiscoveryType
implicit def enumCompanion: _root_.scalapb.GeneratedEnumCompanion[DiscoveryType] = this
/** Refer to the :ref:`static discovery type<arch_overview_service_discovery_types_static>`
* for an explanation.
*/
@SerialVersionUID(0L)
case object STATIC extends DiscoveryType(0) with DiscoveryType.Recognized {
val index = 0
val name = "STATIC"
override def isStatic: _root_.scala.Boolean = true
}
/** Refer to the :ref:`strict DNS discovery
* type<arch_overview_service_discovery_types_strict_dns>`
* for an explanation.
*/
@SerialVersionUID(0L)
case object STRICT_DNS extends DiscoveryType(1) with DiscoveryType.Recognized {
val index = 1
val name = "STRICT_DNS"
override def isStrictDns: _root_.scala.Boolean = true
}
/** Refer to the :ref:`logical DNS discovery
* type<arch_overview_service_discovery_types_logical_dns>`
* for an explanation.
*/
@SerialVersionUID(0L)
case object LOGICAL_DNS extends DiscoveryType(2) with DiscoveryType.Recognized {
val index = 2
val name = "LOGICAL_DNS"
override def isLogicalDns: _root_.scala.Boolean = true
}
/** Refer to the :ref:`service discovery type<arch_overview_service_discovery_types_eds>`
* for an explanation.
*/
@SerialVersionUID(0L)
case object EDS extends DiscoveryType(3) with DiscoveryType.Recognized {
val index = 3
val name = "EDS"
override def isEds: _root_.scala.Boolean = true
}
/** Refer to the :ref:`original destination discovery
* type<arch_overview_service_discovery_types_original_destination>`
* for an explanation.
*/
@SerialVersionUID(0L)
case object ORIGINAL_DST extends DiscoveryType(4) with DiscoveryType.Recognized {
val index = 4
val name = "ORIGINAL_DST"
override def isOriginalDst: _root_.scala.Boolean = true
}
@SerialVersionUID(0L)
final case class Unrecognized(unrecognizedValue: _root_.scala.Int) extends DiscoveryType(unrecognizedValue) with _root_.scalapb.UnrecognizedEnum
lazy val values = scala.collection.immutable.Seq(STATIC, STRICT_DNS, LOGICAL_DNS, EDS, ORIGINAL_DST)
def fromValue(__value: _root_.scala.Int): DiscoveryType = __value match {
case 0 => STATIC
case 1 => STRICT_DNS
case 2 => LOGICAL_DNS
case 3 => EDS
case 4 => ORIGINAL_DST
case __other => Unrecognized(__other)
}
def javaDescriptor: _root_.com.google.protobuf.Descriptors.EnumDescriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.javaDescriptor.getEnumTypes().get(0)
def scalaDescriptor: _root_.scalapb.descriptors.EnumDescriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.scalaDescriptor.enums(0)
}
/** Refer to :ref:`load balancer type <arch_overview_load_balancing_types>` architecture
* overview section for information on each type.
*/
sealed abstract class LbPolicy(val value: _root_.scala.Int) extends _root_.scalapb.GeneratedEnum {
type EnumType = LbPolicy
def isRoundRobin: _root_.scala.Boolean = false
def isLeastRequest: _root_.scala.Boolean = false
def isRingHash: _root_.scala.Boolean = false
def isRandom: _root_.scala.Boolean = false
def isMaglev: _root_.scala.Boolean = false
def isClusterProvided: _root_.scala.Boolean = false
def isLoadBalancingPolicyConfig: _root_.scala.Boolean = false
def companion: _root_.scalapb.GeneratedEnumCompanion[LbPolicy] = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbPolicy
final def asRecognized: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.LbPolicy.Recognized] = if (isUnrecognized) _root_.scala.None else _root_.scala.Some(this.asInstanceOf[io.envoyproxy.envoy.config.cluster.v3.Cluster.LbPolicy.Recognized])
}
object LbPolicy extends _root_.scalapb.GeneratedEnumCompanion[LbPolicy] {
sealed trait Recognized extends LbPolicy
implicit def enumCompanion: _root_.scalapb.GeneratedEnumCompanion[LbPolicy] = this
/** Refer to the :ref:`round robin load balancing
* policy<arch_overview_load_balancing_types_round_robin>`
* for an explanation.
*/
@SerialVersionUID(0L)
case object ROUND_ROBIN extends LbPolicy(0) with LbPolicy.Recognized {
val index = 0
val name = "ROUND_ROBIN"
override def isRoundRobin: _root_.scala.Boolean = true
}
/** Refer to the :ref:`least request load balancing
* policy<arch_overview_load_balancing_types_least_request>`
* for an explanation.
*/
@SerialVersionUID(0L)
case object LEAST_REQUEST extends LbPolicy(1) with LbPolicy.Recognized {
val index = 1
val name = "LEAST_REQUEST"
override def isLeastRequest: _root_.scala.Boolean = true
}
/** Refer to the :ref:`ring hash load balancing
* policy<arch_overview_load_balancing_types_ring_hash>`
* for an explanation.
*/
@SerialVersionUID(0L)
case object RING_HASH extends LbPolicy(2) with LbPolicy.Recognized {
val index = 2
val name = "RING_HASH"
override def isRingHash: _root_.scala.Boolean = true
}
/** Refer to the :ref:`random load balancing
* policy<arch_overview_load_balancing_types_random>`
* for an explanation.
*/
@SerialVersionUID(0L)
case object RANDOM extends LbPolicy(3) with LbPolicy.Recognized {
val index = 3
val name = "RANDOM"
override def isRandom: _root_.scala.Boolean = true
}
/** Refer to the :ref:`Maglev load balancing policy<arch_overview_load_balancing_types_maglev>`
* for an explanation.
*/
@SerialVersionUID(0L)
case object MAGLEV extends LbPolicy(5) with LbPolicy.Recognized {
val index = 4
val name = "MAGLEV"
override def isMaglev: _root_.scala.Boolean = true
}
/** This load balancer type must be specified if the configured cluster provides a cluster
* specific load balancer. Consult the configured cluster's documentation for whether to set
* this option or not.
*/
@SerialVersionUID(0L)
case object CLUSTER_PROVIDED extends LbPolicy(6) with LbPolicy.Recognized {
val index = 5
val name = "CLUSTER_PROVIDED"
override def isClusterProvided: _root_.scala.Boolean = true
}
/** Use the new :ref:`load_balancing_policy
* <envoy_v3_api_field_config.cluster.v3.Cluster.load_balancing_policy>` field to determine the LB policy.
* This has been deprecated in favor of using the :ref:`load_balancing_policy
* <envoy_v3_api_field_config.cluster.v3.Cluster.load_balancing_policy>` field without
* setting any value in :ref:`lb_policy<envoy_v3_api_field_config.cluster.v3.Cluster.lb_policy>`.
*/
@SerialVersionUID(0L)
case object LOAD_BALANCING_POLICY_CONFIG extends LbPolicy(7) with LbPolicy.Recognized {
val index = 6
val name = "LOAD_BALANCING_POLICY_CONFIG"
override def isLoadBalancingPolicyConfig: _root_.scala.Boolean = true
}
@SerialVersionUID(0L)
final case class Unrecognized(unrecognizedValue: _root_.scala.Int) extends LbPolicy(unrecognizedValue) with _root_.scalapb.UnrecognizedEnum
lazy val values = scala.collection.immutable.Seq(ROUND_ROBIN, LEAST_REQUEST, RING_HASH, RANDOM, MAGLEV, CLUSTER_PROVIDED, LOAD_BALANCING_POLICY_CONFIG)
def fromValue(__value: _root_.scala.Int): LbPolicy = __value match {
case 0 => ROUND_ROBIN
case 1 => LEAST_REQUEST
case 2 => RING_HASH
case 3 => RANDOM
case 5 => MAGLEV
case 6 => CLUSTER_PROVIDED
case 7 => LOAD_BALANCING_POLICY_CONFIG
case __other => Unrecognized(__other)
}
def javaDescriptor: _root_.com.google.protobuf.Descriptors.EnumDescriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.javaDescriptor.getEnumTypes().get(1)
def scalaDescriptor: _root_.scalapb.descriptors.EnumDescriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.scalaDescriptor.enums(1)
}
/** When V4_ONLY is selected, the DNS resolver will only perform a lookup for
* addresses in the IPv4 family. If V6_ONLY is selected, the DNS resolver will
* only perform a lookup for addresses in the IPv6 family. If AUTO is
* specified, the DNS resolver will first perform a lookup for addresses in
* the IPv6 family and fallback to a lookup for addresses in the IPv4 family.
* This is semantically equivalent to a non-existent V6_PREFERRED option.
* AUTO is a legacy name that is more opaque than
* necessary and will be deprecated in favor of V6_PREFERRED in a future major version of the API.
* If V4_PREFERRED is specified, the DNS resolver will first perform a lookup for addresses in the
* IPv4 family and fallback to a lookup for addresses in the IPv6 family. i.e., the callback
* target will only get v6 addresses if there were NO v4 addresses to return.
* If ALL is specified, the DNS resolver will perform a lookup for both IPv4 and IPv6 families,
* and return all resolved addresses. When this is used, Happy Eyeballs will be enabled for
* upstream connections. Refer to :ref:`Happy Eyeballs Support <arch_overview_happy_eyeballs>`
* for more information.
* For cluster types other than
* :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>` and
* :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`,
* this setting is
* ignored.
* [#next-major-version: deprecate AUTO in favor of a V6_PREFERRED option.]
*/
sealed abstract class DnsLookupFamily(val value: _root_.scala.Int) extends _root_.scalapb.GeneratedEnum {
type EnumType = DnsLookupFamily
def isAuto: _root_.scala.Boolean = false
def isV4Only: _root_.scala.Boolean = false
def isV6Only: _root_.scala.Boolean = false
def isV4Preferred: _root_.scala.Boolean = false
def isAll: _root_.scala.Boolean = false
def companion: _root_.scalapb.GeneratedEnumCompanion[DnsLookupFamily] = io.envoyproxy.envoy.config.cluster.v3.Cluster.DnsLookupFamily
final def asRecognized: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.DnsLookupFamily.Recognized] = if (isUnrecognized) _root_.scala.None else _root_.scala.Some(this.asInstanceOf[io.envoyproxy.envoy.config.cluster.v3.Cluster.DnsLookupFamily.Recognized])
}
object DnsLookupFamily extends _root_.scalapb.GeneratedEnumCompanion[DnsLookupFamily] {
sealed trait Recognized extends DnsLookupFamily
implicit def enumCompanion: _root_.scalapb.GeneratedEnumCompanion[DnsLookupFamily] = this
@SerialVersionUID(0L)
case object AUTO extends DnsLookupFamily(0) with DnsLookupFamily.Recognized {
val index = 0
val name = "AUTO"
override def isAuto: _root_.scala.Boolean = true
}
@SerialVersionUID(0L)
case object V4_ONLY extends DnsLookupFamily(1) with DnsLookupFamily.Recognized {
val index = 1
val name = "V4_ONLY"
override def isV4Only: _root_.scala.Boolean = true
}
@SerialVersionUID(0L)
case object V6_ONLY extends DnsLookupFamily(2) with DnsLookupFamily.Recognized {
val index = 2
val name = "V6_ONLY"
override def isV6Only: _root_.scala.Boolean = true
}
@SerialVersionUID(0L)
case object V4_PREFERRED extends DnsLookupFamily(3) with DnsLookupFamily.Recognized {
val index = 3
val name = "V4_PREFERRED"
override def isV4Preferred: _root_.scala.Boolean = true
}
@SerialVersionUID(0L)
case object ALL extends DnsLookupFamily(4) with DnsLookupFamily.Recognized {
val index = 4
val name = "ALL"
override def isAll: _root_.scala.Boolean = true
}
@SerialVersionUID(0L)
final case class Unrecognized(unrecognizedValue: _root_.scala.Int) extends DnsLookupFamily(unrecognizedValue) with _root_.scalapb.UnrecognizedEnum
lazy val values = scala.collection.immutable.Seq(AUTO, V4_ONLY, V6_ONLY, V4_PREFERRED, ALL)
def fromValue(__value: _root_.scala.Int): DnsLookupFamily = __value match {
case 0 => AUTO
case 1 => V4_ONLY
case 2 => V6_ONLY
case 3 => V4_PREFERRED
case 4 => ALL
case __other => Unrecognized(__other)
}
def javaDescriptor: _root_.com.google.protobuf.Descriptors.EnumDescriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.javaDescriptor.getEnumTypes().get(2)
def scalaDescriptor: _root_.scalapb.descriptors.EnumDescriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.scalaDescriptor.enums(2)
}
sealed abstract class ClusterProtocolSelection(val value: _root_.scala.Int) extends _root_.scalapb.GeneratedEnum {
type EnumType = ClusterProtocolSelection
def isUseConfiguredProtocol: _root_.scala.Boolean = false
def isUseDownstreamProtocol: _root_.scala.Boolean = false
def companion: _root_.scalapb.GeneratedEnumCompanion[ClusterProtocolSelection] = io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterProtocolSelection
final def asRecognized: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterProtocolSelection.Recognized] = if (isUnrecognized) _root_.scala.None else _root_.scala.Some(this.asInstanceOf[io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterProtocolSelection.Recognized])
}
object ClusterProtocolSelection extends _root_.scalapb.GeneratedEnumCompanion[ClusterProtocolSelection] {
sealed trait Recognized extends ClusterProtocolSelection
implicit def enumCompanion: _root_.scalapb.GeneratedEnumCompanion[ClusterProtocolSelection] = this
/** Cluster can only operate on one of the possible upstream protocols (HTTP1.1, HTTP2).
* If :ref:`http2_protocol_options <envoy_v3_api_field_config.cluster.v3.Cluster.http2_protocol_options>` are
* present, HTTP2 will be used, otherwise HTTP1.1 will be used.
*/
@SerialVersionUID(0L)
case object USE_CONFIGURED_PROTOCOL extends ClusterProtocolSelection(0) with ClusterProtocolSelection.Recognized {
val index = 0
val name = "USE_CONFIGURED_PROTOCOL"
override def isUseConfiguredProtocol: _root_.scala.Boolean = true
}
/** Use HTTP1.1 or HTTP2, depending on which one is used on the downstream connection.
*/
@SerialVersionUID(0L)
case object USE_DOWNSTREAM_PROTOCOL extends ClusterProtocolSelection(1) with ClusterProtocolSelection.Recognized {
val index = 1
val name = "USE_DOWNSTREAM_PROTOCOL"
override def isUseDownstreamProtocol: _root_.scala.Boolean = true
}
@SerialVersionUID(0L)
final case class Unrecognized(unrecognizedValue: _root_.scala.Int) extends ClusterProtocolSelection(unrecognizedValue) with _root_.scalapb.UnrecognizedEnum
lazy val values = scala.collection.immutable.Seq(USE_CONFIGURED_PROTOCOL, USE_DOWNSTREAM_PROTOCOL)
def fromValue(__value: _root_.scala.Int): ClusterProtocolSelection = __value match {
case 0 => USE_CONFIGURED_PROTOCOL
case 1 => USE_DOWNSTREAM_PROTOCOL
case __other => Unrecognized(__other)
}
def javaDescriptor: _root_.com.google.protobuf.Descriptors.EnumDescriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.javaDescriptor.getEnumTypes().get(3)
def scalaDescriptor: _root_.scalapb.descriptors.EnumDescriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.scalaDescriptor.enums(3)
}
sealed trait ClusterDiscoveryType extends _root_.scalapb.GeneratedOneof {
def isEmpty: _root_.scala.Boolean = false
def isDefined: _root_.scala.Boolean = true
def isType: _root_.scala.Boolean = false
def isClusterType: _root_.scala.Boolean = false
def `type`: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.DiscoveryType] = _root_.scala.None
def clusterType: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.CustomClusterType] = _root_.scala.None
}
object ClusterDiscoveryType {
@SerialVersionUID(0L)
case object Empty extends io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterDiscoveryType {
type ValueType = _root_.scala.Nothing
override def isEmpty: _root_.scala.Boolean = true
override def isDefined: _root_.scala.Boolean = false
override def number: _root_.scala.Int = 0
override def value: _root_.scala.Nothing = throw new java.util.NoSuchElementException("Empty.value")
}
@SerialVersionUID(0L)
final case class Type(value: io.envoyproxy.envoy.config.cluster.v3.Cluster.DiscoveryType) extends io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterDiscoveryType {
type ValueType = io.envoyproxy.envoy.config.cluster.v3.Cluster.DiscoveryType
override def isType: _root_.scala.Boolean = true
override def `type`: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.DiscoveryType] = Some(value)
override def number: _root_.scala.Int = 2
}
@SerialVersionUID(0L)
final case class ClusterType(value: io.envoyproxy.envoy.config.cluster.v3.Cluster.CustomClusterType) extends io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterDiscoveryType {
type ValueType = io.envoyproxy.envoy.config.cluster.v3.Cluster.CustomClusterType
override def isClusterType: _root_.scala.Boolean = true
override def clusterType: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.CustomClusterType] = Some(value)
override def number: _root_.scala.Int = 38
}
}
sealed trait LbConfig extends _root_.scalapb.GeneratedOneof {
def isEmpty: _root_.scala.Boolean = false
def isDefined: _root_.scala.Boolean = true
def isRingHashLbConfig: _root_.scala.Boolean = false
def isMaglevLbConfig: _root_.scala.Boolean = false
def isOriginalDstLbConfig: _root_.scala.Boolean = false
def isLeastRequestLbConfig: _root_.scala.Boolean = false
def isRoundRobinLbConfig: _root_.scala.Boolean = false
def ringHashLbConfig: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig] = _root_.scala.None
def maglevLbConfig: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig] = _root_.scala.None
def originalDstLbConfig: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.OriginalDstLbConfig] = _root_.scala.None
def leastRequestLbConfig: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig] = _root_.scala.None
def roundRobinLbConfig: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.RoundRobinLbConfig] = _root_.scala.None
}
object LbConfig {
@SerialVersionUID(0L)
case object Empty extends io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig {
type ValueType = _root_.scala.Nothing
override def isEmpty: _root_.scala.Boolean = true
override def isDefined: _root_.scala.Boolean = false
override def number: _root_.scala.Int = 0
override def value: _root_.scala.Nothing = throw new java.util.NoSuchElementException("Empty.value")
}
@SerialVersionUID(0L)
final case class RingHashLbConfig(value: io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig) extends io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig {
type ValueType = io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig
override def isRingHashLbConfig: _root_.scala.Boolean = true
override def ringHashLbConfig: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig] = Some(value)
override def number: _root_.scala.Int = 23
}
@SerialVersionUID(0L)
final case class MaglevLbConfig(value: io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig) extends io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig {
type ValueType = io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig
override def isMaglevLbConfig: _root_.scala.Boolean = true
override def maglevLbConfig: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig] = Some(value)
override def number: _root_.scala.Int = 52
}
@SerialVersionUID(0L)
final case class OriginalDstLbConfig(value: io.envoyproxy.envoy.config.cluster.v3.Cluster.OriginalDstLbConfig) extends io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig {
type ValueType = io.envoyproxy.envoy.config.cluster.v3.Cluster.OriginalDstLbConfig
override def isOriginalDstLbConfig: _root_.scala.Boolean = true
override def originalDstLbConfig: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.OriginalDstLbConfig] = Some(value)
override def number: _root_.scala.Int = 34
}
@SerialVersionUID(0L)
final case class LeastRequestLbConfig(value: io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig) extends io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig {
type ValueType = io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig
override def isLeastRequestLbConfig: _root_.scala.Boolean = true
override def leastRequestLbConfig: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig] = Some(value)
override def number: _root_.scala.Int = 37
}
@SerialVersionUID(0L)
final case class RoundRobinLbConfig(value: io.envoyproxy.envoy.config.cluster.v3.Cluster.RoundRobinLbConfig) extends io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig {
type ValueType = io.envoyproxy.envoy.config.cluster.v3.Cluster.RoundRobinLbConfig
override def isRoundRobinLbConfig: _root_.scala.Boolean = true
override def roundRobinLbConfig: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.RoundRobinLbConfig] = Some(value)
override def number: _root_.scala.Int = 56
}
}
/** TransportSocketMatch specifies what transport socket config will be used
* when the match conditions are satisfied.
*
* @param name
* The name of the match, used in stats generation.
* @param match
* Optional endpoint metadata match criteria.
* The connection to the endpoint with metadata matching what is set in this field
* will use the transport socket configuration specified here.
* The endpoint's metadata entry in *envoy.transport_socket_match* is used to match
* against the values specified in this field.
* @param transportSocket
* The configuration of the transport socket.
* [#extension-category: envoy.transport_sockets.upstream]
*/
@SerialVersionUID(0L)
final case class TransportSocketMatch(
name: _root_.scala.Predef.String = "",
`match`: _root_.scala.Option[com.google.protobuf.struct.Struct] = _root_.scala.None,
transportSocket: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.TransportSocket] = _root_.scala.None,
unknownFields: _root_.scalapb.UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty
) extends scalapb.GeneratedMessage with scalapb.lenses.Updatable[TransportSocketMatch] {
@transient
private[this] var __serializedSizeMemoized: _root_.scala.Int = 0
private[this] def __computeSerializedSize(): _root_.scala.Int = {
var __size = 0
{
val __value = name
if (!__value.isEmpty) {
__size += _root_.com.google.protobuf.CodedOutputStream.computeStringSize(1, __value)
}
};
if (`match`.isDefined) {
val __value = `match`.get
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (transportSocket.isDefined) {
val __value = transportSocket.get
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
__size += unknownFields.serializedSize
__size
}
override def serializedSize: _root_.scala.Int = {
var __size = __serializedSizeMemoized
if (__size == 0) {
__size = __computeSerializedSize() + 1
__serializedSizeMemoized = __size
}
__size - 1
}
def writeTo(`_output__`: _root_.com.google.protobuf.CodedOutputStream): _root_.scala.Unit = {
{
val __v = name
if (!__v.isEmpty) {
_output__.writeString(1, __v)
}
};
`match`.foreach { __v =>
val __m = __v
_output__.writeTag(2, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
transportSocket.foreach { __v =>
val __m = __v
_output__.writeTag(3, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
unknownFields.writeTo(_output__)
}
def withName(__v: _root_.scala.Predef.String): TransportSocketMatch = copy(name = __v)
def getMatch: com.google.protobuf.struct.Struct = `match`.getOrElse(com.google.protobuf.struct.Struct.defaultInstance)
def clearMatch: TransportSocketMatch = copy(`match` = _root_.scala.None)
def withMatch(__v: com.google.protobuf.struct.Struct): TransportSocketMatch = copy(`match` = Option(__v))
def getTransportSocket: io.envoyproxy.envoy.config.core.v3.TransportSocket = transportSocket.getOrElse(io.envoyproxy.envoy.config.core.v3.TransportSocket.defaultInstance)
def clearTransportSocket: TransportSocketMatch = copy(transportSocket = _root_.scala.None)
def withTransportSocket(__v: io.envoyproxy.envoy.config.core.v3.TransportSocket): TransportSocketMatch = copy(transportSocket = Option(__v))
def withUnknownFields(__v: _root_.scalapb.UnknownFieldSet) = copy(unknownFields = __v)
def discardUnknownFields = copy(unknownFields = _root_.scalapb.UnknownFieldSet.empty)
def getFieldByNumber(__fieldNumber: _root_.scala.Int): _root_.scala.Any = {
(__fieldNumber: @_root_.scala.unchecked) match {
case 1 => {
val __t = name
if (__t != "") __t else null
}
case 2 => `match`.orNull
case 3 => transportSocket.orNull
}
}
def getField(__field: _root_.scalapb.descriptors.FieldDescriptor): _root_.scalapb.descriptors.PValue = {
_root_.scala.Predef.require(__field.containingMessage eq companion.scalaDescriptor)
(__field.number: @_root_.scala.unchecked) match {
case 1 => _root_.scalapb.descriptors.PString(name)
case 2 => `match`.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 3 => transportSocket.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
}
}
def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this)
def companion: io.envoyproxy.envoy.config.cluster.v3.Cluster.TransportSocketMatch.type = io.envoyproxy.envoy.config.cluster.v3.Cluster.TransportSocketMatch
// @@protoc_insertion_point(GeneratedMessage[envoy.config.cluster.v3.Cluster.TransportSocketMatch])
}
object TransportSocketMatch extends scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.TransportSocketMatch] {
implicit def messageCompanion: scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.TransportSocketMatch] = this
def parseFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): io.envoyproxy.envoy.config.cluster.v3.Cluster.TransportSocketMatch = {
var __name: _root_.scala.Predef.String = ""
var __match: _root_.scala.Option[com.google.protobuf.struct.Struct] = _root_.scala.None
var __transportSocket: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.TransportSocket] = _root_.scala.None
var `_unknownFields__`: _root_.scalapb.UnknownFieldSet.Builder = null
var _done__ = false
while (!_done__) {
val _tag__ = _input__.readTag()
_tag__ match {
case 0 => _done__ = true
case 10 =>
__name = _input__.readStringRequireUtf8()
case 18 =>
__match = Option(__match.fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.struct.Struct](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 26 =>
__transportSocket = Option(__transportSocket.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.core.v3.TransportSocket](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case tag =>
if (_unknownFields__ == null) {
_unknownFields__ = new _root_.scalapb.UnknownFieldSet.Builder()
}
_unknownFields__.parseField(tag, _input__)
}
}
io.envoyproxy.envoy.config.cluster.v3.Cluster.TransportSocketMatch(
name = __name,
`match` = __match,
transportSocket = __transportSocket,
unknownFields = if (_unknownFields__ == null) _root_.scalapb.UnknownFieldSet.empty else _unknownFields__.result()
)
}
implicit def messageReads: _root_.scalapb.descriptors.Reads[io.envoyproxy.envoy.config.cluster.v3.Cluster.TransportSocketMatch] = _root_.scalapb.descriptors.Reads{
case _root_.scalapb.descriptors.PMessage(__fieldsMap) =>
_root_.scala.Predef.require(__fieldsMap.keys.forall(_.containingMessage eq scalaDescriptor), "FieldDescriptor does not match message type.")
io.envoyproxy.envoy.config.cluster.v3.Cluster.TransportSocketMatch(
name = __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).map(_.as[_root_.scala.Predef.String]).getOrElse(""),
`match` = __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.struct.Struct]]),
transportSocket = __fieldsMap.get(scalaDescriptor.findFieldByNumber(3).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.core.v3.TransportSocket]])
)
case _ => throw new RuntimeException("Expected PMessage")
}
def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.javaDescriptor.getNestedTypes().get(0)
def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.scalaDescriptor.nestedMessages(0)
def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = {
var __out: _root_.scalapb.GeneratedMessageCompanion[_] = null
(__number: @_root_.scala.unchecked) match {
case 2 => __out = com.google.protobuf.struct.Struct
case 3 => __out = io.envoyproxy.envoy.config.core.v3.TransportSocket
}
__out
}
lazy val nestedMessagesCompanions: Seq[_root_.scalapb.GeneratedMessageCompanion[_ <: _root_.scalapb.GeneratedMessage]] = Seq.empty
def enumCompanionForFieldNumber(__fieldNumber: _root_.scala.Int): _root_.scalapb.GeneratedEnumCompanion[_] = throw new MatchError(__fieldNumber)
lazy val defaultInstance = io.envoyproxy.envoy.config.cluster.v3.Cluster.TransportSocketMatch(
name = "",
`match` = _root_.scala.None,
transportSocket = _root_.scala.None
)
implicit class TransportSocketMatchLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.TransportSocketMatch]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.TransportSocketMatch](_l) {
def name: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Predef.String] = field(_.name)((c_, f_) => c_.copy(name = f_))
def `match`: _root_.scalapb.lenses.Lens[UpperPB, com.google.protobuf.struct.Struct] = field(_.getMatch)((c_, f_) => c_.copy(`match` = Option(f_)))
def optionalMatch: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[com.google.protobuf.struct.Struct]] = field(_.`match`)((c_, f_) => c_.copy(`match` = f_))
def transportSocket: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.core.v3.TransportSocket] = field(_.getTransportSocket)((c_, f_) => c_.copy(transportSocket = Option(f_)))
def optionalTransportSocket: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.TransportSocket]] = field(_.transportSocket)((c_, f_) => c_.copy(transportSocket = f_))
}
final val NAME_FIELD_NUMBER = 1
final val MATCH_FIELD_NUMBER = 2
final val TRANSPORT_SOCKET_FIELD_NUMBER = 3
def of(
name: _root_.scala.Predef.String,
`match`: _root_.scala.Option[com.google.protobuf.struct.Struct],
transportSocket: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.TransportSocket]
): _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.TransportSocketMatch = _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.TransportSocketMatch(
name,
`match`,
transportSocket
)
// @@protoc_insertion_point(GeneratedMessageCompanion[envoy.config.cluster.v3.Cluster.TransportSocketMatch])
}
/** Extended cluster type.
*
* @param name
* The type of the cluster to instantiate. The name must match a supported cluster type.
* @param typedConfig
* Cluster specific configuration which depends on the cluster being instantiated.
* See the supported cluster for further documentation.
* [#extension-category: envoy.clusters]
*/
@SerialVersionUID(0L)
final case class CustomClusterType(
name: _root_.scala.Predef.String = "",
typedConfig: _root_.scala.Option[com.google.protobuf.any.Any] = _root_.scala.None,
unknownFields: _root_.scalapb.UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty
) extends scalapb.GeneratedMessage with scalapb.lenses.Updatable[CustomClusterType] {
@transient
private[this] var __serializedSizeMemoized: _root_.scala.Int = 0
private[this] def __computeSerializedSize(): _root_.scala.Int = {
var __size = 0
{
val __value = name
if (!__value.isEmpty) {
__size += _root_.com.google.protobuf.CodedOutputStream.computeStringSize(1, __value)
}
};
if (typedConfig.isDefined) {
val __value = typedConfig.get
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
__size += unknownFields.serializedSize
__size
}
override def serializedSize: _root_.scala.Int = {
var __size = __serializedSizeMemoized
if (__size == 0) {
__size = __computeSerializedSize() + 1
__serializedSizeMemoized = __size
}
__size - 1
}
def writeTo(`_output__`: _root_.com.google.protobuf.CodedOutputStream): _root_.scala.Unit = {
{
val __v = name
if (!__v.isEmpty) {
_output__.writeString(1, __v)
}
};
typedConfig.foreach { __v =>
val __m = __v
_output__.writeTag(2, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
unknownFields.writeTo(_output__)
}
def withName(__v: _root_.scala.Predef.String): CustomClusterType = copy(name = __v)
def getTypedConfig: com.google.protobuf.any.Any = typedConfig.getOrElse(com.google.protobuf.any.Any.defaultInstance)
def clearTypedConfig: CustomClusterType = copy(typedConfig = _root_.scala.None)
def withTypedConfig(__v: com.google.protobuf.any.Any): CustomClusterType = copy(typedConfig = Option(__v))
def withUnknownFields(__v: _root_.scalapb.UnknownFieldSet) = copy(unknownFields = __v)
def discardUnknownFields = copy(unknownFields = _root_.scalapb.UnknownFieldSet.empty)
def getFieldByNumber(__fieldNumber: _root_.scala.Int): _root_.scala.Any = {
(__fieldNumber: @_root_.scala.unchecked) match {
case 1 => {
val __t = name
if (__t != "") __t else null
}
case 2 => typedConfig.orNull
}
}
def getField(__field: _root_.scalapb.descriptors.FieldDescriptor): _root_.scalapb.descriptors.PValue = {
_root_.scala.Predef.require(__field.containingMessage eq companion.scalaDescriptor)
(__field.number: @_root_.scala.unchecked) match {
case 1 => _root_.scalapb.descriptors.PString(name)
case 2 => typedConfig.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
}
}
def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this)
def companion: io.envoyproxy.envoy.config.cluster.v3.Cluster.CustomClusterType.type = io.envoyproxy.envoy.config.cluster.v3.Cluster.CustomClusterType
// @@protoc_insertion_point(GeneratedMessage[envoy.config.cluster.v3.Cluster.CustomClusterType])
}
object CustomClusterType extends scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.CustomClusterType] {
implicit def messageCompanion: scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.CustomClusterType] = this
def parseFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): io.envoyproxy.envoy.config.cluster.v3.Cluster.CustomClusterType = {
var __name: _root_.scala.Predef.String = ""
var __typedConfig: _root_.scala.Option[com.google.protobuf.any.Any] = _root_.scala.None
var `_unknownFields__`: _root_.scalapb.UnknownFieldSet.Builder = null
var _done__ = false
while (!_done__) {
val _tag__ = _input__.readTag()
_tag__ match {
case 0 => _done__ = true
case 10 =>
__name = _input__.readStringRequireUtf8()
case 18 =>
__typedConfig = Option(__typedConfig.fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.any.Any](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case tag =>
if (_unknownFields__ == null) {
_unknownFields__ = new _root_.scalapb.UnknownFieldSet.Builder()
}
_unknownFields__.parseField(tag, _input__)
}
}
io.envoyproxy.envoy.config.cluster.v3.Cluster.CustomClusterType(
name = __name,
typedConfig = __typedConfig,
unknownFields = if (_unknownFields__ == null) _root_.scalapb.UnknownFieldSet.empty else _unknownFields__.result()
)
}
implicit def messageReads: _root_.scalapb.descriptors.Reads[io.envoyproxy.envoy.config.cluster.v3.Cluster.CustomClusterType] = _root_.scalapb.descriptors.Reads{
case _root_.scalapb.descriptors.PMessage(__fieldsMap) =>
_root_.scala.Predef.require(__fieldsMap.keys.forall(_.containingMessage eq scalaDescriptor), "FieldDescriptor does not match message type.")
io.envoyproxy.envoy.config.cluster.v3.Cluster.CustomClusterType(
name = __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).map(_.as[_root_.scala.Predef.String]).getOrElse(""),
typedConfig = __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.any.Any]])
)
case _ => throw new RuntimeException("Expected PMessage")
}
def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.javaDescriptor.getNestedTypes().get(1)
def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.scalaDescriptor.nestedMessages(1)
def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = {
var __out: _root_.scalapb.GeneratedMessageCompanion[_] = null
(__number: @_root_.scala.unchecked) match {
case 2 => __out = com.google.protobuf.any.Any
}
__out
}
lazy val nestedMessagesCompanions: Seq[_root_.scalapb.GeneratedMessageCompanion[_ <: _root_.scalapb.GeneratedMessage]] = Seq.empty
def enumCompanionForFieldNumber(__fieldNumber: _root_.scala.Int): _root_.scalapb.GeneratedEnumCompanion[_] = throw new MatchError(__fieldNumber)
lazy val defaultInstance = io.envoyproxy.envoy.config.cluster.v3.Cluster.CustomClusterType(
name = "",
typedConfig = _root_.scala.None
)
implicit class CustomClusterTypeLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.CustomClusterType]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.CustomClusterType](_l) {
def name: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Predef.String] = field(_.name)((c_, f_) => c_.copy(name = f_))
def typedConfig: _root_.scalapb.lenses.Lens[UpperPB, com.google.protobuf.any.Any] = field(_.getTypedConfig)((c_, f_) => c_.copy(typedConfig = Option(f_)))
def optionalTypedConfig: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[com.google.protobuf.any.Any]] = field(_.typedConfig)((c_, f_) => c_.copy(typedConfig = f_))
}
final val NAME_FIELD_NUMBER = 1
final val TYPED_CONFIG_FIELD_NUMBER = 2
def of(
name: _root_.scala.Predef.String,
typedConfig: _root_.scala.Option[com.google.protobuf.any.Any]
): _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.CustomClusterType = _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.CustomClusterType(
name,
typedConfig
)
// @@protoc_insertion_point(GeneratedMessageCompanion[envoy.config.cluster.v3.Cluster.CustomClusterType])
}
/** Only valid when discovery type is EDS.
*
* @param edsConfig
* Configuration for the source of EDS updates for this Cluster.
* @param serviceName
* Optional alternative to cluster name to present to EDS. This does not
* have the same restrictions as cluster name, i.e. it may be arbitrary
* length. This may be a xdstp:// URL.
*/
@SerialVersionUID(0L)
final case class EdsClusterConfig(
edsConfig: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.ConfigSource] = _root_.scala.None,
serviceName: _root_.scala.Predef.String = "",
unknownFields: _root_.scalapb.UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty
) extends scalapb.GeneratedMessage with scalapb.lenses.Updatable[EdsClusterConfig] {
@transient
private[this] var __serializedSizeMemoized: _root_.scala.Int = 0
private[this] def __computeSerializedSize(): _root_.scala.Int = {
var __size = 0
if (edsConfig.isDefined) {
val __value = edsConfig.get
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
{
val __value = serviceName
if (!__value.isEmpty) {
__size += _root_.com.google.protobuf.CodedOutputStream.computeStringSize(2, __value)
}
};
__size += unknownFields.serializedSize
__size
}
override def serializedSize: _root_.scala.Int = {
var __size = __serializedSizeMemoized
if (__size == 0) {
__size = __computeSerializedSize() + 1
__serializedSizeMemoized = __size
}
__size - 1
}
def writeTo(`_output__`: _root_.com.google.protobuf.CodedOutputStream): _root_.scala.Unit = {
edsConfig.foreach { __v =>
val __m = __v
_output__.writeTag(1, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
{
val __v = serviceName
if (!__v.isEmpty) {
_output__.writeString(2, __v)
}
};
unknownFields.writeTo(_output__)
}
def getEdsConfig: io.envoyproxy.envoy.config.core.v3.ConfigSource = edsConfig.getOrElse(io.envoyproxy.envoy.config.core.v3.ConfigSource.defaultInstance)
def clearEdsConfig: EdsClusterConfig = copy(edsConfig = _root_.scala.None)
def withEdsConfig(__v: io.envoyproxy.envoy.config.core.v3.ConfigSource): EdsClusterConfig = copy(edsConfig = Option(__v))
def withServiceName(__v: _root_.scala.Predef.String): EdsClusterConfig = copy(serviceName = __v)
def withUnknownFields(__v: _root_.scalapb.UnknownFieldSet) = copy(unknownFields = __v)
def discardUnknownFields = copy(unknownFields = _root_.scalapb.UnknownFieldSet.empty)
def getFieldByNumber(__fieldNumber: _root_.scala.Int): _root_.scala.Any = {
(__fieldNumber: @_root_.scala.unchecked) match {
case 1 => edsConfig.orNull
case 2 => {
val __t = serviceName
if (__t != "") __t else null
}
}
}
def getField(__field: _root_.scalapb.descriptors.FieldDescriptor): _root_.scalapb.descriptors.PValue = {
_root_.scala.Predef.require(__field.containingMessage eq companion.scalaDescriptor)
(__field.number: @_root_.scala.unchecked) match {
case 1 => edsConfig.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 2 => _root_.scalapb.descriptors.PString(serviceName)
}
}
def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this)
def companion: io.envoyproxy.envoy.config.cluster.v3.Cluster.EdsClusterConfig.type = io.envoyproxy.envoy.config.cluster.v3.Cluster.EdsClusterConfig
// @@protoc_insertion_point(GeneratedMessage[envoy.config.cluster.v3.Cluster.EdsClusterConfig])
}
object EdsClusterConfig extends scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.EdsClusterConfig] {
implicit def messageCompanion: scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.EdsClusterConfig] = this
def parseFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): io.envoyproxy.envoy.config.cluster.v3.Cluster.EdsClusterConfig = {
var __edsConfig: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.ConfigSource] = _root_.scala.None
var __serviceName: _root_.scala.Predef.String = ""
var `_unknownFields__`: _root_.scalapb.UnknownFieldSet.Builder = null
var _done__ = false
while (!_done__) {
val _tag__ = _input__.readTag()
_tag__ match {
case 0 => _done__ = true
case 10 =>
__edsConfig = Option(__edsConfig.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.core.v3.ConfigSource](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 18 =>
__serviceName = _input__.readStringRequireUtf8()
case tag =>
if (_unknownFields__ == null) {
_unknownFields__ = new _root_.scalapb.UnknownFieldSet.Builder()
}
_unknownFields__.parseField(tag, _input__)
}
}
io.envoyproxy.envoy.config.cluster.v3.Cluster.EdsClusterConfig(
edsConfig = __edsConfig,
serviceName = __serviceName,
unknownFields = if (_unknownFields__ == null) _root_.scalapb.UnknownFieldSet.empty else _unknownFields__.result()
)
}
implicit def messageReads: _root_.scalapb.descriptors.Reads[io.envoyproxy.envoy.config.cluster.v3.Cluster.EdsClusterConfig] = _root_.scalapb.descriptors.Reads{
case _root_.scalapb.descriptors.PMessage(__fieldsMap) =>
_root_.scala.Predef.require(__fieldsMap.keys.forall(_.containingMessage eq scalaDescriptor), "FieldDescriptor does not match message type.")
io.envoyproxy.envoy.config.cluster.v3.Cluster.EdsClusterConfig(
edsConfig = __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.core.v3.ConfigSource]]),
serviceName = __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).map(_.as[_root_.scala.Predef.String]).getOrElse("")
)
case _ => throw new RuntimeException("Expected PMessage")
}
def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.javaDescriptor.getNestedTypes().get(2)
def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.scalaDescriptor.nestedMessages(2)
def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = {
var __out: _root_.scalapb.GeneratedMessageCompanion[_] = null
(__number: @_root_.scala.unchecked) match {
case 1 => __out = io.envoyproxy.envoy.config.core.v3.ConfigSource
}
__out
}
lazy val nestedMessagesCompanions: Seq[_root_.scalapb.GeneratedMessageCompanion[_ <: _root_.scalapb.GeneratedMessage]] = Seq.empty
def enumCompanionForFieldNumber(__fieldNumber: _root_.scala.Int): _root_.scalapb.GeneratedEnumCompanion[_] = throw new MatchError(__fieldNumber)
lazy val defaultInstance = io.envoyproxy.envoy.config.cluster.v3.Cluster.EdsClusterConfig(
edsConfig = _root_.scala.None,
serviceName = ""
)
implicit class EdsClusterConfigLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.EdsClusterConfig]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.EdsClusterConfig](_l) {
def edsConfig: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.core.v3.ConfigSource] = field(_.getEdsConfig)((c_, f_) => c_.copy(edsConfig = Option(f_)))
def optionalEdsConfig: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.ConfigSource]] = field(_.edsConfig)((c_, f_) => c_.copy(edsConfig = f_))
def serviceName: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Predef.String] = field(_.serviceName)((c_, f_) => c_.copy(serviceName = f_))
}
final val EDS_CONFIG_FIELD_NUMBER = 1
final val SERVICE_NAME_FIELD_NUMBER = 2
def of(
edsConfig: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.ConfigSource],
serviceName: _root_.scala.Predef.String
): _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.EdsClusterConfig = _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.EdsClusterConfig(
edsConfig,
serviceName
)
// @@protoc_insertion_point(GeneratedMessageCompanion[envoy.config.cluster.v3.Cluster.EdsClusterConfig])
}
/** Optionally divide the endpoints in this cluster into subsets defined by
* endpoint metadata and selected by route and weighted cluster metadata.
* [#next-free-field: 8]
*
* @param fallbackPolicy
* The behavior used when no endpoint subset matches the selected route's
* metadata. The value defaults to
* :ref:`NO_FALLBACK<envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK>`.
* @param defaultSubset
* Specifies the default subset of endpoints used during fallback if
* fallback_policy is
* :ref:`DEFAULT_SUBSET<envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.DEFAULT_SUBSET>`.
* Each field in default_subset is
* compared to the matching LbEndpoint.Metadata under the *envoy.lb*
* namespace. It is valid for no hosts to match, in which case the behavior
* is the same as a fallback_policy of
* :ref:`NO_FALLBACK<envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK>`.
* @param subsetSelectors
* For each entry, LbEndpoint.Metadata's
* *envoy.lb* namespace is traversed and a subset is created for each unique
* combination of key and value. For example:
*
* .. code-block:: json
*
* { "subset_selectors": [
* { "keys": [ "version" ] },
* { "keys": [ "stage", "hardware_type" ] }
* ]}
*
* A subset is matched when the metadata from the selected route and
* weighted cluster contains the same keys and values as the subset's
* metadata. The same host may appear in multiple subsets.
* @param localityWeightAware
* If true, routing to subsets will take into account the localities and locality weights of the
* endpoints when making the routing decision.
*
* There are some potential pitfalls associated with enabling this feature, as the resulting
* traffic split after applying both a subset match and locality weights might be undesirable.
*
* Consider for example a situation in which you have 50/50 split across two localities X/Y
* which have 100 hosts each without subsetting. If the subset LB results in X having only 1
* host selected but Y having 100, then a lot more load is being dumped on the single host in X
* than originally anticipated in the load balancing assignment delivered via EDS.
* @param scaleLocalityWeight
* When used with locality_weight_aware, scales the weight of each locality by the ratio
* of hosts in the subset vs hosts in the original subset. This aims to even out the load
* going to an individual locality if said locality is disproportionately affected by the
* subset predicate.
* @param panicModeAny
* If true, when a fallback policy is configured and its corresponding subset fails to find
* a host this will cause any host to be selected instead.
*
* This is useful when using the default subset as the fallback policy, given the default
* subset might become empty. With this option enabled, if that happens the LB will attempt
* to select a host from the entire cluster.
* @param listAsAny
* If true, metadata specified for a metadata key will be matched against the corresponding
* endpoint metadata if the endpoint metadata matches the value exactly OR it is a list value
* and any of the elements in the list matches the criteria.
*/
@SerialVersionUID(0L)
final case class LbSubsetConfig(
fallbackPolicy: io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK,
defaultSubset: _root_.scala.Option[com.google.protobuf.struct.Struct] = _root_.scala.None,
subsetSelectors: _root_.scala.Seq[io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector] = _root_.scala.Seq.empty,
localityWeightAware: _root_.scala.Boolean = false,
scaleLocalityWeight: _root_.scala.Boolean = false,
panicModeAny: _root_.scala.Boolean = false,
listAsAny: _root_.scala.Boolean = false,
unknownFields: _root_.scalapb.UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty
) extends scalapb.GeneratedMessage with scalapb.lenses.Updatable[LbSubsetConfig] {
@transient
private[this] var __serializedSizeMemoized: _root_.scala.Int = 0
private[this] def __computeSerializedSize(): _root_.scala.Int = {
var __size = 0
{
val __value = fallbackPolicy.value
if (__value != 0) {
__size += _root_.com.google.protobuf.CodedOutputStream.computeEnumSize(1, __value)
}
};
if (defaultSubset.isDefined) {
val __value = defaultSubset.get
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
subsetSelectors.foreach { __item =>
val __value = __item
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
}
{
val __value = localityWeightAware
if (__value != false) {
__size += _root_.com.google.protobuf.CodedOutputStream.computeBoolSize(4, __value)
}
};
{
val __value = scaleLocalityWeight
if (__value != false) {
__size += _root_.com.google.protobuf.CodedOutputStream.computeBoolSize(5, __value)
}
};
{
val __value = panicModeAny
if (__value != false) {
__size += _root_.com.google.protobuf.CodedOutputStream.computeBoolSize(6, __value)
}
};
{
val __value = listAsAny
if (__value != false) {
__size += _root_.com.google.protobuf.CodedOutputStream.computeBoolSize(7, __value)
}
};
__size += unknownFields.serializedSize
__size
}
override def serializedSize: _root_.scala.Int = {
var __size = __serializedSizeMemoized
if (__size == 0) {
__size = __computeSerializedSize() + 1
__serializedSizeMemoized = __size
}
__size - 1
}
def writeTo(`_output__`: _root_.com.google.protobuf.CodedOutputStream): _root_.scala.Unit = {
{
val __v = fallbackPolicy.value
if (__v != 0) {
_output__.writeEnum(1, __v)
}
};
defaultSubset.foreach { __v =>
val __m = __v
_output__.writeTag(2, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
subsetSelectors.foreach { __v =>
val __m = __v
_output__.writeTag(3, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
{
val __v = localityWeightAware
if (__v != false) {
_output__.writeBool(4, __v)
}
};
{
val __v = scaleLocalityWeight
if (__v != false) {
_output__.writeBool(5, __v)
}
};
{
val __v = panicModeAny
if (__v != false) {
_output__.writeBool(6, __v)
}
};
{
val __v = listAsAny
if (__v != false) {
_output__.writeBool(7, __v)
}
};
unknownFields.writeTo(_output__)
}
def withFallbackPolicy(__v: io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy): LbSubsetConfig = copy(fallbackPolicy = __v)
def getDefaultSubset: com.google.protobuf.struct.Struct = defaultSubset.getOrElse(com.google.protobuf.struct.Struct.defaultInstance)
def clearDefaultSubset: LbSubsetConfig = copy(defaultSubset = _root_.scala.None)
def withDefaultSubset(__v: com.google.protobuf.struct.Struct): LbSubsetConfig = copy(defaultSubset = Option(__v))
def clearSubsetSelectors = copy(subsetSelectors = _root_.scala.Seq.empty)
def addSubsetSelectors(__vs: io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector *): LbSubsetConfig = addAllSubsetSelectors(__vs)
def addAllSubsetSelectors(__vs: Iterable[io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector]): LbSubsetConfig = copy(subsetSelectors = subsetSelectors ++ __vs)
def withSubsetSelectors(__v: _root_.scala.Seq[io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector]): LbSubsetConfig = copy(subsetSelectors = __v)
def withLocalityWeightAware(__v: _root_.scala.Boolean): LbSubsetConfig = copy(localityWeightAware = __v)
def withScaleLocalityWeight(__v: _root_.scala.Boolean): LbSubsetConfig = copy(scaleLocalityWeight = __v)
def withPanicModeAny(__v: _root_.scala.Boolean): LbSubsetConfig = copy(panicModeAny = __v)
def withListAsAny(__v: _root_.scala.Boolean): LbSubsetConfig = copy(listAsAny = __v)
def withUnknownFields(__v: _root_.scalapb.UnknownFieldSet) = copy(unknownFields = __v)
def discardUnknownFields = copy(unknownFields = _root_.scalapb.UnknownFieldSet.empty)
def getFieldByNumber(__fieldNumber: _root_.scala.Int): _root_.scala.Any = {
(__fieldNumber: @_root_.scala.unchecked) match {
case 1 => {
val __t = fallbackPolicy.javaValueDescriptor
if (__t.getNumber() != 0) __t else null
}
case 2 => defaultSubset.orNull
case 3 => subsetSelectors
case 4 => {
val __t = localityWeightAware
if (__t != false) __t else null
}
case 5 => {
val __t = scaleLocalityWeight
if (__t != false) __t else null
}
case 6 => {
val __t = panicModeAny
if (__t != false) __t else null
}
case 7 => {
val __t = listAsAny
if (__t != false) __t else null
}
}
}
def getField(__field: _root_.scalapb.descriptors.FieldDescriptor): _root_.scalapb.descriptors.PValue = {
_root_.scala.Predef.require(__field.containingMessage eq companion.scalaDescriptor)
(__field.number: @_root_.scala.unchecked) match {
case 1 => _root_.scalapb.descriptors.PEnum(fallbackPolicy.scalaValueDescriptor)
case 2 => defaultSubset.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 3 => _root_.scalapb.descriptors.PRepeated(subsetSelectors.iterator.map(_.toPMessage).toVector)
case 4 => _root_.scalapb.descriptors.PBoolean(localityWeightAware)
case 5 => _root_.scalapb.descriptors.PBoolean(scaleLocalityWeight)
case 6 => _root_.scalapb.descriptors.PBoolean(panicModeAny)
case 7 => _root_.scalapb.descriptors.PBoolean(listAsAny)
}
}
def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this)
def companion: io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.type = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig
// @@protoc_insertion_point(GeneratedMessage[envoy.config.cluster.v3.Cluster.LbSubsetConfig])
}
object LbSubsetConfig extends scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig] {
implicit def messageCompanion: scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig] = this
def parseFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig = {
var __fallbackPolicy: io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK
var __defaultSubset: _root_.scala.Option[com.google.protobuf.struct.Struct] = _root_.scala.None
val __subsetSelectors: _root_.scala.collection.immutable.VectorBuilder[io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector] = new _root_.scala.collection.immutable.VectorBuilder[io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector]
var __localityWeightAware: _root_.scala.Boolean = false
var __scaleLocalityWeight: _root_.scala.Boolean = false
var __panicModeAny: _root_.scala.Boolean = false
var __listAsAny: _root_.scala.Boolean = false
var `_unknownFields__`: _root_.scalapb.UnknownFieldSet.Builder = null
var _done__ = false
while (!_done__) {
val _tag__ = _input__.readTag()
_tag__ match {
case 0 => _done__ = true
case 8 =>
__fallbackPolicy = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.fromValue(_input__.readEnum())
case 18 =>
__defaultSubset = Option(__defaultSubset.fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.struct.Struct](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 26 =>
__subsetSelectors += _root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector](_input__)
case 32 =>
__localityWeightAware = _input__.readBool()
case 40 =>
__scaleLocalityWeight = _input__.readBool()
case 48 =>
__panicModeAny = _input__.readBool()
case 56 =>
__listAsAny = _input__.readBool()
case tag =>
if (_unknownFields__ == null) {
_unknownFields__ = new _root_.scalapb.UnknownFieldSet.Builder()
}
_unknownFields__.parseField(tag, _input__)
}
}
io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig(
fallbackPolicy = __fallbackPolicy,
defaultSubset = __defaultSubset,
subsetSelectors = __subsetSelectors.result(),
localityWeightAware = __localityWeightAware,
scaleLocalityWeight = __scaleLocalityWeight,
panicModeAny = __panicModeAny,
listAsAny = __listAsAny,
unknownFields = if (_unknownFields__ == null) _root_.scalapb.UnknownFieldSet.empty else _unknownFields__.result()
)
}
implicit def messageReads: _root_.scalapb.descriptors.Reads[io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig] = _root_.scalapb.descriptors.Reads{
case _root_.scalapb.descriptors.PMessage(__fieldsMap) =>
_root_.scala.Predef.require(__fieldsMap.keys.forall(_.containingMessage eq scalaDescriptor), "FieldDescriptor does not match message type.")
io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig(
fallbackPolicy = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.fromValue(__fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).map(_.as[_root_.scalapb.descriptors.EnumValueDescriptor]).getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK.scalaValueDescriptor).number),
defaultSubset = __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.struct.Struct]]),
subsetSelectors = __fieldsMap.get(scalaDescriptor.findFieldByNumber(3).get).map(_.as[_root_.scala.Seq[io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector]]).getOrElse(_root_.scala.Seq.empty),
localityWeightAware = __fieldsMap.get(scalaDescriptor.findFieldByNumber(4).get).map(_.as[_root_.scala.Boolean]).getOrElse(false),
scaleLocalityWeight = __fieldsMap.get(scalaDescriptor.findFieldByNumber(5).get).map(_.as[_root_.scala.Boolean]).getOrElse(false),
panicModeAny = __fieldsMap.get(scalaDescriptor.findFieldByNumber(6).get).map(_.as[_root_.scala.Boolean]).getOrElse(false),
listAsAny = __fieldsMap.get(scalaDescriptor.findFieldByNumber(7).get).map(_.as[_root_.scala.Boolean]).getOrElse(false)
)
case _ => throw new RuntimeException("Expected PMessage")
}
def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.javaDescriptor.getNestedTypes().get(3)
def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.scalaDescriptor.nestedMessages(3)
def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = {
var __out: _root_.scalapb.GeneratedMessageCompanion[_] = null
(__number: @_root_.scala.unchecked) match {
case 2 => __out = com.google.protobuf.struct.Struct
case 3 => __out = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector
}
__out
}
lazy val nestedMessagesCompanions: Seq[_root_.scalapb.GeneratedMessageCompanion[_ <: _root_.scalapb.GeneratedMessage]] =
Seq[_root_.scalapb.GeneratedMessageCompanion[_ <: _root_.scalapb.GeneratedMessage]](
_root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector
)
def enumCompanionForFieldNumber(__fieldNumber: _root_.scala.Int): _root_.scalapb.GeneratedEnumCompanion[_] = {
(__fieldNumber: @_root_.scala.unchecked) match {
case 1 => io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy
}
}
lazy val defaultInstance = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig(
fallbackPolicy = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK,
defaultSubset = _root_.scala.None,
subsetSelectors = _root_.scala.Seq.empty,
localityWeightAware = false,
scaleLocalityWeight = false,
panicModeAny = false,
listAsAny = false
)
/** If NO_FALLBACK is selected, a result
* equivalent to no healthy hosts is reported. If ANY_ENDPOINT is selected,
* any cluster endpoint may be returned (subject to policy, health checks,
* etc). If DEFAULT_SUBSET is selected, load balancing is performed over the
* endpoints matching the values from the default_subset field.
*/
sealed abstract class LbSubsetFallbackPolicy(val value: _root_.scala.Int) extends _root_.scalapb.GeneratedEnum {
type EnumType = LbSubsetFallbackPolicy
def isNoFallback: _root_.scala.Boolean = false
def isAnyEndpoint: _root_.scala.Boolean = false
def isDefaultSubset: _root_.scala.Boolean = false
def companion: _root_.scalapb.GeneratedEnumCompanion[LbSubsetFallbackPolicy] = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy
final def asRecognized: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.Recognized] = if (isUnrecognized) _root_.scala.None else _root_.scala.Some(this.asInstanceOf[io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.Recognized])
}
object LbSubsetFallbackPolicy extends _root_.scalapb.GeneratedEnumCompanion[LbSubsetFallbackPolicy] {
sealed trait Recognized extends LbSubsetFallbackPolicy
implicit def enumCompanion: _root_.scalapb.GeneratedEnumCompanion[LbSubsetFallbackPolicy] = this
@SerialVersionUID(0L)
case object NO_FALLBACK extends LbSubsetFallbackPolicy(0) with LbSubsetFallbackPolicy.Recognized {
val index = 0
val name = "NO_FALLBACK"
override def isNoFallback: _root_.scala.Boolean = true
}
@SerialVersionUID(0L)
case object ANY_ENDPOINT extends LbSubsetFallbackPolicy(1) with LbSubsetFallbackPolicy.Recognized {
val index = 1
val name = "ANY_ENDPOINT"
override def isAnyEndpoint: _root_.scala.Boolean = true
}
@SerialVersionUID(0L)
case object DEFAULT_SUBSET extends LbSubsetFallbackPolicy(2) with LbSubsetFallbackPolicy.Recognized {
val index = 2
val name = "DEFAULT_SUBSET"
override def isDefaultSubset: _root_.scala.Boolean = true
}
@SerialVersionUID(0L)
final case class Unrecognized(unrecognizedValue: _root_.scala.Int) extends LbSubsetFallbackPolicy(unrecognizedValue) with _root_.scalapb.UnrecognizedEnum
lazy val values = scala.collection.immutable.Seq(NO_FALLBACK, ANY_ENDPOINT, DEFAULT_SUBSET)
def fromValue(__value: _root_.scala.Int): LbSubsetFallbackPolicy = __value match {
case 0 => NO_FALLBACK
case 1 => ANY_ENDPOINT
case 2 => DEFAULT_SUBSET
case __other => Unrecognized(__other)
}
def javaDescriptor: _root_.com.google.protobuf.Descriptors.EnumDescriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.javaDescriptor.getEnumTypes().get(0)
def scalaDescriptor: _root_.scalapb.descriptors.EnumDescriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.scalaDescriptor.enums(0)
}
/** Specifications for subsets.
*
* @param keys
* List of keys to match with the weighted cluster metadata.
* @param singleHostPerSubset
* Selects a mode of operation in which each subset has only one host. This mode uses the same rules for
* choosing a host, but updating hosts is faster, especially for large numbers of hosts.
*
* If a match is found to a host, that host will be used regardless of priority levels, unless the host is unhealthy.
*
* Currently, this mode is only supported if `subset_selectors` has only one entry, and `keys` contains
* only one entry.
*
* When this mode is enabled, configurations that contain more than one host with the same metadata value for the single key in `keys`
* will use only one of the hosts with the given key; no requests will be routed to the others. The cluster gauge
* :ref:`lb_subsets_single_host_per_subset_duplicate<config_cluster_manager_cluster_stats_subset_lb>` indicates how many duplicates are
* present in the current configuration.
* @param fallbackPolicy
* The behavior used when no endpoint subset matches the selected route's
* metadata.
* @param fallbackKeysSubset
* Subset of
* :ref:`keys<envoy_v3_api_field_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.keys>` used by
* :ref:`KEYS_SUBSET<envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.LbSubsetSelectorFallbackPolicy.KEYS_SUBSET>`
* fallback policy.
* It has to be a non empty list if KEYS_SUBSET fallback policy is selected.
* For any other fallback policy the parameter is not used and should not be set.
* Only values also present in
* :ref:`keys<envoy_v3_api_field_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.keys>` are allowed, but
* `fallback_keys_subset` cannot be equal to `keys`.
*/
@SerialVersionUID(0L)
final case class LbSubsetSelector(
keys: _root_.scala.Seq[_root_.scala.Predef.String] = _root_.scala.Seq.empty,
singleHostPerSubset: _root_.scala.Boolean = false,
fallbackPolicy: io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.LbSubsetSelectorFallbackPolicy = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.LbSubsetSelectorFallbackPolicy.NOT_DEFINED,
fallbackKeysSubset: _root_.scala.Seq[_root_.scala.Predef.String] = _root_.scala.Seq.empty,
unknownFields: _root_.scalapb.UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty
) extends scalapb.GeneratedMessage with scalapb.lenses.Updatable[LbSubsetSelector] {
@transient
private[this] var __serializedSizeMemoized: _root_.scala.Int = 0
private[this] def __computeSerializedSize(): _root_.scala.Int = {
var __size = 0
keys.foreach { __item =>
val __value = __item
__size += _root_.com.google.protobuf.CodedOutputStream.computeStringSize(1, __value)
}
{
val __value = singleHostPerSubset
if (__value != false) {
__size += _root_.com.google.protobuf.CodedOutputStream.computeBoolSize(4, __value)
}
};
{
val __value = fallbackPolicy.value
if (__value != 0) {
__size += _root_.com.google.protobuf.CodedOutputStream.computeEnumSize(2, __value)
}
};
fallbackKeysSubset.foreach { __item =>
val __value = __item
__size += _root_.com.google.protobuf.CodedOutputStream.computeStringSize(3, __value)
}
__size += unknownFields.serializedSize
__size
}
override def serializedSize: _root_.scala.Int = {
var __size = __serializedSizeMemoized
if (__size == 0) {
__size = __computeSerializedSize() + 1
__serializedSizeMemoized = __size
}
__size - 1
}
def writeTo(`_output__`: _root_.com.google.protobuf.CodedOutputStream): _root_.scala.Unit = {
keys.foreach { __v =>
val __m = __v
_output__.writeString(1, __m)
};
{
val __v = fallbackPolicy.value
if (__v != 0) {
_output__.writeEnum(2, __v)
}
};
fallbackKeysSubset.foreach { __v =>
val __m = __v
_output__.writeString(3, __m)
};
{
val __v = singleHostPerSubset
if (__v != false) {
_output__.writeBool(4, __v)
}
};
unknownFields.writeTo(_output__)
}
def clearKeys = copy(keys = _root_.scala.Seq.empty)
def addKeys(__vs: _root_.scala.Predef.String *): LbSubsetSelector = addAllKeys(__vs)
def addAllKeys(__vs: Iterable[_root_.scala.Predef.String]): LbSubsetSelector = copy(keys = keys ++ __vs)
def withKeys(__v: _root_.scala.Seq[_root_.scala.Predef.String]): LbSubsetSelector = copy(keys = __v)
def withSingleHostPerSubset(__v: _root_.scala.Boolean): LbSubsetSelector = copy(singleHostPerSubset = __v)
def withFallbackPolicy(__v: io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.LbSubsetSelectorFallbackPolicy): LbSubsetSelector = copy(fallbackPolicy = __v)
def clearFallbackKeysSubset = copy(fallbackKeysSubset = _root_.scala.Seq.empty)
def addFallbackKeysSubset(__vs: _root_.scala.Predef.String *): LbSubsetSelector = addAllFallbackKeysSubset(__vs)
def addAllFallbackKeysSubset(__vs: Iterable[_root_.scala.Predef.String]): LbSubsetSelector = copy(fallbackKeysSubset = fallbackKeysSubset ++ __vs)
def withFallbackKeysSubset(__v: _root_.scala.Seq[_root_.scala.Predef.String]): LbSubsetSelector = copy(fallbackKeysSubset = __v)
def withUnknownFields(__v: _root_.scalapb.UnknownFieldSet) = copy(unknownFields = __v)
def discardUnknownFields = copy(unknownFields = _root_.scalapb.UnknownFieldSet.empty)
def getFieldByNumber(__fieldNumber: _root_.scala.Int): _root_.scala.Any = {
(__fieldNumber: @_root_.scala.unchecked) match {
case 1 => keys
case 4 => {
val __t = singleHostPerSubset
if (__t != false) __t else null
}
case 2 => {
val __t = fallbackPolicy.javaValueDescriptor
if (__t.getNumber() != 0) __t else null
}
case 3 => fallbackKeysSubset
}
}
def getField(__field: _root_.scalapb.descriptors.FieldDescriptor): _root_.scalapb.descriptors.PValue = {
_root_.scala.Predef.require(__field.containingMessage eq companion.scalaDescriptor)
(__field.number: @_root_.scala.unchecked) match {
case 1 => _root_.scalapb.descriptors.PRepeated(keys.iterator.map(_root_.scalapb.descriptors.PString(_)).toVector)
case 4 => _root_.scalapb.descriptors.PBoolean(singleHostPerSubset)
case 2 => _root_.scalapb.descriptors.PEnum(fallbackPolicy.scalaValueDescriptor)
case 3 => _root_.scalapb.descriptors.PRepeated(fallbackKeysSubset.iterator.map(_root_.scalapb.descriptors.PString(_)).toVector)
}
}
def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this)
def companion: io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.type = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector
// @@protoc_insertion_point(GeneratedMessage[envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector])
}
object LbSubsetSelector extends scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector] {
implicit def messageCompanion: scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector] = this
def parseFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector = {
val __keys: _root_.scala.collection.immutable.VectorBuilder[_root_.scala.Predef.String] = new _root_.scala.collection.immutable.VectorBuilder[_root_.scala.Predef.String]
var __singleHostPerSubset: _root_.scala.Boolean = false
var __fallbackPolicy: io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.LbSubsetSelectorFallbackPolicy = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.LbSubsetSelectorFallbackPolicy.NOT_DEFINED
val __fallbackKeysSubset: _root_.scala.collection.immutable.VectorBuilder[_root_.scala.Predef.String] = new _root_.scala.collection.immutable.VectorBuilder[_root_.scala.Predef.String]
var `_unknownFields__`: _root_.scalapb.UnknownFieldSet.Builder = null
var _done__ = false
while (!_done__) {
val _tag__ = _input__.readTag()
_tag__ match {
case 0 => _done__ = true
case 10 =>
__keys += _input__.readStringRequireUtf8()
case 32 =>
__singleHostPerSubset = _input__.readBool()
case 16 =>
__fallbackPolicy = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.LbSubsetSelectorFallbackPolicy.fromValue(_input__.readEnum())
case 26 =>
__fallbackKeysSubset += _input__.readStringRequireUtf8()
case tag =>
if (_unknownFields__ == null) {
_unknownFields__ = new _root_.scalapb.UnknownFieldSet.Builder()
}
_unknownFields__.parseField(tag, _input__)
}
}
io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector(
keys = __keys.result(),
singleHostPerSubset = __singleHostPerSubset,
fallbackPolicy = __fallbackPolicy,
fallbackKeysSubset = __fallbackKeysSubset.result(),
unknownFields = if (_unknownFields__ == null) _root_.scalapb.UnknownFieldSet.empty else _unknownFields__.result()
)
}
implicit def messageReads: _root_.scalapb.descriptors.Reads[io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector] = _root_.scalapb.descriptors.Reads{
case _root_.scalapb.descriptors.PMessage(__fieldsMap) =>
_root_.scala.Predef.require(__fieldsMap.keys.forall(_.containingMessage eq scalaDescriptor), "FieldDescriptor does not match message type.")
io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector(
keys = __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).map(_.as[_root_.scala.Seq[_root_.scala.Predef.String]]).getOrElse(_root_.scala.Seq.empty),
singleHostPerSubset = __fieldsMap.get(scalaDescriptor.findFieldByNumber(4).get).map(_.as[_root_.scala.Boolean]).getOrElse(false),
fallbackPolicy = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.LbSubsetSelectorFallbackPolicy.fromValue(__fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).map(_.as[_root_.scalapb.descriptors.EnumValueDescriptor]).getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.LbSubsetSelectorFallbackPolicy.NOT_DEFINED.scalaValueDescriptor).number),
fallbackKeysSubset = __fieldsMap.get(scalaDescriptor.findFieldByNumber(3).get).map(_.as[_root_.scala.Seq[_root_.scala.Predef.String]]).getOrElse(_root_.scala.Seq.empty)
)
case _ => throw new RuntimeException("Expected PMessage")
}
def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.javaDescriptor.getNestedTypes().get(0)
def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.scalaDescriptor.nestedMessages(0)
def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = throw new MatchError(__number)
lazy val nestedMessagesCompanions: Seq[_root_.scalapb.GeneratedMessageCompanion[_ <: _root_.scalapb.GeneratedMessage]] = Seq.empty
def enumCompanionForFieldNumber(__fieldNumber: _root_.scala.Int): _root_.scalapb.GeneratedEnumCompanion[_] = {
(__fieldNumber: @_root_.scala.unchecked) match {
case 2 => io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.LbSubsetSelectorFallbackPolicy
}
}
lazy val defaultInstance = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector(
keys = _root_.scala.Seq.empty,
singleHostPerSubset = false,
fallbackPolicy = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.LbSubsetSelectorFallbackPolicy.NOT_DEFINED,
fallbackKeysSubset = _root_.scala.Seq.empty
)
/** Allows to override top level fallback policy per selector.
*/
sealed abstract class LbSubsetSelectorFallbackPolicy(val value: _root_.scala.Int) extends _root_.scalapb.GeneratedEnum {
type EnumType = LbSubsetSelectorFallbackPolicy
def isNotDefined: _root_.scala.Boolean = false
def isNoFallback: _root_.scala.Boolean = false
def isAnyEndpoint: _root_.scala.Boolean = false
def isDefaultSubset: _root_.scala.Boolean = false
def isKeysSubset: _root_.scala.Boolean = false
def companion: _root_.scalapb.GeneratedEnumCompanion[LbSubsetSelectorFallbackPolicy] = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.LbSubsetSelectorFallbackPolicy
final def asRecognized: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.LbSubsetSelectorFallbackPolicy.Recognized] = if (isUnrecognized) _root_.scala.None else _root_.scala.Some(this.asInstanceOf[io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.LbSubsetSelectorFallbackPolicy.Recognized])
}
object LbSubsetSelectorFallbackPolicy extends _root_.scalapb.GeneratedEnumCompanion[LbSubsetSelectorFallbackPolicy] {
sealed trait Recognized extends LbSubsetSelectorFallbackPolicy
implicit def enumCompanion: _root_.scalapb.GeneratedEnumCompanion[LbSubsetSelectorFallbackPolicy] = this
/** If NOT_DEFINED top level config fallback policy is used instead.
*/
@SerialVersionUID(0L)
case object NOT_DEFINED extends LbSubsetSelectorFallbackPolicy(0) with LbSubsetSelectorFallbackPolicy.Recognized {
val index = 0
val name = "NOT_DEFINED"
override def isNotDefined: _root_.scala.Boolean = true
}
/** If NO_FALLBACK is selected, a result equivalent to no healthy hosts is reported.
*/
@SerialVersionUID(0L)
case object NO_FALLBACK extends LbSubsetSelectorFallbackPolicy(1) with LbSubsetSelectorFallbackPolicy.Recognized {
val index = 1
val name = "NO_FALLBACK"
override def isNoFallback: _root_.scala.Boolean = true
}
/** If ANY_ENDPOINT is selected, any cluster endpoint may be returned
* (subject to policy, health checks, etc).
*/
@SerialVersionUID(0L)
case object ANY_ENDPOINT extends LbSubsetSelectorFallbackPolicy(2) with LbSubsetSelectorFallbackPolicy.Recognized {
val index = 2
val name = "ANY_ENDPOINT"
override def isAnyEndpoint: _root_.scala.Boolean = true
}
/** If DEFAULT_SUBSET is selected, load balancing is performed over the
* endpoints matching the values from the default_subset field.
*/
@SerialVersionUID(0L)
case object DEFAULT_SUBSET extends LbSubsetSelectorFallbackPolicy(3) with LbSubsetSelectorFallbackPolicy.Recognized {
val index = 3
val name = "DEFAULT_SUBSET"
override def isDefaultSubset: _root_.scala.Boolean = true
}
/** If KEYS_SUBSET is selected, subset selector matching is performed again with metadata
* keys reduced to
* :ref:`fallback_keys_subset<envoy_v3_api_field_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.fallback_keys_subset>`.
* It allows for a fallback to a different, less specific selector if some of the keys of
* the selector are considered optional.
*/
@SerialVersionUID(0L)
case object KEYS_SUBSET extends LbSubsetSelectorFallbackPolicy(4) with LbSubsetSelectorFallbackPolicy.Recognized {
val index = 4
val name = "KEYS_SUBSET"
override def isKeysSubset: _root_.scala.Boolean = true
}
@SerialVersionUID(0L)
final case class Unrecognized(unrecognizedValue: _root_.scala.Int) extends LbSubsetSelectorFallbackPolicy(unrecognizedValue) with _root_.scalapb.UnrecognizedEnum
lazy val values = scala.collection.immutable.Seq(NOT_DEFINED, NO_FALLBACK, ANY_ENDPOINT, DEFAULT_SUBSET, KEYS_SUBSET)
def fromValue(__value: _root_.scala.Int): LbSubsetSelectorFallbackPolicy = __value match {
case 0 => NOT_DEFINED
case 1 => NO_FALLBACK
case 2 => ANY_ENDPOINT
case 3 => DEFAULT_SUBSET
case 4 => KEYS_SUBSET
case __other => Unrecognized(__other)
}
def javaDescriptor: _root_.com.google.protobuf.Descriptors.EnumDescriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.javaDescriptor.getEnumTypes().get(0)
def scalaDescriptor: _root_.scalapb.descriptors.EnumDescriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.scalaDescriptor.enums(0)
}
implicit class LbSubsetSelectorLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector](_l) {
def keys: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Seq[_root_.scala.Predef.String]] = field(_.keys)((c_, f_) => c_.copy(keys = f_))
def singleHostPerSubset: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Boolean] = field(_.singleHostPerSubset)((c_, f_) => c_.copy(singleHostPerSubset = f_))
def fallbackPolicy: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.LbSubsetSelectorFallbackPolicy] = field(_.fallbackPolicy)((c_, f_) => c_.copy(fallbackPolicy = f_))
def fallbackKeysSubset: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Seq[_root_.scala.Predef.String]] = field(_.fallbackKeysSubset)((c_, f_) => c_.copy(fallbackKeysSubset = f_))
}
final val KEYS_FIELD_NUMBER = 1
final val SINGLE_HOST_PER_SUBSET_FIELD_NUMBER = 4
final val FALLBACK_POLICY_FIELD_NUMBER = 2
final val FALLBACK_KEYS_SUBSET_FIELD_NUMBER = 3
def of(
keys: _root_.scala.Seq[_root_.scala.Predef.String],
singleHostPerSubset: _root_.scala.Boolean,
fallbackPolicy: io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.LbSubsetSelectorFallbackPolicy,
fallbackKeysSubset: _root_.scala.Seq[_root_.scala.Predef.String]
): _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector = _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector(
keys,
singleHostPerSubset,
fallbackPolicy,
fallbackKeysSubset
)
// @@protoc_insertion_point(GeneratedMessageCompanion[envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector])
}
implicit class LbSubsetConfigLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig](_l) {
def fallbackPolicy: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy] = field(_.fallbackPolicy)((c_, f_) => c_.copy(fallbackPolicy = f_))
def defaultSubset: _root_.scalapb.lenses.Lens[UpperPB, com.google.protobuf.struct.Struct] = field(_.getDefaultSubset)((c_, f_) => c_.copy(defaultSubset = Option(f_)))
def optionalDefaultSubset: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[com.google.protobuf.struct.Struct]] = field(_.defaultSubset)((c_, f_) => c_.copy(defaultSubset = f_))
def subsetSelectors: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Seq[io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector]] = field(_.subsetSelectors)((c_, f_) => c_.copy(subsetSelectors = f_))
def localityWeightAware: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Boolean] = field(_.localityWeightAware)((c_, f_) => c_.copy(localityWeightAware = f_))
def scaleLocalityWeight: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Boolean] = field(_.scaleLocalityWeight)((c_, f_) => c_.copy(scaleLocalityWeight = f_))
def panicModeAny: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Boolean] = field(_.panicModeAny)((c_, f_) => c_.copy(panicModeAny = f_))
def listAsAny: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Boolean] = field(_.listAsAny)((c_, f_) => c_.copy(listAsAny = f_))
}
final val FALLBACK_POLICY_FIELD_NUMBER = 1
final val DEFAULT_SUBSET_FIELD_NUMBER = 2
final val SUBSET_SELECTORS_FIELD_NUMBER = 3
final val LOCALITY_WEIGHT_AWARE_FIELD_NUMBER = 4
final val SCALE_LOCALITY_WEIGHT_FIELD_NUMBER = 5
final val PANIC_MODE_ANY_FIELD_NUMBER = 6
final val LIST_AS_ANY_FIELD_NUMBER = 7
def of(
fallbackPolicy: io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy,
defaultSubset: _root_.scala.Option[com.google.protobuf.struct.Struct],
subsetSelectors: _root_.scala.Seq[io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector],
localityWeightAware: _root_.scala.Boolean,
scaleLocalityWeight: _root_.scala.Boolean,
panicModeAny: _root_.scala.Boolean,
listAsAny: _root_.scala.Boolean
): _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig = _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig(
fallbackPolicy,
defaultSubset,
subsetSelectors,
localityWeightAware,
scaleLocalityWeight,
panicModeAny,
listAsAny
)
// @@protoc_insertion_point(GeneratedMessageCompanion[envoy.config.cluster.v3.Cluster.LbSubsetConfig])
}
/** Configuration for :ref:`slow start mode <arch_overview_load_balancing_slow_start>`.
*
* @param slowStartWindow
* Represents the size of slow start window.
* If set, the newly created host remains in slow start mode starting from its creation time
* for the duration of slow start window.
* @param aggression
* This parameter controls the speed of traffic increase over the slow start window. Defaults to 1.0,
* so that endpoint would get linearly increasing amount of traffic.
* When increasing the value for this parameter, the speed of traffic ramp-up increases non-linearly.
* The value of aggression parameter should be greater than 0.0.
* By tuning the parameter, is possible to achieve polynomial or exponential shape of ramp-up curve.
*
* During slow start window, effective weight of an endpoint would be scaled with time factor and aggression:
* `new_weight = weight * max(min_weight_percent, time_factor ^ (1 / aggression))`,
* where `time_factor=(time_since_start_seconds / slow_start_time_seconds)`.
*
* As time progresses, more and more traffic would be sent to endpoint, which is in slow start window.
* Once host exits slow start, time_factor and aggression no longer affect its weight.
* @param minWeightPercent
* Configures the minimum percentage of origin weight that avoids too small new weight,
* which may cause endpoints in slow start mode receive no traffic in slow start window.
* If not specified, the default is 10%.
*/
@SerialVersionUID(0L)
final case class SlowStartConfig(
slowStartWindow: _root_.scala.Option[com.google.protobuf.duration.Duration] = _root_.scala.None,
aggression: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.RuntimeDouble] = _root_.scala.None,
minWeightPercent: _root_.scala.Option[io.envoyproxy.envoy.`type`.v3.Percent] = _root_.scala.None,
unknownFields: _root_.scalapb.UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty
) extends scalapb.GeneratedMessage with scalapb.lenses.Updatable[SlowStartConfig] {
@transient
private[this] var __serializedSizeMemoized: _root_.scala.Int = 0
private[this] def __computeSerializedSize(): _root_.scala.Int = {
var __size = 0
if (slowStartWindow.isDefined) {
val __value = slowStartWindow.get
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (aggression.isDefined) {
val __value = aggression.get
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (minWeightPercent.isDefined) {
val __value = minWeightPercent.get
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
__size += unknownFields.serializedSize
__size
}
override def serializedSize: _root_.scala.Int = {
var __size = __serializedSizeMemoized
if (__size == 0) {
__size = __computeSerializedSize() + 1
__serializedSizeMemoized = __size
}
__size - 1
}
def writeTo(`_output__`: _root_.com.google.protobuf.CodedOutputStream): _root_.scala.Unit = {
slowStartWindow.foreach { __v =>
val __m = __v
_output__.writeTag(1, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
aggression.foreach { __v =>
val __m = __v
_output__.writeTag(2, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
minWeightPercent.foreach { __v =>
val __m = __v
_output__.writeTag(3, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
unknownFields.writeTo(_output__)
}
def getSlowStartWindow: com.google.protobuf.duration.Duration = slowStartWindow.getOrElse(com.google.protobuf.duration.Duration.defaultInstance)
def clearSlowStartWindow: SlowStartConfig = copy(slowStartWindow = _root_.scala.None)
def withSlowStartWindow(__v: com.google.protobuf.duration.Duration): SlowStartConfig = copy(slowStartWindow = Option(__v))
def getAggression: io.envoyproxy.envoy.config.core.v3.RuntimeDouble = aggression.getOrElse(io.envoyproxy.envoy.config.core.v3.RuntimeDouble.defaultInstance)
def clearAggression: SlowStartConfig = copy(aggression = _root_.scala.None)
def withAggression(__v: io.envoyproxy.envoy.config.core.v3.RuntimeDouble): SlowStartConfig = copy(aggression = Option(__v))
def getMinWeightPercent: io.envoyproxy.envoy.`type`.v3.Percent = minWeightPercent.getOrElse(io.envoyproxy.envoy.`type`.v3.Percent.defaultInstance)
def clearMinWeightPercent: SlowStartConfig = copy(minWeightPercent = _root_.scala.None)
def withMinWeightPercent(__v: io.envoyproxy.envoy.`type`.v3.Percent): SlowStartConfig = copy(minWeightPercent = Option(__v))
def withUnknownFields(__v: _root_.scalapb.UnknownFieldSet) = copy(unknownFields = __v)
def discardUnknownFields = copy(unknownFields = _root_.scalapb.UnknownFieldSet.empty)
def getFieldByNumber(__fieldNumber: _root_.scala.Int): _root_.scala.Any = {
(__fieldNumber: @_root_.scala.unchecked) match {
case 1 => slowStartWindow.orNull
case 2 => aggression.orNull
case 3 => minWeightPercent.orNull
}
}
def getField(__field: _root_.scalapb.descriptors.FieldDescriptor): _root_.scalapb.descriptors.PValue = {
_root_.scala.Predef.require(__field.containingMessage eq companion.scalaDescriptor)
(__field.number: @_root_.scala.unchecked) match {
case 1 => slowStartWindow.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 2 => aggression.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 3 => minWeightPercent.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
}
}
def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this)
def companion: io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig.type = io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig
// @@protoc_insertion_point(GeneratedMessage[envoy.config.cluster.v3.Cluster.SlowStartConfig])
}
object SlowStartConfig extends scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig] {
implicit def messageCompanion: scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig] = this
def parseFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig = {
var __slowStartWindow: _root_.scala.Option[com.google.protobuf.duration.Duration] = _root_.scala.None
var __aggression: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.RuntimeDouble] = _root_.scala.None
var __minWeightPercent: _root_.scala.Option[io.envoyproxy.envoy.`type`.v3.Percent] = _root_.scala.None
var `_unknownFields__`: _root_.scalapb.UnknownFieldSet.Builder = null
var _done__ = false
while (!_done__) {
val _tag__ = _input__.readTag()
_tag__ match {
case 0 => _done__ = true
case 10 =>
__slowStartWindow = Option(__slowStartWindow.fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.duration.Duration](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 18 =>
__aggression = Option(__aggression.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.core.v3.RuntimeDouble](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 26 =>
__minWeightPercent = Option(__minWeightPercent.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.`type`.v3.Percent](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case tag =>
if (_unknownFields__ == null) {
_unknownFields__ = new _root_.scalapb.UnknownFieldSet.Builder()
}
_unknownFields__.parseField(tag, _input__)
}
}
io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig(
slowStartWindow = __slowStartWindow,
aggression = __aggression,
minWeightPercent = __minWeightPercent,
unknownFields = if (_unknownFields__ == null) _root_.scalapb.UnknownFieldSet.empty else _unknownFields__.result()
)
}
implicit def messageReads: _root_.scalapb.descriptors.Reads[io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig] = _root_.scalapb.descriptors.Reads{
case _root_.scalapb.descriptors.PMessage(__fieldsMap) =>
_root_.scala.Predef.require(__fieldsMap.keys.forall(_.containingMessage eq scalaDescriptor), "FieldDescriptor does not match message type.")
io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig(
slowStartWindow = __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.duration.Duration]]),
aggression = __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.core.v3.RuntimeDouble]]),
minWeightPercent = __fieldsMap.get(scalaDescriptor.findFieldByNumber(3).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.`type`.v3.Percent]])
)
case _ => throw new RuntimeException("Expected PMessage")
}
def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.javaDescriptor.getNestedTypes().get(4)
def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.scalaDescriptor.nestedMessages(4)
def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = {
var __out: _root_.scalapb.GeneratedMessageCompanion[_] = null
(__number: @_root_.scala.unchecked) match {
case 1 => __out = com.google.protobuf.duration.Duration
case 2 => __out = io.envoyproxy.envoy.config.core.v3.RuntimeDouble
case 3 => __out = io.envoyproxy.envoy.`type`.v3.Percent
}
__out
}
lazy val nestedMessagesCompanions: Seq[_root_.scalapb.GeneratedMessageCompanion[_ <: _root_.scalapb.GeneratedMessage]] = Seq.empty
def enumCompanionForFieldNumber(__fieldNumber: _root_.scala.Int): _root_.scalapb.GeneratedEnumCompanion[_] = throw new MatchError(__fieldNumber)
lazy val defaultInstance = io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig(
slowStartWindow = _root_.scala.None,
aggression = _root_.scala.None,
minWeightPercent = _root_.scala.None
)
implicit class SlowStartConfigLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig](_l) {
def slowStartWindow: _root_.scalapb.lenses.Lens[UpperPB, com.google.protobuf.duration.Duration] = field(_.getSlowStartWindow)((c_, f_) => c_.copy(slowStartWindow = Option(f_)))
def optionalSlowStartWindow: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[com.google.protobuf.duration.Duration]] = field(_.slowStartWindow)((c_, f_) => c_.copy(slowStartWindow = f_))
def aggression: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.core.v3.RuntimeDouble] = field(_.getAggression)((c_, f_) => c_.copy(aggression = Option(f_)))
def optionalAggression: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.RuntimeDouble]] = field(_.aggression)((c_, f_) => c_.copy(aggression = f_))
def minWeightPercent: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.`type`.v3.Percent] = field(_.getMinWeightPercent)((c_, f_) => c_.copy(minWeightPercent = Option(f_)))
def optionalMinWeightPercent: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.`type`.v3.Percent]] = field(_.minWeightPercent)((c_, f_) => c_.copy(minWeightPercent = f_))
}
final val SLOW_START_WINDOW_FIELD_NUMBER = 1
final val AGGRESSION_FIELD_NUMBER = 2
final val MIN_WEIGHT_PERCENT_FIELD_NUMBER = 3
def of(
slowStartWindow: _root_.scala.Option[com.google.protobuf.duration.Duration],
aggression: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.RuntimeDouble],
minWeightPercent: _root_.scala.Option[io.envoyproxy.envoy.`type`.v3.Percent]
): _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig = _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig(
slowStartWindow,
aggression,
minWeightPercent
)
// @@protoc_insertion_point(GeneratedMessageCompanion[envoy.config.cluster.v3.Cluster.SlowStartConfig])
}
/** Specific configuration for the RoundRobin load balancing policy.
*
* @param slowStartConfig
* Configuration for slow start mode.
* If this configuration is not set, slow start will not be not enabled.
*/
@SerialVersionUID(0L)
final case class RoundRobinLbConfig(
slowStartConfig: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig] = _root_.scala.None,
unknownFields: _root_.scalapb.UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty
) extends scalapb.GeneratedMessage with scalapb.lenses.Updatable[RoundRobinLbConfig] {
@transient
private[this] var __serializedSizeMemoized: _root_.scala.Int = 0
private[this] def __computeSerializedSize(): _root_.scala.Int = {
var __size = 0
if (slowStartConfig.isDefined) {
val __value = slowStartConfig.get
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
__size += unknownFields.serializedSize
__size
}
override def serializedSize: _root_.scala.Int = {
var __size = __serializedSizeMemoized
if (__size == 0) {
__size = __computeSerializedSize() + 1
__serializedSizeMemoized = __size
}
__size - 1
}
def writeTo(`_output__`: _root_.com.google.protobuf.CodedOutputStream): _root_.scala.Unit = {
slowStartConfig.foreach { __v =>
val __m = __v
_output__.writeTag(1, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
unknownFields.writeTo(_output__)
}
def getSlowStartConfig: io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig = slowStartConfig.getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig.defaultInstance)
def clearSlowStartConfig: RoundRobinLbConfig = copy(slowStartConfig = _root_.scala.None)
def withSlowStartConfig(__v: io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig): RoundRobinLbConfig = copy(slowStartConfig = Option(__v))
def withUnknownFields(__v: _root_.scalapb.UnknownFieldSet) = copy(unknownFields = __v)
def discardUnknownFields = copy(unknownFields = _root_.scalapb.UnknownFieldSet.empty)
def getFieldByNumber(__fieldNumber: _root_.scala.Int): _root_.scala.Any = {
(__fieldNumber: @_root_.scala.unchecked) match {
case 1 => slowStartConfig.orNull
}
}
def getField(__field: _root_.scalapb.descriptors.FieldDescriptor): _root_.scalapb.descriptors.PValue = {
_root_.scala.Predef.require(__field.containingMessage eq companion.scalaDescriptor)
(__field.number: @_root_.scala.unchecked) match {
case 1 => slowStartConfig.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
}
}
def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this)
def companion: io.envoyproxy.envoy.config.cluster.v3.Cluster.RoundRobinLbConfig.type = io.envoyproxy.envoy.config.cluster.v3.Cluster.RoundRobinLbConfig
// @@protoc_insertion_point(GeneratedMessage[envoy.config.cluster.v3.Cluster.RoundRobinLbConfig])
}
object RoundRobinLbConfig extends scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.RoundRobinLbConfig] {
implicit def messageCompanion: scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.RoundRobinLbConfig] = this
def parseFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): io.envoyproxy.envoy.config.cluster.v3.Cluster.RoundRobinLbConfig = {
var __slowStartConfig: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig] = _root_.scala.None
var `_unknownFields__`: _root_.scalapb.UnknownFieldSet.Builder = null
var _done__ = false
while (!_done__) {
val _tag__ = _input__.readTag()
_tag__ match {
case 0 => _done__ = true
case 10 =>
__slowStartConfig = Option(__slowStartConfig.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case tag =>
if (_unknownFields__ == null) {
_unknownFields__ = new _root_.scalapb.UnknownFieldSet.Builder()
}
_unknownFields__.parseField(tag, _input__)
}
}
io.envoyproxy.envoy.config.cluster.v3.Cluster.RoundRobinLbConfig(
slowStartConfig = __slowStartConfig,
unknownFields = if (_unknownFields__ == null) _root_.scalapb.UnknownFieldSet.empty else _unknownFields__.result()
)
}
implicit def messageReads: _root_.scalapb.descriptors.Reads[io.envoyproxy.envoy.config.cluster.v3.Cluster.RoundRobinLbConfig] = _root_.scalapb.descriptors.Reads{
case _root_.scalapb.descriptors.PMessage(__fieldsMap) =>
_root_.scala.Predef.require(__fieldsMap.keys.forall(_.containingMessage eq scalaDescriptor), "FieldDescriptor does not match message type.")
io.envoyproxy.envoy.config.cluster.v3.Cluster.RoundRobinLbConfig(
slowStartConfig = __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig]])
)
case _ => throw new RuntimeException("Expected PMessage")
}
def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.javaDescriptor.getNestedTypes().get(5)
def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.scalaDescriptor.nestedMessages(5)
def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = {
var __out: _root_.scalapb.GeneratedMessageCompanion[_] = null
(__number: @_root_.scala.unchecked) match {
case 1 => __out = io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig
}
__out
}
lazy val nestedMessagesCompanions: Seq[_root_.scalapb.GeneratedMessageCompanion[_ <: _root_.scalapb.GeneratedMessage]] = Seq.empty
def enumCompanionForFieldNumber(__fieldNumber: _root_.scala.Int): _root_.scalapb.GeneratedEnumCompanion[_] = throw new MatchError(__fieldNumber)
lazy val defaultInstance = io.envoyproxy.envoy.config.cluster.v3.Cluster.RoundRobinLbConfig(
slowStartConfig = _root_.scala.None
)
implicit class RoundRobinLbConfigLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.RoundRobinLbConfig]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.RoundRobinLbConfig](_l) {
def slowStartConfig: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig] = field(_.getSlowStartConfig)((c_, f_) => c_.copy(slowStartConfig = Option(f_)))
def optionalSlowStartConfig: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig]] = field(_.slowStartConfig)((c_, f_) => c_.copy(slowStartConfig = f_))
}
final val SLOW_START_CONFIG_FIELD_NUMBER = 1
def of(
slowStartConfig: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig]
): _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.RoundRobinLbConfig = _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.RoundRobinLbConfig(
slowStartConfig
)
// @@protoc_insertion_point(GeneratedMessageCompanion[envoy.config.cluster.v3.Cluster.RoundRobinLbConfig])
}
/** Specific configuration for the LeastRequest load balancing policy.
*
* @param choiceCount
* The number of random healthy hosts from which the host with the fewest active requests will
* be chosen. Defaults to 2 so that we perform two-choice selection if the field is not set.
* @param activeRequestBias
* The following formula is used to calculate the dynamic weights when hosts have different load
* balancing weights:
*
* `weight = load_balancing_weight / (active_requests + 1)^active_request_bias`
*
* The larger the active request bias is, the more aggressively active requests will lower the
* effective weight when all host weights are not equal.
*
* `active_request_bias` must be greater than or equal to 0.0.
*
* When `active_request_bias == 0.0` the Least Request Load Balancer doesn't consider the number
* of active requests at the time it picks a host and behaves like the Round Robin Load
* Balancer.
*
* When `active_request_bias > 0.0` the Least Request Load Balancer scales the load balancing
* weight by the number of active requests at the time it does a pick.
*
* The value is cached for performance reasons and refreshed whenever one of the Load Balancer's
* host sets changes, e.g., whenever there is a host membership update or a host load balancing
* weight change.
*
* .. note::
* This setting only takes effect if all host weights are not equal.
* @param slowStartConfig
* Configuration for slow start mode.
* If this configuration is not set, slow start will not be not enabled.
*/
@SerialVersionUID(0L)
final case class LeastRequestLbConfig(
choiceCount: _root_.scala.Option[_root_.scala.Int] = _root_.scala.None,
activeRequestBias: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.RuntimeDouble] = _root_.scala.None,
slowStartConfig: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig] = _root_.scala.None,
unknownFields: _root_.scalapb.UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty
) extends scalapb.GeneratedMessage with scalapb.lenses.Updatable[LeastRequestLbConfig] {
@transient
private[this] var __serializedSizeMemoized: _root_.scala.Int = 0
private[this] def __computeSerializedSize(): _root_.scala.Int = {
var __size = 0
if (choiceCount.isDefined) {
val __value = io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig._typemapper_choiceCount.toBase(choiceCount.get)
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (activeRequestBias.isDefined) {
val __value = activeRequestBias.get
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (slowStartConfig.isDefined) {
val __value = slowStartConfig.get
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
__size += unknownFields.serializedSize
__size
}
override def serializedSize: _root_.scala.Int = {
var __size = __serializedSizeMemoized
if (__size == 0) {
__size = __computeSerializedSize() + 1
__serializedSizeMemoized = __size
}
__size - 1
}
def writeTo(`_output__`: _root_.com.google.protobuf.CodedOutputStream): _root_.scala.Unit = {
choiceCount.foreach { __v =>
val __m = io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig._typemapper_choiceCount.toBase(__v)
_output__.writeTag(1, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
activeRequestBias.foreach { __v =>
val __m = __v
_output__.writeTag(2, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
slowStartConfig.foreach { __v =>
val __m = __v
_output__.writeTag(3, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
unknownFields.writeTo(_output__)
}
def getChoiceCount: _root_.scala.Int = choiceCount.getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig._typemapper_choiceCount.toCustom(com.google.protobuf.wrappers.UInt32Value.defaultInstance))
def clearChoiceCount: LeastRequestLbConfig = copy(choiceCount = _root_.scala.None)
def withChoiceCount(__v: _root_.scala.Int): LeastRequestLbConfig = copy(choiceCount = Option(__v))
def getActiveRequestBias: io.envoyproxy.envoy.config.core.v3.RuntimeDouble = activeRequestBias.getOrElse(io.envoyproxy.envoy.config.core.v3.RuntimeDouble.defaultInstance)
def clearActiveRequestBias: LeastRequestLbConfig = copy(activeRequestBias = _root_.scala.None)
def withActiveRequestBias(__v: io.envoyproxy.envoy.config.core.v3.RuntimeDouble): LeastRequestLbConfig = copy(activeRequestBias = Option(__v))
def getSlowStartConfig: io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig = slowStartConfig.getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig.defaultInstance)
def clearSlowStartConfig: LeastRequestLbConfig = copy(slowStartConfig = _root_.scala.None)
def withSlowStartConfig(__v: io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig): LeastRequestLbConfig = copy(slowStartConfig = Option(__v))
def withUnknownFields(__v: _root_.scalapb.UnknownFieldSet) = copy(unknownFields = __v)
def discardUnknownFields = copy(unknownFields = _root_.scalapb.UnknownFieldSet.empty)
def getFieldByNumber(__fieldNumber: _root_.scala.Int): _root_.scala.Any = {
(__fieldNumber: @_root_.scala.unchecked) match {
case 1 => choiceCount.map(io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig._typemapper_choiceCount.toBase(_)).orNull
case 2 => activeRequestBias.orNull
case 3 => slowStartConfig.orNull
}
}
def getField(__field: _root_.scalapb.descriptors.FieldDescriptor): _root_.scalapb.descriptors.PValue = {
_root_.scala.Predef.require(__field.containingMessage eq companion.scalaDescriptor)
(__field.number: @_root_.scala.unchecked) match {
case 1 => choiceCount.map(io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig._typemapper_choiceCount.toBase(_).toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 2 => activeRequestBias.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 3 => slowStartConfig.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
}
}
def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this)
def companion: io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig.type = io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig
// @@protoc_insertion_point(GeneratedMessage[envoy.config.cluster.v3.Cluster.LeastRequestLbConfig])
}
object LeastRequestLbConfig extends scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig] {
implicit def messageCompanion: scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig] = this
def parseFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig = {
var __choiceCount: _root_.scala.Option[_root_.scala.Int] = _root_.scala.None
var __activeRequestBias: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.RuntimeDouble] = _root_.scala.None
var __slowStartConfig: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig] = _root_.scala.None
var `_unknownFields__`: _root_.scalapb.UnknownFieldSet.Builder = null
var _done__ = false
while (!_done__) {
val _tag__ = _input__.readTag()
_tag__ match {
case 0 => _done__ = true
case 10 =>
__choiceCount = Option(io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig._typemapper_choiceCount.toCustom(__choiceCount.map(io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig._typemapper_choiceCount.toBase(_)).fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.wrappers.UInt32Value](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _))))
case 18 =>
__activeRequestBias = Option(__activeRequestBias.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.core.v3.RuntimeDouble](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 26 =>
__slowStartConfig = Option(__slowStartConfig.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case tag =>
if (_unknownFields__ == null) {
_unknownFields__ = new _root_.scalapb.UnknownFieldSet.Builder()
}
_unknownFields__.parseField(tag, _input__)
}
}
io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig(
choiceCount = __choiceCount,
activeRequestBias = __activeRequestBias,
slowStartConfig = __slowStartConfig,
unknownFields = if (_unknownFields__ == null) _root_.scalapb.UnknownFieldSet.empty else _unknownFields__.result()
)
}
implicit def messageReads: _root_.scalapb.descriptors.Reads[io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig] = _root_.scalapb.descriptors.Reads{
case _root_.scalapb.descriptors.PMessage(__fieldsMap) =>
_root_.scala.Predef.require(__fieldsMap.keys.forall(_.containingMessage eq scalaDescriptor), "FieldDescriptor does not match message type.")
io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig(
choiceCount = __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.wrappers.UInt32Value]]).map(io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig._typemapper_choiceCount.toCustom(_)),
activeRequestBias = __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.core.v3.RuntimeDouble]]),
slowStartConfig = __fieldsMap.get(scalaDescriptor.findFieldByNumber(3).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig]])
)
case _ => throw new RuntimeException("Expected PMessage")
}
def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.javaDescriptor.getNestedTypes().get(6)
def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.scalaDescriptor.nestedMessages(6)
def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = {
var __out: _root_.scalapb.GeneratedMessageCompanion[_] = null
(__number: @_root_.scala.unchecked) match {
case 1 => __out = com.google.protobuf.wrappers.UInt32Value
case 2 => __out = io.envoyproxy.envoy.config.core.v3.RuntimeDouble
case 3 => __out = io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig
}
__out
}
lazy val nestedMessagesCompanions: Seq[_root_.scalapb.GeneratedMessageCompanion[_ <: _root_.scalapb.GeneratedMessage]] = Seq.empty
def enumCompanionForFieldNumber(__fieldNumber: _root_.scala.Int): _root_.scalapb.GeneratedEnumCompanion[_] = throw new MatchError(__fieldNumber)
lazy val defaultInstance = io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig(
choiceCount = _root_.scala.None,
activeRequestBias = _root_.scala.None,
slowStartConfig = _root_.scala.None
)
implicit class LeastRequestLbConfigLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig](_l) {
def choiceCount: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Int] = field(_.getChoiceCount)((c_, f_) => c_.copy(choiceCount = Option(f_)))
def optionalChoiceCount: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[_root_.scala.Int]] = field(_.choiceCount)((c_, f_) => c_.copy(choiceCount = f_))
def activeRequestBias: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.core.v3.RuntimeDouble] = field(_.getActiveRequestBias)((c_, f_) => c_.copy(activeRequestBias = Option(f_)))
def optionalActiveRequestBias: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.RuntimeDouble]] = field(_.activeRequestBias)((c_, f_) => c_.copy(activeRequestBias = f_))
def slowStartConfig: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig] = field(_.getSlowStartConfig)((c_, f_) => c_.copy(slowStartConfig = Option(f_)))
def optionalSlowStartConfig: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig]] = field(_.slowStartConfig)((c_, f_) => c_.copy(slowStartConfig = f_))
}
final val CHOICE_COUNT_FIELD_NUMBER = 1
final val ACTIVE_REQUEST_BIAS_FIELD_NUMBER = 2
final val SLOW_START_CONFIG_FIELD_NUMBER = 3
@transient
private[v3] val _typemapper_choiceCount: _root_.scalapb.TypeMapper[com.google.protobuf.wrappers.UInt32Value, _root_.scala.Int] = implicitly[_root_.scalapb.TypeMapper[com.google.protobuf.wrappers.UInt32Value, _root_.scala.Int]]
def of(
choiceCount: _root_.scala.Option[_root_.scala.Int],
activeRequestBias: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.RuntimeDouble],
slowStartConfig: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.SlowStartConfig]
): _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig = _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig(
choiceCount,
activeRequestBias,
slowStartConfig
)
// @@protoc_insertion_point(GeneratedMessageCompanion[envoy.config.cluster.v3.Cluster.LeastRequestLbConfig])
}
/** Specific configuration for the :ref:`RingHash<arch_overview_load_balancing_types_ring_hash>`
* load balancing policy.
*
* @param minimumRingSize
* Minimum hash ring size. The larger the ring is (that is, the more hashes there are for each
* provided host) the better the request distribution will reflect the desired weights. Defaults
* to 1024 entries, and limited to 8M entries. See also
* :ref:`maximum_ring_size<envoy_v3_api_field_config.cluster.v3.Cluster.RingHashLbConfig.maximum_ring_size>`.
* @param hashFunction
* The hash function used to hash hosts onto the ketama ring. The value defaults to
* :ref:`XX_HASH<envoy_v3_api_enum_value_config.cluster.v3.Cluster.RingHashLbConfig.HashFunction.XX_HASH>`.
* @param maximumRingSize
* Maximum hash ring size. Defaults to 8M entries, and limited to 8M entries, but can be lowered
* to further constrain resource use. See also
* :ref:`minimum_ring_size<envoy_v3_api_field_config.cluster.v3.Cluster.RingHashLbConfig.minimum_ring_size>`.
*/
@SerialVersionUID(0L)
final case class RingHashLbConfig(
minimumRingSize: _root_.scala.Option[_root_.scala.Long] = _root_.scala.None,
hashFunction: io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig.HashFunction = io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig.HashFunction.XX_HASH,
maximumRingSize: _root_.scala.Option[_root_.scala.Long] = _root_.scala.None,
unknownFields: _root_.scalapb.UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty
) extends scalapb.GeneratedMessage with scalapb.lenses.Updatable[RingHashLbConfig] {
@transient
private[this] var __serializedSizeMemoized: _root_.scala.Int = 0
private[this] def __computeSerializedSize(): _root_.scala.Int = {
var __size = 0
if (minimumRingSize.isDefined) {
val __value = io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig._typemapper_minimumRingSize.toBase(minimumRingSize.get)
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
{
val __value = hashFunction.value
if (__value != 0) {
__size += _root_.com.google.protobuf.CodedOutputStream.computeEnumSize(3, __value)
}
};
if (maximumRingSize.isDefined) {
val __value = io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig._typemapper_maximumRingSize.toBase(maximumRingSize.get)
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
__size += unknownFields.serializedSize
__size
}
override def serializedSize: _root_.scala.Int = {
var __size = __serializedSizeMemoized
if (__size == 0) {
__size = __computeSerializedSize() + 1
__serializedSizeMemoized = __size
}
__size - 1
}
def writeTo(`_output__`: _root_.com.google.protobuf.CodedOutputStream): _root_.scala.Unit = {
minimumRingSize.foreach { __v =>
val __m = io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig._typemapper_minimumRingSize.toBase(__v)
_output__.writeTag(1, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
{
val __v = hashFunction.value
if (__v != 0) {
_output__.writeEnum(3, __v)
}
};
maximumRingSize.foreach { __v =>
val __m = io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig._typemapper_maximumRingSize.toBase(__v)
_output__.writeTag(4, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
unknownFields.writeTo(_output__)
}
def getMinimumRingSize: _root_.scala.Long = minimumRingSize.getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig._typemapper_minimumRingSize.toCustom(com.google.protobuf.wrappers.UInt64Value.defaultInstance))
def clearMinimumRingSize: RingHashLbConfig = copy(minimumRingSize = _root_.scala.None)
def withMinimumRingSize(__v: _root_.scala.Long): RingHashLbConfig = copy(minimumRingSize = Option(__v))
def withHashFunction(__v: io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig.HashFunction): RingHashLbConfig = copy(hashFunction = __v)
def getMaximumRingSize: _root_.scala.Long = maximumRingSize.getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig._typemapper_maximumRingSize.toCustom(com.google.protobuf.wrappers.UInt64Value.defaultInstance))
def clearMaximumRingSize: RingHashLbConfig = copy(maximumRingSize = _root_.scala.None)
def withMaximumRingSize(__v: _root_.scala.Long): RingHashLbConfig = copy(maximumRingSize = Option(__v))
def withUnknownFields(__v: _root_.scalapb.UnknownFieldSet) = copy(unknownFields = __v)
def discardUnknownFields = copy(unknownFields = _root_.scalapb.UnknownFieldSet.empty)
def getFieldByNumber(__fieldNumber: _root_.scala.Int): _root_.scala.Any = {
(__fieldNumber: @_root_.scala.unchecked) match {
case 1 => minimumRingSize.map(io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig._typemapper_minimumRingSize.toBase(_)).orNull
case 3 => {
val __t = hashFunction.javaValueDescriptor
if (__t.getNumber() != 0) __t else null
}
case 4 => maximumRingSize.map(io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig._typemapper_maximumRingSize.toBase(_)).orNull
}
}
def getField(__field: _root_.scalapb.descriptors.FieldDescriptor): _root_.scalapb.descriptors.PValue = {
_root_.scala.Predef.require(__field.containingMessage eq companion.scalaDescriptor)
(__field.number: @_root_.scala.unchecked) match {
case 1 => minimumRingSize.map(io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig._typemapper_minimumRingSize.toBase(_).toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 3 => _root_.scalapb.descriptors.PEnum(hashFunction.scalaValueDescriptor)
case 4 => maximumRingSize.map(io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig._typemapper_maximumRingSize.toBase(_).toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
}
}
def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this)
def companion: io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig.type = io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig
// @@protoc_insertion_point(GeneratedMessage[envoy.config.cluster.v3.Cluster.RingHashLbConfig])
}
object RingHashLbConfig extends scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig] {
implicit def messageCompanion: scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig] = this
def parseFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig = {
var __minimumRingSize: _root_.scala.Option[_root_.scala.Long] = _root_.scala.None
var __hashFunction: io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig.HashFunction = io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig.HashFunction.XX_HASH
var __maximumRingSize: _root_.scala.Option[_root_.scala.Long] = _root_.scala.None
var `_unknownFields__`: _root_.scalapb.UnknownFieldSet.Builder = null
var _done__ = false
while (!_done__) {
val _tag__ = _input__.readTag()
_tag__ match {
case 0 => _done__ = true
case 10 =>
__minimumRingSize = Option(io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig._typemapper_minimumRingSize.toCustom(__minimumRingSize.map(io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig._typemapper_minimumRingSize.toBase(_)).fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.wrappers.UInt64Value](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _))))
case 24 =>
__hashFunction = io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig.HashFunction.fromValue(_input__.readEnum())
case 34 =>
__maximumRingSize = Option(io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig._typemapper_maximumRingSize.toCustom(__maximumRingSize.map(io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig._typemapper_maximumRingSize.toBase(_)).fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.wrappers.UInt64Value](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _))))
case tag =>
if (_unknownFields__ == null) {
_unknownFields__ = new _root_.scalapb.UnknownFieldSet.Builder()
}
_unknownFields__.parseField(tag, _input__)
}
}
io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig(
minimumRingSize = __minimumRingSize,
hashFunction = __hashFunction,
maximumRingSize = __maximumRingSize,
unknownFields = if (_unknownFields__ == null) _root_.scalapb.UnknownFieldSet.empty else _unknownFields__.result()
)
}
implicit def messageReads: _root_.scalapb.descriptors.Reads[io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig] = _root_.scalapb.descriptors.Reads{
case _root_.scalapb.descriptors.PMessage(__fieldsMap) =>
_root_.scala.Predef.require(__fieldsMap.keys.forall(_.containingMessage eq scalaDescriptor), "FieldDescriptor does not match message type.")
io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig(
minimumRingSize = __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.wrappers.UInt64Value]]).map(io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig._typemapper_minimumRingSize.toCustom(_)),
hashFunction = io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig.HashFunction.fromValue(__fieldsMap.get(scalaDescriptor.findFieldByNumber(3).get).map(_.as[_root_.scalapb.descriptors.EnumValueDescriptor]).getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig.HashFunction.XX_HASH.scalaValueDescriptor).number),
maximumRingSize = __fieldsMap.get(scalaDescriptor.findFieldByNumber(4).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.wrappers.UInt64Value]]).map(io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig._typemapper_maximumRingSize.toCustom(_))
)
case _ => throw new RuntimeException("Expected PMessage")
}
def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.javaDescriptor.getNestedTypes().get(7)
def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.scalaDescriptor.nestedMessages(7)
def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = {
var __out: _root_.scalapb.GeneratedMessageCompanion[_] = null
(__number: @_root_.scala.unchecked) match {
case 1 => __out = com.google.protobuf.wrappers.UInt64Value
case 4 => __out = com.google.protobuf.wrappers.UInt64Value
}
__out
}
lazy val nestedMessagesCompanions: Seq[_root_.scalapb.GeneratedMessageCompanion[_ <: _root_.scalapb.GeneratedMessage]] = Seq.empty
def enumCompanionForFieldNumber(__fieldNumber: _root_.scala.Int): _root_.scalapb.GeneratedEnumCompanion[_] = {
(__fieldNumber: @_root_.scala.unchecked) match {
case 3 => io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig.HashFunction
}
}
lazy val defaultInstance = io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig(
minimumRingSize = _root_.scala.None,
hashFunction = io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig.HashFunction.XX_HASH,
maximumRingSize = _root_.scala.None
)
/** The hash function used to hash hosts onto the ketama ring.
*/
sealed abstract class HashFunction(val value: _root_.scala.Int) extends _root_.scalapb.GeneratedEnum {
type EnumType = HashFunction
def isXxHash: _root_.scala.Boolean = false
def isMurmurHash2: _root_.scala.Boolean = false
def companion: _root_.scalapb.GeneratedEnumCompanion[HashFunction] = io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig.HashFunction
final def asRecognized: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig.HashFunction.Recognized] = if (isUnrecognized) _root_.scala.None else _root_.scala.Some(this.asInstanceOf[io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig.HashFunction.Recognized])
}
object HashFunction extends _root_.scalapb.GeneratedEnumCompanion[HashFunction] {
sealed trait Recognized extends HashFunction
implicit def enumCompanion: _root_.scalapb.GeneratedEnumCompanion[HashFunction] = this
/** Use `xxHash <https://github.com/Cyan4973/xxHash>`_, this is the default hash function.
*/
@SerialVersionUID(0L)
case object XX_HASH extends HashFunction(0) with HashFunction.Recognized {
val index = 0
val name = "XX_HASH"
override def isXxHash: _root_.scala.Boolean = true
}
/** Use `MurmurHash2 <https://sites.google.com/site/murmurhash/>`_, this is compatible with
* std:hash<string> in GNU libstdc++ 3.4.20 or above. This is typically the case when compiled
* on Linux and not macOS.
*/
@SerialVersionUID(0L)
case object MURMUR_HASH_2 extends HashFunction(1) with HashFunction.Recognized {
val index = 1
val name = "MURMUR_HASH_2"
override def isMurmurHash2: _root_.scala.Boolean = true
}
@SerialVersionUID(0L)
final case class Unrecognized(unrecognizedValue: _root_.scala.Int) extends HashFunction(unrecognizedValue) with _root_.scalapb.UnrecognizedEnum
lazy val values = scala.collection.immutable.Seq(XX_HASH, MURMUR_HASH_2)
def fromValue(__value: _root_.scala.Int): HashFunction = __value match {
case 0 => XX_HASH
case 1 => MURMUR_HASH_2
case __other => Unrecognized(__other)
}
def javaDescriptor: _root_.com.google.protobuf.Descriptors.EnumDescriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig.javaDescriptor.getEnumTypes().get(0)
def scalaDescriptor: _root_.scalapb.descriptors.EnumDescriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig.scalaDescriptor.enums(0)
}
implicit class RingHashLbConfigLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig](_l) {
def minimumRingSize: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Long] = field(_.getMinimumRingSize)((c_, f_) => c_.copy(minimumRingSize = Option(f_)))
def optionalMinimumRingSize: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[_root_.scala.Long]] = field(_.minimumRingSize)((c_, f_) => c_.copy(minimumRingSize = f_))
def hashFunction: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig.HashFunction] = field(_.hashFunction)((c_, f_) => c_.copy(hashFunction = f_))
def maximumRingSize: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Long] = field(_.getMaximumRingSize)((c_, f_) => c_.copy(maximumRingSize = Option(f_)))
def optionalMaximumRingSize: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[_root_.scala.Long]] = field(_.maximumRingSize)((c_, f_) => c_.copy(maximumRingSize = f_))
}
final val MINIMUM_RING_SIZE_FIELD_NUMBER = 1
final val HASH_FUNCTION_FIELD_NUMBER = 3
final val MAXIMUM_RING_SIZE_FIELD_NUMBER = 4
@transient
private[v3] val _typemapper_minimumRingSize: _root_.scalapb.TypeMapper[com.google.protobuf.wrappers.UInt64Value, _root_.scala.Long] = implicitly[_root_.scalapb.TypeMapper[com.google.protobuf.wrappers.UInt64Value, _root_.scala.Long]]
@transient
private[v3] val _typemapper_maximumRingSize: _root_.scalapb.TypeMapper[com.google.protobuf.wrappers.UInt64Value, _root_.scala.Long] = implicitly[_root_.scalapb.TypeMapper[com.google.protobuf.wrappers.UInt64Value, _root_.scala.Long]]
def of(
minimumRingSize: _root_.scala.Option[_root_.scala.Long],
hashFunction: io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig.HashFunction,
maximumRingSize: _root_.scala.Option[_root_.scala.Long]
): _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig = _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig(
minimumRingSize,
hashFunction,
maximumRingSize
)
// @@protoc_insertion_point(GeneratedMessageCompanion[envoy.config.cluster.v3.Cluster.RingHashLbConfig])
}
/** Specific configuration for the :ref:`Maglev<arch_overview_load_balancing_types_maglev>`
* load balancing policy.
*
* @param tableSize
* The table size for Maglev hashing. The Maglev aims for ‘minimal disruption’ rather than an absolute guarantee.
* Minimal disruption means that when the set of upstreams changes, a connection will likely be sent to the same
* upstream as it was before. Increasing the table size reduces the amount of disruption.
* The table size must be prime number limited to 5000011. If it is not specified, the default is 65537.
*/
@SerialVersionUID(0L)
final case class MaglevLbConfig(
tableSize: _root_.scala.Option[_root_.scala.Long] = _root_.scala.None,
unknownFields: _root_.scalapb.UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty
) extends scalapb.GeneratedMessage with scalapb.lenses.Updatable[MaglevLbConfig] {
@transient
private[this] var __serializedSizeMemoized: _root_.scala.Int = 0
private[this] def __computeSerializedSize(): _root_.scala.Int = {
var __size = 0
if (tableSize.isDefined) {
val __value = io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig._typemapper_tableSize.toBase(tableSize.get)
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
__size += unknownFields.serializedSize
__size
}
override def serializedSize: _root_.scala.Int = {
var __size = __serializedSizeMemoized
if (__size == 0) {
__size = __computeSerializedSize() + 1
__serializedSizeMemoized = __size
}
__size - 1
}
def writeTo(`_output__`: _root_.com.google.protobuf.CodedOutputStream): _root_.scala.Unit = {
tableSize.foreach { __v =>
val __m = io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig._typemapper_tableSize.toBase(__v)
_output__.writeTag(1, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
unknownFields.writeTo(_output__)
}
def getTableSize: _root_.scala.Long = tableSize.getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig._typemapper_tableSize.toCustom(com.google.protobuf.wrappers.UInt64Value.defaultInstance))
def clearTableSize: MaglevLbConfig = copy(tableSize = _root_.scala.None)
def withTableSize(__v: _root_.scala.Long): MaglevLbConfig = copy(tableSize = Option(__v))
def withUnknownFields(__v: _root_.scalapb.UnknownFieldSet) = copy(unknownFields = __v)
def discardUnknownFields = copy(unknownFields = _root_.scalapb.UnknownFieldSet.empty)
def getFieldByNumber(__fieldNumber: _root_.scala.Int): _root_.scala.Any = {
(__fieldNumber: @_root_.scala.unchecked) match {
case 1 => tableSize.map(io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig._typemapper_tableSize.toBase(_)).orNull
}
}
def getField(__field: _root_.scalapb.descriptors.FieldDescriptor): _root_.scalapb.descriptors.PValue = {
_root_.scala.Predef.require(__field.containingMessage eq companion.scalaDescriptor)
(__field.number: @_root_.scala.unchecked) match {
case 1 => tableSize.map(io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig._typemapper_tableSize.toBase(_).toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
}
}
def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this)
def companion: io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig.type = io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig
// @@protoc_insertion_point(GeneratedMessage[envoy.config.cluster.v3.Cluster.MaglevLbConfig])
}
object MaglevLbConfig extends scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig] {
implicit def messageCompanion: scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig] = this
def parseFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig = {
var __tableSize: _root_.scala.Option[_root_.scala.Long] = _root_.scala.None
var `_unknownFields__`: _root_.scalapb.UnknownFieldSet.Builder = null
var _done__ = false
while (!_done__) {
val _tag__ = _input__.readTag()
_tag__ match {
case 0 => _done__ = true
case 10 =>
__tableSize = Option(io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig._typemapper_tableSize.toCustom(__tableSize.map(io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig._typemapper_tableSize.toBase(_)).fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.wrappers.UInt64Value](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _))))
case tag =>
if (_unknownFields__ == null) {
_unknownFields__ = new _root_.scalapb.UnknownFieldSet.Builder()
}
_unknownFields__.parseField(tag, _input__)
}
}
io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig(
tableSize = __tableSize,
unknownFields = if (_unknownFields__ == null) _root_.scalapb.UnknownFieldSet.empty else _unknownFields__.result()
)
}
implicit def messageReads: _root_.scalapb.descriptors.Reads[io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig] = _root_.scalapb.descriptors.Reads{
case _root_.scalapb.descriptors.PMessage(__fieldsMap) =>
_root_.scala.Predef.require(__fieldsMap.keys.forall(_.containingMessage eq scalaDescriptor), "FieldDescriptor does not match message type.")
io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig(
tableSize = __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.wrappers.UInt64Value]]).map(io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig._typemapper_tableSize.toCustom(_))
)
case _ => throw new RuntimeException("Expected PMessage")
}
def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.javaDescriptor.getNestedTypes().get(8)
def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.scalaDescriptor.nestedMessages(8)
def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = {
var __out: _root_.scalapb.GeneratedMessageCompanion[_] = null
(__number: @_root_.scala.unchecked) match {
case 1 => __out = com.google.protobuf.wrappers.UInt64Value
}
__out
}
lazy val nestedMessagesCompanions: Seq[_root_.scalapb.GeneratedMessageCompanion[_ <: _root_.scalapb.GeneratedMessage]] = Seq.empty
def enumCompanionForFieldNumber(__fieldNumber: _root_.scala.Int): _root_.scalapb.GeneratedEnumCompanion[_] = throw new MatchError(__fieldNumber)
lazy val defaultInstance = io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig(
tableSize = _root_.scala.None
)
implicit class MaglevLbConfigLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig](_l) {
def tableSize: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Long] = field(_.getTableSize)((c_, f_) => c_.copy(tableSize = Option(f_)))
def optionalTableSize: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[_root_.scala.Long]] = field(_.tableSize)((c_, f_) => c_.copy(tableSize = f_))
}
final val TABLE_SIZE_FIELD_NUMBER = 1
@transient
private[v3] val _typemapper_tableSize: _root_.scalapb.TypeMapper[com.google.protobuf.wrappers.UInt64Value, _root_.scala.Long] = implicitly[_root_.scalapb.TypeMapper[com.google.protobuf.wrappers.UInt64Value, _root_.scala.Long]]
def of(
tableSize: _root_.scala.Option[_root_.scala.Long]
): _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig = _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig(
tableSize
)
// @@protoc_insertion_point(GeneratedMessageCompanion[envoy.config.cluster.v3.Cluster.MaglevLbConfig])
}
/** Specific configuration for the
* :ref:`Original Destination <arch_overview_load_balancing_types_original_destination>`
* load balancing policy.
*
* @param useHttpHeader
* When true, a HTTP header can be used to override the original dst address. The default header is
* :ref:`x-envoy-original-dst-host <config_http_conn_man_headers_x-envoy-original-dst-host>`.
*
* .. attention::
*
* This header isn't sanitized by default, so enabling this feature allows HTTP clients to
* route traffic to arbitrary hosts and/or ports, which may have serious security
* consequences.
*
* .. note::
*
* If the header appears multiple times only the first value is used.
* @param httpHeaderName
* The http header to override destination address if :ref:`use_http_header <envoy_v3_api_field_config.cluster.v3.Cluster.OriginalDstLbConfig.use_http_header>`.
* is set to true. If the value is empty, :ref:`x-envoy-original-dst-host <config_http_conn_man_headers_x-envoy-original-dst-host>` will be used.
*/
@SerialVersionUID(0L)
final case class OriginalDstLbConfig(
useHttpHeader: _root_.scala.Boolean = false,
httpHeaderName: _root_.scala.Predef.String = "",
unknownFields: _root_.scalapb.UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty
) extends scalapb.GeneratedMessage with scalapb.lenses.Updatable[OriginalDstLbConfig] {
@transient
private[this] var __serializedSizeMemoized: _root_.scala.Int = 0
private[this] def __computeSerializedSize(): _root_.scala.Int = {
var __size = 0
{
val __value = useHttpHeader
if (__value != false) {
__size += _root_.com.google.protobuf.CodedOutputStream.computeBoolSize(1, __value)
}
};
{
val __value = httpHeaderName
if (!__value.isEmpty) {
__size += _root_.com.google.protobuf.CodedOutputStream.computeStringSize(2, __value)
}
};
__size += unknownFields.serializedSize
__size
}
override def serializedSize: _root_.scala.Int = {
var __size = __serializedSizeMemoized
if (__size == 0) {
__size = __computeSerializedSize() + 1
__serializedSizeMemoized = __size
}
__size - 1
}
def writeTo(`_output__`: _root_.com.google.protobuf.CodedOutputStream): _root_.scala.Unit = {
{
val __v = useHttpHeader
if (__v != false) {
_output__.writeBool(1, __v)
}
};
{
val __v = httpHeaderName
if (!__v.isEmpty) {
_output__.writeString(2, __v)
}
};
unknownFields.writeTo(_output__)
}
def withUseHttpHeader(__v: _root_.scala.Boolean): OriginalDstLbConfig = copy(useHttpHeader = __v)
def withHttpHeaderName(__v: _root_.scala.Predef.String): OriginalDstLbConfig = copy(httpHeaderName = __v)
def withUnknownFields(__v: _root_.scalapb.UnknownFieldSet) = copy(unknownFields = __v)
def discardUnknownFields = copy(unknownFields = _root_.scalapb.UnknownFieldSet.empty)
def getFieldByNumber(__fieldNumber: _root_.scala.Int): _root_.scala.Any = {
(__fieldNumber: @_root_.scala.unchecked) match {
case 1 => {
val __t = useHttpHeader
if (__t != false) __t else null
}
case 2 => {
val __t = httpHeaderName
if (__t != "") __t else null
}
}
}
def getField(__field: _root_.scalapb.descriptors.FieldDescriptor): _root_.scalapb.descriptors.PValue = {
_root_.scala.Predef.require(__field.containingMessage eq companion.scalaDescriptor)
(__field.number: @_root_.scala.unchecked) match {
case 1 => _root_.scalapb.descriptors.PBoolean(useHttpHeader)
case 2 => _root_.scalapb.descriptors.PString(httpHeaderName)
}
}
def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this)
def companion: io.envoyproxy.envoy.config.cluster.v3.Cluster.OriginalDstLbConfig.type = io.envoyproxy.envoy.config.cluster.v3.Cluster.OriginalDstLbConfig
// @@protoc_insertion_point(GeneratedMessage[envoy.config.cluster.v3.Cluster.OriginalDstLbConfig])
}
object OriginalDstLbConfig extends scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.OriginalDstLbConfig] {
implicit def messageCompanion: scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.OriginalDstLbConfig] = this
def parseFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): io.envoyproxy.envoy.config.cluster.v3.Cluster.OriginalDstLbConfig = {
var __useHttpHeader: _root_.scala.Boolean = false
var __httpHeaderName: _root_.scala.Predef.String = ""
var `_unknownFields__`: _root_.scalapb.UnknownFieldSet.Builder = null
var _done__ = false
while (!_done__) {
val _tag__ = _input__.readTag()
_tag__ match {
case 0 => _done__ = true
case 8 =>
__useHttpHeader = _input__.readBool()
case 18 =>
__httpHeaderName = _input__.readStringRequireUtf8()
case tag =>
if (_unknownFields__ == null) {
_unknownFields__ = new _root_.scalapb.UnknownFieldSet.Builder()
}
_unknownFields__.parseField(tag, _input__)
}
}
io.envoyproxy.envoy.config.cluster.v3.Cluster.OriginalDstLbConfig(
useHttpHeader = __useHttpHeader,
httpHeaderName = __httpHeaderName,
unknownFields = if (_unknownFields__ == null) _root_.scalapb.UnknownFieldSet.empty else _unknownFields__.result()
)
}
implicit def messageReads: _root_.scalapb.descriptors.Reads[io.envoyproxy.envoy.config.cluster.v3.Cluster.OriginalDstLbConfig] = _root_.scalapb.descriptors.Reads{
case _root_.scalapb.descriptors.PMessage(__fieldsMap) =>
_root_.scala.Predef.require(__fieldsMap.keys.forall(_.containingMessage eq scalaDescriptor), "FieldDescriptor does not match message type.")
io.envoyproxy.envoy.config.cluster.v3.Cluster.OriginalDstLbConfig(
useHttpHeader = __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).map(_.as[_root_.scala.Boolean]).getOrElse(false),
httpHeaderName = __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).map(_.as[_root_.scala.Predef.String]).getOrElse("")
)
case _ => throw new RuntimeException("Expected PMessage")
}
def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.javaDescriptor.getNestedTypes().get(9)
def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.scalaDescriptor.nestedMessages(9)
def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = throw new MatchError(__number)
lazy val nestedMessagesCompanions: Seq[_root_.scalapb.GeneratedMessageCompanion[_ <: _root_.scalapb.GeneratedMessage]] = Seq.empty
def enumCompanionForFieldNumber(__fieldNumber: _root_.scala.Int): _root_.scalapb.GeneratedEnumCompanion[_] = throw new MatchError(__fieldNumber)
lazy val defaultInstance = io.envoyproxy.envoy.config.cluster.v3.Cluster.OriginalDstLbConfig(
useHttpHeader = false,
httpHeaderName = ""
)
implicit class OriginalDstLbConfigLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.OriginalDstLbConfig]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.OriginalDstLbConfig](_l) {
def useHttpHeader: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Boolean] = field(_.useHttpHeader)((c_, f_) => c_.copy(useHttpHeader = f_))
def httpHeaderName: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Predef.String] = field(_.httpHeaderName)((c_, f_) => c_.copy(httpHeaderName = f_))
}
final val USE_HTTP_HEADER_FIELD_NUMBER = 1
final val HTTP_HEADER_NAME_FIELD_NUMBER = 2
def of(
useHttpHeader: _root_.scala.Boolean,
httpHeaderName: _root_.scala.Predef.String
): _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.OriginalDstLbConfig = _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.OriginalDstLbConfig(
useHttpHeader,
httpHeaderName
)
// @@protoc_insertion_point(GeneratedMessageCompanion[envoy.config.cluster.v3.Cluster.OriginalDstLbConfig])
}
/** Common configuration for all load balancer implementations.
* [#next-free-field: 9]
*
* @param healthyPanicThreshold
* Configures the :ref:`healthy panic threshold <arch_overview_load_balancing_panic_threshold>`.
* If not specified, the default is 50%.
* To disable panic mode, set to 0%.
*
* .. note::
* The specified percent will be truncated to the nearest 1%.
* @param updateMergeWindow
* If set, all health check/weight/metadata updates that happen within this duration will be
* merged and delivered in one shot when the duration expires. The start of the duration is when
* the first update happens. This is useful for big clusters, with potentially noisy deploys
* that might trigger excessive CPU usage due to a constant stream of healthcheck state changes
* or metadata updates. The first set of updates to be seen apply immediately (e.g.: a new
* cluster). Please always keep in mind that the use of sandbox technologies may change this
* behavior.
*
* If this is not set, we default to a merge window of 1000ms. To disable it, set the merge
* window to 0.
*
* Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is
* because merging those updates isn't currently safe. See
* https://github.com/envoyproxy/envoy/pull/3941.
* @param ignoreNewHostsUntilFirstHc
* If set to true, Envoy will :ref:`exclude <arch_overview_load_balancing_excluded>` new hosts
* when computing load balancing weights until they have been health checked for the first time.
* This will have no effect unless active health checking is also configured.
* @param closeConnectionsOnHostSetChange
* If set to `true`, the cluster manager will drain all existing
* connections to upstream hosts whenever hosts are added or removed from the cluster.
* @param consistentHashingLbConfig
* Common Configuration for all consistent hashing load balancers (MaglevLb, RingHashLb, etc.)
* @param overrideHostStatus
* This controls what hosts are considered valid when using
* :ref:`host overrides <arch_overview_load_balancing_override_host>`, which is used by some
* filters to modify the load balancing decision.
*
* If this is unset then [UNKNOWN, HEALTHY, DEGRADED] will be applied by default. If this is
* set with an empty set of statuses then host overrides will be ignored by the load balancing.
*/
@SerialVersionUID(0L)
final case class CommonLbConfig(
healthyPanicThreshold: _root_.scala.Option[io.envoyproxy.envoy.`type`.v3.Percent] = _root_.scala.None,
localityConfigSpecifier: io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityConfigSpecifier = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityConfigSpecifier.Empty,
updateMergeWindow: _root_.scala.Option[com.google.protobuf.duration.Duration] = _root_.scala.None,
ignoreNewHostsUntilFirstHc: _root_.scala.Boolean = false,
closeConnectionsOnHostSetChange: _root_.scala.Boolean = false,
consistentHashingLbConfig: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig] = _root_.scala.None,
overrideHostStatus: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.HealthStatusSet] = _root_.scala.None,
unknownFields: _root_.scalapb.UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty
) extends scalapb.GeneratedMessage with scalapb.lenses.Updatable[CommonLbConfig] {
@transient
private[this] var __serializedSizeMemoized: _root_.scala.Int = 0
private[this] def __computeSerializedSize(): _root_.scala.Int = {
var __size = 0
if (healthyPanicThreshold.isDefined) {
val __value = healthyPanicThreshold.get
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (localityConfigSpecifier.zoneAwareLbConfig.isDefined) {
val __value = localityConfigSpecifier.zoneAwareLbConfig.get
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (localityConfigSpecifier.localityWeightedLbConfig.isDefined) {
val __value = localityConfigSpecifier.localityWeightedLbConfig.get
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (updateMergeWindow.isDefined) {
val __value = updateMergeWindow.get
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
{
val __value = ignoreNewHostsUntilFirstHc
if (__value != false) {
__size += _root_.com.google.protobuf.CodedOutputStream.computeBoolSize(5, __value)
}
};
{
val __value = closeConnectionsOnHostSetChange
if (__value != false) {
__size += _root_.com.google.protobuf.CodedOutputStream.computeBoolSize(6, __value)
}
};
if (consistentHashingLbConfig.isDefined) {
val __value = consistentHashingLbConfig.get
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (overrideHostStatus.isDefined) {
val __value = overrideHostStatus.get
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
__size += unknownFields.serializedSize
__size
}
override def serializedSize: _root_.scala.Int = {
var __size = __serializedSizeMemoized
if (__size == 0) {
__size = __computeSerializedSize() + 1
__serializedSizeMemoized = __size
}
__size - 1
}
def writeTo(`_output__`: _root_.com.google.protobuf.CodedOutputStream): _root_.scala.Unit = {
healthyPanicThreshold.foreach { __v =>
val __m = __v
_output__.writeTag(1, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
localityConfigSpecifier.zoneAwareLbConfig.foreach { __v =>
val __m = __v
_output__.writeTag(2, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
localityConfigSpecifier.localityWeightedLbConfig.foreach { __v =>
val __m = __v
_output__.writeTag(3, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
updateMergeWindow.foreach { __v =>
val __m = __v
_output__.writeTag(4, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
{
val __v = ignoreNewHostsUntilFirstHc
if (__v != false) {
_output__.writeBool(5, __v)
}
};
{
val __v = closeConnectionsOnHostSetChange
if (__v != false) {
_output__.writeBool(6, __v)
}
};
consistentHashingLbConfig.foreach { __v =>
val __m = __v
_output__.writeTag(7, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
overrideHostStatus.foreach { __v =>
val __m = __v
_output__.writeTag(8, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
unknownFields.writeTo(_output__)
}
def getHealthyPanicThreshold: io.envoyproxy.envoy.`type`.v3.Percent = healthyPanicThreshold.getOrElse(io.envoyproxy.envoy.`type`.v3.Percent.defaultInstance)
def clearHealthyPanicThreshold: CommonLbConfig = copy(healthyPanicThreshold = _root_.scala.None)
def withHealthyPanicThreshold(__v: io.envoyproxy.envoy.`type`.v3.Percent): CommonLbConfig = copy(healthyPanicThreshold = Option(__v))
def getZoneAwareLbConfig: io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig = localityConfigSpecifier.zoneAwareLbConfig.getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig.defaultInstance)
def withZoneAwareLbConfig(__v: io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig): CommonLbConfig = copy(localityConfigSpecifier = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityConfigSpecifier.ZoneAwareLbConfig(__v))
def getLocalityWeightedLbConfig: io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig = localityConfigSpecifier.localityWeightedLbConfig.getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig.defaultInstance)
def withLocalityWeightedLbConfig(__v: io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig): CommonLbConfig = copy(localityConfigSpecifier = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityConfigSpecifier.LocalityWeightedLbConfig(__v))
def getUpdateMergeWindow: com.google.protobuf.duration.Duration = updateMergeWindow.getOrElse(com.google.protobuf.duration.Duration.defaultInstance)
def clearUpdateMergeWindow: CommonLbConfig = copy(updateMergeWindow = _root_.scala.None)
def withUpdateMergeWindow(__v: com.google.protobuf.duration.Duration): CommonLbConfig = copy(updateMergeWindow = Option(__v))
def withIgnoreNewHostsUntilFirstHc(__v: _root_.scala.Boolean): CommonLbConfig = copy(ignoreNewHostsUntilFirstHc = __v)
def withCloseConnectionsOnHostSetChange(__v: _root_.scala.Boolean): CommonLbConfig = copy(closeConnectionsOnHostSetChange = __v)
def getConsistentHashingLbConfig: io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig = consistentHashingLbConfig.getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig.defaultInstance)
def clearConsistentHashingLbConfig: CommonLbConfig = copy(consistentHashingLbConfig = _root_.scala.None)
def withConsistentHashingLbConfig(__v: io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig): CommonLbConfig = copy(consistentHashingLbConfig = Option(__v))
def getOverrideHostStatus: io.envoyproxy.envoy.config.core.v3.HealthStatusSet = overrideHostStatus.getOrElse(io.envoyproxy.envoy.config.core.v3.HealthStatusSet.defaultInstance)
def clearOverrideHostStatus: CommonLbConfig = copy(overrideHostStatus = _root_.scala.None)
def withOverrideHostStatus(__v: io.envoyproxy.envoy.config.core.v3.HealthStatusSet): CommonLbConfig = copy(overrideHostStatus = Option(__v))
def clearLocalityConfigSpecifier: CommonLbConfig = copy(localityConfigSpecifier = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityConfigSpecifier.Empty)
def withLocalityConfigSpecifier(__v: io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityConfigSpecifier): CommonLbConfig = copy(localityConfigSpecifier = __v)
def withUnknownFields(__v: _root_.scalapb.UnknownFieldSet) = copy(unknownFields = __v)
def discardUnknownFields = copy(unknownFields = _root_.scalapb.UnknownFieldSet.empty)
def getFieldByNumber(__fieldNumber: _root_.scala.Int): _root_.scala.Any = {
(__fieldNumber: @_root_.scala.unchecked) match {
case 1 => healthyPanicThreshold.orNull
case 2 => localityConfigSpecifier.zoneAwareLbConfig.orNull
case 3 => localityConfigSpecifier.localityWeightedLbConfig.orNull
case 4 => updateMergeWindow.orNull
case 5 => {
val __t = ignoreNewHostsUntilFirstHc
if (__t != false) __t else null
}
case 6 => {
val __t = closeConnectionsOnHostSetChange
if (__t != false) __t else null
}
case 7 => consistentHashingLbConfig.orNull
case 8 => overrideHostStatus.orNull
}
}
def getField(__field: _root_.scalapb.descriptors.FieldDescriptor): _root_.scalapb.descriptors.PValue = {
_root_.scala.Predef.require(__field.containingMessage eq companion.scalaDescriptor)
(__field.number: @_root_.scala.unchecked) match {
case 1 => healthyPanicThreshold.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 2 => localityConfigSpecifier.zoneAwareLbConfig.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 3 => localityConfigSpecifier.localityWeightedLbConfig.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 4 => updateMergeWindow.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 5 => _root_.scalapb.descriptors.PBoolean(ignoreNewHostsUntilFirstHc)
case 6 => _root_.scalapb.descriptors.PBoolean(closeConnectionsOnHostSetChange)
case 7 => consistentHashingLbConfig.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 8 => overrideHostStatus.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
}
}
def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this)
def companion: io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.type = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig
// @@protoc_insertion_point(GeneratedMessage[envoy.config.cluster.v3.Cluster.CommonLbConfig])
}
object CommonLbConfig extends scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig] {
implicit def messageCompanion: scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig] = this
def parseFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig = {
var __healthyPanicThreshold: _root_.scala.Option[io.envoyproxy.envoy.`type`.v3.Percent] = _root_.scala.None
var __updateMergeWindow: _root_.scala.Option[com.google.protobuf.duration.Duration] = _root_.scala.None
var __ignoreNewHostsUntilFirstHc: _root_.scala.Boolean = false
var __closeConnectionsOnHostSetChange: _root_.scala.Boolean = false
var __consistentHashingLbConfig: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig] = _root_.scala.None
var __overrideHostStatus: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.HealthStatusSet] = _root_.scala.None
var __localityConfigSpecifier: io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityConfigSpecifier = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityConfigSpecifier.Empty
var `_unknownFields__`: _root_.scalapb.UnknownFieldSet.Builder = null
var _done__ = false
while (!_done__) {
val _tag__ = _input__.readTag()
_tag__ match {
case 0 => _done__ = true
case 10 =>
__healthyPanicThreshold = Option(__healthyPanicThreshold.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.`type`.v3.Percent](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 18 =>
__localityConfigSpecifier = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityConfigSpecifier.ZoneAwareLbConfig(__localityConfigSpecifier.zoneAwareLbConfig.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 26 =>
__localityConfigSpecifier = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityConfigSpecifier.LocalityWeightedLbConfig(__localityConfigSpecifier.localityWeightedLbConfig.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 34 =>
__updateMergeWindow = Option(__updateMergeWindow.fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.duration.Duration](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 40 =>
__ignoreNewHostsUntilFirstHc = _input__.readBool()
case 48 =>
__closeConnectionsOnHostSetChange = _input__.readBool()
case 58 =>
__consistentHashingLbConfig = Option(__consistentHashingLbConfig.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 66 =>
__overrideHostStatus = Option(__overrideHostStatus.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.core.v3.HealthStatusSet](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case tag =>
if (_unknownFields__ == null) {
_unknownFields__ = new _root_.scalapb.UnknownFieldSet.Builder()
}
_unknownFields__.parseField(tag, _input__)
}
}
io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig(
healthyPanicThreshold = __healthyPanicThreshold,
updateMergeWindow = __updateMergeWindow,
ignoreNewHostsUntilFirstHc = __ignoreNewHostsUntilFirstHc,
closeConnectionsOnHostSetChange = __closeConnectionsOnHostSetChange,
consistentHashingLbConfig = __consistentHashingLbConfig,
overrideHostStatus = __overrideHostStatus,
localityConfigSpecifier = __localityConfigSpecifier,
unknownFields = if (_unknownFields__ == null) _root_.scalapb.UnknownFieldSet.empty else _unknownFields__.result()
)
}
implicit def messageReads: _root_.scalapb.descriptors.Reads[io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig] = _root_.scalapb.descriptors.Reads{
case _root_.scalapb.descriptors.PMessage(__fieldsMap) =>
_root_.scala.Predef.require(__fieldsMap.keys.forall(_.containingMessage eq scalaDescriptor), "FieldDescriptor does not match message type.")
io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig(
healthyPanicThreshold = __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.`type`.v3.Percent]]),
updateMergeWindow = __fieldsMap.get(scalaDescriptor.findFieldByNumber(4).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.duration.Duration]]),
ignoreNewHostsUntilFirstHc = __fieldsMap.get(scalaDescriptor.findFieldByNumber(5).get).map(_.as[_root_.scala.Boolean]).getOrElse(false),
closeConnectionsOnHostSetChange = __fieldsMap.get(scalaDescriptor.findFieldByNumber(6).get).map(_.as[_root_.scala.Boolean]).getOrElse(false),
consistentHashingLbConfig = __fieldsMap.get(scalaDescriptor.findFieldByNumber(7).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig]]),
overrideHostStatus = __fieldsMap.get(scalaDescriptor.findFieldByNumber(8).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.core.v3.HealthStatusSet]]),
localityConfigSpecifier = __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig]]).map(io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityConfigSpecifier.ZoneAwareLbConfig(_))
.orElse[io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityConfigSpecifier](__fieldsMap.get(scalaDescriptor.findFieldByNumber(3).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig]]).map(io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityConfigSpecifier.LocalityWeightedLbConfig(_)))
.getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityConfigSpecifier.Empty)
)
case _ => throw new RuntimeException("Expected PMessage")
}
def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.javaDescriptor.getNestedTypes().get(10)
def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.scalaDescriptor.nestedMessages(10)
def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = {
var __out: _root_.scalapb.GeneratedMessageCompanion[_] = null
(__number: @_root_.scala.unchecked) match {
case 1 => __out = io.envoyproxy.envoy.`type`.v3.Percent
case 2 => __out = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig
case 3 => __out = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig
case 4 => __out = com.google.protobuf.duration.Duration
case 7 => __out = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig
case 8 => __out = io.envoyproxy.envoy.config.core.v3.HealthStatusSet
}
__out
}
lazy val nestedMessagesCompanions: Seq[_root_.scalapb.GeneratedMessageCompanion[_ <: _root_.scalapb.GeneratedMessage]] =
Seq[_root_.scalapb.GeneratedMessageCompanion[_ <: _root_.scalapb.GeneratedMessage]](
_root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig,
_root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig,
_root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig
)
def enumCompanionForFieldNumber(__fieldNumber: _root_.scala.Int): _root_.scalapb.GeneratedEnumCompanion[_] = throw new MatchError(__fieldNumber)
lazy val defaultInstance = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig(
healthyPanicThreshold = _root_.scala.None,
updateMergeWindow = _root_.scala.None,
ignoreNewHostsUntilFirstHc = false,
closeConnectionsOnHostSetChange = false,
consistentHashingLbConfig = _root_.scala.None,
overrideHostStatus = _root_.scala.None,
localityConfigSpecifier = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityConfigSpecifier.Empty
)
sealed trait LocalityConfigSpecifier extends _root_.scalapb.GeneratedOneof {
def isEmpty: _root_.scala.Boolean = false
def isDefined: _root_.scala.Boolean = true
def isZoneAwareLbConfig: _root_.scala.Boolean = false
def isLocalityWeightedLbConfig: _root_.scala.Boolean = false
def zoneAwareLbConfig: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig] = _root_.scala.None
def localityWeightedLbConfig: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig] = _root_.scala.None
}
object LocalityConfigSpecifier {
@SerialVersionUID(0L)
case object Empty extends io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityConfigSpecifier {
type ValueType = _root_.scala.Nothing
override def isEmpty: _root_.scala.Boolean = true
override def isDefined: _root_.scala.Boolean = false
override def number: _root_.scala.Int = 0
override def value: _root_.scala.Nothing = throw new java.util.NoSuchElementException("Empty.value")
}
@SerialVersionUID(0L)
final case class ZoneAwareLbConfig(value: io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig) extends io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityConfigSpecifier {
type ValueType = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig
override def isZoneAwareLbConfig: _root_.scala.Boolean = true
override def zoneAwareLbConfig: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig] = Some(value)
override def number: _root_.scala.Int = 2
}
@SerialVersionUID(0L)
final case class LocalityWeightedLbConfig(value: io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig) extends io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityConfigSpecifier {
type ValueType = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig
override def isLocalityWeightedLbConfig: _root_.scala.Boolean = true
override def localityWeightedLbConfig: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig] = Some(value)
override def number: _root_.scala.Int = 3
}
}
/** Configuration for :ref:`zone aware routing
* <arch_overview_load_balancing_zone_aware_routing>`.
*
* @param routingEnabled
* Configures percentage of requests that will be considered for zone aware routing
* if zone aware routing is configured. If not specified, the default is 100%.
* * :ref:`runtime values <config_cluster_manager_cluster_runtime_zone_routing>`.
* * :ref:`Zone aware routing support <arch_overview_load_balancing_zone_aware_routing>`.
* @param minClusterSize
* Configures minimum upstream cluster size required for zone aware routing
* If upstream cluster size is less than specified, zone aware routing is not performed
* even if zone aware routing is configured. If not specified, the default is 6.
* * :ref:`runtime values <config_cluster_manager_cluster_runtime_zone_routing>`.
* * :ref:`Zone aware routing support <arch_overview_load_balancing_zone_aware_routing>`.
* @param failTrafficOnPanic
* If set to true, Envoy will not consider any hosts when the cluster is in :ref:`panic
* mode<arch_overview_load_balancing_panic_threshold>`. Instead, the cluster will fail all
* requests as if all hosts are unhealthy. This can help avoid potentially overwhelming a
* failing service.
*/
@SerialVersionUID(0L)
final case class ZoneAwareLbConfig(
routingEnabled: _root_.scala.Option[io.envoyproxy.envoy.`type`.v3.Percent] = _root_.scala.None,
minClusterSize: _root_.scala.Option[_root_.scala.Long] = _root_.scala.None,
failTrafficOnPanic: _root_.scala.Boolean = false,
unknownFields: _root_.scalapb.UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty
) extends scalapb.GeneratedMessage with scalapb.lenses.Updatable[ZoneAwareLbConfig] {
@transient
private[this] var __serializedSizeMemoized: _root_.scala.Int = 0
private[this] def __computeSerializedSize(): _root_.scala.Int = {
var __size = 0
if (routingEnabled.isDefined) {
val __value = routingEnabled.get
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (minClusterSize.isDefined) {
val __value = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig._typemapper_minClusterSize.toBase(minClusterSize.get)
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
{
val __value = failTrafficOnPanic
if (__value != false) {
__size += _root_.com.google.protobuf.CodedOutputStream.computeBoolSize(3, __value)
}
};
__size += unknownFields.serializedSize
__size
}
override def serializedSize: _root_.scala.Int = {
var __size = __serializedSizeMemoized
if (__size == 0) {
__size = __computeSerializedSize() + 1
__serializedSizeMemoized = __size
}
__size - 1
}
def writeTo(`_output__`: _root_.com.google.protobuf.CodedOutputStream): _root_.scala.Unit = {
routingEnabled.foreach { __v =>
val __m = __v
_output__.writeTag(1, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
minClusterSize.foreach { __v =>
val __m = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig._typemapper_minClusterSize.toBase(__v)
_output__.writeTag(2, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
{
val __v = failTrafficOnPanic
if (__v != false) {
_output__.writeBool(3, __v)
}
};
unknownFields.writeTo(_output__)
}
def getRoutingEnabled: io.envoyproxy.envoy.`type`.v3.Percent = routingEnabled.getOrElse(io.envoyproxy.envoy.`type`.v3.Percent.defaultInstance)
def clearRoutingEnabled: ZoneAwareLbConfig = copy(routingEnabled = _root_.scala.None)
def withRoutingEnabled(__v: io.envoyproxy.envoy.`type`.v3.Percent): ZoneAwareLbConfig = copy(routingEnabled = Option(__v))
def getMinClusterSize: _root_.scala.Long = minClusterSize.getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig._typemapper_minClusterSize.toCustom(com.google.protobuf.wrappers.UInt64Value.defaultInstance))
def clearMinClusterSize: ZoneAwareLbConfig = copy(minClusterSize = _root_.scala.None)
def withMinClusterSize(__v: _root_.scala.Long): ZoneAwareLbConfig = copy(minClusterSize = Option(__v))
def withFailTrafficOnPanic(__v: _root_.scala.Boolean): ZoneAwareLbConfig = copy(failTrafficOnPanic = __v)
def withUnknownFields(__v: _root_.scalapb.UnknownFieldSet) = copy(unknownFields = __v)
def discardUnknownFields = copy(unknownFields = _root_.scalapb.UnknownFieldSet.empty)
def getFieldByNumber(__fieldNumber: _root_.scala.Int): _root_.scala.Any = {
(__fieldNumber: @_root_.scala.unchecked) match {
case 1 => routingEnabled.orNull
case 2 => minClusterSize.map(io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig._typemapper_minClusterSize.toBase(_)).orNull
case 3 => {
val __t = failTrafficOnPanic
if (__t != false) __t else null
}
}
}
def getField(__field: _root_.scalapb.descriptors.FieldDescriptor): _root_.scalapb.descriptors.PValue = {
_root_.scala.Predef.require(__field.containingMessage eq companion.scalaDescriptor)
(__field.number: @_root_.scala.unchecked) match {
case 1 => routingEnabled.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 2 => minClusterSize.map(io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig._typemapper_minClusterSize.toBase(_).toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 3 => _root_.scalapb.descriptors.PBoolean(failTrafficOnPanic)
}
}
def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this)
def companion: io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig.type = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig
// @@protoc_insertion_point(GeneratedMessage[envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig])
}
object ZoneAwareLbConfig extends scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig] {
implicit def messageCompanion: scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig] = this
def parseFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig = {
var __routingEnabled: _root_.scala.Option[io.envoyproxy.envoy.`type`.v3.Percent] = _root_.scala.None
var __minClusterSize: _root_.scala.Option[_root_.scala.Long] = _root_.scala.None
var __failTrafficOnPanic: _root_.scala.Boolean = false
var `_unknownFields__`: _root_.scalapb.UnknownFieldSet.Builder = null
var _done__ = false
while (!_done__) {
val _tag__ = _input__.readTag()
_tag__ match {
case 0 => _done__ = true
case 10 =>
__routingEnabled = Option(__routingEnabled.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.`type`.v3.Percent](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 18 =>
__minClusterSize = Option(io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig._typemapper_minClusterSize.toCustom(__minClusterSize.map(io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig._typemapper_minClusterSize.toBase(_)).fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.wrappers.UInt64Value](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _))))
case 24 =>
__failTrafficOnPanic = _input__.readBool()
case tag =>
if (_unknownFields__ == null) {
_unknownFields__ = new _root_.scalapb.UnknownFieldSet.Builder()
}
_unknownFields__.parseField(tag, _input__)
}
}
io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig(
routingEnabled = __routingEnabled,
minClusterSize = __minClusterSize,
failTrafficOnPanic = __failTrafficOnPanic,
unknownFields = if (_unknownFields__ == null) _root_.scalapb.UnknownFieldSet.empty else _unknownFields__.result()
)
}
implicit def messageReads: _root_.scalapb.descriptors.Reads[io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig] = _root_.scalapb.descriptors.Reads{
case _root_.scalapb.descriptors.PMessage(__fieldsMap) =>
_root_.scala.Predef.require(__fieldsMap.keys.forall(_.containingMessage eq scalaDescriptor), "FieldDescriptor does not match message type.")
io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig(
routingEnabled = __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.`type`.v3.Percent]]),
minClusterSize = __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.wrappers.UInt64Value]]).map(io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig._typemapper_minClusterSize.toCustom(_)),
failTrafficOnPanic = __fieldsMap.get(scalaDescriptor.findFieldByNumber(3).get).map(_.as[_root_.scala.Boolean]).getOrElse(false)
)
case _ => throw new RuntimeException("Expected PMessage")
}
def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.javaDescriptor.getNestedTypes().get(0)
def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.scalaDescriptor.nestedMessages(0)
def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = {
var __out: _root_.scalapb.GeneratedMessageCompanion[_] = null
(__number: @_root_.scala.unchecked) match {
case 1 => __out = io.envoyproxy.envoy.`type`.v3.Percent
case 2 => __out = com.google.protobuf.wrappers.UInt64Value
}
__out
}
lazy val nestedMessagesCompanions: Seq[_root_.scalapb.GeneratedMessageCompanion[_ <: _root_.scalapb.GeneratedMessage]] = Seq.empty
def enumCompanionForFieldNumber(__fieldNumber: _root_.scala.Int): _root_.scalapb.GeneratedEnumCompanion[_] = throw new MatchError(__fieldNumber)
lazy val defaultInstance = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig(
routingEnabled = _root_.scala.None,
minClusterSize = _root_.scala.None,
failTrafficOnPanic = false
)
implicit class ZoneAwareLbConfigLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig](_l) {
def routingEnabled: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.`type`.v3.Percent] = field(_.getRoutingEnabled)((c_, f_) => c_.copy(routingEnabled = Option(f_)))
def optionalRoutingEnabled: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.`type`.v3.Percent]] = field(_.routingEnabled)((c_, f_) => c_.copy(routingEnabled = f_))
def minClusterSize: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Long] = field(_.getMinClusterSize)((c_, f_) => c_.copy(minClusterSize = Option(f_)))
def optionalMinClusterSize: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[_root_.scala.Long]] = field(_.minClusterSize)((c_, f_) => c_.copy(minClusterSize = f_))
def failTrafficOnPanic: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Boolean] = field(_.failTrafficOnPanic)((c_, f_) => c_.copy(failTrafficOnPanic = f_))
}
final val ROUTING_ENABLED_FIELD_NUMBER = 1
final val MIN_CLUSTER_SIZE_FIELD_NUMBER = 2
final val FAIL_TRAFFIC_ON_PANIC_FIELD_NUMBER = 3
@transient
private[v3] val _typemapper_minClusterSize: _root_.scalapb.TypeMapper[com.google.protobuf.wrappers.UInt64Value, _root_.scala.Long] = implicitly[_root_.scalapb.TypeMapper[com.google.protobuf.wrappers.UInt64Value, _root_.scala.Long]]
def of(
routingEnabled: _root_.scala.Option[io.envoyproxy.envoy.`type`.v3.Percent],
minClusterSize: _root_.scala.Option[_root_.scala.Long],
failTrafficOnPanic: _root_.scala.Boolean
): _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig = _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig(
routingEnabled,
minClusterSize,
failTrafficOnPanic
)
// @@protoc_insertion_point(GeneratedMessageCompanion[envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig])
}
/** Configuration for :ref:`locality weighted load balancing
* <arch_overview_load_balancing_locality_weighted_lb>`
*/
@SerialVersionUID(0L)
final case class LocalityWeightedLbConfig(
unknownFields: _root_.scalapb.UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty
) extends scalapb.GeneratedMessage with scalapb.lenses.Updatable[LocalityWeightedLbConfig] {
@transient
private[this] var __serializedSizeMemoized: _root_.scala.Int = 0
private[this] def __computeSerializedSize(): _root_.scala.Int = {
var __size = 0
__size += unknownFields.serializedSize
__size
}
override def serializedSize: _root_.scala.Int = {
var __size = __serializedSizeMemoized
if (__size == 0) {
__size = __computeSerializedSize() + 1
__serializedSizeMemoized = __size
}
__size - 1
}
def writeTo(`_output__`: _root_.com.google.protobuf.CodedOutputStream): _root_.scala.Unit = {
unknownFields.writeTo(_output__)
}
def withUnknownFields(__v: _root_.scalapb.UnknownFieldSet) = copy(unknownFields = __v)
def discardUnknownFields = copy(unknownFields = _root_.scalapb.UnknownFieldSet.empty)
def getFieldByNumber(__fieldNumber: _root_.scala.Int): _root_.scala.Any = throw new MatchError(__fieldNumber)
def getField(__field: _root_.scalapb.descriptors.FieldDescriptor): _root_.scalapb.descriptors.PValue = throw new MatchError(__field)
def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this)
def companion: io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig.type = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig
// @@protoc_insertion_point(GeneratedMessage[envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig])
}
object LocalityWeightedLbConfig extends scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig] {
implicit def messageCompanion: scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig] = this
def parseFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig = {
var `_unknownFields__`: _root_.scalapb.UnknownFieldSet.Builder = null
var _done__ = false
while (!_done__) {
val _tag__ = _input__.readTag()
_tag__ match {
case 0 => _done__ = true
case tag =>
if (_unknownFields__ == null) {
_unknownFields__ = new _root_.scalapb.UnknownFieldSet.Builder()
}
_unknownFields__.parseField(tag, _input__)
}
}
io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig(
unknownFields = if (_unknownFields__ == null) _root_.scalapb.UnknownFieldSet.empty else _unknownFields__.result()
)
}
implicit def messageReads: _root_.scalapb.descriptors.Reads[io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig] = _root_.scalapb.descriptors.Reads{
case _root_.scalapb.descriptors.PMessage(__fieldsMap) =>
_root_.scala.Predef.require(__fieldsMap.keys.forall(_.containingMessage eq scalaDescriptor), "FieldDescriptor does not match message type.")
io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig(
)
case _ => throw new RuntimeException("Expected PMessage")
}
def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.javaDescriptor.getNestedTypes().get(1)
def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.scalaDescriptor.nestedMessages(1)
def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = throw new MatchError(__number)
lazy val nestedMessagesCompanions: Seq[_root_.scalapb.GeneratedMessageCompanion[_ <: _root_.scalapb.GeneratedMessage]] = Seq.empty
def enumCompanionForFieldNumber(__fieldNumber: _root_.scala.Int): _root_.scalapb.GeneratedEnumCompanion[_] = throw new MatchError(__fieldNumber)
lazy val defaultInstance = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig(
)
implicit class LocalityWeightedLbConfigLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig](_l) {
}
def of(
): _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig = _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig(
)
// @@protoc_insertion_point(GeneratedMessageCompanion[envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig])
}
/** Common Configuration for all consistent hashing load balancers (MaglevLb, RingHashLb, etc.)
*
* @param useHostnameForHashing
* If set to `true`, the cluster will use hostname instead of the resolved
* address as the key to consistently hash to an upstream host. Only valid for StrictDNS clusters with hostnames which resolve to a single IP address.
* @param hashBalanceFactor
* Configures percentage of average cluster load to bound per upstream host. For example, with a value of 150
* no upstream host will get a load more than 1.5 times the average load of all the hosts in the cluster.
* If not specified, the load is not bounded for any upstream host. Typical value for this parameter is between 120 and 200.
* Minimum is 100.
*
* Applies to both Ring Hash and Maglev load balancers.
*
* This is implemented based on the method described in the paper https://arxiv.org/abs/1608.01350. For the specified
* `hash_balance_factor`, requests to any upstream host are capped at `hash_balance_factor/100` times the average number of requests
* across the cluster. When a request arrives for an upstream host that is currently serving at its max capacity, linear probing
* is used to identify an eligible host. Further, the linear probe is implemented using a random jump in hosts ring/table to identify
* the eligible host (this technique is as described in the paper https://arxiv.org/abs/1908.08762 - the random jump avoids the
* cascading overflow effect when choosing the next host in the ring/table).
*
* If weights are specified on the hosts, they are respected.
*
* This is an O(N) algorithm, unlike other load balancers. Using a lower `hash_balance_factor` results in more hosts
* being probed, so use a higher value if you require better performance.
*/
@SerialVersionUID(0L)
final case class ConsistentHashingLbConfig(
useHostnameForHashing: _root_.scala.Boolean = false,
hashBalanceFactor: _root_.scala.Option[_root_.scala.Int] = _root_.scala.None,
unknownFields: _root_.scalapb.UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty
) extends scalapb.GeneratedMessage with scalapb.lenses.Updatable[ConsistentHashingLbConfig] {
@transient
private[this] var __serializedSizeMemoized: _root_.scala.Int = 0
private[this] def __computeSerializedSize(): _root_.scala.Int = {
var __size = 0
{
val __value = useHostnameForHashing
if (__value != false) {
__size += _root_.com.google.protobuf.CodedOutputStream.computeBoolSize(1, __value)
}
};
if (hashBalanceFactor.isDefined) {
val __value = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig._typemapper_hashBalanceFactor.toBase(hashBalanceFactor.get)
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
__size += unknownFields.serializedSize
__size
}
override def serializedSize: _root_.scala.Int = {
var __size = __serializedSizeMemoized
if (__size == 0) {
__size = __computeSerializedSize() + 1
__serializedSizeMemoized = __size
}
__size - 1
}
def writeTo(`_output__`: _root_.com.google.protobuf.CodedOutputStream): _root_.scala.Unit = {
{
val __v = useHostnameForHashing
if (__v != false) {
_output__.writeBool(1, __v)
}
};
hashBalanceFactor.foreach { __v =>
val __m = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig._typemapper_hashBalanceFactor.toBase(__v)
_output__.writeTag(2, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
unknownFields.writeTo(_output__)
}
def withUseHostnameForHashing(__v: _root_.scala.Boolean): ConsistentHashingLbConfig = copy(useHostnameForHashing = __v)
def getHashBalanceFactor: _root_.scala.Int = hashBalanceFactor.getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig._typemapper_hashBalanceFactor.toCustom(com.google.protobuf.wrappers.UInt32Value.defaultInstance))
def clearHashBalanceFactor: ConsistentHashingLbConfig = copy(hashBalanceFactor = _root_.scala.None)
def withHashBalanceFactor(__v: _root_.scala.Int): ConsistentHashingLbConfig = copy(hashBalanceFactor = Option(__v))
def withUnknownFields(__v: _root_.scalapb.UnknownFieldSet) = copy(unknownFields = __v)
def discardUnknownFields = copy(unknownFields = _root_.scalapb.UnknownFieldSet.empty)
def getFieldByNumber(__fieldNumber: _root_.scala.Int): _root_.scala.Any = {
(__fieldNumber: @_root_.scala.unchecked) match {
case 1 => {
val __t = useHostnameForHashing
if (__t != false) __t else null
}
case 2 => hashBalanceFactor.map(io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig._typemapper_hashBalanceFactor.toBase(_)).orNull
}
}
def getField(__field: _root_.scalapb.descriptors.FieldDescriptor): _root_.scalapb.descriptors.PValue = {
_root_.scala.Predef.require(__field.containingMessage eq companion.scalaDescriptor)
(__field.number: @_root_.scala.unchecked) match {
case 1 => _root_.scalapb.descriptors.PBoolean(useHostnameForHashing)
case 2 => hashBalanceFactor.map(io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig._typemapper_hashBalanceFactor.toBase(_).toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
}
}
def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this)
def companion: io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig.type = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig
// @@protoc_insertion_point(GeneratedMessage[envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig])
}
object ConsistentHashingLbConfig extends scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig] {
implicit def messageCompanion: scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig] = this
def parseFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig = {
var __useHostnameForHashing: _root_.scala.Boolean = false
var __hashBalanceFactor: _root_.scala.Option[_root_.scala.Int] = _root_.scala.None
var `_unknownFields__`: _root_.scalapb.UnknownFieldSet.Builder = null
var _done__ = false
while (!_done__) {
val _tag__ = _input__.readTag()
_tag__ match {
case 0 => _done__ = true
case 8 =>
__useHostnameForHashing = _input__.readBool()
case 18 =>
__hashBalanceFactor = Option(io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig._typemapper_hashBalanceFactor.toCustom(__hashBalanceFactor.map(io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig._typemapper_hashBalanceFactor.toBase(_)).fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.wrappers.UInt32Value](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _))))
case tag =>
if (_unknownFields__ == null) {
_unknownFields__ = new _root_.scalapb.UnknownFieldSet.Builder()
}
_unknownFields__.parseField(tag, _input__)
}
}
io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig(
useHostnameForHashing = __useHostnameForHashing,
hashBalanceFactor = __hashBalanceFactor,
unknownFields = if (_unknownFields__ == null) _root_.scalapb.UnknownFieldSet.empty else _unknownFields__.result()
)
}
implicit def messageReads: _root_.scalapb.descriptors.Reads[io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig] = _root_.scalapb.descriptors.Reads{
case _root_.scalapb.descriptors.PMessage(__fieldsMap) =>
_root_.scala.Predef.require(__fieldsMap.keys.forall(_.containingMessage eq scalaDescriptor), "FieldDescriptor does not match message type.")
io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig(
useHostnameForHashing = __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).map(_.as[_root_.scala.Boolean]).getOrElse(false),
hashBalanceFactor = __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.wrappers.UInt32Value]]).map(io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig._typemapper_hashBalanceFactor.toCustom(_))
)
case _ => throw new RuntimeException("Expected PMessage")
}
def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.javaDescriptor.getNestedTypes().get(2)
def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.scalaDescriptor.nestedMessages(2)
def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = {
var __out: _root_.scalapb.GeneratedMessageCompanion[_] = null
(__number: @_root_.scala.unchecked) match {
case 2 => __out = com.google.protobuf.wrappers.UInt32Value
}
__out
}
lazy val nestedMessagesCompanions: Seq[_root_.scalapb.GeneratedMessageCompanion[_ <: _root_.scalapb.GeneratedMessage]] = Seq.empty
def enumCompanionForFieldNumber(__fieldNumber: _root_.scala.Int): _root_.scalapb.GeneratedEnumCompanion[_] = throw new MatchError(__fieldNumber)
lazy val defaultInstance = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig(
useHostnameForHashing = false,
hashBalanceFactor = _root_.scala.None
)
implicit class ConsistentHashingLbConfigLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig](_l) {
def useHostnameForHashing: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Boolean] = field(_.useHostnameForHashing)((c_, f_) => c_.copy(useHostnameForHashing = f_))
def hashBalanceFactor: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Int] = field(_.getHashBalanceFactor)((c_, f_) => c_.copy(hashBalanceFactor = Option(f_)))
def optionalHashBalanceFactor: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[_root_.scala.Int]] = field(_.hashBalanceFactor)((c_, f_) => c_.copy(hashBalanceFactor = f_))
}
final val USE_HOSTNAME_FOR_HASHING_FIELD_NUMBER = 1
final val HASH_BALANCE_FACTOR_FIELD_NUMBER = 2
@transient
private[v3] val _typemapper_hashBalanceFactor: _root_.scalapb.TypeMapper[com.google.protobuf.wrappers.UInt32Value, _root_.scala.Int] = implicitly[_root_.scalapb.TypeMapper[com.google.protobuf.wrappers.UInt32Value, _root_.scala.Int]]
def of(
useHostnameForHashing: _root_.scala.Boolean,
hashBalanceFactor: _root_.scala.Option[_root_.scala.Int]
): _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig = _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig(
useHostnameForHashing,
hashBalanceFactor
)
// @@protoc_insertion_point(GeneratedMessageCompanion[envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig])
}
implicit class CommonLbConfigLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig](_l) {
def healthyPanicThreshold: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.`type`.v3.Percent] = field(_.getHealthyPanicThreshold)((c_, f_) => c_.copy(healthyPanicThreshold = Option(f_)))
def optionalHealthyPanicThreshold: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.`type`.v3.Percent]] = field(_.healthyPanicThreshold)((c_, f_) => c_.copy(healthyPanicThreshold = f_))
def zoneAwareLbConfig: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig] = field(_.getZoneAwareLbConfig)((c_, f_) => c_.copy(localityConfigSpecifier = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityConfigSpecifier.ZoneAwareLbConfig(f_)))
def localityWeightedLbConfig: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig] = field(_.getLocalityWeightedLbConfig)((c_, f_) => c_.copy(localityConfigSpecifier = io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityConfigSpecifier.LocalityWeightedLbConfig(f_)))
def updateMergeWindow: _root_.scalapb.lenses.Lens[UpperPB, com.google.protobuf.duration.Duration] = field(_.getUpdateMergeWindow)((c_, f_) => c_.copy(updateMergeWindow = Option(f_)))
def optionalUpdateMergeWindow: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[com.google.protobuf.duration.Duration]] = field(_.updateMergeWindow)((c_, f_) => c_.copy(updateMergeWindow = f_))
def ignoreNewHostsUntilFirstHc: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Boolean] = field(_.ignoreNewHostsUntilFirstHc)((c_, f_) => c_.copy(ignoreNewHostsUntilFirstHc = f_))
def closeConnectionsOnHostSetChange: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Boolean] = field(_.closeConnectionsOnHostSetChange)((c_, f_) => c_.copy(closeConnectionsOnHostSetChange = f_))
def consistentHashingLbConfig: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig] = field(_.getConsistentHashingLbConfig)((c_, f_) => c_.copy(consistentHashingLbConfig = Option(f_)))
def optionalConsistentHashingLbConfig: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig]] = field(_.consistentHashingLbConfig)((c_, f_) => c_.copy(consistentHashingLbConfig = f_))
def overrideHostStatus: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.core.v3.HealthStatusSet] = field(_.getOverrideHostStatus)((c_, f_) => c_.copy(overrideHostStatus = Option(f_)))
def optionalOverrideHostStatus: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.HealthStatusSet]] = field(_.overrideHostStatus)((c_, f_) => c_.copy(overrideHostStatus = f_))
def localityConfigSpecifier: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityConfigSpecifier] = field(_.localityConfigSpecifier)((c_, f_) => c_.copy(localityConfigSpecifier = f_))
}
final val HEALTHY_PANIC_THRESHOLD_FIELD_NUMBER = 1
final val ZONE_AWARE_LB_CONFIG_FIELD_NUMBER = 2
final val LOCALITY_WEIGHTED_LB_CONFIG_FIELD_NUMBER = 3
final val UPDATE_MERGE_WINDOW_FIELD_NUMBER = 4
final val IGNORE_NEW_HOSTS_UNTIL_FIRST_HC_FIELD_NUMBER = 5
final val CLOSE_CONNECTIONS_ON_HOST_SET_CHANGE_FIELD_NUMBER = 6
final val CONSISTENT_HASHING_LB_CONFIG_FIELD_NUMBER = 7
final val OVERRIDE_HOST_STATUS_FIELD_NUMBER = 8
def of(
healthyPanicThreshold: _root_.scala.Option[io.envoyproxy.envoy.`type`.v3.Percent],
localityConfigSpecifier: io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityConfigSpecifier,
updateMergeWindow: _root_.scala.Option[com.google.protobuf.duration.Duration],
ignoreNewHostsUntilFirstHc: _root_.scala.Boolean,
closeConnectionsOnHostSetChange: _root_.scala.Boolean,
consistentHashingLbConfig: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig],
overrideHostStatus: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.HealthStatusSet]
): _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig = _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig(
healthyPanicThreshold,
localityConfigSpecifier,
updateMergeWindow,
ignoreNewHostsUntilFirstHc,
closeConnectionsOnHostSetChange,
consistentHashingLbConfig,
overrideHostStatus
)
// @@protoc_insertion_point(GeneratedMessageCompanion[envoy.config.cluster.v3.Cluster.CommonLbConfig])
}
/** @param baseInterval
* Specifies the base interval between refreshes. This parameter is required and must be greater
* than zero and less than
* :ref:`max_interval <envoy_v3_api_field_config.cluster.v3.Cluster.RefreshRate.max_interval>`.
* @param maxInterval
* Specifies the maximum interval between refreshes. This parameter is optional, but must be
* greater than or equal to the
* :ref:`base_interval <envoy_v3_api_field_config.cluster.v3.Cluster.RefreshRate.base_interval>` if set. The default
* is 10 times the :ref:`base_interval <envoy_v3_api_field_config.cluster.v3.Cluster.RefreshRate.base_interval>`.
*/
@SerialVersionUID(0L)
final case class RefreshRate(
baseInterval: _root_.scala.Option[com.google.protobuf.duration.Duration] = _root_.scala.None,
maxInterval: _root_.scala.Option[com.google.protobuf.duration.Duration] = _root_.scala.None,
unknownFields: _root_.scalapb.UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty
) extends scalapb.GeneratedMessage with scalapb.lenses.Updatable[RefreshRate] {
@transient
private[this] var __serializedSizeMemoized: _root_.scala.Int = 0
private[this] def __computeSerializedSize(): _root_.scala.Int = {
var __size = 0
if (baseInterval.isDefined) {
val __value = baseInterval.get
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (maxInterval.isDefined) {
val __value = maxInterval.get
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
__size += unknownFields.serializedSize
__size
}
override def serializedSize: _root_.scala.Int = {
var __size = __serializedSizeMemoized
if (__size == 0) {
__size = __computeSerializedSize() + 1
__serializedSizeMemoized = __size
}
__size - 1
}
def writeTo(`_output__`: _root_.com.google.protobuf.CodedOutputStream): _root_.scala.Unit = {
baseInterval.foreach { __v =>
val __m = __v
_output__.writeTag(1, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
maxInterval.foreach { __v =>
val __m = __v
_output__.writeTag(2, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
unknownFields.writeTo(_output__)
}
def getBaseInterval: com.google.protobuf.duration.Duration = baseInterval.getOrElse(com.google.protobuf.duration.Duration.defaultInstance)
def clearBaseInterval: RefreshRate = copy(baseInterval = _root_.scala.None)
def withBaseInterval(__v: com.google.protobuf.duration.Duration): RefreshRate = copy(baseInterval = Option(__v))
def getMaxInterval: com.google.protobuf.duration.Duration = maxInterval.getOrElse(com.google.protobuf.duration.Duration.defaultInstance)
def clearMaxInterval: RefreshRate = copy(maxInterval = _root_.scala.None)
def withMaxInterval(__v: com.google.protobuf.duration.Duration): RefreshRate = copy(maxInterval = Option(__v))
def withUnknownFields(__v: _root_.scalapb.UnknownFieldSet) = copy(unknownFields = __v)
def discardUnknownFields = copy(unknownFields = _root_.scalapb.UnknownFieldSet.empty)
def getFieldByNumber(__fieldNumber: _root_.scala.Int): _root_.scala.Any = {
(__fieldNumber: @_root_.scala.unchecked) match {
case 1 => baseInterval.orNull
case 2 => maxInterval.orNull
}
}
def getField(__field: _root_.scalapb.descriptors.FieldDescriptor): _root_.scalapb.descriptors.PValue = {
_root_.scala.Predef.require(__field.containingMessage eq companion.scalaDescriptor)
(__field.number: @_root_.scala.unchecked) match {
case 1 => baseInterval.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 2 => maxInterval.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
}
}
def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this)
def companion: io.envoyproxy.envoy.config.cluster.v3.Cluster.RefreshRate.type = io.envoyproxy.envoy.config.cluster.v3.Cluster.RefreshRate
// @@protoc_insertion_point(GeneratedMessage[envoy.config.cluster.v3.Cluster.RefreshRate])
}
object RefreshRate extends scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.RefreshRate] {
implicit def messageCompanion: scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.RefreshRate] = this
def parseFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): io.envoyproxy.envoy.config.cluster.v3.Cluster.RefreshRate = {
var __baseInterval: _root_.scala.Option[com.google.protobuf.duration.Duration] = _root_.scala.None
var __maxInterval: _root_.scala.Option[com.google.protobuf.duration.Duration] = _root_.scala.None
var `_unknownFields__`: _root_.scalapb.UnknownFieldSet.Builder = null
var _done__ = false
while (!_done__) {
val _tag__ = _input__.readTag()
_tag__ match {
case 0 => _done__ = true
case 10 =>
__baseInterval = Option(__baseInterval.fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.duration.Duration](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case 18 =>
__maxInterval = Option(__maxInterval.fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.duration.Duration](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case tag =>
if (_unknownFields__ == null) {
_unknownFields__ = new _root_.scalapb.UnknownFieldSet.Builder()
}
_unknownFields__.parseField(tag, _input__)
}
}
io.envoyproxy.envoy.config.cluster.v3.Cluster.RefreshRate(
baseInterval = __baseInterval,
maxInterval = __maxInterval,
unknownFields = if (_unknownFields__ == null) _root_.scalapb.UnknownFieldSet.empty else _unknownFields__.result()
)
}
implicit def messageReads: _root_.scalapb.descriptors.Reads[io.envoyproxy.envoy.config.cluster.v3.Cluster.RefreshRate] = _root_.scalapb.descriptors.Reads{
case _root_.scalapb.descriptors.PMessage(__fieldsMap) =>
_root_.scala.Predef.require(__fieldsMap.keys.forall(_.containingMessage eq scalaDescriptor), "FieldDescriptor does not match message type.")
io.envoyproxy.envoy.config.cluster.v3.Cluster.RefreshRate(
baseInterval = __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.duration.Duration]]),
maxInterval = __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.duration.Duration]])
)
case _ => throw new RuntimeException("Expected PMessage")
}
def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.javaDescriptor.getNestedTypes().get(11)
def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.scalaDescriptor.nestedMessages(11)
def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = {
var __out: _root_.scalapb.GeneratedMessageCompanion[_] = null
(__number: @_root_.scala.unchecked) match {
case 1 => __out = com.google.protobuf.duration.Duration
case 2 => __out = com.google.protobuf.duration.Duration
}
__out
}
lazy val nestedMessagesCompanions: Seq[_root_.scalapb.GeneratedMessageCompanion[_ <: _root_.scalapb.GeneratedMessage]] = Seq.empty
def enumCompanionForFieldNumber(__fieldNumber: _root_.scala.Int): _root_.scalapb.GeneratedEnumCompanion[_] = throw new MatchError(__fieldNumber)
lazy val defaultInstance = io.envoyproxy.envoy.config.cluster.v3.Cluster.RefreshRate(
baseInterval = _root_.scala.None,
maxInterval = _root_.scala.None
)
implicit class RefreshRateLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.RefreshRate]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.RefreshRate](_l) {
def baseInterval: _root_.scalapb.lenses.Lens[UpperPB, com.google.protobuf.duration.Duration] = field(_.getBaseInterval)((c_, f_) => c_.copy(baseInterval = Option(f_)))
def optionalBaseInterval: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[com.google.protobuf.duration.Duration]] = field(_.baseInterval)((c_, f_) => c_.copy(baseInterval = f_))
def maxInterval: _root_.scalapb.lenses.Lens[UpperPB, com.google.protobuf.duration.Duration] = field(_.getMaxInterval)((c_, f_) => c_.copy(maxInterval = Option(f_)))
def optionalMaxInterval: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[com.google.protobuf.duration.Duration]] = field(_.maxInterval)((c_, f_) => c_.copy(maxInterval = f_))
}
final val BASE_INTERVAL_FIELD_NUMBER = 1
final val MAX_INTERVAL_FIELD_NUMBER = 2
def of(
baseInterval: _root_.scala.Option[com.google.protobuf.duration.Duration],
maxInterval: _root_.scala.Option[com.google.protobuf.duration.Duration]
): _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.RefreshRate = _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.RefreshRate(
baseInterval,
maxInterval
)
// @@protoc_insertion_point(GeneratedMessageCompanion[envoy.config.cluster.v3.Cluster.RefreshRate])
}
/** @param perUpstreamPreconnectRatio
* Indicates how many streams (rounded up) can be anticipated per-upstream for each
* incoming stream. This is useful for high-QPS or latency-sensitive services. Preconnecting
* will only be done if the upstream is healthy and the cluster has traffic.
*
* For example if this is 2, for an incoming HTTP/1.1 stream, 2 connections will be
* established, one for the new incoming stream, and one for a presumed follow-up stream. For
* HTTP/2, only one connection would be established by default as one connection can
* serve both the original and presumed follow-up stream.
*
* In steady state for non-multiplexed connections a value of 1.5 would mean if there were 100
* active streams, there would be 100 connections in use, and 50 connections preconnected.
* This might be a useful value for something like short lived single-use connections,
* for example proxying HTTP/1.1 if keep-alive were false and each stream resulted in connection
* termination. It would likely be overkill for long lived connections, such as TCP proxying SMTP
* or regular HTTP/1.1 with keep-alive. For long lived traffic, a value of 1.05 would be more
* reasonable, where for every 100 connections, 5 preconnected connections would be in the queue
* in case of unexpected disconnects where the connection could not be reused.
*
* If this value is not set, or set explicitly to one, Envoy will fetch as many connections
* as needed to serve streams in flight. This means in steady state if a connection is torn down,
* a subsequent streams will pay an upstream-rtt latency penalty waiting for a new connection.
*
* This is limited somewhat arbitrarily to 3 because preconnecting too aggressively can
* harm latency more than the preconnecting helps.
* @param predictivePreconnectRatio
* Indicates how many many streams (rounded up) can be anticipated across a cluster for each
* stream, useful for low QPS services. This is currently supported for a subset of
* deterministic non-hash-based load-balancing algorithms (weighted round robin, random).
* Unlike *per_upstream_preconnect_ratio* this preconnects across the upstream instances in a
* cluster, doing best effort predictions of what upstream would be picked next and
* pre-establishing a connection.
*
* Preconnecting will be limited to one preconnect per configured upstream in the cluster and will
* only be done if there are healthy upstreams and the cluster has traffic.
*
* For example if preconnecting is set to 2 for a round robin HTTP/2 cluster, on the first
* incoming stream, 2 connections will be preconnected - one to the first upstream for this
* cluster, one to the second on the assumption there will be a follow-up stream.
*
* If this value is not set, or set explicitly to one, Envoy will fetch as many connections
* as needed to serve streams in flight, so during warm up and in steady state if a connection
* is closed (and per_upstream_preconnect_ratio is not set), there will be a latency hit for
* connection establishment.
*
* If both this and preconnect_ratio are set, Envoy will make sure both predicted needs are met,
* basically preconnecting max(predictive-preconnect, per-upstream-preconnect), for each
* upstream.
*/
@SerialVersionUID(0L)
final case class PreconnectPolicy(
perUpstreamPreconnectRatio: _root_.scala.Option[_root_.scala.Double] = _root_.scala.None,
predictivePreconnectRatio: _root_.scala.Option[_root_.scala.Double] = _root_.scala.None,
unknownFields: _root_.scalapb.UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty
) extends scalapb.GeneratedMessage with scalapb.lenses.Updatable[PreconnectPolicy] {
@transient
private[this] var __serializedSizeMemoized: _root_.scala.Int = 0
private[this] def __computeSerializedSize(): _root_.scala.Int = {
var __size = 0
if (perUpstreamPreconnectRatio.isDefined) {
val __value = io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy._typemapper_perUpstreamPreconnectRatio.toBase(perUpstreamPreconnectRatio.get)
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
if (predictivePreconnectRatio.isDefined) {
val __value = io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy._typemapper_predictivePreconnectRatio.toBase(predictivePreconnectRatio.get)
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
__size += unknownFields.serializedSize
__size
}
override def serializedSize: _root_.scala.Int = {
var __size = __serializedSizeMemoized
if (__size == 0) {
__size = __computeSerializedSize() + 1
__serializedSizeMemoized = __size
}
__size - 1
}
def writeTo(`_output__`: _root_.com.google.protobuf.CodedOutputStream): _root_.scala.Unit = {
perUpstreamPreconnectRatio.foreach { __v =>
val __m = io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy._typemapper_perUpstreamPreconnectRatio.toBase(__v)
_output__.writeTag(1, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
predictivePreconnectRatio.foreach { __v =>
val __m = io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy._typemapper_predictivePreconnectRatio.toBase(__v)
_output__.writeTag(2, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
unknownFields.writeTo(_output__)
}
def getPerUpstreamPreconnectRatio: _root_.scala.Double = perUpstreamPreconnectRatio.getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy._typemapper_perUpstreamPreconnectRatio.toCustom(com.google.protobuf.wrappers.DoubleValue.defaultInstance))
def clearPerUpstreamPreconnectRatio: PreconnectPolicy = copy(perUpstreamPreconnectRatio = _root_.scala.None)
def withPerUpstreamPreconnectRatio(__v: _root_.scala.Double): PreconnectPolicy = copy(perUpstreamPreconnectRatio = Option(__v))
def getPredictivePreconnectRatio: _root_.scala.Double = predictivePreconnectRatio.getOrElse(io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy._typemapper_predictivePreconnectRatio.toCustom(com.google.protobuf.wrappers.DoubleValue.defaultInstance))
def clearPredictivePreconnectRatio: PreconnectPolicy = copy(predictivePreconnectRatio = _root_.scala.None)
def withPredictivePreconnectRatio(__v: _root_.scala.Double): PreconnectPolicy = copy(predictivePreconnectRatio = Option(__v))
def withUnknownFields(__v: _root_.scalapb.UnknownFieldSet) = copy(unknownFields = __v)
def discardUnknownFields = copy(unknownFields = _root_.scalapb.UnknownFieldSet.empty)
def getFieldByNumber(__fieldNumber: _root_.scala.Int): _root_.scala.Any = {
(__fieldNumber: @_root_.scala.unchecked) match {
case 1 => perUpstreamPreconnectRatio.map(io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy._typemapper_perUpstreamPreconnectRatio.toBase(_)).orNull
case 2 => predictivePreconnectRatio.map(io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy._typemapper_predictivePreconnectRatio.toBase(_)).orNull
}
}
def getField(__field: _root_.scalapb.descriptors.FieldDescriptor): _root_.scalapb.descriptors.PValue = {
_root_.scala.Predef.require(__field.containingMessage eq companion.scalaDescriptor)
(__field.number: @_root_.scala.unchecked) match {
case 1 => perUpstreamPreconnectRatio.map(io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy._typemapper_perUpstreamPreconnectRatio.toBase(_).toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
case 2 => predictivePreconnectRatio.map(io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy._typemapper_predictivePreconnectRatio.toBase(_).toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
}
}
def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this)
def companion: io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy.type = io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy
// @@protoc_insertion_point(GeneratedMessage[envoy.config.cluster.v3.Cluster.PreconnectPolicy])
}
object PreconnectPolicy extends scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy] {
implicit def messageCompanion: scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy] = this
def parseFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy = {
var __perUpstreamPreconnectRatio: _root_.scala.Option[_root_.scala.Double] = _root_.scala.None
var __predictivePreconnectRatio: _root_.scala.Option[_root_.scala.Double] = _root_.scala.None
var `_unknownFields__`: _root_.scalapb.UnknownFieldSet.Builder = null
var _done__ = false
while (!_done__) {
val _tag__ = _input__.readTag()
_tag__ match {
case 0 => _done__ = true
case 10 =>
__perUpstreamPreconnectRatio = Option(io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy._typemapper_perUpstreamPreconnectRatio.toCustom(__perUpstreamPreconnectRatio.map(io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy._typemapper_perUpstreamPreconnectRatio.toBase(_)).fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.wrappers.DoubleValue](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _))))
case 18 =>
__predictivePreconnectRatio = Option(io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy._typemapper_predictivePreconnectRatio.toCustom(__predictivePreconnectRatio.map(io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy._typemapper_predictivePreconnectRatio.toBase(_)).fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.wrappers.DoubleValue](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _))))
case tag =>
if (_unknownFields__ == null) {
_unknownFields__ = new _root_.scalapb.UnknownFieldSet.Builder()
}
_unknownFields__.parseField(tag, _input__)
}
}
io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy(
perUpstreamPreconnectRatio = __perUpstreamPreconnectRatio,
predictivePreconnectRatio = __predictivePreconnectRatio,
unknownFields = if (_unknownFields__ == null) _root_.scalapb.UnknownFieldSet.empty else _unknownFields__.result()
)
}
implicit def messageReads: _root_.scalapb.descriptors.Reads[io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy] = _root_.scalapb.descriptors.Reads{
case _root_.scalapb.descriptors.PMessage(__fieldsMap) =>
_root_.scala.Predef.require(__fieldsMap.keys.forall(_.containingMessage eq scalaDescriptor), "FieldDescriptor does not match message type.")
io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy(
perUpstreamPreconnectRatio = __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.wrappers.DoubleValue]]).map(io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy._typemapper_perUpstreamPreconnectRatio.toCustom(_)),
predictivePreconnectRatio = __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.wrappers.DoubleValue]]).map(io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy._typemapper_predictivePreconnectRatio.toCustom(_))
)
case _ => throw new RuntimeException("Expected PMessage")
}
def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.javaDescriptor.getNestedTypes().get(12)
def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.scalaDescriptor.nestedMessages(12)
def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = {
var __out: _root_.scalapb.GeneratedMessageCompanion[_] = null
(__number: @_root_.scala.unchecked) match {
case 1 => __out = com.google.protobuf.wrappers.DoubleValue
case 2 => __out = com.google.protobuf.wrappers.DoubleValue
}
__out
}
lazy val nestedMessagesCompanions: Seq[_root_.scalapb.GeneratedMessageCompanion[_ <: _root_.scalapb.GeneratedMessage]] = Seq.empty
def enumCompanionForFieldNumber(__fieldNumber: _root_.scala.Int): _root_.scalapb.GeneratedEnumCompanion[_] = throw new MatchError(__fieldNumber)
lazy val defaultInstance = io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy(
perUpstreamPreconnectRatio = _root_.scala.None,
predictivePreconnectRatio = _root_.scala.None
)
implicit class PreconnectPolicyLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy](_l) {
def perUpstreamPreconnectRatio: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Double] = field(_.getPerUpstreamPreconnectRatio)((c_, f_) => c_.copy(perUpstreamPreconnectRatio = Option(f_)))
def optionalPerUpstreamPreconnectRatio: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[_root_.scala.Double]] = field(_.perUpstreamPreconnectRatio)((c_, f_) => c_.copy(perUpstreamPreconnectRatio = f_))
def predictivePreconnectRatio: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Double] = field(_.getPredictivePreconnectRatio)((c_, f_) => c_.copy(predictivePreconnectRatio = Option(f_)))
def optionalPredictivePreconnectRatio: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[_root_.scala.Double]] = field(_.predictivePreconnectRatio)((c_, f_) => c_.copy(predictivePreconnectRatio = f_))
}
final val PER_UPSTREAM_PRECONNECT_RATIO_FIELD_NUMBER = 1
final val PREDICTIVE_PRECONNECT_RATIO_FIELD_NUMBER = 2
@transient
private[v3] val _typemapper_perUpstreamPreconnectRatio: _root_.scalapb.TypeMapper[com.google.protobuf.wrappers.DoubleValue, _root_.scala.Double] = implicitly[_root_.scalapb.TypeMapper[com.google.protobuf.wrappers.DoubleValue, _root_.scala.Double]]
@transient
private[v3] val _typemapper_predictivePreconnectRatio: _root_.scalapb.TypeMapper[com.google.protobuf.wrappers.DoubleValue, _root_.scala.Double] = implicitly[_root_.scalapb.TypeMapper[com.google.protobuf.wrappers.DoubleValue, _root_.scala.Double]]
def of(
perUpstreamPreconnectRatio: _root_.scala.Option[_root_.scala.Double],
predictivePreconnectRatio: _root_.scala.Option[_root_.scala.Double]
): _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy = _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy(
perUpstreamPreconnectRatio,
predictivePreconnectRatio
)
// @@protoc_insertion_point(GeneratedMessageCompanion[envoy.config.cluster.v3.Cluster.PreconnectPolicy])
}
@SerialVersionUID(0L)
final case class TypedExtensionProtocolOptionsEntry(
key: _root_.scala.Predef.String = "",
value: _root_.scala.Option[com.google.protobuf.any.Any] = _root_.scala.None,
unknownFields: _root_.scalapb.UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty
) extends scalapb.GeneratedMessage with scalapb.lenses.Updatable[TypedExtensionProtocolOptionsEntry] {
@transient
private[this] var __serializedSizeMemoized: _root_.scala.Int = 0
private[this] def __computeSerializedSize(): _root_.scala.Int = {
var __size = 0
{
val __value = key
if (!__value.isEmpty) {
__size += _root_.com.google.protobuf.CodedOutputStream.computeStringSize(1, __value)
}
};
if (value.isDefined) {
val __value = value.get
__size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
};
__size += unknownFields.serializedSize
__size
}
override def serializedSize: _root_.scala.Int = {
var __size = __serializedSizeMemoized
if (__size == 0) {
__size = __computeSerializedSize() + 1
__serializedSizeMemoized = __size
}
__size - 1
}
def writeTo(`_output__`: _root_.com.google.protobuf.CodedOutputStream): _root_.scala.Unit = {
{
val __v = key
if (!__v.isEmpty) {
_output__.writeString(1, __v)
}
};
value.foreach { __v =>
val __m = __v
_output__.writeTag(2, 2)
_output__.writeUInt32NoTag(__m.serializedSize)
__m.writeTo(_output__)
};
unknownFields.writeTo(_output__)
}
def withKey(__v: _root_.scala.Predef.String): TypedExtensionProtocolOptionsEntry = copy(key = __v)
def getValue: com.google.protobuf.any.Any = value.getOrElse(com.google.protobuf.any.Any.defaultInstance)
def clearValue: TypedExtensionProtocolOptionsEntry = copy(value = _root_.scala.None)
def withValue(__v: com.google.protobuf.any.Any): TypedExtensionProtocolOptionsEntry = copy(value = Option(__v))
def withUnknownFields(__v: _root_.scalapb.UnknownFieldSet) = copy(unknownFields = __v)
def discardUnknownFields = copy(unknownFields = _root_.scalapb.UnknownFieldSet.empty)
def getFieldByNumber(__fieldNumber: _root_.scala.Int): _root_.scala.Any = {
(__fieldNumber: @_root_.scala.unchecked) match {
case 1 => {
val __t = key
if (__t != "") __t else null
}
case 2 => value.orNull
}
}
def getField(__field: _root_.scalapb.descriptors.FieldDescriptor): _root_.scalapb.descriptors.PValue = {
_root_.scala.Predef.require(__field.containingMessage eq companion.scalaDescriptor)
(__field.number: @_root_.scala.unchecked) match {
case 1 => _root_.scalapb.descriptors.PString(key)
case 2 => value.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
}
}
def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this)
def companion: io.envoyproxy.envoy.config.cluster.v3.Cluster.TypedExtensionProtocolOptionsEntry.type = io.envoyproxy.envoy.config.cluster.v3.Cluster.TypedExtensionProtocolOptionsEntry
// @@protoc_insertion_point(GeneratedMessage[envoy.config.cluster.v3.Cluster.TypedExtensionProtocolOptionsEntry])
}
object TypedExtensionProtocolOptionsEntry extends scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.TypedExtensionProtocolOptionsEntry] {
implicit def messageCompanion: scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.cluster.v3.Cluster.TypedExtensionProtocolOptionsEntry] = this
def parseFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): io.envoyproxy.envoy.config.cluster.v3.Cluster.TypedExtensionProtocolOptionsEntry = {
var __key: _root_.scala.Predef.String = ""
var __value: _root_.scala.Option[com.google.protobuf.any.Any] = _root_.scala.None
var `_unknownFields__`: _root_.scalapb.UnknownFieldSet.Builder = null
var _done__ = false
while (!_done__) {
val _tag__ = _input__.readTag()
_tag__ match {
case 0 => _done__ = true
case 10 =>
__key = _input__.readStringRequireUtf8()
case 18 =>
__value = Option(__value.fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.any.Any](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
case tag =>
if (_unknownFields__ == null) {
_unknownFields__ = new _root_.scalapb.UnknownFieldSet.Builder()
}
_unknownFields__.parseField(tag, _input__)
}
}
io.envoyproxy.envoy.config.cluster.v3.Cluster.TypedExtensionProtocolOptionsEntry(
key = __key,
value = __value,
unknownFields = if (_unknownFields__ == null) _root_.scalapb.UnknownFieldSet.empty else _unknownFields__.result()
)
}
implicit def messageReads: _root_.scalapb.descriptors.Reads[io.envoyproxy.envoy.config.cluster.v3.Cluster.TypedExtensionProtocolOptionsEntry] = _root_.scalapb.descriptors.Reads{
case _root_.scalapb.descriptors.PMessage(__fieldsMap) =>
_root_.scala.Predef.require(__fieldsMap.keys.forall(_.containingMessage eq scalaDescriptor), "FieldDescriptor does not match message type.")
io.envoyproxy.envoy.config.cluster.v3.Cluster.TypedExtensionProtocolOptionsEntry(
key = __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).map(_.as[_root_.scala.Predef.String]).getOrElse(""),
value = __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.any.Any]])
)
case _ => throw new RuntimeException("Expected PMessage")
}
def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.javaDescriptor.getNestedTypes().get(13)
def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = io.envoyproxy.envoy.config.cluster.v3.Cluster.scalaDescriptor.nestedMessages(13)
def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = {
var __out: _root_.scalapb.GeneratedMessageCompanion[_] = null
(__number: @_root_.scala.unchecked) match {
case 2 => __out = com.google.protobuf.any.Any
}
__out
}
lazy val nestedMessagesCompanions: Seq[_root_.scalapb.GeneratedMessageCompanion[_ <: _root_.scalapb.GeneratedMessage]] = Seq.empty
def enumCompanionForFieldNumber(__fieldNumber: _root_.scala.Int): _root_.scalapb.GeneratedEnumCompanion[_] = throw new MatchError(__fieldNumber)
lazy val defaultInstance = io.envoyproxy.envoy.config.cluster.v3.Cluster.TypedExtensionProtocolOptionsEntry(
key = "",
value = _root_.scala.None
)
implicit class TypedExtensionProtocolOptionsEntryLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.TypedExtensionProtocolOptionsEntry]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.TypedExtensionProtocolOptionsEntry](_l) {
def key: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Predef.String] = field(_.key)((c_, f_) => c_.copy(key = f_))
def value: _root_.scalapb.lenses.Lens[UpperPB, com.google.protobuf.any.Any] = field(_.getValue)((c_, f_) => c_.copy(value = Option(f_)))
def optionalValue: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[com.google.protobuf.any.Any]] = field(_.value)((c_, f_) => c_.copy(value = f_))
}
final val KEY_FIELD_NUMBER = 1
final val VALUE_FIELD_NUMBER = 2
@transient
implicit val keyValueMapper: _root_.scalapb.TypeMapper[io.envoyproxy.envoy.config.cluster.v3.Cluster.TypedExtensionProtocolOptionsEntry, (_root_.scala.Predef.String, com.google.protobuf.any.Any)] =
_root_.scalapb.TypeMapper[io.envoyproxy.envoy.config.cluster.v3.Cluster.TypedExtensionProtocolOptionsEntry, (_root_.scala.Predef.String, com.google.protobuf.any.Any)](__m => (__m.key, __m.getValue))(__p => io.envoyproxy.envoy.config.cluster.v3.Cluster.TypedExtensionProtocolOptionsEntry(__p._1, Some(__p._2)))
def of(
key: _root_.scala.Predef.String,
value: _root_.scala.Option[com.google.protobuf.any.Any]
): _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.TypedExtensionProtocolOptionsEntry = _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster.TypedExtensionProtocolOptionsEntry(
key,
value
)
// @@protoc_insertion_point(GeneratedMessageCompanion[envoy.config.cluster.v3.Cluster.TypedExtensionProtocolOptionsEntry])
}
implicit class ClusterLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster](_l) {
def transportSocketMatches: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Seq[io.envoyproxy.envoy.config.cluster.v3.Cluster.TransportSocketMatch]] = field(_.transportSocketMatches)((c_, f_) => c_.copy(transportSocketMatches = f_))
def name: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Predef.String] = field(_.name)((c_, f_) => c_.copy(name = f_))
def altStatName: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Predef.String] = field(_.altStatName)((c_, f_) => c_.copy(altStatName = f_))
def `type`: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.DiscoveryType] = field(_.getType)((c_, f_) => c_.copy(clusterDiscoveryType = io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterDiscoveryType.Type(f_)))
def clusterType: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.CustomClusterType] = field(_.getClusterType)((c_, f_) => c_.copy(clusterDiscoveryType = io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterDiscoveryType.ClusterType(f_)))
def edsClusterConfig: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.EdsClusterConfig] = field(_.getEdsClusterConfig)((c_, f_) => c_.copy(edsClusterConfig = Option(f_)))
def optionalEdsClusterConfig: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.EdsClusterConfig]] = field(_.edsClusterConfig)((c_, f_) => c_.copy(edsClusterConfig = f_))
def connectTimeout: _root_.scalapb.lenses.Lens[UpperPB, com.google.protobuf.duration.Duration] = field(_.getConnectTimeout)((c_, f_) => c_.copy(connectTimeout = Option(f_)))
def optionalConnectTimeout: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[com.google.protobuf.duration.Duration]] = field(_.connectTimeout)((c_, f_) => c_.copy(connectTimeout = f_))
def perConnectionBufferLimitBytes: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Int] = field(_.getPerConnectionBufferLimitBytes)((c_, f_) => c_.copy(perConnectionBufferLimitBytes = Option(f_)))
def optionalPerConnectionBufferLimitBytes: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[_root_.scala.Int]] = field(_.perConnectionBufferLimitBytes)((c_, f_) => c_.copy(perConnectionBufferLimitBytes = f_))
def lbPolicy: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.LbPolicy] = field(_.lbPolicy)((c_, f_) => c_.copy(lbPolicy = f_))
def loadAssignment: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.endpoint.v3.ClusterLoadAssignment] = field(_.getLoadAssignment)((c_, f_) => c_.copy(loadAssignment = Option(f_)))
def optionalLoadAssignment: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.endpoint.v3.ClusterLoadAssignment]] = field(_.loadAssignment)((c_, f_) => c_.copy(loadAssignment = f_))
def healthChecks: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Seq[io.envoyproxy.envoy.config.core.v3.HealthCheck]] = field(_.healthChecks)((c_, f_) => c_.copy(healthChecks = f_))
def maxRequestsPerConnection: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Int] = field(_.getMaxRequestsPerConnection)((c_, f_) => c_.copy(maxRequestsPerConnection = Option(f_)))
def optionalMaxRequestsPerConnection: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[_root_.scala.Int]] = field(_.maxRequestsPerConnection)((c_, f_) => c_.copy(maxRequestsPerConnection = f_))
def circuitBreakers: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.CircuitBreakers] = field(_.getCircuitBreakers)((c_, f_) => c_.copy(circuitBreakers = Option(f_)))
def optionalCircuitBreakers: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.CircuitBreakers]] = field(_.circuitBreakers)((c_, f_) => c_.copy(circuitBreakers = f_))
def upstreamHttpProtocolOptions: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptions] = field(_.getUpstreamHttpProtocolOptions)((c_, f_) => c_.copy(upstreamHttpProtocolOptions = Option(f_)))
def optionalUpstreamHttpProtocolOptions: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptions]] = field(_.upstreamHttpProtocolOptions)((c_, f_) => c_.copy(upstreamHttpProtocolOptions = f_))
def commonHttpProtocolOptions: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions] = field(_.getCommonHttpProtocolOptions)((c_, f_) => c_.copy(commonHttpProtocolOptions = Option(f_)))
def optionalCommonHttpProtocolOptions: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions]] = field(_.commonHttpProtocolOptions)((c_, f_) => c_.copy(commonHttpProtocolOptions = f_))
def httpProtocolOptions: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions] = field(_.getHttpProtocolOptions)((c_, f_) => c_.copy(httpProtocolOptions = Option(f_)))
def optionalHttpProtocolOptions: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions]] = field(_.httpProtocolOptions)((c_, f_) => c_.copy(httpProtocolOptions = f_))
def http2ProtocolOptions: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions] = field(_.getHttp2ProtocolOptions)((c_, f_) => c_.copy(http2ProtocolOptions = Option(f_)))
def optionalHttp2ProtocolOptions: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions]] = field(_.http2ProtocolOptions)((c_, f_) => c_.copy(http2ProtocolOptions = f_))
def typedExtensionProtocolOptions: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.collection.immutable.Map[_root_.scala.Predef.String, com.google.protobuf.any.Any]] = field(_.typedExtensionProtocolOptions)((c_, f_) => c_.copy(typedExtensionProtocolOptions = f_))
def dnsRefreshRate: _root_.scalapb.lenses.Lens[UpperPB, com.google.protobuf.duration.Duration] = field(_.getDnsRefreshRate)((c_, f_) => c_.copy(dnsRefreshRate = Option(f_)))
def optionalDnsRefreshRate: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[com.google.protobuf.duration.Duration]] = field(_.dnsRefreshRate)((c_, f_) => c_.copy(dnsRefreshRate = f_))
def dnsFailureRefreshRate: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.RefreshRate] = field(_.getDnsFailureRefreshRate)((c_, f_) => c_.copy(dnsFailureRefreshRate = Option(f_)))
def optionalDnsFailureRefreshRate: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.RefreshRate]] = field(_.dnsFailureRefreshRate)((c_, f_) => c_.copy(dnsFailureRefreshRate = f_))
def respectDnsTtl: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Boolean] = field(_.respectDnsTtl)((c_, f_) => c_.copy(respectDnsTtl = f_))
def dnsLookupFamily: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.DnsLookupFamily] = field(_.dnsLookupFamily)((c_, f_) => c_.copy(dnsLookupFamily = f_))
def dnsResolvers: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Seq[io.envoyproxy.envoy.config.core.v3.Address]] = field(_.dnsResolvers)((c_, f_) => c_.copy(dnsResolvers = f_))
def useTcpForDnsLookups: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Boolean] = field(_.useTcpForDnsLookups)((c_, f_) => c_.copy(useTcpForDnsLookups = f_))
def dnsResolutionConfig: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.core.v3.DnsResolutionConfig] = field(_.getDnsResolutionConfig)((c_, f_) => c_.copy(dnsResolutionConfig = Option(f_)))
def optionalDnsResolutionConfig: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.DnsResolutionConfig]] = field(_.dnsResolutionConfig)((c_, f_) => c_.copy(dnsResolutionConfig = f_))
def typedDnsResolverConfig: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig] = field(_.getTypedDnsResolverConfig)((c_, f_) => c_.copy(typedDnsResolverConfig = Option(f_)))
def optionalTypedDnsResolverConfig: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig]] = field(_.typedDnsResolverConfig)((c_, f_) => c_.copy(typedDnsResolverConfig = f_))
def waitForWarmOnInit: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Boolean] = field(_.getWaitForWarmOnInit)((c_, f_) => c_.copy(waitForWarmOnInit = Option(f_)))
def optionalWaitForWarmOnInit: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[_root_.scala.Boolean]] = field(_.waitForWarmOnInit)((c_, f_) => c_.copy(waitForWarmOnInit = f_))
def outlierDetection: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.OutlierDetection] = field(_.getOutlierDetection)((c_, f_) => c_.copy(outlierDetection = Option(f_)))
def optionalOutlierDetection: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.OutlierDetection]] = field(_.outlierDetection)((c_, f_) => c_.copy(outlierDetection = f_))
def cleanupInterval: _root_.scalapb.lenses.Lens[UpperPB, com.google.protobuf.duration.Duration] = field(_.getCleanupInterval)((c_, f_) => c_.copy(cleanupInterval = Option(f_)))
def optionalCleanupInterval: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[com.google.protobuf.duration.Duration]] = field(_.cleanupInterval)((c_, f_) => c_.copy(cleanupInterval = f_))
def upstreamBindConfig: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.core.v3.BindConfig] = field(_.getUpstreamBindConfig)((c_, f_) => c_.copy(upstreamBindConfig = Option(f_)))
def optionalUpstreamBindConfig: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.BindConfig]] = field(_.upstreamBindConfig)((c_, f_) => c_.copy(upstreamBindConfig = f_))
def lbSubsetConfig: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig] = field(_.getLbSubsetConfig)((c_, f_) => c_.copy(lbSubsetConfig = Option(f_)))
def optionalLbSubsetConfig: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig]] = field(_.lbSubsetConfig)((c_, f_) => c_.copy(lbSubsetConfig = f_))
def ringHashLbConfig: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.RingHashLbConfig] = field(_.getRingHashLbConfig)((c_, f_) => c_.copy(lbConfig = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig.RingHashLbConfig(f_)))
def maglevLbConfig: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.MaglevLbConfig] = field(_.getMaglevLbConfig)((c_, f_) => c_.copy(lbConfig = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig.MaglevLbConfig(f_)))
def originalDstLbConfig: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.OriginalDstLbConfig] = field(_.getOriginalDstLbConfig)((c_, f_) => c_.copy(lbConfig = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig.OriginalDstLbConfig(f_)))
def leastRequestLbConfig: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.LeastRequestLbConfig] = field(_.getLeastRequestLbConfig)((c_, f_) => c_.copy(lbConfig = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig.LeastRequestLbConfig(f_)))
def roundRobinLbConfig: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.RoundRobinLbConfig] = field(_.getRoundRobinLbConfig)((c_, f_) => c_.copy(lbConfig = io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig.RoundRobinLbConfig(f_)))
def commonLbConfig: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig] = field(_.getCommonLbConfig)((c_, f_) => c_.copy(commonLbConfig = Option(f_)))
def optionalCommonLbConfig: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig]] = field(_.commonLbConfig)((c_, f_) => c_.copy(commonLbConfig = f_))
def transportSocket: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.core.v3.TransportSocket] = field(_.getTransportSocket)((c_, f_) => c_.copy(transportSocket = Option(f_)))
def optionalTransportSocket: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.TransportSocket]] = field(_.transportSocket)((c_, f_) => c_.copy(transportSocket = f_))
def metadata: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.core.v3.Metadata] = field(_.getMetadata)((c_, f_) => c_.copy(metadata = Option(f_)))
def optionalMetadata: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Metadata]] = field(_.metadata)((c_, f_) => c_.copy(metadata = f_))
def protocolSelection: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterProtocolSelection] = field(_.protocolSelection)((c_, f_) => c_.copy(protocolSelection = f_))
def upstreamConnectionOptions: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.UpstreamConnectionOptions] = field(_.getUpstreamConnectionOptions)((c_, f_) => c_.copy(upstreamConnectionOptions = Option(f_)))
def optionalUpstreamConnectionOptions: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.UpstreamConnectionOptions]] = field(_.upstreamConnectionOptions)((c_, f_) => c_.copy(upstreamConnectionOptions = f_))
def closeConnectionsOnHostHealthFailure: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Boolean] = field(_.closeConnectionsOnHostHealthFailure)((c_, f_) => c_.copy(closeConnectionsOnHostHealthFailure = f_))
def ignoreHealthOnHostRemoval: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Boolean] = field(_.ignoreHealthOnHostRemoval)((c_, f_) => c_.copy(ignoreHealthOnHostRemoval = f_))
def filters: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Seq[io.envoyproxy.envoy.config.cluster.v3.Filter]] = field(_.filters)((c_, f_) => c_.copy(filters = f_))
def loadBalancingPolicy: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.LoadBalancingPolicy] = field(_.getLoadBalancingPolicy)((c_, f_) => c_.copy(loadBalancingPolicy = Option(f_)))
def optionalLoadBalancingPolicy: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.LoadBalancingPolicy]] = field(_.loadBalancingPolicy)((c_, f_) => c_.copy(loadBalancingPolicy = f_))
def lrsServer: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.core.v3.ConfigSource] = field(_.getLrsServer)((c_, f_) => c_.copy(lrsServer = Option(f_)))
def optionalLrsServer: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.ConfigSource]] = field(_.lrsServer)((c_, f_) => c_.copy(lrsServer = f_))
def trackTimeoutBudgets: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Boolean] = field(_.trackTimeoutBudgets)((c_, f_) => c_.copy(trackTimeoutBudgets = f_))
def upstreamConfig: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig] = field(_.getUpstreamConfig)((c_, f_) => c_.copy(upstreamConfig = Option(f_)))
def optionalUpstreamConfig: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig]] = field(_.upstreamConfig)((c_, f_) => c_.copy(upstreamConfig = f_))
def trackClusterStats: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.TrackClusterStats] = field(_.getTrackClusterStats)((c_, f_) => c_.copy(trackClusterStats = Option(f_)))
def optionalTrackClusterStats: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.TrackClusterStats]] = field(_.trackClusterStats)((c_, f_) => c_.copy(trackClusterStats = f_))
def preconnectPolicy: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy] = field(_.getPreconnectPolicy)((c_, f_) => c_.copy(preconnectPolicy = Option(f_)))
def optionalPreconnectPolicy: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy]] = field(_.preconnectPolicy)((c_, f_) => c_.copy(preconnectPolicy = f_))
def connectionPoolPerDownstreamConnection: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Boolean] = field(_.connectionPoolPerDownstreamConnection)((c_, f_) => c_.copy(connectionPoolPerDownstreamConnection = f_))
def clusterDiscoveryType: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterDiscoveryType] = field(_.clusterDiscoveryType)((c_, f_) => c_.copy(clusterDiscoveryType = f_))
def lbConfig: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig] = field(_.lbConfig)((c_, f_) => c_.copy(lbConfig = f_))
}
final val TRANSPORT_SOCKET_MATCHES_FIELD_NUMBER = 43
final val NAME_FIELD_NUMBER = 1
final val ALT_STAT_NAME_FIELD_NUMBER = 28
final val TYPE_FIELD_NUMBER = 2
final val CLUSTER_TYPE_FIELD_NUMBER = 38
final val EDS_CLUSTER_CONFIG_FIELD_NUMBER = 3
final val CONNECT_TIMEOUT_FIELD_NUMBER = 4
final val PER_CONNECTION_BUFFER_LIMIT_BYTES_FIELD_NUMBER = 5
final val LB_POLICY_FIELD_NUMBER = 6
final val LOAD_ASSIGNMENT_FIELD_NUMBER = 33
final val HEALTH_CHECKS_FIELD_NUMBER = 8
final val MAX_REQUESTS_PER_CONNECTION_FIELD_NUMBER = 9
final val CIRCUIT_BREAKERS_FIELD_NUMBER = 10
final val UPSTREAM_HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER = 46
final val COMMON_HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER = 29
final val HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER = 13
final val HTTP2_PROTOCOL_OPTIONS_FIELD_NUMBER = 14
final val TYPED_EXTENSION_PROTOCOL_OPTIONS_FIELD_NUMBER = 36
final val DNS_REFRESH_RATE_FIELD_NUMBER = 16
final val DNS_FAILURE_REFRESH_RATE_FIELD_NUMBER = 44
final val RESPECT_DNS_TTL_FIELD_NUMBER = 39
final val DNS_LOOKUP_FAMILY_FIELD_NUMBER = 17
final val DNS_RESOLVERS_FIELD_NUMBER = 18
final val USE_TCP_FOR_DNS_LOOKUPS_FIELD_NUMBER = 45
final val DNS_RESOLUTION_CONFIG_FIELD_NUMBER = 53
final val TYPED_DNS_RESOLVER_CONFIG_FIELD_NUMBER = 55
final val WAIT_FOR_WARM_ON_INIT_FIELD_NUMBER = 54
final val OUTLIER_DETECTION_FIELD_NUMBER = 19
final val CLEANUP_INTERVAL_FIELD_NUMBER = 20
final val UPSTREAM_BIND_CONFIG_FIELD_NUMBER = 21
final val LB_SUBSET_CONFIG_FIELD_NUMBER = 22
final val RING_HASH_LB_CONFIG_FIELD_NUMBER = 23
final val MAGLEV_LB_CONFIG_FIELD_NUMBER = 52
final val ORIGINAL_DST_LB_CONFIG_FIELD_NUMBER = 34
final val LEAST_REQUEST_LB_CONFIG_FIELD_NUMBER = 37
final val ROUND_ROBIN_LB_CONFIG_FIELD_NUMBER = 56
final val COMMON_LB_CONFIG_FIELD_NUMBER = 27
final val TRANSPORT_SOCKET_FIELD_NUMBER = 24
final val METADATA_FIELD_NUMBER = 25
final val PROTOCOL_SELECTION_FIELD_NUMBER = 26
final val UPSTREAM_CONNECTION_OPTIONS_FIELD_NUMBER = 30
final val CLOSE_CONNECTIONS_ON_HOST_HEALTH_FAILURE_FIELD_NUMBER = 31
final val IGNORE_HEALTH_ON_HOST_REMOVAL_FIELD_NUMBER = 32
final val FILTERS_FIELD_NUMBER = 40
final val LOAD_BALANCING_POLICY_FIELD_NUMBER = 41
final val LRS_SERVER_FIELD_NUMBER = 42
final val TRACK_TIMEOUT_BUDGETS_FIELD_NUMBER = 47
final val UPSTREAM_CONFIG_FIELD_NUMBER = 48
final val TRACK_CLUSTER_STATS_FIELD_NUMBER = 49
final val PRECONNECT_POLICY_FIELD_NUMBER = 50
final val CONNECTION_POOL_PER_DOWNSTREAM_CONNECTION_FIELD_NUMBER = 51
@transient
private[v3] val _typemapper_perConnectionBufferLimitBytes: _root_.scalapb.TypeMapper[com.google.protobuf.wrappers.UInt32Value, _root_.scala.Int] = implicitly[_root_.scalapb.TypeMapper[com.google.protobuf.wrappers.UInt32Value, _root_.scala.Int]]
@transient
private[v3] val _typemapper_maxRequestsPerConnection: _root_.scalapb.TypeMapper[com.google.protobuf.wrappers.UInt32Value, _root_.scala.Int] = implicitly[_root_.scalapb.TypeMapper[com.google.protobuf.wrappers.UInt32Value, _root_.scala.Int]]
@transient
private[v3] val _typemapper_typedExtensionProtocolOptions: _root_.scalapb.TypeMapper[io.envoyproxy.envoy.config.cluster.v3.Cluster.TypedExtensionProtocolOptionsEntry, (_root_.scala.Predef.String, com.google.protobuf.any.Any)] = implicitly[_root_.scalapb.TypeMapper[io.envoyproxy.envoy.config.cluster.v3.Cluster.TypedExtensionProtocolOptionsEntry, (_root_.scala.Predef.String, com.google.protobuf.any.Any)]]
@transient
private[v3] val _typemapper_waitForWarmOnInit: _root_.scalapb.TypeMapper[com.google.protobuf.wrappers.BoolValue, _root_.scala.Boolean] = implicitly[_root_.scalapb.TypeMapper[com.google.protobuf.wrappers.BoolValue, _root_.scala.Boolean]]
def of(
transportSocketMatches: _root_.scala.Seq[io.envoyproxy.envoy.config.cluster.v3.Cluster.TransportSocketMatch],
name: _root_.scala.Predef.String,
altStatName: _root_.scala.Predef.String,
clusterDiscoveryType: io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterDiscoveryType,
edsClusterConfig: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.EdsClusterConfig],
connectTimeout: _root_.scala.Option[com.google.protobuf.duration.Duration],
perConnectionBufferLimitBytes: _root_.scala.Option[_root_.scala.Int],
lbPolicy: io.envoyproxy.envoy.config.cluster.v3.Cluster.LbPolicy,
loadAssignment: _root_.scala.Option[io.envoyproxy.envoy.config.endpoint.v3.ClusterLoadAssignment],
healthChecks: _root_.scala.Seq[io.envoyproxy.envoy.config.core.v3.HealthCheck],
maxRequestsPerConnection: _root_.scala.Option[_root_.scala.Int],
circuitBreakers: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.CircuitBreakers],
upstreamHttpProtocolOptions: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptions],
commonHttpProtocolOptions: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions],
httpProtocolOptions: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions],
http2ProtocolOptions: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions],
typedExtensionProtocolOptions: _root_.scala.collection.immutable.Map[_root_.scala.Predef.String, com.google.protobuf.any.Any],
dnsRefreshRate: _root_.scala.Option[com.google.protobuf.duration.Duration],
dnsFailureRefreshRate: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.RefreshRate],
respectDnsTtl: _root_.scala.Boolean,
dnsLookupFamily: io.envoyproxy.envoy.config.cluster.v3.Cluster.DnsLookupFamily,
dnsResolvers: _root_.scala.Seq[io.envoyproxy.envoy.config.core.v3.Address],
useTcpForDnsLookups: _root_.scala.Boolean,
dnsResolutionConfig: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.DnsResolutionConfig],
typedDnsResolverConfig: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig],
waitForWarmOnInit: _root_.scala.Option[_root_.scala.Boolean],
outlierDetection: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.OutlierDetection],
cleanupInterval: _root_.scala.Option[com.google.protobuf.duration.Duration],
upstreamBindConfig: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.BindConfig],
lbSubsetConfig: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.LbSubsetConfig],
lbConfig: io.envoyproxy.envoy.config.cluster.v3.Cluster.LbConfig,
commonLbConfig: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig],
transportSocket: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.TransportSocket],
metadata: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Metadata],
protocolSelection: io.envoyproxy.envoy.config.cluster.v3.Cluster.ClusterProtocolSelection,
upstreamConnectionOptions: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.UpstreamConnectionOptions],
closeConnectionsOnHostHealthFailure: _root_.scala.Boolean,
ignoreHealthOnHostRemoval: _root_.scala.Boolean,
filters: _root_.scala.Seq[io.envoyproxy.envoy.config.cluster.v3.Filter],
loadBalancingPolicy: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.LoadBalancingPolicy],
lrsServer: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.ConfigSource],
trackTimeoutBudgets: _root_.scala.Boolean,
upstreamConfig: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig],
trackClusterStats: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.TrackClusterStats],
preconnectPolicy: _root_.scala.Option[io.envoyproxy.envoy.config.cluster.v3.Cluster.PreconnectPolicy],
connectionPoolPerDownstreamConnection: _root_.scala.Boolean
): _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster = _root_.io.envoyproxy.envoy.config.cluster.v3.Cluster(
transportSocketMatches,
name,
altStatName,
clusterDiscoveryType,
edsClusterConfig,
connectTimeout,
perConnectionBufferLimitBytes,
lbPolicy,
loadAssignment,
healthChecks,
maxRequestsPerConnection,
circuitBreakers,
upstreamHttpProtocolOptions,
commonHttpProtocolOptions,
httpProtocolOptions,
http2ProtocolOptions,
typedExtensionProtocolOptions,
dnsRefreshRate,
dnsFailureRefreshRate,
respectDnsTtl,
dnsLookupFamily,
dnsResolvers,
useTcpForDnsLookups,
dnsResolutionConfig,
typedDnsResolverConfig,
waitForWarmOnInit,
outlierDetection,
cleanupInterval,
upstreamBindConfig,
lbSubsetConfig,
lbConfig,
commonLbConfig,
transportSocket,
metadata,
protocolSelection,
upstreamConnectionOptions,
closeConnectionsOnHostHealthFailure,
ignoreHealthOnHostRemoval,
filters,
loadBalancingPolicy,
lrsServer,
trackTimeoutBudgets,
upstreamConfig,
trackClusterStats,
preconnectPolicy,
connectionPoolPerDownstreamConnection
)
// @@protoc_insertion_point(GeneratedMessageCompanion[envoy.config.cluster.v3.Cluster])
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy