All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.scala Maven / Gradle / Ivy

There is a newer version: 1.23.0-dev-f04150-1
Show newest version
// Generated by the Scala Plugin for the Protocol Buffer Compiler.
// Do not edit!
//
// Protofile syntax: PROTO3

package io.envoyproxy.envoy.config.bootstrap.v2

/** Bootstrap :ref:`configuration overview <config_overview_bootstrap>`.
  * [#next-free-field: 21]
  *
  * @param node
  *   Node identity to present to the management server and for instance
  *   identification purposes (e.g. in generated headers).
  * @param staticResources
  *   Statically specified resources.
  * @param dynamicResources
  *   xDS configuration sources.
  * @param clusterManager
  *   Configuration for the cluster manager which owns all upstream clusters
  *   within the server.
  * @param hdsConfig
  *   Health discovery service config option.
  *   (:ref:`core.ApiConfigSource <envoy_api_msg_core.ApiConfigSource>`)
  * @param flagsPath
  *   Optional file system path to search for startup flag files.
  * @param statsSinks
  *   Optional set of stats sinks.
  * @param statsConfig
  *   Configuration for internal processing of stats.
  * @param statsFlushInterval
  *   Optional duration between flushes to configured stats sinks. For
  *   performance reasons Envoy latches counters and only flushes counters and
  *   gauges at a periodic interval. If not specified the default is 5000ms (5
  *   seconds).
  *   Duration must be at least 1ms and at most 5 min.
  * @param watchdog
  *   Optional watchdog configuration.
  * @param tracing
  *   Configuration for an external tracing provider.
  *  
  *   .. attention::
  *    This field has been deprecated in favor of :ref:`HttpConnectionManager.Tracing.provider
  *    <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.Tracing.provider>`.
  * @param runtime
  *   Configuration for the runtime configuration provider (deprecated). If not
  *   specified, a “null” provider will be used which will result in all defaults
  *   being used.
  * @param layeredRuntime
  *   Configuration for the runtime configuration provider. If not
  *   specified, a “null” provider will be used which will result in all defaults
  *   being used.
  * @param admin
  *   Configuration for the local administration HTTP server.
  * @param overloadManager
  *   Optional overload manager configuration.
  * @param enableDispatcherStats
  *   Enable :ref:`stats for event dispatcher <operations_performance>`, defaults to false.
  *   Note that this records a value for each iteration of the event loop on every thread. This
  *   should normally be minimal overhead, but when using
  *   :ref:`statsd <envoy_api_msg_config.metrics.v2.StatsdSink>`, it will send each observed value
  *   over the wire individually because the statsd protocol doesn't have any way to represent a
  *   histogram summary. Be aware that this can be a very large volume of data.
  * @param headerPrefix
  *   Optional string which will be used in lieu of x-envoy in prefixing headers.
  *  
  *   For example, if this string is present and set to X-Foo, then x-envoy-retry-on will be
  *   transformed into x-foo-retry-on etc.
  *  
  *   Note this applies to the headers Envoy will generate, the headers Envoy will sanitize, and the
  *   headers Envoy will trust for core code and core extensions only. Be VERY careful making
  *   changes to this string, especially in multi-layer Envoy deployments or deployments using
  *   extensions which are not upstream.
  * @param statsServerVersionOverride
  *   Optional proxy version which will be used to set the value of :ref:`server.version statistic
  *   <server_statistics>` if specified. Envoy will not process this value, it will be sent as is to
  *   :ref:`stats sinks <envoy_api_msg_config.metrics.v2.StatsSink>`.
  * @param useTcpForDnsLookups
  *   Always use TCP queries instead of UDP queries for DNS lookups.
  *   This may be overridden on a per-cluster basis in cds_config,
  *   when :ref:`dns_resolvers <envoy_api_field_Cluster.dns_resolvers>` and
  *   :ref:`use_tcp_for_dns_lookups <envoy_api_field_Cluster.use_tcp_for_dns_lookups>` are
  *   specified.
  *   Setting this value causes failure if the
  *   ``envoy.restart_features.use_apple_api_for_dns_lookups`` runtime value is true during
  *   server startup. Apple' API only uses UDP for DNS resolution.
  */
@SerialVersionUID(0L)
final case class Bootstrap(
    node: _root_.scala.Option[io.envoyproxy.envoy.api.v2.core.Node] = _root_.scala.None,
    staticResources: _root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.StaticResources] = _root_.scala.None,
    dynamicResources: _root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.DynamicResources] = _root_.scala.None,
    clusterManager: _root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.ClusterManager] = _root_.scala.None,
    hdsConfig: _root_.scala.Option[io.envoyproxy.envoy.api.v2.core.ApiConfigSource] = _root_.scala.None,
    flagsPath: _root_.scala.Predef.String = "",
    statsSinks: _root_.scala.Seq[io.envoyproxy.envoy.config.metrics.v2.StatsSink] = _root_.scala.Seq.empty,
    statsConfig: _root_.scala.Option[io.envoyproxy.envoy.config.metrics.v2.StatsConfig] = _root_.scala.None,
    statsFlushInterval: _root_.scala.Option[com.google.protobuf.duration.Duration] = _root_.scala.None,
    watchdog: _root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.Watchdog] = _root_.scala.None,
    tracing: _root_.scala.Option[io.envoyproxy.envoy.config.trace.v2.Tracing] = _root_.scala.None,
    @scala.deprecated(message="Marked as deprecated in proto file", "") runtime: _root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.Runtime] = _root_.scala.None,
    layeredRuntime: _root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.LayeredRuntime] = _root_.scala.None,
    admin: _root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.Admin] = _root_.scala.None,
    overloadManager: _root_.scala.Option[io.envoyproxy.envoy.config.overload.v2alpha.OverloadManager] = _root_.scala.None,
    enableDispatcherStats: _root_.scala.Boolean = false,
    headerPrefix: _root_.scala.Predef.String = "",
    statsServerVersionOverride: _root_.scala.Option[_root_.scala.Long] = _root_.scala.None,
    useTcpForDnsLookups: _root_.scala.Boolean = false,
    unknownFields: _root_.scalapb.UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty
    ) extends scalapb.GeneratedMessage with scalapb.lenses.Updatable[Bootstrap] {
    @transient
    private[this] var __serializedSizeMemoized: _root_.scala.Int = 0
    private[this] def __computeSerializedSize(): _root_.scala.Int = {
      var __size = 0
      if (node.isDefined) {
        val __value = node.get
        __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      };
      if (staticResources.isDefined) {
        val __value = staticResources.get
        __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      };
      if (dynamicResources.isDefined) {
        val __value = dynamicResources.get
        __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      };
      if (clusterManager.isDefined) {
        val __value = clusterManager.get
        __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      };
      if (hdsConfig.isDefined) {
        val __value = hdsConfig.get
        __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      };
      
      {
        val __value = flagsPath
        if (!__value.isEmpty) {
          __size += _root_.com.google.protobuf.CodedOutputStream.computeStringSize(5, __value)
        }
      };
      statsSinks.foreach { __item =>
        val __value = __item
        __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      }
      if (statsConfig.isDefined) {
        val __value = statsConfig.get
        __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      };
      if (statsFlushInterval.isDefined) {
        val __value = statsFlushInterval.get
        __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      };
      if (watchdog.isDefined) {
        val __value = watchdog.get
        __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      };
      if (tracing.isDefined) {
        val __value = tracing.get
        __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      };
      if (runtime.isDefined) {
        val __value = runtime.get
        __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      };
      if (layeredRuntime.isDefined) {
        val __value = layeredRuntime.get
        __size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      };
      if (admin.isDefined) {
        val __value = admin.get
        __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      };
      if (overloadManager.isDefined) {
        val __value = overloadManager.get
        __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      };
      
      {
        val __value = enableDispatcherStats
        if (__value != false) {
          __size += _root_.com.google.protobuf.CodedOutputStream.computeBoolSize(16, __value)
        }
      };
      
      {
        val __value = headerPrefix
        if (!__value.isEmpty) {
          __size += _root_.com.google.protobuf.CodedOutputStream.computeStringSize(18, __value)
        }
      };
      if (statsServerVersionOverride.isDefined) {
        val __value = io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap._typemapper_statsServerVersionOverride.toBase(statsServerVersionOverride.get)
        __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(20, __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 = {
      node.foreach { __v =>
        val __m = __v
        _output__.writeTag(1, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      staticResources.foreach { __v =>
        val __m = __v
        _output__.writeTag(2, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      dynamicResources.foreach { __v =>
        val __m = __v
        _output__.writeTag(3, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      clusterManager.foreach { __v =>
        val __m = __v
        _output__.writeTag(4, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      {
        val __v = flagsPath
        if (!__v.isEmpty) {
          _output__.writeString(5, __v)
        }
      };
      statsSinks.foreach { __v =>
        val __m = __v
        _output__.writeTag(6, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      statsFlushInterval.foreach { __v =>
        val __m = __v
        _output__.writeTag(7, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      watchdog.foreach { __v =>
        val __m = __v
        _output__.writeTag(8, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      tracing.foreach { __v =>
        val __m = __v
        _output__.writeTag(9, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      runtime.foreach { __v =>
        val __m = __v
        _output__.writeTag(11, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      admin.foreach { __v =>
        val __m = __v
        _output__.writeTag(12, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      statsConfig.foreach { __v =>
        val __m = __v
        _output__.writeTag(13, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      hdsConfig.foreach { __v =>
        val __m = __v
        _output__.writeTag(14, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      overloadManager.foreach { __v =>
        val __m = __v
        _output__.writeTag(15, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      {
        val __v = enableDispatcherStats
        if (__v != false) {
          _output__.writeBool(16, __v)
        }
      };
      layeredRuntime.foreach { __v =>
        val __m = __v
        _output__.writeTag(17, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      {
        val __v = headerPrefix
        if (!__v.isEmpty) {
          _output__.writeString(18, __v)
        }
      };
      statsServerVersionOverride.foreach { __v =>
        val __m = io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap._typemapper_statsServerVersionOverride.toBase(__v)
        _output__.writeTag(19, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      {
        val __v = useTcpForDnsLookups
        if (__v != false) {
          _output__.writeBool(20, __v)
        }
      };
      unknownFields.writeTo(_output__)
    }
    def getNode: io.envoyproxy.envoy.api.v2.core.Node = node.getOrElse(io.envoyproxy.envoy.api.v2.core.Node.defaultInstance)
    def clearNode: Bootstrap = copy(node = _root_.scala.None)
    def withNode(__v: io.envoyproxy.envoy.api.v2.core.Node): Bootstrap = copy(node = Option(__v))
    def getStaticResources: io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.StaticResources = staticResources.getOrElse(io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.StaticResources.defaultInstance)
    def clearStaticResources: Bootstrap = copy(staticResources = _root_.scala.None)
    def withStaticResources(__v: io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.StaticResources): Bootstrap = copy(staticResources = Option(__v))
    def getDynamicResources: io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.DynamicResources = dynamicResources.getOrElse(io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.DynamicResources.defaultInstance)
    def clearDynamicResources: Bootstrap = copy(dynamicResources = _root_.scala.None)
    def withDynamicResources(__v: io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.DynamicResources): Bootstrap = copy(dynamicResources = Option(__v))
    def getClusterManager: io.envoyproxy.envoy.config.bootstrap.v2.ClusterManager = clusterManager.getOrElse(io.envoyproxy.envoy.config.bootstrap.v2.ClusterManager.defaultInstance)
    def clearClusterManager: Bootstrap = copy(clusterManager = _root_.scala.None)
    def withClusterManager(__v: io.envoyproxy.envoy.config.bootstrap.v2.ClusterManager): Bootstrap = copy(clusterManager = Option(__v))
    def getHdsConfig: io.envoyproxy.envoy.api.v2.core.ApiConfigSource = hdsConfig.getOrElse(io.envoyproxy.envoy.api.v2.core.ApiConfigSource.defaultInstance)
    def clearHdsConfig: Bootstrap = copy(hdsConfig = _root_.scala.None)
    def withHdsConfig(__v: io.envoyproxy.envoy.api.v2.core.ApiConfigSource): Bootstrap = copy(hdsConfig = Option(__v))
    def withFlagsPath(__v: _root_.scala.Predef.String): Bootstrap = copy(flagsPath = __v)
    def clearStatsSinks = copy(statsSinks = _root_.scala.Seq.empty)
    def addStatsSinks(__vs: io.envoyproxy.envoy.config.metrics.v2.StatsSink *): Bootstrap = addAllStatsSinks(__vs)
    def addAllStatsSinks(__vs: Iterable[io.envoyproxy.envoy.config.metrics.v2.StatsSink]): Bootstrap = copy(statsSinks = statsSinks ++ __vs)
    def withStatsSinks(__v: _root_.scala.Seq[io.envoyproxy.envoy.config.metrics.v2.StatsSink]): Bootstrap = copy(statsSinks = __v)
    def getStatsConfig: io.envoyproxy.envoy.config.metrics.v2.StatsConfig = statsConfig.getOrElse(io.envoyproxy.envoy.config.metrics.v2.StatsConfig.defaultInstance)
    def clearStatsConfig: Bootstrap = copy(statsConfig = _root_.scala.None)
    def withStatsConfig(__v: io.envoyproxy.envoy.config.metrics.v2.StatsConfig): Bootstrap = copy(statsConfig = Option(__v))
    def getStatsFlushInterval: com.google.protobuf.duration.Duration = statsFlushInterval.getOrElse(com.google.protobuf.duration.Duration.defaultInstance)
    def clearStatsFlushInterval: Bootstrap = copy(statsFlushInterval = _root_.scala.None)
    def withStatsFlushInterval(__v: com.google.protobuf.duration.Duration): Bootstrap = copy(statsFlushInterval = Option(__v))
    def getWatchdog: io.envoyproxy.envoy.config.bootstrap.v2.Watchdog = watchdog.getOrElse(io.envoyproxy.envoy.config.bootstrap.v2.Watchdog.defaultInstance)
    def clearWatchdog: Bootstrap = copy(watchdog = _root_.scala.None)
    def withWatchdog(__v: io.envoyproxy.envoy.config.bootstrap.v2.Watchdog): Bootstrap = copy(watchdog = Option(__v))
    def getTracing: io.envoyproxy.envoy.config.trace.v2.Tracing = tracing.getOrElse(io.envoyproxy.envoy.config.trace.v2.Tracing.defaultInstance)
    def clearTracing: Bootstrap = copy(tracing = _root_.scala.None)
    def withTracing(__v: io.envoyproxy.envoy.config.trace.v2.Tracing): Bootstrap = copy(tracing = Option(__v))
    def getRuntime: io.envoyproxy.envoy.config.bootstrap.v2.Runtime = runtime.getOrElse(io.envoyproxy.envoy.config.bootstrap.v2.Runtime.defaultInstance)
    def clearRuntime: Bootstrap = copy(runtime = _root_.scala.None)
    def withRuntime(__v: io.envoyproxy.envoy.config.bootstrap.v2.Runtime): Bootstrap = copy(runtime = Option(__v))
    def getLayeredRuntime: io.envoyproxy.envoy.config.bootstrap.v2.LayeredRuntime = layeredRuntime.getOrElse(io.envoyproxy.envoy.config.bootstrap.v2.LayeredRuntime.defaultInstance)
    def clearLayeredRuntime: Bootstrap = copy(layeredRuntime = _root_.scala.None)
    def withLayeredRuntime(__v: io.envoyproxy.envoy.config.bootstrap.v2.LayeredRuntime): Bootstrap = copy(layeredRuntime = Option(__v))
    def getAdmin: io.envoyproxy.envoy.config.bootstrap.v2.Admin = admin.getOrElse(io.envoyproxy.envoy.config.bootstrap.v2.Admin.defaultInstance)
    def clearAdmin: Bootstrap = copy(admin = _root_.scala.None)
    def withAdmin(__v: io.envoyproxy.envoy.config.bootstrap.v2.Admin): Bootstrap = copy(admin = Option(__v))
    def getOverloadManager: io.envoyproxy.envoy.config.overload.v2alpha.OverloadManager = overloadManager.getOrElse(io.envoyproxy.envoy.config.overload.v2alpha.OverloadManager.defaultInstance)
    def clearOverloadManager: Bootstrap = copy(overloadManager = _root_.scala.None)
    def withOverloadManager(__v: io.envoyproxy.envoy.config.overload.v2alpha.OverloadManager): Bootstrap = copy(overloadManager = Option(__v))
    def withEnableDispatcherStats(__v: _root_.scala.Boolean): Bootstrap = copy(enableDispatcherStats = __v)
    def withHeaderPrefix(__v: _root_.scala.Predef.String): Bootstrap = copy(headerPrefix = __v)
    def getStatsServerVersionOverride: _root_.scala.Long = statsServerVersionOverride.getOrElse(io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap._typemapper_statsServerVersionOverride.toCustom(com.google.protobuf.wrappers.UInt64Value.defaultInstance))
    def clearStatsServerVersionOverride: Bootstrap = copy(statsServerVersionOverride = _root_.scala.None)
    def withStatsServerVersionOverride(__v: _root_.scala.Long): Bootstrap = copy(statsServerVersionOverride = Option(__v))
    def withUseTcpForDnsLookups(__v: _root_.scala.Boolean): Bootstrap = copy(useTcpForDnsLookups = __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 => node.orNull
        case 2 => staticResources.orNull
        case 3 => dynamicResources.orNull
        case 4 => clusterManager.orNull
        case 14 => hdsConfig.orNull
        case 5 => {
          val __t = flagsPath
          if (__t != "") __t else null
        }
        case 6 => statsSinks
        case 13 => statsConfig.orNull
        case 7 => statsFlushInterval.orNull
        case 8 => watchdog.orNull
        case 9 => tracing.orNull
        case 11 => runtime.orNull
        case 17 => layeredRuntime.orNull
        case 12 => admin.orNull
        case 15 => overloadManager.orNull
        case 16 => {
          val __t = enableDispatcherStats
          if (__t != false) __t else null
        }
        case 18 => {
          val __t = headerPrefix
          if (__t != "") __t else null
        }
        case 19 => statsServerVersionOverride.map(io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap._typemapper_statsServerVersionOverride.toBase(_)).orNull
        case 20 => {
          val __t = useTcpForDnsLookups
          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 => node.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 2 => staticResources.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 3 => dynamicResources.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 4 => clusterManager.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 14 => hdsConfig.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 5 => _root_.scalapb.descriptors.PString(flagsPath)
        case 6 => _root_.scalapb.descriptors.PRepeated(statsSinks.iterator.map(_.toPMessage).toVector)
        case 13 => statsConfig.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 7 => statsFlushInterval.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 8 => watchdog.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 9 => tracing.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 11 => runtime.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 17 => layeredRuntime.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 12 => admin.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 15 => overloadManager.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 16 => _root_.scalapb.descriptors.PBoolean(enableDispatcherStats)
        case 18 => _root_.scalapb.descriptors.PString(headerPrefix)
        case 19 => statsServerVersionOverride.map(io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap._typemapper_statsServerVersionOverride.toBase(_).toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 20 => _root_.scalapb.descriptors.PBoolean(useTcpForDnsLookups)
      }
    }
    def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this)
    def companion: io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.type = io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap
    // @@protoc_insertion_point(GeneratedMessage[envoy.config.bootstrap.v2.Bootstrap])
}

object Bootstrap extends scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap] {
  implicit def messageCompanion: scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap] = this
  def parseFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap = {
    var __node: _root_.scala.Option[io.envoyproxy.envoy.api.v2.core.Node] = _root_.scala.None
    var __staticResources: _root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.StaticResources] = _root_.scala.None
    var __dynamicResources: _root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.DynamicResources] = _root_.scala.None
    var __clusterManager: _root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.ClusterManager] = _root_.scala.None
    var __hdsConfig: _root_.scala.Option[io.envoyproxy.envoy.api.v2.core.ApiConfigSource] = _root_.scala.None
    var __flagsPath: _root_.scala.Predef.String = ""
    val __statsSinks: _root_.scala.collection.immutable.VectorBuilder[io.envoyproxy.envoy.config.metrics.v2.StatsSink] = new _root_.scala.collection.immutable.VectorBuilder[io.envoyproxy.envoy.config.metrics.v2.StatsSink]
    var __statsConfig: _root_.scala.Option[io.envoyproxy.envoy.config.metrics.v2.StatsConfig] = _root_.scala.None
    var __statsFlushInterval: _root_.scala.Option[com.google.protobuf.duration.Duration] = _root_.scala.None
    var __watchdog: _root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.Watchdog] = _root_.scala.None
    var __tracing: _root_.scala.Option[io.envoyproxy.envoy.config.trace.v2.Tracing] = _root_.scala.None
    var __runtime: _root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.Runtime] = _root_.scala.None
    var __layeredRuntime: _root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.LayeredRuntime] = _root_.scala.None
    var __admin: _root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.Admin] = _root_.scala.None
    var __overloadManager: _root_.scala.Option[io.envoyproxy.envoy.config.overload.v2alpha.OverloadManager] = _root_.scala.None
    var __enableDispatcherStats: _root_.scala.Boolean = false
    var __headerPrefix: _root_.scala.Predef.String = ""
    var __statsServerVersionOverride: _root_.scala.Option[_root_.scala.Long] = _root_.scala.None
    var __useTcpForDnsLookups: _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 =>
          __node = Option(__node.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.api.v2.core.Node](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
        case 18 =>
          __staticResources = Option(__staticResources.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.StaticResources](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
        case 26 =>
          __dynamicResources = Option(__dynamicResources.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.DynamicResources](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
        case 34 =>
          __clusterManager = Option(__clusterManager.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.bootstrap.v2.ClusterManager](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
        case 114 =>
          __hdsConfig = Option(__hdsConfig.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.api.v2.core.ApiConfigSource](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
        case 42 =>
          __flagsPath = _input__.readStringRequireUtf8()
        case 50 =>
          __statsSinks += _root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.metrics.v2.StatsSink](_input__)
        case 106 =>
          __statsConfig = Option(__statsConfig.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.metrics.v2.StatsConfig](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
        case 58 =>
          __statsFlushInterval = Option(__statsFlushInterval.fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.duration.Duration](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
        case 66 =>
          __watchdog = Option(__watchdog.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.bootstrap.v2.Watchdog](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
        case 74 =>
          __tracing = Option(__tracing.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.trace.v2.Tracing](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
        case 90 =>
          __runtime = Option(__runtime.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.bootstrap.v2.Runtime](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
        case 138 =>
          __layeredRuntime = Option(__layeredRuntime.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.bootstrap.v2.LayeredRuntime](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
        case 98 =>
          __admin = Option(__admin.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.bootstrap.v2.Admin](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
        case 122 =>
          __overloadManager = Option(__overloadManager.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.overload.v2alpha.OverloadManager](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
        case 128 =>
          __enableDispatcherStats = _input__.readBool()
        case 146 =>
          __headerPrefix = _input__.readStringRequireUtf8()
        case 154 =>
          __statsServerVersionOverride = Option(io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap._typemapper_statsServerVersionOverride.toCustom(__statsServerVersionOverride.map(io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap._typemapper_statsServerVersionOverride.toBase(_)).fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.wrappers.UInt64Value](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _))))
        case 160 =>
          __useTcpForDnsLookups = _input__.readBool()
        case tag =>
          if (_unknownFields__ == null) {
            _unknownFields__ = new _root_.scalapb.UnknownFieldSet.Builder()
          }
          _unknownFields__.parseField(tag, _input__)
      }
    }
    io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap(
        node = __node,
        staticResources = __staticResources,
        dynamicResources = __dynamicResources,
        clusterManager = __clusterManager,
        hdsConfig = __hdsConfig,
        flagsPath = __flagsPath,
        statsSinks = __statsSinks.result(),
        statsConfig = __statsConfig,
        statsFlushInterval = __statsFlushInterval,
        watchdog = __watchdog,
        tracing = __tracing,
        runtime = __runtime,
        layeredRuntime = __layeredRuntime,
        admin = __admin,
        overloadManager = __overloadManager,
        enableDispatcherStats = __enableDispatcherStats,
        headerPrefix = __headerPrefix,
        statsServerVersionOverride = __statsServerVersionOverride,
        useTcpForDnsLookups = __useTcpForDnsLookups,
        unknownFields = if (_unknownFields__ == null) _root_.scalapb.UnknownFieldSet.empty else _unknownFields__.result()
    )
  }
  implicit def messageReads: _root_.scalapb.descriptors.Reads[io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap] = _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.bootstrap.v2.Bootstrap(
        node = __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.api.v2.core.Node]]),
        staticResources = __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.StaticResources]]),
        dynamicResources = __fieldsMap.get(scalaDescriptor.findFieldByNumber(3).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.DynamicResources]]),
        clusterManager = __fieldsMap.get(scalaDescriptor.findFieldByNumber(4).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.ClusterManager]]),
        hdsConfig = __fieldsMap.get(scalaDescriptor.findFieldByNumber(14).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.api.v2.core.ApiConfigSource]]),
        flagsPath = __fieldsMap.get(scalaDescriptor.findFieldByNumber(5).get).map(_.as[_root_.scala.Predef.String]).getOrElse(""),
        statsSinks = __fieldsMap.get(scalaDescriptor.findFieldByNumber(6).get).map(_.as[_root_.scala.Seq[io.envoyproxy.envoy.config.metrics.v2.StatsSink]]).getOrElse(_root_.scala.Seq.empty),
        statsConfig = __fieldsMap.get(scalaDescriptor.findFieldByNumber(13).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.metrics.v2.StatsConfig]]),
        statsFlushInterval = __fieldsMap.get(scalaDescriptor.findFieldByNumber(7).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.duration.Duration]]),
        watchdog = __fieldsMap.get(scalaDescriptor.findFieldByNumber(8).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.Watchdog]]),
        tracing = __fieldsMap.get(scalaDescriptor.findFieldByNumber(9).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.trace.v2.Tracing]]),
        runtime = __fieldsMap.get(scalaDescriptor.findFieldByNumber(11).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.Runtime]]),
        layeredRuntime = __fieldsMap.get(scalaDescriptor.findFieldByNumber(17).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.LayeredRuntime]]),
        admin = __fieldsMap.get(scalaDescriptor.findFieldByNumber(12).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.Admin]]),
        overloadManager = __fieldsMap.get(scalaDescriptor.findFieldByNumber(15).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.overload.v2alpha.OverloadManager]]),
        enableDispatcherStats = __fieldsMap.get(scalaDescriptor.findFieldByNumber(16).get).map(_.as[_root_.scala.Boolean]).getOrElse(false),
        headerPrefix = __fieldsMap.get(scalaDescriptor.findFieldByNumber(18).get).map(_.as[_root_.scala.Predef.String]).getOrElse(""),
        statsServerVersionOverride = __fieldsMap.get(scalaDescriptor.findFieldByNumber(19).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.wrappers.UInt64Value]]).map(io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap._typemapper_statsServerVersionOverride.toCustom(_)),
        useTcpForDnsLookups = __fieldsMap.get(scalaDescriptor.findFieldByNumber(20).get).map(_.as[_root_.scala.Boolean]).getOrElse(false)
      )
    case _ => throw new RuntimeException("Expected PMessage")
  }
  def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = BootstrapProto.javaDescriptor.getMessageTypes().get(0)
  def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = BootstrapProto.scalaDescriptor.messages(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.api.v2.core.Node
      case 2 => __out = io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.StaticResources
      case 3 => __out = io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.DynamicResources
      case 4 => __out = io.envoyproxy.envoy.config.bootstrap.v2.ClusterManager
      case 14 => __out = io.envoyproxy.envoy.api.v2.core.ApiConfigSource
      case 6 => __out = io.envoyproxy.envoy.config.metrics.v2.StatsSink
      case 13 => __out = io.envoyproxy.envoy.config.metrics.v2.StatsConfig
      case 7 => __out = com.google.protobuf.duration.Duration
      case 8 => __out = io.envoyproxy.envoy.config.bootstrap.v2.Watchdog
      case 9 => __out = io.envoyproxy.envoy.config.trace.v2.Tracing
      case 11 => __out = io.envoyproxy.envoy.config.bootstrap.v2.Runtime
      case 17 => __out = io.envoyproxy.envoy.config.bootstrap.v2.LayeredRuntime
      case 12 => __out = io.envoyproxy.envoy.config.bootstrap.v2.Admin
      case 15 => __out = io.envoyproxy.envoy.config.overload.v2alpha.OverloadManager
      case 19 => __out = com.google.protobuf.wrappers.UInt64Value
    }
    __out
  }
  lazy val nestedMessagesCompanions: Seq[_root_.scalapb.GeneratedMessageCompanion[_ <: _root_.scalapb.GeneratedMessage]] =
    Seq[_root_.scalapb.GeneratedMessageCompanion[_ <: _root_.scalapb.GeneratedMessage]](
      _root_.io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.StaticResources,
      _root_.io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.DynamicResources
    )
  def enumCompanionForFieldNumber(__fieldNumber: _root_.scala.Int): _root_.scalapb.GeneratedEnumCompanion[_] = throw new MatchError(__fieldNumber)
  lazy val defaultInstance = io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap(
    node = _root_.scala.None,
    staticResources = _root_.scala.None,
    dynamicResources = _root_.scala.None,
    clusterManager = _root_.scala.None,
    hdsConfig = _root_.scala.None,
    flagsPath = "",
    statsSinks = _root_.scala.Seq.empty,
    statsConfig = _root_.scala.None,
    statsFlushInterval = _root_.scala.None,
    watchdog = _root_.scala.None,
    tracing = _root_.scala.None,
    runtime = _root_.scala.None,
    layeredRuntime = _root_.scala.None,
    admin = _root_.scala.None,
    overloadManager = _root_.scala.None,
    enableDispatcherStats = false,
    headerPrefix = "",
    statsServerVersionOverride = _root_.scala.None,
    useTcpForDnsLookups = false
  )
  /** @param listeners
    *   Static :ref:`Listeners <envoy_api_msg_Listener>`. These listeners are
    *   available regardless of LDS configuration.
    * @param clusters
    *   If a network based configuration source is specified for :ref:`cds_config
    *   <envoy_api_field_config.bootstrap.v2.Bootstrap.DynamicResources.cds_config>`, it's necessary
    *   to have some initial cluster definitions available to allow Envoy to know
    *   how to speak to the management server. These cluster definitions may not
    *   use :ref:`EDS <arch_overview_dynamic_config_eds>` (i.e. they should be static
    *   IP or DNS-based).
    * @param secrets
    *   These static secrets can be used by :ref:`SdsSecretConfig
    *   <envoy_api_msg_auth.SdsSecretConfig>`
    */
  @SerialVersionUID(0L)
  final case class StaticResources(
      listeners: _root_.scala.Seq[io.envoyproxy.envoy.api.v2.Listener] = _root_.scala.Seq.empty,
      clusters: _root_.scala.Seq[io.envoyproxy.envoy.api.v2.Cluster] = _root_.scala.Seq.empty,
      secrets: _root_.scala.Seq[io.envoyproxy.envoy.api.v2.auth.Secret] = _root_.scala.Seq.empty,
      unknownFields: _root_.scalapb.UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty
      ) extends scalapb.GeneratedMessage with scalapb.lenses.Updatable[StaticResources] {
      @transient
      private[this] var __serializedSizeMemoized: _root_.scala.Int = 0
      private[this] def __computeSerializedSize(): _root_.scala.Int = {
        var __size = 0
        listeners.foreach { __item =>
          val __value = __item
          __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
        }
        clusters.foreach { __item =>
          val __value = __item
          __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
        }
        secrets.foreach { __item =>
          val __value = __item
          __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 = {
        listeners.foreach { __v =>
          val __m = __v
          _output__.writeTag(1, 2)
          _output__.writeUInt32NoTag(__m.serializedSize)
          __m.writeTo(_output__)
        };
        clusters.foreach { __v =>
          val __m = __v
          _output__.writeTag(2, 2)
          _output__.writeUInt32NoTag(__m.serializedSize)
          __m.writeTo(_output__)
        };
        secrets.foreach { __v =>
          val __m = __v
          _output__.writeTag(3, 2)
          _output__.writeUInt32NoTag(__m.serializedSize)
          __m.writeTo(_output__)
        };
        unknownFields.writeTo(_output__)
      }
      def clearListeners = copy(listeners = _root_.scala.Seq.empty)
      def addListeners(__vs: io.envoyproxy.envoy.api.v2.Listener *): StaticResources = addAllListeners(__vs)
      def addAllListeners(__vs: Iterable[io.envoyproxy.envoy.api.v2.Listener]): StaticResources = copy(listeners = listeners ++ __vs)
      def withListeners(__v: _root_.scala.Seq[io.envoyproxy.envoy.api.v2.Listener]): StaticResources = copy(listeners = __v)
      def clearClusters = copy(clusters = _root_.scala.Seq.empty)
      def addClusters(__vs: io.envoyproxy.envoy.api.v2.Cluster *): StaticResources = addAllClusters(__vs)
      def addAllClusters(__vs: Iterable[io.envoyproxy.envoy.api.v2.Cluster]): StaticResources = copy(clusters = clusters ++ __vs)
      def withClusters(__v: _root_.scala.Seq[io.envoyproxy.envoy.api.v2.Cluster]): StaticResources = copy(clusters = __v)
      def clearSecrets = copy(secrets = _root_.scala.Seq.empty)
      def addSecrets(__vs: io.envoyproxy.envoy.api.v2.auth.Secret *): StaticResources = addAllSecrets(__vs)
      def addAllSecrets(__vs: Iterable[io.envoyproxy.envoy.api.v2.auth.Secret]): StaticResources = copy(secrets = secrets ++ __vs)
      def withSecrets(__v: _root_.scala.Seq[io.envoyproxy.envoy.api.v2.auth.Secret]): StaticResources = copy(secrets = __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 => listeners
          case 2 => clusters
          case 3 => secrets
        }
      }
      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(listeners.iterator.map(_.toPMessage).toVector)
          case 2 => _root_.scalapb.descriptors.PRepeated(clusters.iterator.map(_.toPMessage).toVector)
          case 3 => _root_.scalapb.descriptors.PRepeated(secrets.iterator.map(_.toPMessage).toVector)
        }
      }
      def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this)
      def companion: io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.StaticResources.type = io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.StaticResources
      // @@protoc_insertion_point(GeneratedMessage[envoy.config.bootstrap.v2.Bootstrap.StaticResources])
  }
  
  object StaticResources extends scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.StaticResources] {
    implicit def messageCompanion: scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.StaticResources] = this
    def parseFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.StaticResources = {
      val __listeners: _root_.scala.collection.immutable.VectorBuilder[io.envoyproxy.envoy.api.v2.Listener] = new _root_.scala.collection.immutable.VectorBuilder[io.envoyproxy.envoy.api.v2.Listener]
      val __clusters: _root_.scala.collection.immutable.VectorBuilder[io.envoyproxy.envoy.api.v2.Cluster] = new _root_.scala.collection.immutable.VectorBuilder[io.envoyproxy.envoy.api.v2.Cluster]
      val __secrets: _root_.scala.collection.immutable.VectorBuilder[io.envoyproxy.envoy.api.v2.auth.Secret] = new _root_.scala.collection.immutable.VectorBuilder[io.envoyproxy.envoy.api.v2.auth.Secret]
      var `_unknownFields__`: _root_.scalapb.UnknownFieldSet.Builder = null
      var _done__ = false
      while (!_done__) {
        val _tag__ = _input__.readTag()
        _tag__ match {
          case 0 => _done__ = true
          case 10 =>
            __listeners += _root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.api.v2.Listener](_input__)
          case 18 =>
            __clusters += _root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.api.v2.Cluster](_input__)
          case 26 =>
            __secrets += _root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.api.v2.auth.Secret](_input__)
          case tag =>
            if (_unknownFields__ == null) {
              _unknownFields__ = new _root_.scalapb.UnknownFieldSet.Builder()
            }
            _unknownFields__.parseField(tag, _input__)
        }
      }
      io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.StaticResources(
          listeners = __listeners.result(),
          clusters = __clusters.result(),
          secrets = __secrets.result(),
          unknownFields = if (_unknownFields__ == null) _root_.scalapb.UnknownFieldSet.empty else _unknownFields__.result()
      )
    }
    implicit def messageReads: _root_.scalapb.descriptors.Reads[io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.StaticResources] = _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.bootstrap.v2.Bootstrap.StaticResources(
          listeners = __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).map(_.as[_root_.scala.Seq[io.envoyproxy.envoy.api.v2.Listener]]).getOrElse(_root_.scala.Seq.empty),
          clusters = __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).map(_.as[_root_.scala.Seq[io.envoyproxy.envoy.api.v2.Cluster]]).getOrElse(_root_.scala.Seq.empty),
          secrets = __fieldsMap.get(scalaDescriptor.findFieldByNumber(3).get).map(_.as[_root_.scala.Seq[io.envoyproxy.envoy.api.v2.auth.Secret]]).getOrElse(_root_.scala.Seq.empty)
        )
      case _ => throw new RuntimeException("Expected PMessage")
    }
    def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.javaDescriptor.getNestedTypes().get(0)
    def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.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.api.v2.Listener
        case 2 => __out = io.envoyproxy.envoy.api.v2.Cluster
        case 3 => __out = io.envoyproxy.envoy.api.v2.auth.Secret
      }
      __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.bootstrap.v2.Bootstrap.StaticResources(
      listeners = _root_.scala.Seq.empty,
      clusters = _root_.scala.Seq.empty,
      secrets = _root_.scala.Seq.empty
    )
    implicit class StaticResourcesLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.StaticResources]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.StaticResources](_l) {
      def listeners: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Seq[io.envoyproxy.envoy.api.v2.Listener]] = field(_.listeners)((c_, f_) => c_.copy(listeners = f_))
      def clusters: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Seq[io.envoyproxy.envoy.api.v2.Cluster]] = field(_.clusters)((c_, f_) => c_.copy(clusters = f_))
      def secrets: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Seq[io.envoyproxy.envoy.api.v2.auth.Secret]] = field(_.secrets)((c_, f_) => c_.copy(secrets = f_))
    }
    final val LISTENERS_FIELD_NUMBER = 1
    final val CLUSTERS_FIELD_NUMBER = 2
    final val SECRETS_FIELD_NUMBER = 3
    def of(
      listeners: _root_.scala.Seq[io.envoyproxy.envoy.api.v2.Listener],
      clusters: _root_.scala.Seq[io.envoyproxy.envoy.api.v2.Cluster],
      secrets: _root_.scala.Seq[io.envoyproxy.envoy.api.v2.auth.Secret]
    ): _root_.io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.StaticResources = _root_.io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.StaticResources(
      listeners,
      clusters,
      secrets
    )
    // @@protoc_insertion_point(GeneratedMessageCompanion[envoy.config.bootstrap.v2.Bootstrap.StaticResources])
  }
  
  /** @param ldsConfig
    *   All :ref:`Listeners <envoy_api_msg_Listener>` are provided by a single
    *   :ref:`LDS <arch_overview_dynamic_config_lds>` configuration source.
    * @param cdsConfig
    *   All post-bootstrap :ref:`Cluster <envoy_api_msg_Cluster>` definitions are
    *   provided by a single :ref:`CDS <arch_overview_dynamic_config_cds>`
    *   configuration source.
    * @param adsConfig
    *   A single :ref:`ADS <config_overview_ads>` source may be optionally
    *   specified. This must have :ref:`api_type
    *   <envoy_api_field_core.ApiConfigSource.api_type>` :ref:`GRPC
    *   <envoy_api_enum_value_core.ApiConfigSource.ApiType.GRPC>`. Only
    *   :ref:`ConfigSources <envoy_api_msg_core.ConfigSource>` that have
    *   the :ref:`ads <envoy_api_field_core.ConfigSource.ads>` field set will be
    *   streamed on the ADS channel.
    */
  @SerialVersionUID(0L)
  final case class DynamicResources(
      ldsConfig: _root_.scala.Option[io.envoyproxy.envoy.api.v2.core.ConfigSource] = _root_.scala.None,
      cdsConfig: _root_.scala.Option[io.envoyproxy.envoy.api.v2.core.ConfigSource] = _root_.scala.None,
      adsConfig: _root_.scala.Option[io.envoyproxy.envoy.api.v2.core.ApiConfigSource] = _root_.scala.None,
      unknownFields: _root_.scalapb.UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty
      ) extends scalapb.GeneratedMessage with scalapb.lenses.Updatable[DynamicResources] {
      @transient
      private[this] var __serializedSizeMemoized: _root_.scala.Int = 0
      private[this] def __computeSerializedSize(): _root_.scala.Int = {
        var __size = 0
        if (ldsConfig.isDefined) {
          val __value = ldsConfig.get
          __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
        };
        if (cdsConfig.isDefined) {
          val __value = cdsConfig.get
          __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
        };
        if (adsConfig.isDefined) {
          val __value = adsConfig.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 = {
        ldsConfig.foreach { __v =>
          val __m = __v
          _output__.writeTag(1, 2)
          _output__.writeUInt32NoTag(__m.serializedSize)
          __m.writeTo(_output__)
        };
        cdsConfig.foreach { __v =>
          val __m = __v
          _output__.writeTag(2, 2)
          _output__.writeUInt32NoTag(__m.serializedSize)
          __m.writeTo(_output__)
        };
        adsConfig.foreach { __v =>
          val __m = __v
          _output__.writeTag(3, 2)
          _output__.writeUInt32NoTag(__m.serializedSize)
          __m.writeTo(_output__)
        };
        unknownFields.writeTo(_output__)
      }
      def getLdsConfig: io.envoyproxy.envoy.api.v2.core.ConfigSource = ldsConfig.getOrElse(io.envoyproxy.envoy.api.v2.core.ConfigSource.defaultInstance)
      def clearLdsConfig: DynamicResources = copy(ldsConfig = _root_.scala.None)
      def withLdsConfig(__v: io.envoyproxy.envoy.api.v2.core.ConfigSource): DynamicResources = copy(ldsConfig = Option(__v))
      def getCdsConfig: io.envoyproxy.envoy.api.v2.core.ConfigSource = cdsConfig.getOrElse(io.envoyproxy.envoy.api.v2.core.ConfigSource.defaultInstance)
      def clearCdsConfig: DynamicResources = copy(cdsConfig = _root_.scala.None)
      def withCdsConfig(__v: io.envoyproxy.envoy.api.v2.core.ConfigSource): DynamicResources = copy(cdsConfig = Option(__v))
      def getAdsConfig: io.envoyproxy.envoy.api.v2.core.ApiConfigSource = adsConfig.getOrElse(io.envoyproxy.envoy.api.v2.core.ApiConfigSource.defaultInstance)
      def clearAdsConfig: DynamicResources = copy(adsConfig = _root_.scala.None)
      def withAdsConfig(__v: io.envoyproxy.envoy.api.v2.core.ApiConfigSource): DynamicResources = copy(adsConfig = 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 => ldsConfig.orNull
          case 2 => cdsConfig.orNull
          case 3 => adsConfig.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 => ldsConfig.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
          case 2 => cdsConfig.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
          case 3 => adsConfig.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        }
      }
      def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this)
      def companion: io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.DynamicResources.type = io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.DynamicResources
      // @@protoc_insertion_point(GeneratedMessage[envoy.config.bootstrap.v2.Bootstrap.DynamicResources])
  }
  
  object DynamicResources extends scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.DynamicResources] {
    implicit def messageCompanion: scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.DynamicResources] = this
    def parseFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.DynamicResources = {
      var __ldsConfig: _root_.scala.Option[io.envoyproxy.envoy.api.v2.core.ConfigSource] = _root_.scala.None
      var __cdsConfig: _root_.scala.Option[io.envoyproxy.envoy.api.v2.core.ConfigSource] = _root_.scala.None
      var __adsConfig: _root_.scala.Option[io.envoyproxy.envoy.api.v2.core.ApiConfigSource] = _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 =>
            __ldsConfig = Option(__ldsConfig.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.api.v2.core.ConfigSource](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
          case 18 =>
            __cdsConfig = Option(__cdsConfig.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.api.v2.core.ConfigSource](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
          case 26 =>
            __adsConfig = Option(__adsConfig.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.api.v2.core.ApiConfigSource](_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.bootstrap.v2.Bootstrap.DynamicResources(
          ldsConfig = __ldsConfig,
          cdsConfig = __cdsConfig,
          adsConfig = __adsConfig,
          unknownFields = if (_unknownFields__ == null) _root_.scalapb.UnknownFieldSet.empty else _unknownFields__.result()
      )
    }
    implicit def messageReads: _root_.scalapb.descriptors.Reads[io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.DynamicResources] = _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.bootstrap.v2.Bootstrap.DynamicResources(
          ldsConfig = __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.api.v2.core.ConfigSource]]),
          cdsConfig = __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.api.v2.core.ConfigSource]]),
          adsConfig = __fieldsMap.get(scalaDescriptor.findFieldByNumber(3).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.api.v2.core.ApiConfigSource]])
        )
      case _ => throw new RuntimeException("Expected PMessage")
    }
    def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.javaDescriptor.getNestedTypes().get(1)
    def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.scalaDescriptor.nestedMessages(1)
    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.api.v2.core.ConfigSource
        case 2 => __out = io.envoyproxy.envoy.api.v2.core.ConfigSource
        case 3 => __out = io.envoyproxy.envoy.api.v2.core.ApiConfigSource
      }
      __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.bootstrap.v2.Bootstrap.DynamicResources(
      ldsConfig = _root_.scala.None,
      cdsConfig = _root_.scala.None,
      adsConfig = _root_.scala.None
    )
    implicit class DynamicResourcesLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.DynamicResources]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.DynamicResources](_l) {
      def ldsConfig: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.api.v2.core.ConfigSource] = field(_.getLdsConfig)((c_, f_) => c_.copy(ldsConfig = Option(f_)))
      def optionalLdsConfig: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.api.v2.core.ConfigSource]] = field(_.ldsConfig)((c_, f_) => c_.copy(ldsConfig = f_))
      def cdsConfig: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.api.v2.core.ConfigSource] = field(_.getCdsConfig)((c_, f_) => c_.copy(cdsConfig = Option(f_)))
      def optionalCdsConfig: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.api.v2.core.ConfigSource]] = field(_.cdsConfig)((c_, f_) => c_.copy(cdsConfig = f_))
      def adsConfig: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.api.v2.core.ApiConfigSource] = field(_.getAdsConfig)((c_, f_) => c_.copy(adsConfig = Option(f_)))
      def optionalAdsConfig: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.api.v2.core.ApiConfigSource]] = field(_.adsConfig)((c_, f_) => c_.copy(adsConfig = f_))
    }
    final val LDS_CONFIG_FIELD_NUMBER = 1
    final val CDS_CONFIG_FIELD_NUMBER = 2
    final val ADS_CONFIG_FIELD_NUMBER = 3
    def of(
      ldsConfig: _root_.scala.Option[io.envoyproxy.envoy.api.v2.core.ConfigSource],
      cdsConfig: _root_.scala.Option[io.envoyproxy.envoy.api.v2.core.ConfigSource],
      adsConfig: _root_.scala.Option[io.envoyproxy.envoy.api.v2.core.ApiConfigSource]
    ): _root_.io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.DynamicResources = _root_.io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.DynamicResources(
      ldsConfig,
      cdsConfig,
      adsConfig
    )
    // @@protoc_insertion_point(GeneratedMessageCompanion[envoy.config.bootstrap.v2.Bootstrap.DynamicResources])
  }
  
  implicit class BootstrapLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap](_l) {
    def node: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.api.v2.core.Node] = field(_.getNode)((c_, f_) => c_.copy(node = Option(f_)))
    def optionalNode: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.api.v2.core.Node]] = field(_.node)((c_, f_) => c_.copy(node = f_))
    def staticResources: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.StaticResources] = field(_.getStaticResources)((c_, f_) => c_.copy(staticResources = Option(f_)))
    def optionalStaticResources: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.StaticResources]] = field(_.staticResources)((c_, f_) => c_.copy(staticResources = f_))
    def dynamicResources: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.DynamicResources] = field(_.getDynamicResources)((c_, f_) => c_.copy(dynamicResources = Option(f_)))
    def optionalDynamicResources: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.DynamicResources]] = field(_.dynamicResources)((c_, f_) => c_.copy(dynamicResources = f_))
    def clusterManager: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.bootstrap.v2.ClusterManager] = field(_.getClusterManager)((c_, f_) => c_.copy(clusterManager = Option(f_)))
    def optionalClusterManager: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.ClusterManager]] = field(_.clusterManager)((c_, f_) => c_.copy(clusterManager = f_))
    def hdsConfig: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.api.v2.core.ApiConfigSource] = field(_.getHdsConfig)((c_, f_) => c_.copy(hdsConfig = Option(f_)))
    def optionalHdsConfig: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.api.v2.core.ApiConfigSource]] = field(_.hdsConfig)((c_, f_) => c_.copy(hdsConfig = f_))
    def flagsPath: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Predef.String] = field(_.flagsPath)((c_, f_) => c_.copy(flagsPath = f_))
    def statsSinks: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Seq[io.envoyproxy.envoy.config.metrics.v2.StatsSink]] = field(_.statsSinks)((c_, f_) => c_.copy(statsSinks = f_))
    def statsConfig: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.metrics.v2.StatsConfig] = field(_.getStatsConfig)((c_, f_) => c_.copy(statsConfig = Option(f_)))
    def optionalStatsConfig: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.metrics.v2.StatsConfig]] = field(_.statsConfig)((c_, f_) => c_.copy(statsConfig = f_))
    def statsFlushInterval: _root_.scalapb.lenses.Lens[UpperPB, com.google.protobuf.duration.Duration] = field(_.getStatsFlushInterval)((c_, f_) => c_.copy(statsFlushInterval = Option(f_)))
    def optionalStatsFlushInterval: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[com.google.protobuf.duration.Duration]] = field(_.statsFlushInterval)((c_, f_) => c_.copy(statsFlushInterval = f_))
    def watchdog: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.bootstrap.v2.Watchdog] = field(_.getWatchdog)((c_, f_) => c_.copy(watchdog = Option(f_)))
    def optionalWatchdog: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.Watchdog]] = field(_.watchdog)((c_, f_) => c_.copy(watchdog = f_))
    def tracing: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.trace.v2.Tracing] = field(_.getTracing)((c_, f_) => c_.copy(tracing = Option(f_)))
    def optionalTracing: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.trace.v2.Tracing]] = field(_.tracing)((c_, f_) => c_.copy(tracing = f_))
    def runtime: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.bootstrap.v2.Runtime] = field(_.getRuntime)((c_, f_) => c_.copy(runtime = Option(f_)))
    def optionalRuntime: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.Runtime]] = field(_.runtime)((c_, f_) => c_.copy(runtime = f_))
    def layeredRuntime: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.bootstrap.v2.LayeredRuntime] = field(_.getLayeredRuntime)((c_, f_) => c_.copy(layeredRuntime = Option(f_)))
    def optionalLayeredRuntime: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.LayeredRuntime]] = field(_.layeredRuntime)((c_, f_) => c_.copy(layeredRuntime = f_))
    def admin: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.bootstrap.v2.Admin] = field(_.getAdmin)((c_, f_) => c_.copy(admin = Option(f_)))
    def optionalAdmin: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.Admin]] = field(_.admin)((c_, f_) => c_.copy(admin = f_))
    def overloadManager: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.overload.v2alpha.OverloadManager] = field(_.getOverloadManager)((c_, f_) => c_.copy(overloadManager = Option(f_)))
    def optionalOverloadManager: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.overload.v2alpha.OverloadManager]] = field(_.overloadManager)((c_, f_) => c_.copy(overloadManager = f_))
    def enableDispatcherStats: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Boolean] = field(_.enableDispatcherStats)((c_, f_) => c_.copy(enableDispatcherStats = f_))
    def headerPrefix: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Predef.String] = field(_.headerPrefix)((c_, f_) => c_.copy(headerPrefix = f_))
    def statsServerVersionOverride: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Long] = field(_.getStatsServerVersionOverride)((c_, f_) => c_.copy(statsServerVersionOverride = Option(f_)))
    def optionalStatsServerVersionOverride: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[_root_.scala.Long]] = field(_.statsServerVersionOverride)((c_, f_) => c_.copy(statsServerVersionOverride = f_))
    def useTcpForDnsLookups: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Boolean] = field(_.useTcpForDnsLookups)((c_, f_) => c_.copy(useTcpForDnsLookups = f_))
  }
  final val NODE_FIELD_NUMBER = 1
  final val STATIC_RESOURCES_FIELD_NUMBER = 2
  final val DYNAMIC_RESOURCES_FIELD_NUMBER = 3
  final val CLUSTER_MANAGER_FIELD_NUMBER = 4
  final val HDS_CONFIG_FIELD_NUMBER = 14
  final val FLAGS_PATH_FIELD_NUMBER = 5
  final val STATS_SINKS_FIELD_NUMBER = 6
  final val STATS_CONFIG_FIELD_NUMBER = 13
  final val STATS_FLUSH_INTERVAL_FIELD_NUMBER = 7
  final val WATCHDOG_FIELD_NUMBER = 8
  final val TRACING_FIELD_NUMBER = 9
  final val RUNTIME_FIELD_NUMBER = 11
  final val LAYERED_RUNTIME_FIELD_NUMBER = 17
  final val ADMIN_FIELD_NUMBER = 12
  final val OVERLOAD_MANAGER_FIELD_NUMBER = 15
  final val ENABLE_DISPATCHER_STATS_FIELD_NUMBER = 16
  final val HEADER_PREFIX_FIELD_NUMBER = 18
  final val STATS_SERVER_VERSION_OVERRIDE_FIELD_NUMBER = 19
  final val USE_TCP_FOR_DNS_LOOKUPS_FIELD_NUMBER = 20
  @transient
  private[v2] val _typemapper_statsServerVersionOverride: _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(
    node: _root_.scala.Option[io.envoyproxy.envoy.api.v2.core.Node],
    staticResources: _root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.StaticResources],
    dynamicResources: _root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap.DynamicResources],
    clusterManager: _root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.ClusterManager],
    hdsConfig: _root_.scala.Option[io.envoyproxy.envoy.api.v2.core.ApiConfigSource],
    flagsPath: _root_.scala.Predef.String,
    statsSinks: _root_.scala.Seq[io.envoyproxy.envoy.config.metrics.v2.StatsSink],
    statsConfig: _root_.scala.Option[io.envoyproxy.envoy.config.metrics.v2.StatsConfig],
    statsFlushInterval: _root_.scala.Option[com.google.protobuf.duration.Duration],
    watchdog: _root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.Watchdog],
    tracing: _root_.scala.Option[io.envoyproxy.envoy.config.trace.v2.Tracing],
    runtime: _root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.Runtime],
    layeredRuntime: _root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.LayeredRuntime],
    admin: _root_.scala.Option[io.envoyproxy.envoy.config.bootstrap.v2.Admin],
    overloadManager: _root_.scala.Option[io.envoyproxy.envoy.config.overload.v2alpha.OverloadManager],
    enableDispatcherStats: _root_.scala.Boolean,
    headerPrefix: _root_.scala.Predef.String,
    statsServerVersionOverride: _root_.scala.Option[_root_.scala.Long],
    useTcpForDnsLookups: _root_.scala.Boolean
  ): _root_.io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap = _root_.io.envoyproxy.envoy.config.bootstrap.v2.Bootstrap(
    node,
    staticResources,
    dynamicResources,
    clusterManager,
    hdsConfig,
    flagsPath,
    statsSinks,
    statsConfig,
    statsFlushInterval,
    watchdog,
    tracing,
    runtime,
    layeredRuntime,
    admin,
    overloadManager,
    enableDispatcherStats,
    headerPrefix,
    statsServerVersionOverride,
    useTcpForDnsLookups
  )
  // @@protoc_insertion_point(GeneratedMessageCompanion[envoy.config.bootstrap.v2.Bootstrap])
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy