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

io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.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.data.accesslog.v3

/** Defines fields that are shared by all Envoy access logs.
  * [#next-free-field: 23]
  *
  * @param sampleRate
  *   [#not-implemented-hide:]
  *   This field indicates the rate at which this log entry was sampled.
  *   Valid range is (0.0, 1.0].
  * @param downstreamRemoteAddress
  *   This field is the remote/origin address on which the request from the user was received.
  *   Note: This may not be the physical peer. E.g, if the remote address is inferred from for
  *   example the x-forwarder-for header, proxy protocol, etc.
  * @param downstreamLocalAddress
  *   This field is the local/destination address on which the request from the user was received.
  * @param tlsProperties
  *   If the connection is secure,S this field will contain TLS properties.
  * @param startTime
  *   The time that Envoy started servicing this request. This is effectively the time that the first
  *   downstream byte is received.
  * @param timeToLastRxByte
  *   Interval between the first downstream byte received and the last
  *   downstream byte received (i.e. time it takes to receive a request).
  * @param timeToFirstUpstreamTxByte
  *   Interval between the first downstream byte received and the first upstream byte sent. There may
  *   by considerable delta between *time_to_last_rx_byte* and this value due to filters.
  *   Additionally, the same caveats apply as documented in *time_to_last_downstream_tx_byte* about
  *   not accounting for kernel socket buffer time, etc.
  * @param timeToLastUpstreamTxByte
  *   Interval between the first downstream byte received and the last upstream byte sent. There may
  *   by considerable delta between *time_to_last_rx_byte* and this value due to filters.
  *   Additionally, the same caveats apply as documented in *time_to_last_downstream_tx_byte* about
  *   not accounting for kernel socket buffer time, etc.
  * @param timeToFirstUpstreamRxByte
  *   Interval between the first downstream byte received and the first upstream
  *   byte received (i.e. time it takes to start receiving a response).
  * @param timeToLastUpstreamRxByte
  *   Interval between the first downstream byte received and the last upstream
  *   byte received (i.e. time it takes to receive a complete response).
  * @param timeToFirstDownstreamTxByte
  *   Interval between the first downstream byte received and the first downstream byte sent.
  *   There may be a considerable delta between the *time_to_first_upstream_rx_byte* and this field
  *   due to filters. Additionally, the same caveats apply as documented in
  *   *time_to_last_downstream_tx_byte* about not accounting for kernel socket buffer time, etc.
  * @param timeToLastDownstreamTxByte
  *   Interval between the first downstream byte received and the last downstream byte sent.
  *   Depending on protocol, buffering, windowing, filters, etc. there may be a considerable delta
  *   between *time_to_last_upstream_rx_byte* and this field. Note also that this is an approximate
  *   time. In the current implementation it does not include kernel socket buffer time. In the
  *   current implementation it also does not include send window buffering inside the HTTP/2 codec.
  *   In the future it is likely that work will be done to make this duration more accurate.
  * @param upstreamRemoteAddress
  *   The upstream remote/destination address that handles this exchange. This does not include
  *   retries.
  * @param upstreamLocalAddress
  *   The upstream local/origin address that handles this exchange. This does not include retries.
  * @param upstreamCluster
  *   The upstream cluster that *upstream_remote_address* belongs to.
  * @param responseFlags
  *   Flags indicating occurrences during request/response processing.
  * @param metadata
  *   All metadata encountered during request processing, including endpoint
  *   selection.
  *  
  *   This can be used to associate IDs attached to the various configurations
  *   used to process this request with the access log entry. For example, a
  *   route created from a higher level forwarding rule with some ID can place
  *   that ID in this field and cross reference later. It can also be used to
  *   determine if a canary endpoint was used or not.
  * @param upstreamTransportFailureReason
  *   If upstream connection failed due to transport socket (e.g. TLS handshake), provides the
  *   failure reason from the transport socket. The format of this field depends on the configured
  *   upstream transport socket. Common TLS failures are in
  *   :ref:`TLS trouble shooting <arch_overview_ssl_trouble_shooting>`.
  * @param routeName
  *   The name of the route
  * @param downstreamDirectRemoteAddress
  *   This field is the downstream direct remote address on which the request from the user was
  *   received. Note: This is always the physical peer, even if the remote address is inferred from
  *   for example the x-forwarder-for header, proxy protocol, etc.
  * @param filterStateObjects
  *   Map of filter state in stream info that have been configured to be logged. If the filter
  *   state serialized to any message other than `google.protobuf.Any` it will be packed into
  *   `google.protobuf.Any`.
  * @param customTags
  *   A list of custom tags, which annotate logs with additional information.
  *   To configure this value, users should configure
  *   :ref:`custom_tags <envoy_v3_api_field_extensions.access_loggers.grpc.v3.CommonGrpcAccessLogConfig.custom_tags>`.
  */
@SerialVersionUID(0L)
final case class AccessLogCommon(
    sampleRate: _root_.scala.Double = 0.0,
    downstreamRemoteAddress: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Address] = _root_.scala.None,
    downstreamLocalAddress: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Address] = _root_.scala.None,
    tlsProperties: _root_.scala.Option[io.envoyproxy.envoy.data.accesslog.v3.TLSProperties] = _root_.scala.None,
    startTime: _root_.scala.Option[com.google.protobuf.timestamp.Timestamp] = _root_.scala.None,
    timeToLastRxByte: _root_.scala.Option[com.google.protobuf.duration.Duration] = _root_.scala.None,
    timeToFirstUpstreamTxByte: _root_.scala.Option[com.google.protobuf.duration.Duration] = _root_.scala.None,
    timeToLastUpstreamTxByte: _root_.scala.Option[com.google.protobuf.duration.Duration] = _root_.scala.None,
    timeToFirstUpstreamRxByte: _root_.scala.Option[com.google.protobuf.duration.Duration] = _root_.scala.None,
    timeToLastUpstreamRxByte: _root_.scala.Option[com.google.protobuf.duration.Duration] = _root_.scala.None,
    timeToFirstDownstreamTxByte: _root_.scala.Option[com.google.protobuf.duration.Duration] = _root_.scala.None,
    timeToLastDownstreamTxByte: _root_.scala.Option[com.google.protobuf.duration.Duration] = _root_.scala.None,
    upstreamRemoteAddress: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Address] = _root_.scala.None,
    upstreamLocalAddress: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Address] = _root_.scala.None,
    upstreamCluster: _root_.scala.Predef.String = "",
    responseFlags: _root_.scala.Option[io.envoyproxy.envoy.data.accesslog.v3.ResponseFlags] = _root_.scala.None,
    metadata: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Metadata] = _root_.scala.None,
    upstreamTransportFailureReason: _root_.scala.Predef.String = "",
    routeName: _root_.scala.Predef.String = "",
    downstreamDirectRemoteAddress: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Address] = _root_.scala.None,
    filterStateObjects: _root_.scala.collection.immutable.Map[_root_.scala.Predef.String, com.google.protobuf.any.Any] = _root_.scala.collection.immutable.Map.empty,
    customTags: _root_.scala.collection.immutable.Map[_root_.scala.Predef.String, _root_.scala.Predef.String] = _root_.scala.collection.immutable.Map.empty,
    unknownFields: _root_.scalapb.UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty
    ) extends scalapb.GeneratedMessage with scalapb.lenses.Updatable[AccessLogCommon] {
    @transient
    private[this] var __serializedSizeMemoized: _root_.scala.Int = 0
    private[this] def __computeSerializedSize(): _root_.scala.Int = {
      var __size = 0
      
      {
        val __value = sampleRate
        if (__value != 0.0) {
          __size += _root_.com.google.protobuf.CodedOutputStream.computeDoubleSize(1, __value)
        }
      };
      if (downstreamRemoteAddress.isDefined) {
        val __value = downstreamRemoteAddress.get
        __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      };
      if (downstreamLocalAddress.isDefined) {
        val __value = downstreamLocalAddress.get
        __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      };
      if (tlsProperties.isDefined) {
        val __value = tlsProperties.get
        __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      };
      if (startTime.isDefined) {
        val __value = startTime.get
        __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      };
      if (timeToLastRxByte.isDefined) {
        val __value = timeToLastRxByte.get
        __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      };
      if (timeToFirstUpstreamTxByte.isDefined) {
        val __value = timeToFirstUpstreamTxByte.get
        __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      };
      if (timeToLastUpstreamTxByte.isDefined) {
        val __value = timeToLastUpstreamTxByte.get
        __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      };
      if (timeToFirstUpstreamRxByte.isDefined) {
        val __value = timeToFirstUpstreamRxByte.get
        __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      };
      if (timeToLastUpstreamRxByte.isDefined) {
        val __value = timeToLastUpstreamRxByte.get
        __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      };
      if (timeToFirstDownstreamTxByte.isDefined) {
        val __value = timeToFirstDownstreamTxByte.get
        __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      };
      if (timeToLastDownstreamTxByte.isDefined) {
        val __value = timeToLastDownstreamTxByte.get
        __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      };
      if (upstreamRemoteAddress.isDefined) {
        val __value = upstreamRemoteAddress.get
        __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      };
      if (upstreamLocalAddress.isDefined) {
        val __value = upstreamLocalAddress.get
        __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      };
      
      {
        val __value = upstreamCluster
        if (!__value.isEmpty) {
          __size += _root_.com.google.protobuf.CodedOutputStream.computeStringSize(15, __value)
        }
      };
      if (responseFlags.isDefined) {
        val __value = responseFlags.get
        __size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      };
      if (metadata.isDefined) {
        val __value = metadata.get
        __size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      };
      
      {
        val __value = upstreamTransportFailureReason
        if (!__value.isEmpty) {
          __size += _root_.com.google.protobuf.CodedOutputStream.computeStringSize(18, __value)
        }
      };
      
      {
        val __value = routeName
        if (!__value.isEmpty) {
          __size += _root_.com.google.protobuf.CodedOutputStream.computeStringSize(19, __value)
        }
      };
      if (downstreamDirectRemoteAddress.isDefined) {
        val __value = downstreamDirectRemoteAddress.get
        __size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      };
      filterStateObjects.foreach { __item =>
        val __value = io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon._typemapper_filterStateObjects.toBase(__item)
        __size += 2 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
      }
      customTags.foreach { __item =>
        val __value = io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon._typemapper_customTags.toBase(__item)
        __size += 2 + _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 = sampleRate
        if (__v != 0.0) {
          _output__.writeDouble(1, __v)
        }
      };
      downstreamRemoteAddress.foreach { __v =>
        val __m = __v
        _output__.writeTag(2, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      downstreamLocalAddress.foreach { __v =>
        val __m = __v
        _output__.writeTag(3, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      tlsProperties.foreach { __v =>
        val __m = __v
        _output__.writeTag(4, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      startTime.foreach { __v =>
        val __m = __v
        _output__.writeTag(5, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      timeToLastRxByte.foreach { __v =>
        val __m = __v
        _output__.writeTag(6, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      timeToFirstUpstreamTxByte.foreach { __v =>
        val __m = __v
        _output__.writeTag(7, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      timeToLastUpstreamTxByte.foreach { __v =>
        val __m = __v
        _output__.writeTag(8, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      timeToFirstUpstreamRxByte.foreach { __v =>
        val __m = __v
        _output__.writeTag(9, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      timeToLastUpstreamRxByte.foreach { __v =>
        val __m = __v
        _output__.writeTag(10, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      timeToFirstDownstreamTxByte.foreach { __v =>
        val __m = __v
        _output__.writeTag(11, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      timeToLastDownstreamTxByte.foreach { __v =>
        val __m = __v
        _output__.writeTag(12, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      upstreamRemoteAddress.foreach { __v =>
        val __m = __v
        _output__.writeTag(13, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      upstreamLocalAddress.foreach { __v =>
        val __m = __v
        _output__.writeTag(14, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      {
        val __v = upstreamCluster
        if (!__v.isEmpty) {
          _output__.writeString(15, __v)
        }
      };
      responseFlags.foreach { __v =>
        val __m = __v
        _output__.writeTag(16, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      metadata.foreach { __v =>
        val __m = __v
        _output__.writeTag(17, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      {
        val __v = upstreamTransportFailureReason
        if (!__v.isEmpty) {
          _output__.writeString(18, __v)
        }
      };
      {
        val __v = routeName
        if (!__v.isEmpty) {
          _output__.writeString(19, __v)
        }
      };
      downstreamDirectRemoteAddress.foreach { __v =>
        val __m = __v
        _output__.writeTag(20, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      filterStateObjects.foreach { __v =>
        val __m = io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon._typemapper_filterStateObjects.toBase(__v)
        _output__.writeTag(21, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      customTags.foreach { __v =>
        val __m = io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon._typemapper_customTags.toBase(__v)
        _output__.writeTag(22, 2)
        _output__.writeUInt32NoTag(__m.serializedSize)
        __m.writeTo(_output__)
      };
      unknownFields.writeTo(_output__)
    }
    def withSampleRate(__v: _root_.scala.Double): AccessLogCommon = copy(sampleRate = __v)
    def getDownstreamRemoteAddress: io.envoyproxy.envoy.config.core.v3.Address = downstreamRemoteAddress.getOrElse(io.envoyproxy.envoy.config.core.v3.Address.defaultInstance)
    def clearDownstreamRemoteAddress: AccessLogCommon = copy(downstreamRemoteAddress = _root_.scala.None)
    def withDownstreamRemoteAddress(__v: io.envoyproxy.envoy.config.core.v3.Address): AccessLogCommon = copy(downstreamRemoteAddress = Option(__v))
    def getDownstreamLocalAddress: io.envoyproxy.envoy.config.core.v3.Address = downstreamLocalAddress.getOrElse(io.envoyproxy.envoy.config.core.v3.Address.defaultInstance)
    def clearDownstreamLocalAddress: AccessLogCommon = copy(downstreamLocalAddress = _root_.scala.None)
    def withDownstreamLocalAddress(__v: io.envoyproxy.envoy.config.core.v3.Address): AccessLogCommon = copy(downstreamLocalAddress = Option(__v))
    def getTlsProperties: io.envoyproxy.envoy.data.accesslog.v3.TLSProperties = tlsProperties.getOrElse(io.envoyproxy.envoy.data.accesslog.v3.TLSProperties.defaultInstance)
    def clearTlsProperties: AccessLogCommon = copy(tlsProperties = _root_.scala.None)
    def withTlsProperties(__v: io.envoyproxy.envoy.data.accesslog.v3.TLSProperties): AccessLogCommon = copy(tlsProperties = Option(__v))
    def getStartTime: com.google.protobuf.timestamp.Timestamp = startTime.getOrElse(com.google.protobuf.timestamp.Timestamp.defaultInstance)
    def clearStartTime: AccessLogCommon = copy(startTime = _root_.scala.None)
    def withStartTime(__v: com.google.protobuf.timestamp.Timestamp): AccessLogCommon = copy(startTime = Option(__v))
    def getTimeToLastRxByte: com.google.protobuf.duration.Duration = timeToLastRxByte.getOrElse(com.google.protobuf.duration.Duration.defaultInstance)
    def clearTimeToLastRxByte: AccessLogCommon = copy(timeToLastRxByte = _root_.scala.None)
    def withTimeToLastRxByte(__v: com.google.protobuf.duration.Duration): AccessLogCommon = copy(timeToLastRxByte = Option(__v))
    def getTimeToFirstUpstreamTxByte: com.google.protobuf.duration.Duration = timeToFirstUpstreamTxByte.getOrElse(com.google.protobuf.duration.Duration.defaultInstance)
    def clearTimeToFirstUpstreamTxByte: AccessLogCommon = copy(timeToFirstUpstreamTxByte = _root_.scala.None)
    def withTimeToFirstUpstreamTxByte(__v: com.google.protobuf.duration.Duration): AccessLogCommon = copy(timeToFirstUpstreamTxByte = Option(__v))
    def getTimeToLastUpstreamTxByte: com.google.protobuf.duration.Duration = timeToLastUpstreamTxByte.getOrElse(com.google.protobuf.duration.Duration.defaultInstance)
    def clearTimeToLastUpstreamTxByte: AccessLogCommon = copy(timeToLastUpstreamTxByte = _root_.scala.None)
    def withTimeToLastUpstreamTxByte(__v: com.google.protobuf.duration.Duration): AccessLogCommon = copy(timeToLastUpstreamTxByte = Option(__v))
    def getTimeToFirstUpstreamRxByte: com.google.protobuf.duration.Duration = timeToFirstUpstreamRxByte.getOrElse(com.google.protobuf.duration.Duration.defaultInstance)
    def clearTimeToFirstUpstreamRxByte: AccessLogCommon = copy(timeToFirstUpstreamRxByte = _root_.scala.None)
    def withTimeToFirstUpstreamRxByte(__v: com.google.protobuf.duration.Duration): AccessLogCommon = copy(timeToFirstUpstreamRxByte = Option(__v))
    def getTimeToLastUpstreamRxByte: com.google.protobuf.duration.Duration = timeToLastUpstreamRxByte.getOrElse(com.google.protobuf.duration.Duration.defaultInstance)
    def clearTimeToLastUpstreamRxByte: AccessLogCommon = copy(timeToLastUpstreamRxByte = _root_.scala.None)
    def withTimeToLastUpstreamRxByte(__v: com.google.protobuf.duration.Duration): AccessLogCommon = copy(timeToLastUpstreamRxByte = Option(__v))
    def getTimeToFirstDownstreamTxByte: com.google.protobuf.duration.Duration = timeToFirstDownstreamTxByte.getOrElse(com.google.protobuf.duration.Duration.defaultInstance)
    def clearTimeToFirstDownstreamTxByte: AccessLogCommon = copy(timeToFirstDownstreamTxByte = _root_.scala.None)
    def withTimeToFirstDownstreamTxByte(__v: com.google.protobuf.duration.Duration): AccessLogCommon = copy(timeToFirstDownstreamTxByte = Option(__v))
    def getTimeToLastDownstreamTxByte: com.google.protobuf.duration.Duration = timeToLastDownstreamTxByte.getOrElse(com.google.protobuf.duration.Duration.defaultInstance)
    def clearTimeToLastDownstreamTxByte: AccessLogCommon = copy(timeToLastDownstreamTxByte = _root_.scala.None)
    def withTimeToLastDownstreamTxByte(__v: com.google.protobuf.duration.Duration): AccessLogCommon = copy(timeToLastDownstreamTxByte = Option(__v))
    def getUpstreamRemoteAddress: io.envoyproxy.envoy.config.core.v3.Address = upstreamRemoteAddress.getOrElse(io.envoyproxy.envoy.config.core.v3.Address.defaultInstance)
    def clearUpstreamRemoteAddress: AccessLogCommon = copy(upstreamRemoteAddress = _root_.scala.None)
    def withUpstreamRemoteAddress(__v: io.envoyproxy.envoy.config.core.v3.Address): AccessLogCommon = copy(upstreamRemoteAddress = Option(__v))
    def getUpstreamLocalAddress: io.envoyproxy.envoy.config.core.v3.Address = upstreamLocalAddress.getOrElse(io.envoyproxy.envoy.config.core.v3.Address.defaultInstance)
    def clearUpstreamLocalAddress: AccessLogCommon = copy(upstreamLocalAddress = _root_.scala.None)
    def withUpstreamLocalAddress(__v: io.envoyproxy.envoy.config.core.v3.Address): AccessLogCommon = copy(upstreamLocalAddress = Option(__v))
    def withUpstreamCluster(__v: _root_.scala.Predef.String): AccessLogCommon = copy(upstreamCluster = __v)
    def getResponseFlags: io.envoyproxy.envoy.data.accesslog.v3.ResponseFlags = responseFlags.getOrElse(io.envoyproxy.envoy.data.accesslog.v3.ResponseFlags.defaultInstance)
    def clearResponseFlags: AccessLogCommon = copy(responseFlags = _root_.scala.None)
    def withResponseFlags(__v: io.envoyproxy.envoy.data.accesslog.v3.ResponseFlags): AccessLogCommon = copy(responseFlags = Option(__v))
    def getMetadata: io.envoyproxy.envoy.config.core.v3.Metadata = metadata.getOrElse(io.envoyproxy.envoy.config.core.v3.Metadata.defaultInstance)
    def clearMetadata: AccessLogCommon = copy(metadata = _root_.scala.None)
    def withMetadata(__v: io.envoyproxy.envoy.config.core.v3.Metadata): AccessLogCommon = copy(metadata = Option(__v))
    def withUpstreamTransportFailureReason(__v: _root_.scala.Predef.String): AccessLogCommon = copy(upstreamTransportFailureReason = __v)
    def withRouteName(__v: _root_.scala.Predef.String): AccessLogCommon = copy(routeName = __v)
    def getDownstreamDirectRemoteAddress: io.envoyproxy.envoy.config.core.v3.Address = downstreamDirectRemoteAddress.getOrElse(io.envoyproxy.envoy.config.core.v3.Address.defaultInstance)
    def clearDownstreamDirectRemoteAddress: AccessLogCommon = copy(downstreamDirectRemoteAddress = _root_.scala.None)
    def withDownstreamDirectRemoteAddress(__v: io.envoyproxy.envoy.config.core.v3.Address): AccessLogCommon = copy(downstreamDirectRemoteAddress = Option(__v))
    def clearFilterStateObjects = copy(filterStateObjects = _root_.scala.collection.immutable.Map.empty)
    def addFilterStateObjects(__vs: (_root_.scala.Predef.String, com.google.protobuf.any.Any) *): AccessLogCommon = addAllFilterStateObjects(__vs)
    def addAllFilterStateObjects(__vs: Iterable[(_root_.scala.Predef.String, com.google.protobuf.any.Any)]): AccessLogCommon = copy(filterStateObjects = filterStateObjects ++ __vs)
    def withFilterStateObjects(__v: _root_.scala.collection.immutable.Map[_root_.scala.Predef.String, com.google.protobuf.any.Any]): AccessLogCommon = copy(filterStateObjects = __v)
    def clearCustomTags = copy(customTags = _root_.scala.collection.immutable.Map.empty)
    def addCustomTags(__vs: (_root_.scala.Predef.String, _root_.scala.Predef.String) *): AccessLogCommon = addAllCustomTags(__vs)
    def addAllCustomTags(__vs: Iterable[(_root_.scala.Predef.String, _root_.scala.Predef.String)]): AccessLogCommon = copy(customTags = customTags ++ __vs)
    def withCustomTags(__v: _root_.scala.collection.immutable.Map[_root_.scala.Predef.String, _root_.scala.Predef.String]): AccessLogCommon = copy(customTags = __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 = sampleRate
          if (__t != 0.0) __t else null
        }
        case 2 => downstreamRemoteAddress.orNull
        case 3 => downstreamLocalAddress.orNull
        case 4 => tlsProperties.orNull
        case 5 => startTime.orNull
        case 6 => timeToLastRxByte.orNull
        case 7 => timeToFirstUpstreamTxByte.orNull
        case 8 => timeToLastUpstreamTxByte.orNull
        case 9 => timeToFirstUpstreamRxByte.orNull
        case 10 => timeToLastUpstreamRxByte.orNull
        case 11 => timeToFirstDownstreamTxByte.orNull
        case 12 => timeToLastDownstreamTxByte.orNull
        case 13 => upstreamRemoteAddress.orNull
        case 14 => upstreamLocalAddress.orNull
        case 15 => {
          val __t = upstreamCluster
          if (__t != "") __t else null
        }
        case 16 => responseFlags.orNull
        case 17 => metadata.orNull
        case 18 => {
          val __t = upstreamTransportFailureReason
          if (__t != "") __t else null
        }
        case 19 => {
          val __t = routeName
          if (__t != "") __t else null
        }
        case 20 => downstreamDirectRemoteAddress.orNull
        case 21 => filterStateObjects.iterator.map(io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon._typemapper_filterStateObjects.toBase(_)).toSeq
        case 22 => customTags.iterator.map(io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon._typemapper_customTags.toBase(_)).toSeq
      }
    }
    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.PDouble(sampleRate)
        case 2 => downstreamRemoteAddress.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 3 => downstreamLocalAddress.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 4 => tlsProperties.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 5 => startTime.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 6 => timeToLastRxByte.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 7 => timeToFirstUpstreamTxByte.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 8 => timeToLastUpstreamTxByte.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 9 => timeToFirstUpstreamRxByte.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 10 => timeToLastUpstreamRxByte.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 11 => timeToFirstDownstreamTxByte.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 12 => timeToLastDownstreamTxByte.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 13 => upstreamRemoteAddress.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 14 => upstreamLocalAddress.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 15 => _root_.scalapb.descriptors.PString(upstreamCluster)
        case 16 => responseFlags.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 17 => metadata.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 18 => _root_.scalapb.descriptors.PString(upstreamTransportFailureReason)
        case 19 => _root_.scalapb.descriptors.PString(routeName)
        case 20 => downstreamDirectRemoteAddress.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        case 21 => _root_.scalapb.descriptors.PRepeated(filterStateObjects.iterator.map(io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon._typemapper_filterStateObjects.toBase(_).toPMessage).toVector)
        case 22 => _root_.scalapb.descriptors.PRepeated(customTags.iterator.map(io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon._typemapper_customTags.toBase(_).toPMessage).toVector)
      }
    }
    def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this)
    def companion: io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.type = io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon
    // @@protoc_insertion_point(GeneratedMessage[envoy.data.accesslog.v3.AccessLogCommon])
}

object AccessLogCommon extends scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon] {
  implicit def messageCompanion: scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon] = this
  def parseFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon = {
    var __sampleRate: _root_.scala.Double = 0.0
    var __downstreamRemoteAddress: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Address] = _root_.scala.None
    var __downstreamLocalAddress: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Address] = _root_.scala.None
    var __tlsProperties: _root_.scala.Option[io.envoyproxy.envoy.data.accesslog.v3.TLSProperties] = _root_.scala.None
    var __startTime: _root_.scala.Option[com.google.protobuf.timestamp.Timestamp] = _root_.scala.None
    var __timeToLastRxByte: _root_.scala.Option[com.google.protobuf.duration.Duration] = _root_.scala.None
    var __timeToFirstUpstreamTxByte: _root_.scala.Option[com.google.protobuf.duration.Duration] = _root_.scala.None
    var __timeToLastUpstreamTxByte: _root_.scala.Option[com.google.protobuf.duration.Duration] = _root_.scala.None
    var __timeToFirstUpstreamRxByte: _root_.scala.Option[com.google.protobuf.duration.Duration] = _root_.scala.None
    var __timeToLastUpstreamRxByte: _root_.scala.Option[com.google.protobuf.duration.Duration] = _root_.scala.None
    var __timeToFirstDownstreamTxByte: _root_.scala.Option[com.google.protobuf.duration.Duration] = _root_.scala.None
    var __timeToLastDownstreamTxByte: _root_.scala.Option[com.google.protobuf.duration.Duration] = _root_.scala.None
    var __upstreamRemoteAddress: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Address] = _root_.scala.None
    var __upstreamLocalAddress: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Address] = _root_.scala.None
    var __upstreamCluster: _root_.scala.Predef.String = ""
    var __responseFlags: _root_.scala.Option[io.envoyproxy.envoy.data.accesslog.v3.ResponseFlags] = _root_.scala.None
    var __metadata: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Metadata] = _root_.scala.None
    var __upstreamTransportFailureReason: _root_.scala.Predef.String = ""
    var __routeName: _root_.scala.Predef.String = ""
    var __downstreamDirectRemoteAddress: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Address] = _root_.scala.None
    val __filterStateObjects: _root_.scala.collection.mutable.Builder[(_root_.scala.Predef.String, com.google.protobuf.any.Any), _root_.scala.collection.immutable.Map[_root_.scala.Predef.String, com.google.protobuf.any.Any]] = _root_.scala.collection.immutable.Map.newBuilder[_root_.scala.Predef.String, com.google.protobuf.any.Any]
    val __customTags: _root_.scala.collection.mutable.Builder[(_root_.scala.Predef.String, _root_.scala.Predef.String), _root_.scala.collection.immutable.Map[_root_.scala.Predef.String, _root_.scala.Predef.String]] = _root_.scala.collection.immutable.Map.newBuilder[_root_.scala.Predef.String, _root_.scala.Predef.String]
    var `_unknownFields__`: _root_.scalapb.UnknownFieldSet.Builder = null
    var _done__ = false
    while (!_done__) {
      val _tag__ = _input__.readTag()
      _tag__ match {
        case 0 => _done__ = true
        case 9 =>
          __sampleRate = _input__.readDouble()
        case 18 =>
          __downstreamRemoteAddress = Option(__downstreamRemoteAddress.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.core.v3.Address](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
        case 26 =>
          __downstreamLocalAddress = Option(__downstreamLocalAddress.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.core.v3.Address](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
        case 34 =>
          __tlsProperties = Option(__tlsProperties.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.data.accesslog.v3.TLSProperties](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
        case 42 =>
          __startTime = Option(__startTime.fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.timestamp.Timestamp](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
        case 50 =>
          __timeToLastRxByte = Option(__timeToLastRxByte.fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.duration.Duration](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
        case 58 =>
          __timeToFirstUpstreamTxByte = Option(__timeToFirstUpstreamTxByte.fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.duration.Duration](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
        case 66 =>
          __timeToLastUpstreamTxByte = Option(__timeToLastUpstreamTxByte.fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.duration.Duration](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
        case 74 =>
          __timeToFirstUpstreamRxByte = Option(__timeToFirstUpstreamRxByte.fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.duration.Duration](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
        case 82 =>
          __timeToLastUpstreamRxByte = Option(__timeToLastUpstreamRxByte.fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.duration.Duration](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
        case 90 =>
          __timeToFirstDownstreamTxByte = Option(__timeToFirstDownstreamTxByte.fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.duration.Duration](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
        case 98 =>
          __timeToLastDownstreamTxByte = Option(__timeToLastDownstreamTxByte.fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.duration.Duration](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
        case 106 =>
          __upstreamRemoteAddress = Option(__upstreamRemoteAddress.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.core.v3.Address](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
        case 114 =>
          __upstreamLocalAddress = Option(__upstreamLocalAddress.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.core.v3.Address](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
        case 122 =>
          __upstreamCluster = _input__.readStringRequireUtf8()
        case 130 =>
          __responseFlags = Option(__responseFlags.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.data.accesslog.v3.ResponseFlags](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
        case 138 =>
          __metadata = Option(__metadata.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.core.v3.Metadata](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
        case 146 =>
          __upstreamTransportFailureReason = _input__.readStringRequireUtf8()
        case 154 =>
          __routeName = _input__.readStringRequireUtf8()
        case 162 =>
          __downstreamDirectRemoteAddress = Option(__downstreamDirectRemoteAddress.fold(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.config.core.v3.Address](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
        case 170 =>
          __filterStateObjects += io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon._typemapper_filterStateObjects.toCustom(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.FilterStateObjectsEntry](_input__))
        case 178 =>
          __customTags += io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon._typemapper_customTags.toCustom(_root_.scalapb.LiteParser.readMessage[io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.CustomTagsEntry](_input__))
        case tag =>
          if (_unknownFields__ == null) {
            _unknownFields__ = new _root_.scalapb.UnknownFieldSet.Builder()
          }
          _unknownFields__.parseField(tag, _input__)
      }
    }
    io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon(
        sampleRate = __sampleRate,
        downstreamRemoteAddress = __downstreamRemoteAddress,
        downstreamLocalAddress = __downstreamLocalAddress,
        tlsProperties = __tlsProperties,
        startTime = __startTime,
        timeToLastRxByte = __timeToLastRxByte,
        timeToFirstUpstreamTxByte = __timeToFirstUpstreamTxByte,
        timeToLastUpstreamTxByte = __timeToLastUpstreamTxByte,
        timeToFirstUpstreamRxByte = __timeToFirstUpstreamRxByte,
        timeToLastUpstreamRxByte = __timeToLastUpstreamRxByte,
        timeToFirstDownstreamTxByte = __timeToFirstDownstreamTxByte,
        timeToLastDownstreamTxByte = __timeToLastDownstreamTxByte,
        upstreamRemoteAddress = __upstreamRemoteAddress,
        upstreamLocalAddress = __upstreamLocalAddress,
        upstreamCluster = __upstreamCluster,
        responseFlags = __responseFlags,
        metadata = __metadata,
        upstreamTransportFailureReason = __upstreamTransportFailureReason,
        routeName = __routeName,
        downstreamDirectRemoteAddress = __downstreamDirectRemoteAddress,
        filterStateObjects = __filterStateObjects.result(),
        customTags = __customTags.result(),
        unknownFields = if (_unknownFields__ == null) _root_.scalapb.UnknownFieldSet.empty else _unknownFields__.result()
    )
  }
  implicit def messageReads: _root_.scalapb.descriptors.Reads[io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon] = _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.data.accesslog.v3.AccessLogCommon(
        sampleRate = __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).map(_.as[_root_.scala.Double]).getOrElse(0.0),
        downstreamRemoteAddress = __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Address]]),
        downstreamLocalAddress = __fieldsMap.get(scalaDescriptor.findFieldByNumber(3).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Address]]),
        tlsProperties = __fieldsMap.get(scalaDescriptor.findFieldByNumber(4).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.data.accesslog.v3.TLSProperties]]),
        startTime = __fieldsMap.get(scalaDescriptor.findFieldByNumber(5).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.timestamp.Timestamp]]),
        timeToLastRxByte = __fieldsMap.get(scalaDescriptor.findFieldByNumber(6).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.duration.Duration]]),
        timeToFirstUpstreamTxByte = __fieldsMap.get(scalaDescriptor.findFieldByNumber(7).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.duration.Duration]]),
        timeToLastUpstreamTxByte = __fieldsMap.get(scalaDescriptor.findFieldByNumber(8).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.duration.Duration]]),
        timeToFirstUpstreamRxByte = __fieldsMap.get(scalaDescriptor.findFieldByNumber(9).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.duration.Duration]]),
        timeToLastUpstreamRxByte = __fieldsMap.get(scalaDescriptor.findFieldByNumber(10).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.duration.Duration]]),
        timeToFirstDownstreamTxByte = __fieldsMap.get(scalaDescriptor.findFieldByNumber(11).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.duration.Duration]]),
        timeToLastDownstreamTxByte = __fieldsMap.get(scalaDescriptor.findFieldByNumber(12).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.duration.Duration]]),
        upstreamRemoteAddress = __fieldsMap.get(scalaDescriptor.findFieldByNumber(13).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Address]]),
        upstreamLocalAddress = __fieldsMap.get(scalaDescriptor.findFieldByNumber(14).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Address]]),
        upstreamCluster = __fieldsMap.get(scalaDescriptor.findFieldByNumber(15).get).map(_.as[_root_.scala.Predef.String]).getOrElse(""),
        responseFlags = __fieldsMap.get(scalaDescriptor.findFieldByNumber(16).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.data.accesslog.v3.ResponseFlags]]),
        metadata = __fieldsMap.get(scalaDescriptor.findFieldByNumber(17).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Metadata]]),
        upstreamTransportFailureReason = __fieldsMap.get(scalaDescriptor.findFieldByNumber(18).get).map(_.as[_root_.scala.Predef.String]).getOrElse(""),
        routeName = __fieldsMap.get(scalaDescriptor.findFieldByNumber(19).get).map(_.as[_root_.scala.Predef.String]).getOrElse(""),
        downstreamDirectRemoteAddress = __fieldsMap.get(scalaDescriptor.findFieldByNumber(20).get).flatMap(_.as[_root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Address]]),
        filterStateObjects = __fieldsMap.get(scalaDescriptor.findFieldByNumber(21).get).map(_.as[_root_.scala.Seq[io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.FilterStateObjectsEntry]]).getOrElse(_root_.scala.Seq.empty).iterator.map(io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon._typemapper_filterStateObjects.toCustom(_)).toMap,
        customTags = __fieldsMap.get(scalaDescriptor.findFieldByNumber(22).get).map(_.as[_root_.scala.Seq[io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.CustomTagsEntry]]).getOrElse(_root_.scala.Seq.empty).iterator.map(io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon._typemapper_customTags.toCustom(_)).toMap
      )
    case _ => throw new RuntimeException("Expected PMessage")
  }
  def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = AccesslogProto.javaDescriptor.getMessageTypes().get(3)
  def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = AccesslogProto.scalaDescriptor.messages(3)
  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.config.core.v3.Address
      case 3 => __out = io.envoyproxy.envoy.config.core.v3.Address
      case 4 => __out = io.envoyproxy.envoy.data.accesslog.v3.TLSProperties
      case 5 => __out = com.google.protobuf.timestamp.Timestamp
      case 6 => __out = com.google.protobuf.duration.Duration
      case 7 => __out = com.google.protobuf.duration.Duration
      case 8 => __out = com.google.protobuf.duration.Duration
      case 9 => __out = com.google.protobuf.duration.Duration
      case 10 => __out = com.google.protobuf.duration.Duration
      case 11 => __out = com.google.protobuf.duration.Duration
      case 12 => __out = com.google.protobuf.duration.Duration
      case 13 => __out = io.envoyproxy.envoy.config.core.v3.Address
      case 14 => __out = io.envoyproxy.envoy.config.core.v3.Address
      case 16 => __out = io.envoyproxy.envoy.data.accesslog.v3.ResponseFlags
      case 17 => __out = io.envoyproxy.envoy.config.core.v3.Metadata
      case 20 => __out = io.envoyproxy.envoy.config.core.v3.Address
      case 21 => __out = io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.FilterStateObjectsEntry
      case 22 => __out = io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.CustomTagsEntry
    }
    __out
  }
  lazy val nestedMessagesCompanions: Seq[_root_.scalapb.GeneratedMessageCompanion[_ <: _root_.scalapb.GeneratedMessage]] =
    Seq[_root_.scalapb.GeneratedMessageCompanion[_ <: _root_.scalapb.GeneratedMessage]](
      _root_.io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.FilterStateObjectsEntry,
      _root_.io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.CustomTagsEntry
    )
  def enumCompanionForFieldNumber(__fieldNumber: _root_.scala.Int): _root_.scalapb.GeneratedEnumCompanion[_] = throw new MatchError(__fieldNumber)
  lazy val defaultInstance = io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon(
    sampleRate = 0.0,
    downstreamRemoteAddress = _root_.scala.None,
    downstreamLocalAddress = _root_.scala.None,
    tlsProperties = _root_.scala.None,
    startTime = _root_.scala.None,
    timeToLastRxByte = _root_.scala.None,
    timeToFirstUpstreamTxByte = _root_.scala.None,
    timeToLastUpstreamTxByte = _root_.scala.None,
    timeToFirstUpstreamRxByte = _root_.scala.None,
    timeToLastUpstreamRxByte = _root_.scala.None,
    timeToFirstDownstreamTxByte = _root_.scala.None,
    timeToLastDownstreamTxByte = _root_.scala.None,
    upstreamRemoteAddress = _root_.scala.None,
    upstreamLocalAddress = _root_.scala.None,
    upstreamCluster = "",
    responseFlags = _root_.scala.None,
    metadata = _root_.scala.None,
    upstreamTransportFailureReason = "",
    routeName = "",
    downstreamDirectRemoteAddress = _root_.scala.None,
    filterStateObjects = _root_.scala.collection.immutable.Map.empty,
    customTags = _root_.scala.collection.immutable.Map.empty
  )
  @SerialVersionUID(0L)
  final case class FilterStateObjectsEntry(
      key: _root_.scala.Predef.String = "",
      value: _root_.scala.Option[com.google.protobuf.any.Any] = _root_.scala.None,
      unknownFields: _root_.scalapb.UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty
      ) extends scalapb.GeneratedMessage with scalapb.lenses.Updatable[FilterStateObjectsEntry] {
      @transient
      private[this] var __serializedSizeMemoized: _root_.scala.Int = 0
      private[this] def __computeSerializedSize(): _root_.scala.Int = {
        var __size = 0
        
        {
          val __value = key
          if (!__value.isEmpty) {
            __size += _root_.com.google.protobuf.CodedOutputStream.computeStringSize(1, __value)
          }
        };
        if (value.isDefined) {
          val __value = value.get
          __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__value.serializedSize) + __value.serializedSize
        };
        __size += unknownFields.serializedSize
        __size
      }
      override def serializedSize: _root_.scala.Int = {
        var __size = __serializedSizeMemoized
        if (__size == 0) {
          __size = __computeSerializedSize() + 1
          __serializedSizeMemoized = __size
        }
        __size - 1
        
      }
      def writeTo(`_output__`: _root_.com.google.protobuf.CodedOutputStream): _root_.scala.Unit = {
        {
          val __v = key
          if (!__v.isEmpty) {
            _output__.writeString(1, __v)
          }
        };
        value.foreach { __v =>
          val __m = __v
          _output__.writeTag(2, 2)
          _output__.writeUInt32NoTag(__m.serializedSize)
          __m.writeTo(_output__)
        };
        unknownFields.writeTo(_output__)
      }
      def withKey(__v: _root_.scala.Predef.String): FilterStateObjectsEntry = copy(key = __v)
      def getValue: com.google.protobuf.any.Any = value.getOrElse(com.google.protobuf.any.Any.defaultInstance)
      def clearValue: FilterStateObjectsEntry = copy(value = _root_.scala.None)
      def withValue(__v: com.google.protobuf.any.Any): FilterStateObjectsEntry = copy(value = Option(__v))
      def withUnknownFields(__v: _root_.scalapb.UnknownFieldSet) = copy(unknownFields = __v)
      def discardUnknownFields = copy(unknownFields = _root_.scalapb.UnknownFieldSet.empty)
      def getFieldByNumber(__fieldNumber: _root_.scala.Int): _root_.scala.Any = {
        (__fieldNumber: @_root_.scala.unchecked) match {
          case 1 => {
            val __t = key
            if (__t != "") __t else null
          }
          case 2 => value.orNull
        }
      }
      def getField(__field: _root_.scalapb.descriptors.FieldDescriptor): _root_.scalapb.descriptors.PValue = {
        _root_.scala.Predef.require(__field.containingMessage eq companion.scalaDescriptor)
        (__field.number: @_root_.scala.unchecked) match {
          case 1 => _root_.scalapb.descriptors.PString(key)
          case 2 => value.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty)
        }
      }
      def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this)
      def companion: io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.FilterStateObjectsEntry.type = io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.FilterStateObjectsEntry
      // @@protoc_insertion_point(GeneratedMessage[envoy.data.accesslog.v3.AccessLogCommon.FilterStateObjectsEntry])
  }
  
  object FilterStateObjectsEntry extends scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.FilterStateObjectsEntry] {
    implicit def messageCompanion: scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.FilterStateObjectsEntry] = this
    def parseFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.FilterStateObjectsEntry = {
      var __key: _root_.scala.Predef.String = ""
      var __value: _root_.scala.Option[com.google.protobuf.any.Any] = _root_.scala.None
      var `_unknownFields__`: _root_.scalapb.UnknownFieldSet.Builder = null
      var _done__ = false
      while (!_done__) {
        val _tag__ = _input__.readTag()
        _tag__ match {
          case 0 => _done__ = true
          case 10 =>
            __key = _input__.readStringRequireUtf8()
          case 18 =>
            __value = Option(__value.fold(_root_.scalapb.LiteParser.readMessage[com.google.protobuf.any.Any](_input__))(_root_.scalapb.LiteParser.readMessage(_input__, _)))
          case tag =>
            if (_unknownFields__ == null) {
              _unknownFields__ = new _root_.scalapb.UnknownFieldSet.Builder()
            }
            _unknownFields__.parseField(tag, _input__)
        }
      }
      io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.FilterStateObjectsEntry(
          key = __key,
          value = __value,
          unknownFields = if (_unknownFields__ == null) _root_.scalapb.UnknownFieldSet.empty else _unknownFields__.result()
      )
    }
    implicit def messageReads: _root_.scalapb.descriptors.Reads[io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.FilterStateObjectsEntry] = _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.data.accesslog.v3.AccessLogCommon.FilterStateObjectsEntry(
          key = __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).map(_.as[_root_.scala.Predef.String]).getOrElse(""),
          value = __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).flatMap(_.as[_root_.scala.Option[com.google.protobuf.any.Any]])
        )
      case _ => throw new RuntimeException("Expected PMessage")
    }
    def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.javaDescriptor.getNestedTypes().get(0)
    def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.scalaDescriptor.nestedMessages(0)
    def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = {
      var __out: _root_.scalapb.GeneratedMessageCompanion[_] = null
      (__number: @_root_.scala.unchecked) match {
        case 2 => __out = com.google.protobuf.any.Any
      }
      __out
    }
    lazy val nestedMessagesCompanions: Seq[_root_.scalapb.GeneratedMessageCompanion[_ <: _root_.scalapb.GeneratedMessage]] = Seq.empty
    def enumCompanionForFieldNumber(__fieldNumber: _root_.scala.Int): _root_.scalapb.GeneratedEnumCompanion[_] = throw new MatchError(__fieldNumber)
    lazy val defaultInstance = io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.FilterStateObjectsEntry(
      key = "",
      value = _root_.scala.None
    )
    implicit class FilterStateObjectsEntryLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.FilterStateObjectsEntry]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.FilterStateObjectsEntry](_l) {
      def key: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Predef.String] = field(_.key)((c_, f_) => c_.copy(key = f_))
      def value: _root_.scalapb.lenses.Lens[UpperPB, com.google.protobuf.any.Any] = field(_.getValue)((c_, f_) => c_.copy(value = Option(f_)))
      def optionalValue: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[com.google.protobuf.any.Any]] = field(_.value)((c_, f_) => c_.copy(value = f_))
    }
    final val KEY_FIELD_NUMBER = 1
    final val VALUE_FIELD_NUMBER = 2
    @transient
    implicit val keyValueMapper: _root_.scalapb.TypeMapper[io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.FilterStateObjectsEntry, (_root_.scala.Predef.String, com.google.protobuf.any.Any)] =
      _root_.scalapb.TypeMapper[io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.FilterStateObjectsEntry, (_root_.scala.Predef.String, com.google.protobuf.any.Any)](__m => (__m.key, __m.getValue))(__p => io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.FilterStateObjectsEntry(__p._1, Some(__p._2)))
    def of(
      key: _root_.scala.Predef.String,
      value: _root_.scala.Option[com.google.protobuf.any.Any]
    ): _root_.io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.FilterStateObjectsEntry = _root_.io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.FilterStateObjectsEntry(
      key,
      value
    )
    // @@protoc_insertion_point(GeneratedMessageCompanion[envoy.data.accesslog.v3.AccessLogCommon.FilterStateObjectsEntry])
  }
  
  @SerialVersionUID(0L)
  final case class CustomTagsEntry(
      key: _root_.scala.Predef.String = "",
      value: _root_.scala.Predef.String = "",
      unknownFields: _root_.scalapb.UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty
      ) extends scalapb.GeneratedMessage with scalapb.lenses.Updatable[CustomTagsEntry] {
      @transient
      private[this] var __serializedSizeMemoized: _root_.scala.Int = 0
      private[this] def __computeSerializedSize(): _root_.scala.Int = {
        var __size = 0
        
        {
          val __value = key
          if (!__value.isEmpty) {
            __size += _root_.com.google.protobuf.CodedOutputStream.computeStringSize(1, __value)
          }
        };
        
        {
          val __value = value
          if (!__value.isEmpty) {
            __size += _root_.com.google.protobuf.CodedOutputStream.computeStringSize(2, __value)
          }
        };
        __size += unknownFields.serializedSize
        __size
      }
      override def serializedSize: _root_.scala.Int = {
        var __size = __serializedSizeMemoized
        if (__size == 0) {
          __size = __computeSerializedSize() + 1
          __serializedSizeMemoized = __size
        }
        __size - 1
        
      }
      def writeTo(`_output__`: _root_.com.google.protobuf.CodedOutputStream): _root_.scala.Unit = {
        {
          val __v = key
          if (!__v.isEmpty) {
            _output__.writeString(1, __v)
          }
        };
        {
          val __v = value
          if (!__v.isEmpty) {
            _output__.writeString(2, __v)
          }
        };
        unknownFields.writeTo(_output__)
      }
      def withKey(__v: _root_.scala.Predef.String): CustomTagsEntry = copy(key = __v)
      def withValue(__v: _root_.scala.Predef.String): CustomTagsEntry = copy(value = __v)
      def withUnknownFields(__v: _root_.scalapb.UnknownFieldSet) = copy(unknownFields = __v)
      def discardUnknownFields = copy(unknownFields = _root_.scalapb.UnknownFieldSet.empty)
      def getFieldByNumber(__fieldNumber: _root_.scala.Int): _root_.scala.Any = {
        (__fieldNumber: @_root_.scala.unchecked) match {
          case 1 => {
            val __t = key
            if (__t != "") __t else null
          }
          case 2 => {
            val __t = value
            if (__t != "") __t else null
          }
        }
      }
      def getField(__field: _root_.scalapb.descriptors.FieldDescriptor): _root_.scalapb.descriptors.PValue = {
        _root_.scala.Predef.require(__field.containingMessage eq companion.scalaDescriptor)
        (__field.number: @_root_.scala.unchecked) match {
          case 1 => _root_.scalapb.descriptors.PString(key)
          case 2 => _root_.scalapb.descriptors.PString(value)
        }
      }
      def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this)
      def companion: io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.CustomTagsEntry.type = io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.CustomTagsEntry
      // @@protoc_insertion_point(GeneratedMessage[envoy.data.accesslog.v3.AccessLogCommon.CustomTagsEntry])
  }
  
  object CustomTagsEntry extends scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.CustomTagsEntry] {
    implicit def messageCompanion: scalapb.GeneratedMessageCompanion[io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.CustomTagsEntry] = this
    def parseFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.CustomTagsEntry = {
      var __key: _root_.scala.Predef.String = ""
      var __value: _root_.scala.Predef.String = ""
      var `_unknownFields__`: _root_.scalapb.UnknownFieldSet.Builder = null
      var _done__ = false
      while (!_done__) {
        val _tag__ = _input__.readTag()
        _tag__ match {
          case 0 => _done__ = true
          case 10 =>
            __key = _input__.readStringRequireUtf8()
          case 18 =>
            __value = _input__.readStringRequireUtf8()
          case tag =>
            if (_unknownFields__ == null) {
              _unknownFields__ = new _root_.scalapb.UnknownFieldSet.Builder()
            }
            _unknownFields__.parseField(tag, _input__)
        }
      }
      io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.CustomTagsEntry(
          key = __key,
          value = __value,
          unknownFields = if (_unknownFields__ == null) _root_.scalapb.UnknownFieldSet.empty else _unknownFields__.result()
      )
    }
    implicit def messageReads: _root_.scalapb.descriptors.Reads[io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.CustomTagsEntry] = _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.data.accesslog.v3.AccessLogCommon.CustomTagsEntry(
          key = __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).map(_.as[_root_.scala.Predef.String]).getOrElse(""),
          value = __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).map(_.as[_root_.scala.Predef.String]).getOrElse("")
        )
      case _ => throw new RuntimeException("Expected PMessage")
    }
    def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.javaDescriptor.getNestedTypes().get(1)
    def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.scalaDescriptor.nestedMessages(1)
    def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = throw new MatchError(__number)
    lazy val nestedMessagesCompanions: Seq[_root_.scalapb.GeneratedMessageCompanion[_ <: _root_.scalapb.GeneratedMessage]] = Seq.empty
    def enumCompanionForFieldNumber(__fieldNumber: _root_.scala.Int): _root_.scalapb.GeneratedEnumCompanion[_] = throw new MatchError(__fieldNumber)
    lazy val defaultInstance = io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.CustomTagsEntry(
      key = "",
      value = ""
    )
    implicit class CustomTagsEntryLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.CustomTagsEntry]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.CustomTagsEntry](_l) {
      def key: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Predef.String] = field(_.key)((c_, f_) => c_.copy(key = f_))
      def value: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Predef.String] = field(_.value)((c_, f_) => c_.copy(value = f_))
    }
    final val KEY_FIELD_NUMBER = 1
    final val VALUE_FIELD_NUMBER = 2
    @transient
    implicit val keyValueMapper: _root_.scalapb.TypeMapper[io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.CustomTagsEntry, (_root_.scala.Predef.String, _root_.scala.Predef.String)] =
      _root_.scalapb.TypeMapper[io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.CustomTagsEntry, (_root_.scala.Predef.String, _root_.scala.Predef.String)](__m => (__m.key, __m.value))(__p => io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.CustomTagsEntry(__p._1, __p._2))
    def of(
      key: _root_.scala.Predef.String,
      value: _root_.scala.Predef.String
    ): _root_.io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.CustomTagsEntry = _root_.io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.CustomTagsEntry(
      key,
      value
    )
    // @@protoc_insertion_point(GeneratedMessageCompanion[envoy.data.accesslog.v3.AccessLogCommon.CustomTagsEntry])
  }
  
  implicit class AccessLogCommonLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon](_l) {
    def sampleRate: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Double] = field(_.sampleRate)((c_, f_) => c_.copy(sampleRate = f_))
    def downstreamRemoteAddress: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.core.v3.Address] = field(_.getDownstreamRemoteAddress)((c_, f_) => c_.copy(downstreamRemoteAddress = Option(f_)))
    def optionalDownstreamRemoteAddress: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Address]] = field(_.downstreamRemoteAddress)((c_, f_) => c_.copy(downstreamRemoteAddress = f_))
    def downstreamLocalAddress: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.core.v3.Address] = field(_.getDownstreamLocalAddress)((c_, f_) => c_.copy(downstreamLocalAddress = Option(f_)))
    def optionalDownstreamLocalAddress: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Address]] = field(_.downstreamLocalAddress)((c_, f_) => c_.copy(downstreamLocalAddress = f_))
    def tlsProperties: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.data.accesslog.v3.TLSProperties] = field(_.getTlsProperties)((c_, f_) => c_.copy(tlsProperties = Option(f_)))
    def optionalTlsProperties: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.data.accesslog.v3.TLSProperties]] = field(_.tlsProperties)((c_, f_) => c_.copy(tlsProperties = f_))
    def startTime: _root_.scalapb.lenses.Lens[UpperPB, com.google.protobuf.timestamp.Timestamp] = field(_.getStartTime)((c_, f_) => c_.copy(startTime = Option(f_)))
    def optionalStartTime: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[com.google.protobuf.timestamp.Timestamp]] = field(_.startTime)((c_, f_) => c_.copy(startTime = f_))
    def timeToLastRxByte: _root_.scalapb.lenses.Lens[UpperPB, com.google.protobuf.duration.Duration] = field(_.getTimeToLastRxByte)((c_, f_) => c_.copy(timeToLastRxByte = Option(f_)))
    def optionalTimeToLastRxByte: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[com.google.protobuf.duration.Duration]] = field(_.timeToLastRxByte)((c_, f_) => c_.copy(timeToLastRxByte = f_))
    def timeToFirstUpstreamTxByte: _root_.scalapb.lenses.Lens[UpperPB, com.google.protobuf.duration.Duration] = field(_.getTimeToFirstUpstreamTxByte)((c_, f_) => c_.copy(timeToFirstUpstreamTxByte = Option(f_)))
    def optionalTimeToFirstUpstreamTxByte: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[com.google.protobuf.duration.Duration]] = field(_.timeToFirstUpstreamTxByte)((c_, f_) => c_.copy(timeToFirstUpstreamTxByte = f_))
    def timeToLastUpstreamTxByte: _root_.scalapb.lenses.Lens[UpperPB, com.google.protobuf.duration.Duration] = field(_.getTimeToLastUpstreamTxByte)((c_, f_) => c_.copy(timeToLastUpstreamTxByte = Option(f_)))
    def optionalTimeToLastUpstreamTxByte: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[com.google.protobuf.duration.Duration]] = field(_.timeToLastUpstreamTxByte)((c_, f_) => c_.copy(timeToLastUpstreamTxByte = f_))
    def timeToFirstUpstreamRxByte: _root_.scalapb.lenses.Lens[UpperPB, com.google.protobuf.duration.Duration] = field(_.getTimeToFirstUpstreamRxByte)((c_, f_) => c_.copy(timeToFirstUpstreamRxByte = Option(f_)))
    def optionalTimeToFirstUpstreamRxByte: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[com.google.protobuf.duration.Duration]] = field(_.timeToFirstUpstreamRxByte)((c_, f_) => c_.copy(timeToFirstUpstreamRxByte = f_))
    def timeToLastUpstreamRxByte: _root_.scalapb.lenses.Lens[UpperPB, com.google.protobuf.duration.Duration] = field(_.getTimeToLastUpstreamRxByte)((c_, f_) => c_.copy(timeToLastUpstreamRxByte = Option(f_)))
    def optionalTimeToLastUpstreamRxByte: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[com.google.protobuf.duration.Duration]] = field(_.timeToLastUpstreamRxByte)((c_, f_) => c_.copy(timeToLastUpstreamRxByte = f_))
    def timeToFirstDownstreamTxByte: _root_.scalapb.lenses.Lens[UpperPB, com.google.protobuf.duration.Duration] = field(_.getTimeToFirstDownstreamTxByte)((c_, f_) => c_.copy(timeToFirstDownstreamTxByte = Option(f_)))
    def optionalTimeToFirstDownstreamTxByte: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[com.google.protobuf.duration.Duration]] = field(_.timeToFirstDownstreamTxByte)((c_, f_) => c_.copy(timeToFirstDownstreamTxByte = f_))
    def timeToLastDownstreamTxByte: _root_.scalapb.lenses.Lens[UpperPB, com.google.protobuf.duration.Duration] = field(_.getTimeToLastDownstreamTxByte)((c_, f_) => c_.copy(timeToLastDownstreamTxByte = Option(f_)))
    def optionalTimeToLastDownstreamTxByte: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[com.google.protobuf.duration.Duration]] = field(_.timeToLastDownstreamTxByte)((c_, f_) => c_.copy(timeToLastDownstreamTxByte = f_))
    def upstreamRemoteAddress: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.core.v3.Address] = field(_.getUpstreamRemoteAddress)((c_, f_) => c_.copy(upstreamRemoteAddress = Option(f_)))
    def optionalUpstreamRemoteAddress: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Address]] = field(_.upstreamRemoteAddress)((c_, f_) => c_.copy(upstreamRemoteAddress = f_))
    def upstreamLocalAddress: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.core.v3.Address] = field(_.getUpstreamLocalAddress)((c_, f_) => c_.copy(upstreamLocalAddress = Option(f_)))
    def optionalUpstreamLocalAddress: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Address]] = field(_.upstreamLocalAddress)((c_, f_) => c_.copy(upstreamLocalAddress = f_))
    def upstreamCluster: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Predef.String] = field(_.upstreamCluster)((c_, f_) => c_.copy(upstreamCluster = f_))
    def responseFlags: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.data.accesslog.v3.ResponseFlags] = field(_.getResponseFlags)((c_, f_) => c_.copy(responseFlags = Option(f_)))
    def optionalResponseFlags: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.data.accesslog.v3.ResponseFlags]] = field(_.responseFlags)((c_, f_) => c_.copy(responseFlags = f_))
    def metadata: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.core.v3.Metadata] = field(_.getMetadata)((c_, f_) => c_.copy(metadata = Option(f_)))
    def optionalMetadata: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Metadata]] = field(_.metadata)((c_, f_) => c_.copy(metadata = f_))
    def upstreamTransportFailureReason: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Predef.String] = field(_.upstreamTransportFailureReason)((c_, f_) => c_.copy(upstreamTransportFailureReason = f_))
    def routeName: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Predef.String] = field(_.routeName)((c_, f_) => c_.copy(routeName = f_))
    def downstreamDirectRemoteAddress: _root_.scalapb.lenses.Lens[UpperPB, io.envoyproxy.envoy.config.core.v3.Address] = field(_.getDownstreamDirectRemoteAddress)((c_, f_) => c_.copy(downstreamDirectRemoteAddress = Option(f_)))
    def optionalDownstreamDirectRemoteAddress: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Address]] = field(_.downstreamDirectRemoteAddress)((c_, f_) => c_.copy(downstreamDirectRemoteAddress = f_))
    def filterStateObjects: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.collection.immutable.Map[_root_.scala.Predef.String, com.google.protobuf.any.Any]] = field(_.filterStateObjects)((c_, f_) => c_.copy(filterStateObjects = f_))
    def customTags: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.collection.immutable.Map[_root_.scala.Predef.String, _root_.scala.Predef.String]] = field(_.customTags)((c_, f_) => c_.copy(customTags = f_))
  }
  final val SAMPLE_RATE_FIELD_NUMBER = 1
  final val DOWNSTREAM_REMOTE_ADDRESS_FIELD_NUMBER = 2
  final val DOWNSTREAM_LOCAL_ADDRESS_FIELD_NUMBER = 3
  final val TLS_PROPERTIES_FIELD_NUMBER = 4
  final val START_TIME_FIELD_NUMBER = 5
  final val TIME_TO_LAST_RX_BYTE_FIELD_NUMBER = 6
  final val TIME_TO_FIRST_UPSTREAM_TX_BYTE_FIELD_NUMBER = 7
  final val TIME_TO_LAST_UPSTREAM_TX_BYTE_FIELD_NUMBER = 8
  final val TIME_TO_FIRST_UPSTREAM_RX_BYTE_FIELD_NUMBER = 9
  final val TIME_TO_LAST_UPSTREAM_RX_BYTE_FIELD_NUMBER = 10
  final val TIME_TO_FIRST_DOWNSTREAM_TX_BYTE_FIELD_NUMBER = 11
  final val TIME_TO_LAST_DOWNSTREAM_TX_BYTE_FIELD_NUMBER = 12
  final val UPSTREAM_REMOTE_ADDRESS_FIELD_NUMBER = 13
  final val UPSTREAM_LOCAL_ADDRESS_FIELD_NUMBER = 14
  final val UPSTREAM_CLUSTER_FIELD_NUMBER = 15
  final val RESPONSE_FLAGS_FIELD_NUMBER = 16
  final val METADATA_FIELD_NUMBER = 17
  final val UPSTREAM_TRANSPORT_FAILURE_REASON_FIELD_NUMBER = 18
  final val ROUTE_NAME_FIELD_NUMBER = 19
  final val DOWNSTREAM_DIRECT_REMOTE_ADDRESS_FIELD_NUMBER = 20
  final val FILTER_STATE_OBJECTS_FIELD_NUMBER = 21
  final val CUSTOM_TAGS_FIELD_NUMBER = 22
  @transient
  private[v3] val _typemapper_filterStateObjects: _root_.scalapb.TypeMapper[io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.FilterStateObjectsEntry, (_root_.scala.Predef.String, com.google.protobuf.any.Any)] = implicitly[_root_.scalapb.TypeMapper[io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.FilterStateObjectsEntry, (_root_.scala.Predef.String, com.google.protobuf.any.Any)]]
  @transient
  private[v3] val _typemapper_customTags: _root_.scalapb.TypeMapper[io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.CustomTagsEntry, (_root_.scala.Predef.String, _root_.scala.Predef.String)] = implicitly[_root_.scalapb.TypeMapper[io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon.CustomTagsEntry, (_root_.scala.Predef.String, _root_.scala.Predef.String)]]
  def of(
    sampleRate: _root_.scala.Double,
    downstreamRemoteAddress: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Address],
    downstreamLocalAddress: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Address],
    tlsProperties: _root_.scala.Option[io.envoyproxy.envoy.data.accesslog.v3.TLSProperties],
    startTime: _root_.scala.Option[com.google.protobuf.timestamp.Timestamp],
    timeToLastRxByte: _root_.scala.Option[com.google.protobuf.duration.Duration],
    timeToFirstUpstreamTxByte: _root_.scala.Option[com.google.protobuf.duration.Duration],
    timeToLastUpstreamTxByte: _root_.scala.Option[com.google.protobuf.duration.Duration],
    timeToFirstUpstreamRxByte: _root_.scala.Option[com.google.protobuf.duration.Duration],
    timeToLastUpstreamRxByte: _root_.scala.Option[com.google.protobuf.duration.Duration],
    timeToFirstDownstreamTxByte: _root_.scala.Option[com.google.protobuf.duration.Duration],
    timeToLastDownstreamTxByte: _root_.scala.Option[com.google.protobuf.duration.Duration],
    upstreamRemoteAddress: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Address],
    upstreamLocalAddress: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Address],
    upstreamCluster: _root_.scala.Predef.String,
    responseFlags: _root_.scala.Option[io.envoyproxy.envoy.data.accesslog.v3.ResponseFlags],
    metadata: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Metadata],
    upstreamTransportFailureReason: _root_.scala.Predef.String,
    routeName: _root_.scala.Predef.String,
    downstreamDirectRemoteAddress: _root_.scala.Option[io.envoyproxy.envoy.config.core.v3.Address],
    filterStateObjects: _root_.scala.collection.immutable.Map[_root_.scala.Predef.String, com.google.protobuf.any.Any],
    customTags: _root_.scala.collection.immutable.Map[_root_.scala.Predef.String, _root_.scala.Predef.String]
  ): _root_.io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon = _root_.io.envoyproxy.envoy.data.accesslog.v3.AccessLogCommon(
    sampleRate,
    downstreamRemoteAddress,
    downstreamLocalAddress,
    tlsProperties,
    startTime,
    timeToLastRxByte,
    timeToFirstUpstreamTxByte,
    timeToLastUpstreamTxByte,
    timeToFirstUpstreamRxByte,
    timeToLastUpstreamRxByte,
    timeToFirstDownstreamTxByte,
    timeToLastDownstreamTxByte,
    upstreamRemoteAddress,
    upstreamLocalAddress,
    upstreamCluster,
    responseFlags,
    metadata,
    upstreamTransportFailureReason,
    routeName,
    downstreamDirectRemoteAddress,
    filterStateObjects,
    customTags
  )
  // @@protoc_insertion_point(GeneratedMessageCompanion[envoy.data.accesslog.v3.AccessLogCommon])
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy