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

io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.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.service.ratelimit.v2

/** A response from a ShouldRateLimit call.
  *
  * @param overallCode
  *   The overall response code which takes into account all of the descriptors that were passed
  *   in the RateLimitRequest message.
  * @param statuses
  *   A list of DescriptorStatus messages which matches the length of the descriptor list passed
  *   in the RateLimitRequest. This can be used by the caller to determine which individual
  *   descriptors failed and/or what the currently configured limits are for all of them.
  * @param headers
  *   A list of headers to add to the response
  * @param requestHeadersToAdd
  *   A list of headers to add to the request when forwarded
  */
@SerialVersionUID(0L)
final case class RateLimitResponse(
    overallCode: io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.Code = io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.Code.UNKNOWN,
    statuses: _root_.scala.Seq[io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus] = _root_.scala.Seq.empty,
    headers: _root_.scala.Seq[io.envoyproxy.envoy.api.v2.core.HeaderValue] = _root_.scala.Seq.empty,
    requestHeadersToAdd: _root_.scala.Seq[io.envoyproxy.envoy.api.v2.core.HeaderValue] = _root_.scala.Seq.empty,
    unknownFields: _root_.scalapb.UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty
    ) extends scalapb.GeneratedMessage with scalapb.lenses.Updatable[RateLimitResponse] {
    @transient
    private[this] var __serializedSizeMemoized: _root_.scala.Int = 0
    private[this] def __computeSerializedSize(): _root_.scala.Int = {
      var __size = 0
      
      {
        val __value = overallCode.value
        if (__value != 0) {
          __size += _root_.com.google.protobuf.CodedOutputStream.computeEnumSize(1, __value)
        }
      };
      statuses.foreach { __item =>
        val __value = __item
        __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      }
      headers.foreach { __item =>
        val __value = __item
        __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      }
      requestHeadersToAdd.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 = {
      {
        val __v = overallCode.value
        if (__v != 0) {
          _output__.writeEnum(1, __v)
        }
      };
      statuses.foreach { __v =>
        val __m = __v
        _output__.writeTag(2, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      headers.foreach { __v =>
        val __m = __v
        _output__.writeTag(3, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      requestHeadersToAdd.foreach { __v =>
        val __m = __v
        _output__.writeTag(4, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      unknownFields.writeTo(_output__)
    }
    def withOverallCode(__v: io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.Code): RateLimitResponse = copy(overallCode = __v)
    def clearStatuses = copy(statuses = _root_.scala.Seq.empty)
    def addStatuses(__vs: io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus *): RateLimitResponse = addAllStatuses(__vs)
    def addAllStatuses(__vs: Iterable[io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus]): RateLimitResponse = copy(statuses = statuses ++ __vs)
    def withStatuses(__v: _root_.scala.Seq[io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus]): RateLimitResponse = copy(statuses = __v)
    def clearHeaders = copy(headers = _root_.scala.Seq.empty)
    def addHeaders(__vs: io.envoyproxy.envoy.api.v2.core.HeaderValue *): RateLimitResponse = addAllHeaders(__vs)
    def addAllHeaders(__vs: Iterable[io.envoyproxy.envoy.api.v2.core.HeaderValue]): RateLimitResponse = copy(headers = headers ++ __vs)
    def withHeaders(__v: _root_.scala.Seq[io.envoyproxy.envoy.api.v2.core.HeaderValue]): RateLimitResponse = copy(headers = __v)
    def clearRequestHeadersToAdd = copy(requestHeadersToAdd = _root_.scala.Seq.empty)
    def addRequestHeadersToAdd(__vs: io.envoyproxy.envoy.api.v2.core.HeaderValue *): RateLimitResponse = addAllRequestHeadersToAdd(__vs)
    def addAllRequestHeadersToAdd(__vs: Iterable[io.envoyproxy.envoy.api.v2.core.HeaderValue]): RateLimitResponse = copy(requestHeadersToAdd = requestHeadersToAdd ++ __vs)
    def withRequestHeadersToAdd(__v: _root_.scala.Seq[io.envoyproxy.envoy.api.v2.core.HeaderValue]): RateLimitResponse = copy(requestHeadersToAdd = __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 = overallCode.javaValueDescriptor
          if (__t.getNumber() != 0) __t else null
        }
        case 2 => statuses
        case 3 => headers
        case 4 => requestHeadersToAdd
      }
    }
    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(overallCode.scalaValueDescriptor)
        case 2 => _root_.scalapb.descriptors.PRepeated(statuses.iterator.map(_.toPMessage).toVector)
        case 3 => _root_.scalapb.descriptors.PRepeated(headers.iterator.map(_.toPMessage).toVector)
        case 4 => _root_.scalapb.descriptors.PRepeated(requestHeadersToAdd.iterator.map(_.toPMessage).toVector)
      }
    }
    def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this)
    def companion: io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.type = io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse
    // @@protoc_insertion_point(GeneratedMessage[envoy.service.ratelimit.v2.RateLimitResponse])
}

object RateLimitResponse extends scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse] {
  implicit def messageCompanion: scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse] = this
  def parseFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse = {
    var __overallCode: io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.Code = io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.Code.UNKNOWN
    val __statuses: _root_.scala.collection.immutable.VectorBuilder[io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus] = new _root_.scala.collection.immutable.VectorBuilder[io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus]
    val __headers: _root_.scala.collection.immutable.VectorBuilder[io.envoyproxy.envoy.api.v2.core.HeaderValue] = new _root_.scala.collection.immutable.VectorBuilder[io.envoyproxy.envoy.api.v2.core.HeaderValue]
    val __requestHeadersToAdd: _root_.scala.collection.immutable.VectorBuilder[io.envoyproxy.envoy.api.v2.core.HeaderValue] = new _root_.scala.collection.immutable.VectorBuilder[io.envoyproxy.envoy.api.v2.core.HeaderValue]
    var `_unknownFields__`: _root_.scalapb.UnknownFieldSet.Builder = null
    var _done__ = false
    while (!_done__) {
      val _tag__ = _input__.readTag()
      _tag__ match {
        case 0 => _done__ = true
        case 8 =>
          __overallCode = io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.Code.fromValue(_input__.readEnum())
        case 18 =>
          __statuses += _root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus](_input__)
        case 26 =>
          __headers += _root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.api.v2.core.HeaderValue](_input__)
        case 34 =>
          __requestHeadersToAdd += _root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.api.v2.core.HeaderValue](_input__)
        case tag =>
          if (_unknownFields__ == null) {
            _unknownFields__ = new _root_.scalapb.UnknownFieldSet.Builder()
          }
          _unknownFields__.parseField(tag, _input__)
      }
    }
    io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse(
        overallCode = __overallCode,
        statuses = __statuses.result(),
        headers = __headers.result(),
        requestHeadersToAdd = __requestHeadersToAdd.result(),
        unknownFields = if (_unknownFields__ == null) _root_.scalapb.UnknownFieldSet.empty else _unknownFields__.result()
    )
  }
  implicit def messageReads: _root_.scalapb.descriptors.Reads[io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse] = _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.service.ratelimit.v2.RateLimitResponse(
        overallCode = io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.Code.fromValue(__fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).map(_.as[_root_.scalapb.descriptors.EnumValueDescriptor]).getOrElse(io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.Code.UNKNOWN.scalaValueDescriptor).number),
        statuses = __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).map(_.as[_root_.scala.Seq[io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus]]).getOrElse(_root_.scala.Seq.empty),
        headers = __fieldsMap.get(scalaDescriptor.findFieldByNumber(3).get).map(_.as[_root_.scala.Seq[io.envoyproxy.envoy.api.v2.core.HeaderValue]]).getOrElse(_root_.scala.Seq.empty),
        requestHeadersToAdd = __fieldsMap.get(scalaDescriptor.findFieldByNumber(4).get).map(_.as[_root_.scala.Seq[io.envoyproxy.envoy.api.v2.core.HeaderValue]]).getOrElse(_root_.scala.Seq.empty)
      )
    case _ => throw new RuntimeException("Expected PMessage")
  }
  def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = RlsProto.javaDescriptor.getMessageTypes().get(1)
  def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = RlsProto.scalaDescriptor.messages(1)
  def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = {
    var __out: _root_.scalapb.GeneratedMessageCompanion[_] = null
    (__number: @_root_.scala.unchecked) match {
      case 2 => __out = io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus
      case 3 => __out = io.envoyproxy.envoy.api.v2.core.HeaderValue
      case 4 => __out = io.envoyproxy.envoy.api.v2.core.HeaderValue
    }
    __out
  }
  lazy val nestedMessagesCompanions: Seq[_root_.scalapb.GeneratedMessageCompanion[_ <: _root_.scalapb.GeneratedMessage]] =
    Seq[_root_.scalapb.GeneratedMessageCompanion[_ <: _root_.scalapb.GeneratedMessage]](
      _root_.io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit,
      _root_.io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus
    )
  def enumCompanionForFieldNumber(__fieldNumber: _root_.scala.Int): _root_.scalapb.GeneratedEnumCompanion[_] = {
    (__fieldNumber: @_root_.scala.unchecked) match {
      case 1 => io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.Code
    }
  }
  lazy val defaultInstance = io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse(
    overallCode = io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.Code.UNKNOWN,
    statuses = _root_.scala.Seq.empty,
    headers = _root_.scala.Seq.empty,
    requestHeadersToAdd = _root_.scala.Seq.empty
  )
  sealed abstract class Code(val value: _root_.scala.Int) extends _root_.scalapb.GeneratedEnum {
    type EnumType = Code
    def isUnknown: _root_.scala.Boolean = false
    def isOk: _root_.scala.Boolean = false
    def isOverLimit: _root_.scala.Boolean = false
    def companion: _root_.scalapb.GeneratedEnumCompanion[Code] = io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.Code
    final def asRecognized: _root_.scala.Option[io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.Code.Recognized] = if (isUnrecognized) _root_.scala.None else _root_.scala.Some(this.asInstanceOf[io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.Code.Recognized])
  }
  
  object Code extends _root_.scalapb.GeneratedEnumCompanion[Code] {
    sealed trait Recognized extends Code
    implicit def enumCompanion: _root_.scalapb.GeneratedEnumCompanion[Code] = this
    
    /** The response code is not known.
      */
    @SerialVersionUID(0L)
    case object UNKNOWN extends Code(0) with Code.Recognized {
      val index = 0
      val name = "UNKNOWN"
      override def isUnknown: _root_.scala.Boolean = true
    }
    
    /** The response code to notify that the number of requests are under limit.
      */
    @SerialVersionUID(0L)
    case object OK extends Code(1) with Code.Recognized {
      val index = 1
      val name = "OK"
      override def isOk: _root_.scala.Boolean = true
    }
    
    /** The response code to notify that the number of requests are over limit.
      */
    @SerialVersionUID(0L)
    case object OVER_LIMIT extends Code(2) with Code.Recognized {
      val index = 2
      val name = "OVER_LIMIT"
      override def isOverLimit: _root_.scala.Boolean = true
    }
    
    @SerialVersionUID(0L)
    final case class Unrecognized(unrecognizedValue: _root_.scala.Int) extends Code(unrecognizedValue) with _root_.scalapb.UnrecognizedEnum
    lazy val values = scala.collection.immutable.Seq(UNKNOWN, OK, OVER_LIMIT)
    def fromValue(__value: _root_.scala.Int): Code = __value match {
      case 0 => UNKNOWN
      case 1 => OK
      case 2 => OVER_LIMIT
      case __other => Unrecognized(__other)
    }
    def javaDescriptor: _root_.com.google.protobuf.Descriptors.EnumDescriptor = io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.javaDescriptor.getEnumTypes().get(0)
    def scalaDescriptor: _root_.scalapb.descriptors.EnumDescriptor = io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.scalaDescriptor.enums(0)
  }
  /** Defines an actual rate limit in terms of requests per unit of time and the unit itself.
    *
    * @param name
    *   A name or description of this limit.
    * @param requestsPerUnit
    *   The number of requests per unit of time.
    * @param unit
    *   The unit of time.
    */
  @SerialVersionUID(0L)
  final case class RateLimit(
      name: _root_.scala.Predef.String = "",
      requestsPerUnit: _root_.scala.Int = 0,
      unit: io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit.Unit = io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit.Unit.UNKNOWN,
      unknownFields: _root_.scalapb.UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty
      ) extends scalapb.GeneratedMessage with scalapb.lenses.Updatable[RateLimit] {
      @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(3, __value)
          }
        };
        
        {
          val __value = requestsPerUnit
          if (__value != 0) {
            __size += _root_.com.google.protobuf.CodedOutputStream.computeUInt32Size(1, __value)
          }
        };
        
        {
          val __value = unit.value
          if (__value != 0) {
            __size += _root_.com.google.protobuf.CodedOutputStream.computeEnumSize(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 = requestsPerUnit
          if (__v != 0) {
            _output__.writeUInt32(1, __v)
          }
        };
        {
          val __v = unit.value
          if (__v != 0) {
            _output__.writeEnum(2, __v)
          }
        };
        {
          val __v = name
          if (!__v.isEmpty) {
            _output__.writeString(3, __v)
          }
        };
        unknownFields.writeTo(_output__)
      }
      def withName(__v: _root_.scala.Predef.String): RateLimit = copy(name = __v)
      def withRequestsPerUnit(__v: _root_.scala.Int): RateLimit = copy(requestsPerUnit = __v)
      def withUnit(__v: io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit.Unit): RateLimit = copy(unit = __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 3 => {
            val __t = name
            if (__t != "") __t else null
          }
          case 1 => {
            val __t = requestsPerUnit
            if (__t != 0) __t else null
          }
          case 2 => {
            val __t = unit.javaValueDescriptor
            if (__t.getNumber() != 0) __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 3 => _root_.scalapb.descriptors.PString(name)
          case 1 => _root_.scalapb.descriptors.PInt(requestsPerUnit)
          case 2 => _root_.scalapb.descriptors.PEnum(unit.scalaValueDescriptor)
        }
      }
      def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this)
      def companion: io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit.type = io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit
      // @@protoc_insertion_point(GeneratedMessage[envoy.service.ratelimit.v2.RateLimitResponse.RateLimit])
  }
  
  object RateLimit extends scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit] {
    implicit def messageCompanion: scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit] = this
    def parseFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit = {
      var __name: _root_.scala.Predef.String = ""
      var __requestsPerUnit: _root_.scala.Int = 0
      var __unit: io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit.Unit = io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit.Unit.UNKNOWN
      var `_unknownFields__`: _root_.scalapb.UnknownFieldSet.Builder = null
      var _done__ = false
      while (!_done__) {
        val _tag__ = _input__.readTag()
        _tag__ match {
          case 0 => _done__ = true
          case 26 =>
            __name = _input__.readStringRequireUtf8()
          case 8 =>
            __requestsPerUnit = _input__.readUInt32()
          case 16 =>
            __unit = io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit.Unit.fromValue(_input__.readEnum())
          case tag =>
            if (_unknownFields__ == null) {
              _unknownFields__ = new _root_.scalapb.UnknownFieldSet.Builder()
            }
            _unknownFields__.parseField(tag, _input__)
        }
      }
      io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit(
          name = __name,
          requestsPerUnit = __requestsPerUnit,
          unit = __unit,
          unknownFields = if (_unknownFields__ == null) _root_.scalapb.UnknownFieldSet.empty else _unknownFields__.result()
      )
    }
    implicit def messageReads: _root_.scalapb.descriptors.Reads[io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit] = _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.service.ratelimit.v2.RateLimitResponse.RateLimit(
          name = __fieldsMap.get(scalaDescriptor.findFieldByNumber(3).get).map(_.as[_root_.scala.Predef.String]).getOrElse(""),
          requestsPerUnit = __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).map(_.as[_root_.scala.Int]).getOrElse(0),
          unit = io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit.Unit.fromValue(__fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).map(_.as[_root_.scalapb.descriptors.EnumValueDescriptor]).getOrElse(io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit.Unit.UNKNOWN.scalaValueDescriptor).number)
        )
      case _ => throw new RuntimeException("Expected PMessage")
    }
    def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.javaDescriptor.getNestedTypes().get(0)
    def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.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.service.ratelimit.v2.RateLimitResponse.RateLimit.Unit
      }
    }
    lazy val defaultInstance = io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit(
      name = "",
      requestsPerUnit = 0,
      unit = io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit.Unit.UNKNOWN
    )
    sealed abstract class Unit(val value: _root_.scala.Int) extends _root_.scalapb.GeneratedEnum {
      type EnumType = Unit
      def isUnknown: _root_.scala.Boolean = false
      def isSecond: _root_.scala.Boolean = false
      def isMinute: _root_.scala.Boolean = false
      def isHour: _root_.scala.Boolean = false
      def isDay: _root_.scala.Boolean = false
      def companion: _root_.scalapb.GeneratedEnumCompanion[Unit] = io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit.Unit
      final def asRecognized: _root_.scala.Option[io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit.Unit.Recognized] = if (isUnrecognized) _root_.scala.None else _root_.scala.Some(this.asInstanceOf[io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit.Unit.Recognized])
    }
    
    object Unit extends _root_.scalapb.GeneratedEnumCompanion[Unit] {
      sealed trait Recognized extends Unit
      implicit def enumCompanion: _root_.scalapb.GeneratedEnumCompanion[Unit] = this
      
      /** The time unit is not known.
        */
      @SerialVersionUID(0L)
      case object UNKNOWN extends Unit(0) with Unit.Recognized {
        val index = 0
        val name = "UNKNOWN"
        override def isUnknown: _root_.scala.Boolean = true
      }
      
      /** The time unit representing a second.
        */
      @SerialVersionUID(0L)
      case object SECOND extends Unit(1) with Unit.Recognized {
        val index = 1
        val name = "SECOND"
        override def isSecond: _root_.scala.Boolean = true
      }
      
      /** The time unit representing a minute.
        */
      @SerialVersionUID(0L)
      case object MINUTE extends Unit(2) with Unit.Recognized {
        val index = 2
        val name = "MINUTE"
        override def isMinute: _root_.scala.Boolean = true
      }
      
      /** The time unit representing an hour.
        */
      @SerialVersionUID(0L)
      case object HOUR extends Unit(3) with Unit.Recognized {
        val index = 3
        val name = "HOUR"
        override def isHour: _root_.scala.Boolean = true
      }
      
      /** The time unit representing a day.
        */
      @SerialVersionUID(0L)
      case object DAY extends Unit(4) with Unit.Recognized {
        val index = 4
        val name = "DAY"
        override def isDay: _root_.scala.Boolean = true
      }
      
      @SerialVersionUID(0L)
      final case class Unrecognized(unrecognizedValue: _root_.scala.Int) extends Unit(unrecognizedValue) with _root_.scalapb.UnrecognizedEnum
      lazy val values = scala.collection.immutable.Seq(UNKNOWN, SECOND, MINUTE, HOUR, DAY)
      def fromValue(__value: _root_.scala.Int): Unit = __value match {
        case 0 => UNKNOWN
        case 1 => SECOND
        case 2 => MINUTE
        case 3 => HOUR
        case 4 => DAY
        case __other => Unrecognized(__other)
      }
      def javaDescriptor: _root_.com.google.protobuf.Descriptors.EnumDescriptor = io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit.javaDescriptor.getEnumTypes().get(0)
      def scalaDescriptor: _root_.scalapb.descriptors.EnumDescriptor = io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit.scalaDescriptor.enums(0)
    }
    implicit class RateLimitLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit](_l) {
      def name: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Predef.String] = field(_.name)((c_, f_) => c_.copy(name = f_))
      def requestsPerUnit: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Int] = field(_.requestsPerUnit)((c_, f_) => c_.copy(requestsPerUnit = f_))
      def unit: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit.Unit] = field(_.unit)((c_, f_) => c_.copy(unit = f_))
    }
    final val NAME_FIELD_NUMBER = 3
    final val REQUESTS_PER_UNIT_FIELD_NUMBER = 1
    final val UNIT_FIELD_NUMBER = 2
    def of(
      name: _root_.scala.Predef.String,
      requestsPerUnit: _root_.scala.Int,
      unit: io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit.Unit
    ): _root_.io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit = _root_.io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit(
      name,
      requestsPerUnit,
      unit
    )
    // @@protoc_insertion_point(GeneratedMessageCompanion[envoy.service.ratelimit.v2.RateLimitResponse.RateLimit])
  }
  
  /** @param code
    *   The response code for an individual descriptor.
    * @param currentLimit
    *   The current limit as configured by the server. Useful for debugging, etc.
    * @param limitRemaining
    *   The limit remaining in the current time unit.
    */
  @SerialVersionUID(0L)
  final case class DescriptorStatus(
      code: io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.Code = io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.Code.UNKNOWN,
      currentLimit: _root_.scala.Option[io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit] = _root_.scala.None,
      limitRemaining: _root_.scala.Int = 0,
      unknownFields: _root_.scalapb.UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty
      ) extends scalapb.GeneratedMessage with scalapb.lenses.Updatable[DescriptorStatus] {
      @transient
      private[this] var __serializedSizeMemoized: _root_.scala.Int = 0
      private[this] def __computeSerializedSize(): _root_.scala.Int = {
        var __size = 0
        
        {
          val __value = code.value
          if (__value != 0) {
            __size += _root_.com.google.protobuf.CodedOutputStream.computeEnumSize(1, __value)
          }
        };
        if (currentLimit.isDefined) {
          val __value = currentLimit.get
          __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
        };
        
        {
          val __value = limitRemaining
          if (__value != 0) {
            __size += _root_.com.google.protobuf.CodedOutputStream.computeUInt32Size(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 = {
        {
          val __v = code.value
          if (__v != 0) {
            _output__.writeEnum(1, __v)
          }
        };
        currentLimit.foreach { __v =>
          val __m = __v
          _output__.writeTag(2, 2)
          _output__.writeUInt32NoTag(__m.serializedSize)
          __m.writeTo(_output__)
        };
        {
          val __v = limitRemaining
          if (__v != 0) {
            _output__.writeUInt32(3, __v)
          }
        };
        unknownFields.writeTo(_output__)
      }
      def withCode(__v: io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.Code): DescriptorStatus = copy(code = __v)
      def getCurrentLimit: io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit = currentLimit.getOrElse(io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit.defaultInstance)
      def clearCurrentLimit: DescriptorStatus = copy(currentLimit = _root_.scala.None)
      def withCurrentLimit(__v: io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit): DescriptorStatus = copy(currentLimit = Option(__v))
      def withLimitRemaining(__v: _root_.scala.Int): DescriptorStatus = copy(limitRemaining = __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 = code.javaValueDescriptor
            if (__t.getNumber() != 0) __t else null
          }
          case 2 => currentLimit.orNull
          case 3 => {
            val __t = limitRemaining
            if (__t != 0) __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(code.scalaValueDescriptor)
          case 2 => currentLimit.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
          case 3 => _root_.scalapb.descriptors.PInt(limitRemaining)
        }
      }
      def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this)
      def companion: io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus.type = io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus
      // @@protoc_insertion_point(GeneratedMessage[envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus])
  }
  
  object DescriptorStatus extends scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus] {
    implicit def messageCompanion: scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus] = this
    def parseFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus = {
      var __code: io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.Code = io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.Code.UNKNOWN
      var __currentLimit: _root_.scala.Option[io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit] = _root_.scala.None
      var __limitRemaining: _root_.scala.Int = 0
      var `_unknownFields__`: _root_.scalapb.UnknownFieldSet.Builder = null
      var _done__ = false
      while (!_done__) {
        val _tag__ = _input__.readTag()
        _tag__ match {
          case 0 => _done__ = true
          case 8 =>
            __code = io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.Code.fromValue(_input__.readEnum())
          case 18 =>
            __currentLimit = Option(__currentLimit.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
          case 24 =>
            __limitRemaining = _input__.readUInt32()
          case tag =>
            if (_unknownFields__ == null) {
              _unknownFields__ = new _root_.scalapb.UnknownFieldSet.Builder()
            }
            _unknownFields__.parseField(tag, _input__)
        }
      }
      io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus(
          code = __code,
          currentLimit = __currentLimit,
          limitRemaining = __limitRemaining,
          unknownFields = if (_unknownFields__ == null) _root_.scalapb.UnknownFieldSet.empty else _unknownFields__.result()
      )
    }
    implicit def messageReads: _root_.scalapb.descriptors.Reads[io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus] = _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.service.ratelimit.v2.RateLimitResponse.DescriptorStatus(
          code = io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.Code.fromValue(__fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).map(_.as[_root_.scalapb.descriptors.EnumValueDescriptor]).getOrElse(io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.Code.UNKNOWN.scalaValueDescriptor).number),
          currentLimit = __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit]]),
          limitRemaining = __fieldsMap.get(scalaDescriptor.findFieldByNumber(3).get).map(_.as[_root_.scala.Int]).getOrElse(0)
        )
      case _ => throw new RuntimeException("Expected PMessage")
    }
    def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.javaDescriptor.getNestedTypes().get(1)
    def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.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 = io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit
      }
      __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 1 => io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.Code
      }
    }
    lazy val defaultInstance = io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus(
      code = io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.Code.UNKNOWN,
      currentLimit = _root_.scala.None,
      limitRemaining = 0
    )
    implicit class DescriptorStatusLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus](_l) {
      def code: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.Code] = field(_.code)((c_, f_) => c_.copy(code = f_))
      def currentLimit: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit] = field(_.getCurrentLimit)((c_, f_) => c_.copy(currentLimit = Option(f_)))
      def optionalCurrentLimit: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit]] = field(_.currentLimit)((c_, f_) => c_.copy(currentLimit = f_))
      def limitRemaining: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Int] = field(_.limitRemaining)((c_, f_) => c_.copy(limitRemaining = f_))
    }
    final val CODE_FIELD_NUMBER = 1
    final val CURRENT_LIMIT_FIELD_NUMBER = 2
    final val LIMIT_REMAINING_FIELD_NUMBER = 3
    def of(
      code: io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.Code,
      currentLimit: _root_.scala.Option[io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit],
      limitRemaining: _root_.scala.Int
    ): _root_.io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus = _root_.io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus(
      code,
      currentLimit,
      limitRemaining
    )
    // @@protoc_insertion_point(GeneratedMessageCompanion[envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus])
  }
  
  implicit class RateLimitResponseLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse](_l) {
    def overallCode: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.Code] = field(_.overallCode)((c_, f_) => c_.copy(overallCode = f_))
    def statuses: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Seq[io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus]] = field(_.statuses)((c_, f_) => c_.copy(statuses = f_))
    def headers: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Seq[io.envoyproxy.envoy.api.v2.core.HeaderValue]] = field(_.headers)((c_, f_) => c_.copy(headers = f_))
    def requestHeadersToAdd: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Seq[io.envoyproxy.envoy.api.v2.core.HeaderValue]] = field(_.requestHeadersToAdd)((c_, f_) => c_.copy(requestHeadersToAdd = f_))
  }
  final val OVERALL_CODE_FIELD_NUMBER = 1
  final val STATUSES_FIELD_NUMBER = 2
  final val HEADERS_FIELD_NUMBER = 3
  final val REQUEST_HEADERS_TO_ADD_FIELD_NUMBER = 4
  def of(
    overallCode: io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.Code,
    statuses: _root_.scala.Seq[io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus],
    headers: _root_.scala.Seq[io.envoyproxy.envoy.api.v2.core.HeaderValue],
    requestHeadersToAdd: _root_.scala.Seq[io.envoyproxy.envoy.api.v2.core.HeaderValue]
  ): _root_.io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse = _root_.io.envoyproxy.envoy.service.ratelimit.v2.RateLimitResponse(
    overallCode,
    statuses,
    headers,
    requestHeadersToAdd
  )
  // @@protoc_insertion_point(GeneratedMessageCompanion[envoy.service.ratelimit.v2.RateLimitResponse])
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy