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

io.envoyproxy.envoy.config.metrics.v2.StatsConfig.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.metrics.v2

/** Statistics configuration such as tagging.
  *
  * @param statsTags
  *   Each stat name is iteratively processed through these tag specifiers.
  *   When a tag is matched, the first capture group is removed from the name so
  *   later :ref:`TagSpecifiers <envoy_api_msg_config.metrics.v2.TagSpecifier>` cannot match that
  *   same portion of the match.
  * @param useAllDefaultTags
  *   Use all default tag regexes specified in Envoy. These can be combined with
  *   custom tags specified in :ref:`stats_tags
  *   <envoy_api_field_config.metrics.v2.StatsConfig.stats_tags>`. They will be processed before
  *   the custom tags.
  *  
  *   .. note::
  *  
  *     If any default tags are specified twice, the config will be considered
  *     invalid.
  *  
  *   See :repo:`well_known_names.h <source/common/config/well_known_names.h>` for a list of the
  *   default tags in Envoy.
  *  
  *   If not provided, the value is assumed to be true.
  * @param statsMatcher
  *   Inclusion/exclusion matcher for stat name creation. If not provided, all stats are instantiated
  *   as normal. Preventing the instantiation of certain families of stats can improve memory
  *   performance for Envoys running especially large configs.
  *  
  *   .. warning::
  *     Excluding stats may affect Envoy's behavior in undocumented ways. See
  *     `issue #8771 <https://github.com/envoyproxy/envoy/issues/8771>`_ for more information.
  *     If any unexpected behavior changes are observed, please open a new issue immediately.
  */
@SerialVersionUID(0L)
final case class StatsConfig(
    statsTags: _root_.scala.Seq[io.envoyproxy.envoy.config.metrics.v2.TagSpecifier] = _root_.scala.Seq.empty,
    useAllDefaultTags: _root_.scala.Option[_root_.scala.Boolean] = _root_.scala.None,
    statsMatcher: _root_.scala.Option[io.envoyproxy.envoy.config.metrics.v2.StatsMatcher] = _root_.scala.None,
    unknownFields: _root_.scalapb.UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty
    ) extends scalapb.GeneratedMessage with scalapb.lenses.Updatable[StatsConfig] {
    @transient
    private[this] var __serializedSizeMemoized: _root_.scala.Int = 0
    private[this] def __computeSerializedSize(): _root_.scala.Int = {
      var __size = 0
      statsTags.foreach { __item =>
        val __value = __item
        __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      }
      if (useAllDefaultTags.isDefined) {
        val __value = io.envoyproxy.envoy.config.metrics.v2.StatsConfig._typemapper_useAllDefaultTags.toBase(useAllDefaultTags.get)
        __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      };
      if (statsMatcher.isDefined) {
        val __value = statsMatcher.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 = {
      statsTags.foreach { __v =>
        val __m = __v
        _output__.writeTag(1, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      useAllDefaultTags.foreach { __v =>
        val __m = io.envoyproxy.envoy.config.metrics.v2.StatsConfig._typemapper_useAllDefaultTags.toBase(__v)
        _output__.writeTag(2, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      statsMatcher.foreach { __v =>
        val __m = __v
        _output__.writeTag(3, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      unknownFields.writeTo(_output__)
    }
    def clearStatsTags = copy(statsTags = _root_.scala.Seq.empty)
    def addStatsTags(__vs: io.envoyproxy.envoy.config.metrics.v2.TagSpecifier *): StatsConfig = addAllStatsTags(__vs)
    def addAllStatsTags(__vs: Iterable[io.envoyproxy.envoy.config.metrics.v2.TagSpecifier]): StatsConfig = copy(statsTags = statsTags ++ __vs)
    def withStatsTags(__v: _root_.scala.Seq[io.envoyproxy.envoy.config.metrics.v2.TagSpecifier]): StatsConfig = copy(statsTags = __v)
    def getUseAllDefaultTags: _root_.scala.Boolean = useAllDefaultTags.getOrElse(io.envoyproxy.envoy.config.metrics.v2.StatsConfig._typemapper_useAllDefaultTags.toCustom(com.google.protobuf.wrappers.BoolValue.defaultInstance))
    def clearUseAllDefaultTags: StatsConfig = copy(useAllDefaultTags = _root_.scala.None)
    def withUseAllDefaultTags(__v: _root_.scala.Boolean): StatsConfig = copy(useAllDefaultTags = Option(__v))
    def getStatsMatcher: io.envoyproxy.envoy.config.metrics.v2.StatsMatcher = statsMatcher.getOrElse(io.envoyproxy.envoy.config.metrics.v2.StatsMatcher.defaultInstance)
    def clearStatsMatcher: StatsConfig = copy(statsMatcher = _root_.scala.None)
    def withStatsMatcher(__v: io.envoyproxy.envoy.config.metrics.v2.StatsMatcher): StatsConfig = copy(statsMatcher = 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 => statsTags
        case 2 => useAllDefaultTags.map(io.envoyproxy.envoy.config.metrics.v2.StatsConfig._typemapper_useAllDefaultTags.toBase(_)).orNull
        case 3 => statsMatcher.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.PRepeated(statsTags.iterator.map(_.toPMessage).toVector)
        case 2 => useAllDefaultTags.map(io.envoyproxy.envoy.config.metrics.v2.StatsConfig._typemapper_useAllDefaultTags.toBase(_).toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 3 => statsMatcher.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
      }
    }
    def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this)
    def companion: io.envoyproxy.envoy.config.metrics.v2.StatsConfig.type = io.envoyproxy.envoy.config.metrics.v2.StatsConfig
    // @@protoc_insertion_point(GeneratedMessage[envoy.config.metrics.v2.StatsConfig])
}

object StatsConfig extends scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.metrics.v2.StatsConfig] {
  implicit def messageCompanion: scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.config.metrics.v2.StatsConfig] = this
  def parseFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): io.envoyproxy.envoy.config.metrics.v2.StatsConfig = {
    val __statsTags: _root_.scala.collection.immutable.VectorBuilder[io.envoyproxy.envoy.config.metrics.v2.TagSpecifier] = new _root_.scala.collection.immutable.VectorBuilder[io.envoyproxy.envoy.config.metrics.v2.TagSpecifier]
    var __useAllDefaultTags: _root_.scala.Option[_root_.scala.Boolean] = _root_.scala.None
    var __statsMatcher: _root_.scala.Option[io.envoyproxy.envoy.config.metrics.v2.StatsMatcher] = _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 =>
          __statsTags += _root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.metrics.v2.TagSpecifier](_input__)
        case 18 =>
          __useAllDefaultTags = Option(io.envoyproxy.envoy.config.metrics.v2.StatsConfig._typemapper_useAllDefaultTags.toCustom(__useAllDefaultTags.map(io.envoyproxy.envoy.config.metrics.v2.StatsConfig._typemapper_useAllDefaultTags.toBase(_)).fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.wrappers.BoolValue](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _))))
        case 26 =>
          __statsMatcher = Option(__statsMatcher.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.metrics.v2.StatsMatcher](_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.metrics.v2.StatsConfig(
        statsTags = __statsTags.result(),
        useAllDefaultTags = __useAllDefaultTags,
        statsMatcher = __statsMatcher,
        unknownFields = if (_unknownFields__ == null) _root_.scalapb.UnknownFieldSet.empty else _unknownFields__.result()
    )
  }
  implicit def messageReads: _root_.scalapb.descriptors.Reads[io.envoyproxy.envoy.config.metrics.v2.StatsConfig] = _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.metrics.v2.StatsConfig(
        statsTags = __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).map(_.as[_root_.scala.Seq[io.envoyproxy.envoy.config.metrics.v2.TagSpecifier]]).getOrElse(_root_.scala.Seq.empty),
        useAllDefaultTags = __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.wrappers.BoolValue]]).map(io.envoyproxy.envoy.config.metrics.v2.StatsConfig._typemapper_useAllDefaultTags.toCustom(_)),
        statsMatcher = __fieldsMap.get(scalaDescriptor.findFieldByNumber(3).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.metrics.v2.StatsMatcher]])
      )
    case _ => throw new RuntimeException("Expected PMessage")
  }
  def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = StatsProto.javaDescriptor.getMessageTypes().get(1)
  def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = StatsProto.scalaDescriptor.messages(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.config.metrics.v2.TagSpecifier
      case 2 => __out = com.google.protobuf.wrappers.BoolValue
      case 3 => __out = io.envoyproxy.envoy.config.metrics.v2.StatsMatcher
    }
    __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.metrics.v2.StatsConfig(
    statsTags = _root_.scala.Seq.empty,
    useAllDefaultTags = _root_.scala.None,
    statsMatcher = _root_.scala.None
  )
  implicit class StatsConfigLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.metrics.v2.StatsConfig]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, io.envoyproxy.envoy.config.metrics.v2.StatsConfig](_l) {
    def statsTags: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Seq[io.envoyproxy.envoy.config.metrics.v2.TagSpecifier]] = field(_.statsTags)((c_, f_) => c_.copy(statsTags = f_))
    def useAllDefaultTags: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Boolean] = field(_.getUseAllDefaultTags)((c_, f_) => c_.copy(useAllDefaultTags = Option(f_)))
    def optionalUseAllDefaultTags: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[_root_.scala.Boolean]] = field(_.useAllDefaultTags)((c_, f_) => c_.copy(useAllDefaultTags = f_))
    def statsMatcher: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.metrics.v2.StatsMatcher] = field(_.getStatsMatcher)((c_, f_) => c_.copy(statsMatcher = Option(f_)))
    def optionalStatsMatcher: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.metrics.v2.StatsMatcher]] = field(_.statsMatcher)((c_, f_) => c_.copy(statsMatcher = f_))
  }
  final val STATS_TAGS_FIELD_NUMBER = 1
  final val USE_ALL_DEFAULT_TAGS_FIELD_NUMBER = 2
  final val STATS_MATCHER_FIELD_NUMBER = 3
  @transient
  private[v2] val _typemapper_useAllDefaultTags: _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(
    statsTags: _root_.scala.Seq[io.envoyproxy.envoy.config.metrics.v2.TagSpecifier],
    useAllDefaultTags: _root_.scala.Option[_root_.scala.Boolean],
    statsMatcher: _root_.scala.Option[io.envoyproxy.envoy.config.metrics.v2.StatsMatcher]
  ): _root_.io.envoyproxy.envoy.config.metrics.v2.StatsConfig = _root_.io.envoyproxy.envoy.config.metrics.v2.StatsConfig(
    statsTags,
    useAllDefaultTags,
    statsMatcher
  )
  // @@protoc_insertion_point(GeneratedMessageCompanion[envoy.config.metrics.v2.StatsConfig])
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy