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

io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse Maven / Gradle / Ivy

There is a newer version: 1.0.46
Show newest version
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: envoy/service/rate_limit_quota/v3/rlqs.proto

package io.envoyproxy.envoy.service.rate_limit_quota.v3;

/**
 * Protobuf type {@code envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse}
 */
public final class RateLimitQuotaResponse extends
    com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse)
    RateLimitQuotaResponseOrBuilder {
private static final long serialVersionUID = 0L;
  // Use RateLimitQuotaResponse.newBuilder() to construct.
  private RateLimitQuotaResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) {
    super(builder);
  }
  private RateLimitQuotaResponse() {
    bucketAction_ = java.util.Collections.emptyList();
  }

  @java.lang.Override
  @SuppressWarnings({"unused"})
  protected java.lang.Object newInstance(
      UnusedPrivateParameter unused) {
    return new RateLimitQuotaResponse();
  }

  @java.lang.Override
  public final com.google.protobuf.UnknownFieldSet
  getUnknownFields() {
    return this.unknownFields;
  }
  private RateLimitQuotaResponse(
      com.google.protobuf.CodedInputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    this();
    if (extensionRegistry == null) {
      throw new java.lang.NullPointerException();
    }
    int mutable_bitField0_ = 0;
    com.google.protobuf.UnknownFieldSet.Builder unknownFields =
        com.google.protobuf.UnknownFieldSet.newBuilder();
    try {
      boolean done = false;
      while (!done) {
        int tag = input.readTag();
        switch (tag) {
          case 0:
            done = true;
            break;
          case 10: {
            if (!((mutable_bitField0_ & 0x00000001) != 0)) {
              bucketAction_ = new java.util.ArrayList();
              mutable_bitField0_ |= 0x00000001;
            }
            bucketAction_.add(
                input.readMessage(io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.parser(), extensionRegistry));
            break;
          }
          default: {
            if (!parseUnknownField(
                input, unknownFields, extensionRegistry, tag)) {
              done = true;
            }
            break;
          }
        }
      }
    } catch (com.google.protobuf.InvalidProtocolBufferException e) {
      throw e.setUnfinishedMessage(this);
    } catch (com.google.protobuf.UninitializedMessageException e) {
      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
    } catch (java.io.IOException e) {
      throw new com.google.protobuf.InvalidProtocolBufferException(
          e).setUnfinishedMessage(this);
    } finally {
      if (((mutable_bitField0_ & 0x00000001) != 0)) {
        bucketAction_ = java.util.Collections.unmodifiableList(bucketAction_);
      }
      this.unknownFields = unknownFields.build();
      makeExtensionsImmutable();
    }
  }
  public static final com.google.protobuf.Descriptors.Descriptor
      getDescriptor() {
    return io.envoyproxy.envoy.service.rate_limit_quota.v3.RlqsProto.internal_static_envoy_service_rate_limit_quota_v3_RateLimitQuotaResponse_descriptor;
  }

  @java.lang.Override
  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internalGetFieldAccessorTable() {
    return io.envoyproxy.envoy.service.rate_limit_quota.v3.RlqsProto.internal_static_envoy_service_rate_limit_quota_v3_RateLimitQuotaResponse_fieldAccessorTable
        .ensureFieldAccessorsInitialized(
            io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.class, io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.Builder.class);
  }

  public interface BucketActionOrBuilder extends
      // @@protoc_insertion_point(interface_extends:envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction)
      com.google.protobuf.MessageOrBuilder {

    /**
     * 
     * ``BucketId`` for which request the action is applied.
     * 
* * .envoy.service.rate_limit_quota.v3.BucketId bucket_id = 1 [(.validate.rules) = { ... } * @return Whether the bucketId field is set. */ boolean hasBucketId(); /** *
     * ``BucketId`` for which request the action is applied.
     * 
* * .envoy.service.rate_limit_quota.v3.BucketId bucket_id = 1 [(.validate.rules) = { ... } * @return The bucketId. */ io.envoyproxy.envoy.service.rate_limit_quota.v3.BucketId getBucketId(); /** *
     * ``BucketId`` for which request the action is applied.
     * 
* * .envoy.service.rate_limit_quota.v3.BucketId bucket_id = 1 [(.validate.rules) = { ... } */ io.envoyproxy.envoy.service.rate_limit_quota.v3.BucketIdOrBuilder getBucketIdOrBuilder(); /** *
     * Apply the quota assignment to the bucket.
     * Commands the data plane to apply a rate limiting strategy to the bucket.
     * The process of applying and expiring the rate limiting strategy is detailed in the
     * :ref:`QuotaAssignmentAction
     * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`
     * message.
     * 
* * .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction quota_assignment_action = 2; * @return Whether the quotaAssignmentAction field is set. */ boolean hasQuotaAssignmentAction(); /** *
     * Apply the quota assignment to the bucket.
     * Commands the data plane to apply a rate limiting strategy to the bucket.
     * The process of applying and expiring the rate limiting strategy is detailed in the
     * :ref:`QuotaAssignmentAction
     * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`
     * message.
     * 
* * .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction quota_assignment_action = 2; * @return The quotaAssignmentAction. */ io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction getQuotaAssignmentAction(); /** *
     * Apply the quota assignment to the bucket.
     * Commands the data plane to apply a rate limiting strategy to the bucket.
     * The process of applying and expiring the rate limiting strategy is detailed in the
     * :ref:`QuotaAssignmentAction
     * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`
     * message.
     * 
* * .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction quota_assignment_action = 2; */ io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentActionOrBuilder getQuotaAssignmentActionOrBuilder(); /** *
     * Abandon the bucket.
     * Commands the data plane to abandon the bucket.
     * The process of abandoning the bucket is described in the :ref:`AbandonAction
     * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
     * message.
     * 
* * .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction abandon_action = 3; * @return Whether the abandonAction field is set. */ boolean hasAbandonAction(); /** *
     * Abandon the bucket.
     * Commands the data plane to abandon the bucket.
     * The process of abandoning the bucket is described in the :ref:`AbandonAction
     * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
     * message.
     * 
* * .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction abandon_action = 3; * @return The abandonAction. */ io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction getAbandonAction(); /** *
     * Abandon the bucket.
     * Commands the data plane to abandon the bucket.
     * The process of abandoning the bucket is described in the :ref:`AbandonAction
     * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
     * message.
     * 
* * .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction abandon_action = 3; */ io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonActionOrBuilder getAbandonActionOrBuilder(); public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.BucketActionCase getBucketActionCase(); } /** *
   * Commands the data plane to apply one of the actions to the bucket with the
   * :ref:`bucket_id <envoy_v3_api_field_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.bucket_id>`.
   * 
* * Protobuf type {@code envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction} */ public static final class BucketAction extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction) BucketActionOrBuilder { private static final long serialVersionUID = 0L; // Use BucketAction.newBuilder() to construct. private BucketAction(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private BucketAction() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new BucketAction(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private BucketAction( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { io.envoyproxy.envoy.service.rate_limit_quota.v3.BucketId.Builder subBuilder = null; if (bucketId_ != null) { subBuilder = bucketId_.toBuilder(); } bucketId_ = input.readMessage(io.envoyproxy.envoy.service.rate_limit_quota.v3.BucketId.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(bucketId_); bucketId_ = subBuilder.buildPartial(); } break; } case 18: { io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.Builder subBuilder = null; if (bucketActionCase_ == 2) { subBuilder = ((io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction) bucketAction_).toBuilder(); } bucketAction_ = input.readMessage(io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom((io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction) bucketAction_); bucketAction_ = subBuilder.buildPartial(); } bucketActionCase_ = 2; break; } case 26: { io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction.Builder subBuilder = null; if (bucketActionCase_ == 3) { subBuilder = ((io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction) bucketAction_).toBuilder(); } bucketAction_ = input.readMessage(io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom((io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction) bucketAction_); bucketAction_ = subBuilder.buildPartial(); } bucketActionCase_ = 3; break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return io.envoyproxy.envoy.service.rate_limit_quota.v3.RlqsProto.internal_static_envoy_service_rate_limit_quota_v3_RateLimitQuotaResponse_BucketAction_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return io.envoyproxy.envoy.service.rate_limit_quota.v3.RlqsProto.internal_static_envoy_service_rate_limit_quota_v3_RateLimitQuotaResponse_BucketAction_fieldAccessorTable .ensureFieldAccessorsInitialized( io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.class, io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.Builder.class); } public interface QuotaAssignmentActionOrBuilder extends // @@protoc_insertion_point(interface_extends:envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction) com.google.protobuf.MessageOrBuilder { /** *
       * A duration after which the assignment is be considered ``expired``. The process of the
       * expiration is described :ref:`above
       * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`.
       * * If unset, the assignment has no expiration date.
       * * If set to ``0``, the assignment expires immediately, forcing the client into the
       *   :ref:`"expired assignment"
       *   <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior.expired_assignment_behavior_timeout>`
       *   state. This may be used by the RLQS server in cases when it needs clients to proactively
       *   fall back to the pre-configured :ref:`ExpiredAssignmentBehavior
       *   <envoy_v3_api_msg_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior>`,
       *   f.e. before the server going into restart.
       * .. attention::
       *   Note that :ref:`expiring
       *   <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`
       *   the assignment is not the same as :ref:`abandoning
       *   <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
       *   the assignment. While expiring the assignment just transitions the bucket to
       *   the "expired assignment" state; abandoning the assignment completely erases
       *   the bucket from the data plane memory, and stops the usage reports.
       * 
* * .google.protobuf.Duration assignment_time_to_live = 2 [(.validate.rules) = { ... } * @return Whether the assignmentTimeToLive field is set. */ boolean hasAssignmentTimeToLive(); /** *
       * A duration after which the assignment is be considered ``expired``. The process of the
       * expiration is described :ref:`above
       * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`.
       * * If unset, the assignment has no expiration date.
       * * If set to ``0``, the assignment expires immediately, forcing the client into the
       *   :ref:`"expired assignment"
       *   <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior.expired_assignment_behavior_timeout>`
       *   state. This may be used by the RLQS server in cases when it needs clients to proactively
       *   fall back to the pre-configured :ref:`ExpiredAssignmentBehavior
       *   <envoy_v3_api_msg_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior>`,
       *   f.e. before the server going into restart.
       * .. attention::
       *   Note that :ref:`expiring
       *   <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`
       *   the assignment is not the same as :ref:`abandoning
       *   <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
       *   the assignment. While expiring the assignment just transitions the bucket to
       *   the "expired assignment" state; abandoning the assignment completely erases
       *   the bucket from the data plane memory, and stops the usage reports.
       * 
* * .google.protobuf.Duration assignment_time_to_live = 2 [(.validate.rules) = { ... } * @return The assignmentTimeToLive. */ com.google.protobuf.Duration getAssignmentTimeToLive(); /** *
       * A duration after which the assignment is be considered ``expired``. The process of the
       * expiration is described :ref:`above
       * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`.
       * * If unset, the assignment has no expiration date.
       * * If set to ``0``, the assignment expires immediately, forcing the client into the
       *   :ref:`"expired assignment"
       *   <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior.expired_assignment_behavior_timeout>`
       *   state. This may be used by the RLQS server in cases when it needs clients to proactively
       *   fall back to the pre-configured :ref:`ExpiredAssignmentBehavior
       *   <envoy_v3_api_msg_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior>`,
       *   f.e. before the server going into restart.
       * .. attention::
       *   Note that :ref:`expiring
       *   <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`
       *   the assignment is not the same as :ref:`abandoning
       *   <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
       *   the assignment. While expiring the assignment just transitions the bucket to
       *   the "expired assignment" state; abandoning the assignment completely erases
       *   the bucket from the data plane memory, and stops the usage reports.
       * 
* * .google.protobuf.Duration assignment_time_to_live = 2 [(.validate.rules) = { ... } */ com.google.protobuf.DurationOrBuilder getAssignmentTimeToLiveOrBuilder(); /** *
       * Configures the local rate limiter for the request matched to the bucket.
       * If not set, allow all requests.
       * 
* * .envoy.type.v3.RateLimitStrategy rate_limit_strategy = 3; * @return Whether the rateLimitStrategy field is set. */ boolean hasRateLimitStrategy(); /** *
       * Configures the local rate limiter for the request matched to the bucket.
       * If not set, allow all requests.
       * 
* * .envoy.type.v3.RateLimitStrategy rate_limit_strategy = 3; * @return The rateLimitStrategy. */ io.envoyproxy.envoy.type.v3.RateLimitStrategy getRateLimitStrategy(); /** *
       * Configures the local rate limiter for the request matched to the bucket.
       * If not set, allow all requests.
       * 
* * .envoy.type.v3.RateLimitStrategy rate_limit_strategy = 3; */ io.envoyproxy.envoy.type.v3.RateLimitStrategyOrBuilder getRateLimitStrategyOrBuilder(); } /** *
     * Quota assignment for the bucket. Configures the rate limiting strategy and the duration
     * for the given :ref:`bucket_id
     * <envoy_v3_api_field_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.bucket_id>`.
     * **Applying the first assignment to the bucket**
     * Once the data plane receives the ``QuotaAssignmentAction``, it must send the current usage
     * report for the bucket, and start rate limiting requests matched into the bucket
     * using the strategy configured in the :ref:`rate_limit_strategy
     * <envoy_v3_api_field_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.rate_limit_strategy>`
     * field. The assignment becomes bucket's ``active`` assignment.
     * **Expiring the assignment**
     * The duration of the assignment defined in the :ref:`assignment_time_to_live
     * <envoy_v3_api_field_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.assignment_time_to_live>`
     * field. When the duration runs off, the assignment is ``expired``, and no longer ``active``.
     * The data plane should stop applying the rate limiting strategy to the bucket, and transition
     * the bucket to the "expired assignment" state. This activates the behavior configured in the
     * :ref:`expired_assignment_behavior <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.expired_assignment_behavior>`
     * field.
     * **Replacing the assignment**
     * * If the rate limiting strategy is different from bucket's ``active`` assignment, or
     *   the current bucket assignment is ``expired``, the data plane must immediately
     *   end the current assignment, report the bucket usage, and apply the new assignment.
     *   The new assignment becomes bucket's ``active`` assignment.
     * * If the rate limiting strategy is the same as the bucket's ``active`` (not ``expired``)
     *   assignment, the data plane should extend the duration of the ``active`` assignment
     *   for the duration of the new assignment provided in the :ref:`assignment_time_to_live
     *   <envoy_v3_api_field_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.assignment_time_to_live>`
     *   field. The ``active`` assignment is considered unchanged.
     * 
* * Protobuf type {@code envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction} */ public static final class QuotaAssignmentAction extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction) QuotaAssignmentActionOrBuilder { private static final long serialVersionUID = 0L; // Use QuotaAssignmentAction.newBuilder() to construct. private QuotaAssignmentAction(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private QuotaAssignmentAction() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new QuotaAssignmentAction(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private QuotaAssignmentAction( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 18: { com.google.protobuf.Duration.Builder subBuilder = null; if (assignmentTimeToLive_ != null) { subBuilder = assignmentTimeToLive_.toBuilder(); } assignmentTimeToLive_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(assignmentTimeToLive_); assignmentTimeToLive_ = subBuilder.buildPartial(); } break; } case 26: { io.envoyproxy.envoy.type.v3.RateLimitStrategy.Builder subBuilder = null; if (rateLimitStrategy_ != null) { subBuilder = rateLimitStrategy_.toBuilder(); } rateLimitStrategy_ = input.readMessage(io.envoyproxy.envoy.type.v3.RateLimitStrategy.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(rateLimitStrategy_); rateLimitStrategy_ = subBuilder.buildPartial(); } break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return io.envoyproxy.envoy.service.rate_limit_quota.v3.RlqsProto.internal_static_envoy_service_rate_limit_quota_v3_RateLimitQuotaResponse_BucketAction_QuotaAssignmentAction_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return io.envoyproxy.envoy.service.rate_limit_quota.v3.RlqsProto.internal_static_envoy_service_rate_limit_quota_v3_RateLimitQuotaResponse_BucketAction_QuotaAssignmentAction_fieldAccessorTable .ensureFieldAccessorsInitialized( io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.class, io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.Builder.class); } public static final int ASSIGNMENT_TIME_TO_LIVE_FIELD_NUMBER = 2; private com.google.protobuf.Duration assignmentTimeToLive_; /** *
       * A duration after which the assignment is be considered ``expired``. The process of the
       * expiration is described :ref:`above
       * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`.
       * * If unset, the assignment has no expiration date.
       * * If set to ``0``, the assignment expires immediately, forcing the client into the
       *   :ref:`"expired assignment"
       *   <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior.expired_assignment_behavior_timeout>`
       *   state. This may be used by the RLQS server in cases when it needs clients to proactively
       *   fall back to the pre-configured :ref:`ExpiredAssignmentBehavior
       *   <envoy_v3_api_msg_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior>`,
       *   f.e. before the server going into restart.
       * .. attention::
       *   Note that :ref:`expiring
       *   <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`
       *   the assignment is not the same as :ref:`abandoning
       *   <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
       *   the assignment. While expiring the assignment just transitions the bucket to
       *   the "expired assignment" state; abandoning the assignment completely erases
       *   the bucket from the data plane memory, and stops the usage reports.
       * 
* * .google.protobuf.Duration assignment_time_to_live = 2 [(.validate.rules) = { ... } * @return Whether the assignmentTimeToLive field is set. */ @java.lang.Override public boolean hasAssignmentTimeToLive() { return assignmentTimeToLive_ != null; } /** *
       * A duration after which the assignment is be considered ``expired``. The process of the
       * expiration is described :ref:`above
       * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`.
       * * If unset, the assignment has no expiration date.
       * * If set to ``0``, the assignment expires immediately, forcing the client into the
       *   :ref:`"expired assignment"
       *   <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior.expired_assignment_behavior_timeout>`
       *   state. This may be used by the RLQS server in cases when it needs clients to proactively
       *   fall back to the pre-configured :ref:`ExpiredAssignmentBehavior
       *   <envoy_v3_api_msg_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior>`,
       *   f.e. before the server going into restart.
       * .. attention::
       *   Note that :ref:`expiring
       *   <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`
       *   the assignment is not the same as :ref:`abandoning
       *   <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
       *   the assignment. While expiring the assignment just transitions the bucket to
       *   the "expired assignment" state; abandoning the assignment completely erases
       *   the bucket from the data plane memory, and stops the usage reports.
       * 
* * .google.protobuf.Duration assignment_time_to_live = 2 [(.validate.rules) = { ... } * @return The assignmentTimeToLive. */ @java.lang.Override public com.google.protobuf.Duration getAssignmentTimeToLive() { return assignmentTimeToLive_ == null ? com.google.protobuf.Duration.getDefaultInstance() : assignmentTimeToLive_; } /** *
       * A duration after which the assignment is be considered ``expired``. The process of the
       * expiration is described :ref:`above
       * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`.
       * * If unset, the assignment has no expiration date.
       * * If set to ``0``, the assignment expires immediately, forcing the client into the
       *   :ref:`"expired assignment"
       *   <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior.expired_assignment_behavior_timeout>`
       *   state. This may be used by the RLQS server in cases when it needs clients to proactively
       *   fall back to the pre-configured :ref:`ExpiredAssignmentBehavior
       *   <envoy_v3_api_msg_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior>`,
       *   f.e. before the server going into restart.
       * .. attention::
       *   Note that :ref:`expiring
       *   <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`
       *   the assignment is not the same as :ref:`abandoning
       *   <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
       *   the assignment. While expiring the assignment just transitions the bucket to
       *   the "expired assignment" state; abandoning the assignment completely erases
       *   the bucket from the data plane memory, and stops the usage reports.
       * 
* * .google.protobuf.Duration assignment_time_to_live = 2 [(.validate.rules) = { ... } */ @java.lang.Override public com.google.protobuf.DurationOrBuilder getAssignmentTimeToLiveOrBuilder() { return getAssignmentTimeToLive(); } public static final int RATE_LIMIT_STRATEGY_FIELD_NUMBER = 3; private io.envoyproxy.envoy.type.v3.RateLimitStrategy rateLimitStrategy_; /** *
       * Configures the local rate limiter for the request matched to the bucket.
       * If not set, allow all requests.
       * 
* * .envoy.type.v3.RateLimitStrategy rate_limit_strategy = 3; * @return Whether the rateLimitStrategy field is set. */ @java.lang.Override public boolean hasRateLimitStrategy() { return rateLimitStrategy_ != null; } /** *
       * Configures the local rate limiter for the request matched to the bucket.
       * If not set, allow all requests.
       * 
* * .envoy.type.v3.RateLimitStrategy rate_limit_strategy = 3; * @return The rateLimitStrategy. */ @java.lang.Override public io.envoyproxy.envoy.type.v3.RateLimitStrategy getRateLimitStrategy() { return rateLimitStrategy_ == null ? io.envoyproxy.envoy.type.v3.RateLimitStrategy.getDefaultInstance() : rateLimitStrategy_; } /** *
       * Configures the local rate limiter for the request matched to the bucket.
       * If not set, allow all requests.
       * 
* * .envoy.type.v3.RateLimitStrategy rate_limit_strategy = 3; */ @java.lang.Override public io.envoyproxy.envoy.type.v3.RateLimitStrategyOrBuilder getRateLimitStrategyOrBuilder() { return getRateLimitStrategy(); } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (assignmentTimeToLive_ != null) { output.writeMessage(2, getAssignmentTimeToLive()); } if (rateLimitStrategy_ != null) { output.writeMessage(3, getRateLimitStrategy()); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (assignmentTimeToLive_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(2, getAssignmentTimeToLive()); } if (rateLimitStrategy_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(3, getRateLimitStrategy()); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction)) { return super.equals(obj); } io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction other = (io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction) obj; if (hasAssignmentTimeToLive() != other.hasAssignmentTimeToLive()) return false; if (hasAssignmentTimeToLive()) { if (!getAssignmentTimeToLive() .equals(other.getAssignmentTimeToLive())) return false; } if (hasRateLimitStrategy() != other.hasRateLimitStrategy()) return false; if (hasRateLimitStrategy()) { if (!getRateLimitStrategy() .equals(other.getRateLimitStrategy())) return false; } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasAssignmentTimeToLive()) { hash = (37 * hash) + ASSIGNMENT_TIME_TO_LIVE_FIELD_NUMBER; hash = (53 * hash) + getAssignmentTimeToLive().hashCode(); } if (hasRateLimitStrategy()) { hash = (37 * hash) + RATE_LIMIT_STRATEGY_FIELD_NUMBER; hash = (53 * hash) + getRateLimitStrategy().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
       * Quota assignment for the bucket. Configures the rate limiting strategy and the duration
       * for the given :ref:`bucket_id
       * <envoy_v3_api_field_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.bucket_id>`.
       * **Applying the first assignment to the bucket**
       * Once the data plane receives the ``QuotaAssignmentAction``, it must send the current usage
       * report for the bucket, and start rate limiting requests matched into the bucket
       * using the strategy configured in the :ref:`rate_limit_strategy
       * <envoy_v3_api_field_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.rate_limit_strategy>`
       * field. The assignment becomes bucket's ``active`` assignment.
       * **Expiring the assignment**
       * The duration of the assignment defined in the :ref:`assignment_time_to_live
       * <envoy_v3_api_field_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.assignment_time_to_live>`
       * field. When the duration runs off, the assignment is ``expired``, and no longer ``active``.
       * The data plane should stop applying the rate limiting strategy to the bucket, and transition
       * the bucket to the "expired assignment" state. This activates the behavior configured in the
       * :ref:`expired_assignment_behavior <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.expired_assignment_behavior>`
       * field.
       * **Replacing the assignment**
       * * If the rate limiting strategy is different from bucket's ``active`` assignment, or
       *   the current bucket assignment is ``expired``, the data plane must immediately
       *   end the current assignment, report the bucket usage, and apply the new assignment.
       *   The new assignment becomes bucket's ``active`` assignment.
       * * If the rate limiting strategy is the same as the bucket's ``active`` (not ``expired``)
       *   assignment, the data plane should extend the duration of the ``active`` assignment
       *   for the duration of the new assignment provided in the :ref:`assignment_time_to_live
       *   <envoy_v3_api_field_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.assignment_time_to_live>`
       *   field. The ``active`` assignment is considered unchanged.
       * 
* * Protobuf type {@code envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction) io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentActionOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return io.envoyproxy.envoy.service.rate_limit_quota.v3.RlqsProto.internal_static_envoy_service_rate_limit_quota_v3_RateLimitQuotaResponse_BucketAction_QuotaAssignmentAction_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return io.envoyproxy.envoy.service.rate_limit_quota.v3.RlqsProto.internal_static_envoy_service_rate_limit_quota_v3_RateLimitQuotaResponse_BucketAction_QuotaAssignmentAction_fieldAccessorTable .ensureFieldAccessorsInitialized( io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.class, io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.Builder.class); } // Construct using io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); if (assignmentTimeToLiveBuilder_ == null) { assignmentTimeToLive_ = null; } else { assignmentTimeToLive_ = null; assignmentTimeToLiveBuilder_ = null; } if (rateLimitStrategyBuilder_ == null) { rateLimitStrategy_ = null; } else { rateLimitStrategy_ = null; rateLimitStrategyBuilder_ = null; } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return io.envoyproxy.envoy.service.rate_limit_quota.v3.RlqsProto.internal_static_envoy_service_rate_limit_quota_v3_RateLimitQuotaResponse_BucketAction_QuotaAssignmentAction_descriptor; } @java.lang.Override public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction getDefaultInstanceForType() { return io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.getDefaultInstance(); } @java.lang.Override public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction build() { io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction buildPartial() { io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction result = new io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction(this); if (assignmentTimeToLiveBuilder_ == null) { result.assignmentTimeToLive_ = assignmentTimeToLive_; } else { result.assignmentTimeToLive_ = assignmentTimeToLiveBuilder_.build(); } if (rateLimitStrategyBuilder_ == null) { result.rateLimitStrategy_ = rateLimitStrategy_; } else { result.rateLimitStrategy_ = rateLimitStrategyBuilder_.build(); } onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction) { return mergeFrom((io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction other) { if (other == io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.getDefaultInstance()) return this; if (other.hasAssignmentTimeToLive()) { mergeAssignmentTimeToLive(other.getAssignmentTimeToLive()); } if (other.hasRateLimitStrategy()) { mergeRateLimitStrategy(other.getRateLimitStrategy()); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private com.google.protobuf.Duration assignmentTimeToLive_; private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> assignmentTimeToLiveBuilder_; /** *
         * A duration after which the assignment is be considered ``expired``. The process of the
         * expiration is described :ref:`above
         * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`.
         * * If unset, the assignment has no expiration date.
         * * If set to ``0``, the assignment expires immediately, forcing the client into the
         *   :ref:`"expired assignment"
         *   <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior.expired_assignment_behavior_timeout>`
         *   state. This may be used by the RLQS server in cases when it needs clients to proactively
         *   fall back to the pre-configured :ref:`ExpiredAssignmentBehavior
         *   <envoy_v3_api_msg_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior>`,
         *   f.e. before the server going into restart.
         * .. attention::
         *   Note that :ref:`expiring
         *   <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`
         *   the assignment is not the same as :ref:`abandoning
         *   <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
         *   the assignment. While expiring the assignment just transitions the bucket to
         *   the "expired assignment" state; abandoning the assignment completely erases
         *   the bucket from the data plane memory, and stops the usage reports.
         * 
* * .google.protobuf.Duration assignment_time_to_live = 2 [(.validate.rules) = { ... } * @return Whether the assignmentTimeToLive field is set. */ public boolean hasAssignmentTimeToLive() { return assignmentTimeToLiveBuilder_ != null || assignmentTimeToLive_ != null; } /** *
         * A duration after which the assignment is be considered ``expired``. The process of the
         * expiration is described :ref:`above
         * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`.
         * * If unset, the assignment has no expiration date.
         * * If set to ``0``, the assignment expires immediately, forcing the client into the
         *   :ref:`"expired assignment"
         *   <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior.expired_assignment_behavior_timeout>`
         *   state. This may be used by the RLQS server in cases when it needs clients to proactively
         *   fall back to the pre-configured :ref:`ExpiredAssignmentBehavior
         *   <envoy_v3_api_msg_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior>`,
         *   f.e. before the server going into restart.
         * .. attention::
         *   Note that :ref:`expiring
         *   <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`
         *   the assignment is not the same as :ref:`abandoning
         *   <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
         *   the assignment. While expiring the assignment just transitions the bucket to
         *   the "expired assignment" state; abandoning the assignment completely erases
         *   the bucket from the data plane memory, and stops the usage reports.
         * 
* * .google.protobuf.Duration assignment_time_to_live = 2 [(.validate.rules) = { ... } * @return The assignmentTimeToLive. */ public com.google.protobuf.Duration getAssignmentTimeToLive() { if (assignmentTimeToLiveBuilder_ == null) { return assignmentTimeToLive_ == null ? com.google.protobuf.Duration.getDefaultInstance() : assignmentTimeToLive_; } else { return assignmentTimeToLiveBuilder_.getMessage(); } } /** *
         * A duration after which the assignment is be considered ``expired``. The process of the
         * expiration is described :ref:`above
         * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`.
         * * If unset, the assignment has no expiration date.
         * * If set to ``0``, the assignment expires immediately, forcing the client into the
         *   :ref:`"expired assignment"
         *   <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior.expired_assignment_behavior_timeout>`
         *   state. This may be used by the RLQS server in cases when it needs clients to proactively
         *   fall back to the pre-configured :ref:`ExpiredAssignmentBehavior
         *   <envoy_v3_api_msg_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior>`,
         *   f.e. before the server going into restart.
         * .. attention::
         *   Note that :ref:`expiring
         *   <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`
         *   the assignment is not the same as :ref:`abandoning
         *   <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
         *   the assignment. While expiring the assignment just transitions the bucket to
         *   the "expired assignment" state; abandoning the assignment completely erases
         *   the bucket from the data plane memory, and stops the usage reports.
         * 
* * .google.protobuf.Duration assignment_time_to_live = 2 [(.validate.rules) = { ... } */ public Builder setAssignmentTimeToLive(com.google.protobuf.Duration value) { if (assignmentTimeToLiveBuilder_ == null) { if (value == null) { throw new NullPointerException(); } assignmentTimeToLive_ = value; onChanged(); } else { assignmentTimeToLiveBuilder_.setMessage(value); } return this; } /** *
         * A duration after which the assignment is be considered ``expired``. The process of the
         * expiration is described :ref:`above
         * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`.
         * * If unset, the assignment has no expiration date.
         * * If set to ``0``, the assignment expires immediately, forcing the client into the
         *   :ref:`"expired assignment"
         *   <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior.expired_assignment_behavior_timeout>`
         *   state. This may be used by the RLQS server in cases when it needs clients to proactively
         *   fall back to the pre-configured :ref:`ExpiredAssignmentBehavior
         *   <envoy_v3_api_msg_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior>`,
         *   f.e. before the server going into restart.
         * .. attention::
         *   Note that :ref:`expiring
         *   <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`
         *   the assignment is not the same as :ref:`abandoning
         *   <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
         *   the assignment. While expiring the assignment just transitions the bucket to
         *   the "expired assignment" state; abandoning the assignment completely erases
         *   the bucket from the data plane memory, and stops the usage reports.
         * 
* * .google.protobuf.Duration assignment_time_to_live = 2 [(.validate.rules) = { ... } */ public Builder setAssignmentTimeToLive( com.google.protobuf.Duration.Builder builderForValue) { if (assignmentTimeToLiveBuilder_ == null) { assignmentTimeToLive_ = builderForValue.build(); onChanged(); } else { assignmentTimeToLiveBuilder_.setMessage(builderForValue.build()); } return this; } /** *
         * A duration after which the assignment is be considered ``expired``. The process of the
         * expiration is described :ref:`above
         * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`.
         * * If unset, the assignment has no expiration date.
         * * If set to ``0``, the assignment expires immediately, forcing the client into the
         *   :ref:`"expired assignment"
         *   <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior.expired_assignment_behavior_timeout>`
         *   state. This may be used by the RLQS server in cases when it needs clients to proactively
         *   fall back to the pre-configured :ref:`ExpiredAssignmentBehavior
         *   <envoy_v3_api_msg_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior>`,
         *   f.e. before the server going into restart.
         * .. attention::
         *   Note that :ref:`expiring
         *   <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`
         *   the assignment is not the same as :ref:`abandoning
         *   <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
         *   the assignment. While expiring the assignment just transitions the bucket to
         *   the "expired assignment" state; abandoning the assignment completely erases
         *   the bucket from the data plane memory, and stops the usage reports.
         * 
* * .google.protobuf.Duration assignment_time_to_live = 2 [(.validate.rules) = { ... } */ public Builder mergeAssignmentTimeToLive(com.google.protobuf.Duration value) { if (assignmentTimeToLiveBuilder_ == null) { if (assignmentTimeToLive_ != null) { assignmentTimeToLive_ = com.google.protobuf.Duration.newBuilder(assignmentTimeToLive_).mergeFrom(value).buildPartial(); } else { assignmentTimeToLive_ = value; } onChanged(); } else { assignmentTimeToLiveBuilder_.mergeFrom(value); } return this; } /** *
         * A duration after which the assignment is be considered ``expired``. The process of the
         * expiration is described :ref:`above
         * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`.
         * * If unset, the assignment has no expiration date.
         * * If set to ``0``, the assignment expires immediately, forcing the client into the
         *   :ref:`"expired assignment"
         *   <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior.expired_assignment_behavior_timeout>`
         *   state. This may be used by the RLQS server in cases when it needs clients to proactively
         *   fall back to the pre-configured :ref:`ExpiredAssignmentBehavior
         *   <envoy_v3_api_msg_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior>`,
         *   f.e. before the server going into restart.
         * .. attention::
         *   Note that :ref:`expiring
         *   <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`
         *   the assignment is not the same as :ref:`abandoning
         *   <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
         *   the assignment. While expiring the assignment just transitions the bucket to
         *   the "expired assignment" state; abandoning the assignment completely erases
         *   the bucket from the data plane memory, and stops the usage reports.
         * 
* * .google.protobuf.Duration assignment_time_to_live = 2 [(.validate.rules) = { ... } */ public Builder clearAssignmentTimeToLive() { if (assignmentTimeToLiveBuilder_ == null) { assignmentTimeToLive_ = null; onChanged(); } else { assignmentTimeToLive_ = null; assignmentTimeToLiveBuilder_ = null; } return this; } /** *
         * A duration after which the assignment is be considered ``expired``. The process of the
         * expiration is described :ref:`above
         * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`.
         * * If unset, the assignment has no expiration date.
         * * If set to ``0``, the assignment expires immediately, forcing the client into the
         *   :ref:`"expired assignment"
         *   <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior.expired_assignment_behavior_timeout>`
         *   state. This may be used by the RLQS server in cases when it needs clients to proactively
         *   fall back to the pre-configured :ref:`ExpiredAssignmentBehavior
         *   <envoy_v3_api_msg_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior>`,
         *   f.e. before the server going into restart.
         * .. attention::
         *   Note that :ref:`expiring
         *   <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`
         *   the assignment is not the same as :ref:`abandoning
         *   <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
         *   the assignment. While expiring the assignment just transitions the bucket to
         *   the "expired assignment" state; abandoning the assignment completely erases
         *   the bucket from the data plane memory, and stops the usage reports.
         * 
* * .google.protobuf.Duration assignment_time_to_live = 2 [(.validate.rules) = { ... } */ public com.google.protobuf.Duration.Builder getAssignmentTimeToLiveBuilder() { onChanged(); return getAssignmentTimeToLiveFieldBuilder().getBuilder(); } /** *
         * A duration after which the assignment is be considered ``expired``. The process of the
         * expiration is described :ref:`above
         * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`.
         * * If unset, the assignment has no expiration date.
         * * If set to ``0``, the assignment expires immediately, forcing the client into the
         *   :ref:`"expired assignment"
         *   <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior.expired_assignment_behavior_timeout>`
         *   state. This may be used by the RLQS server in cases when it needs clients to proactively
         *   fall back to the pre-configured :ref:`ExpiredAssignmentBehavior
         *   <envoy_v3_api_msg_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior>`,
         *   f.e. before the server going into restart.
         * .. attention::
         *   Note that :ref:`expiring
         *   <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`
         *   the assignment is not the same as :ref:`abandoning
         *   <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
         *   the assignment. While expiring the assignment just transitions the bucket to
         *   the "expired assignment" state; abandoning the assignment completely erases
         *   the bucket from the data plane memory, and stops the usage reports.
         * 
* * .google.protobuf.Duration assignment_time_to_live = 2 [(.validate.rules) = { ... } */ public com.google.protobuf.DurationOrBuilder getAssignmentTimeToLiveOrBuilder() { if (assignmentTimeToLiveBuilder_ != null) { return assignmentTimeToLiveBuilder_.getMessageOrBuilder(); } else { return assignmentTimeToLive_ == null ? com.google.protobuf.Duration.getDefaultInstance() : assignmentTimeToLive_; } } /** *
         * A duration after which the assignment is be considered ``expired``. The process of the
         * expiration is described :ref:`above
         * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`.
         * * If unset, the assignment has no expiration date.
         * * If set to ``0``, the assignment expires immediately, forcing the client into the
         *   :ref:`"expired assignment"
         *   <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior.expired_assignment_behavior_timeout>`
         *   state. This may be used by the RLQS server in cases when it needs clients to proactively
         *   fall back to the pre-configured :ref:`ExpiredAssignmentBehavior
         *   <envoy_v3_api_msg_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior>`,
         *   f.e. before the server going into restart.
         * .. attention::
         *   Note that :ref:`expiring
         *   <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`
         *   the assignment is not the same as :ref:`abandoning
         *   <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
         *   the assignment. While expiring the assignment just transitions the bucket to
         *   the "expired assignment" state; abandoning the assignment completely erases
         *   the bucket from the data plane memory, and stops the usage reports.
         * 
* * .google.protobuf.Duration assignment_time_to_live = 2 [(.validate.rules) = { ... } */ private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> getAssignmentTimeToLiveFieldBuilder() { if (assignmentTimeToLiveBuilder_ == null) { assignmentTimeToLiveBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>( getAssignmentTimeToLive(), getParentForChildren(), isClean()); assignmentTimeToLive_ = null; } return assignmentTimeToLiveBuilder_; } private io.envoyproxy.envoy.type.v3.RateLimitStrategy rateLimitStrategy_; private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.type.v3.RateLimitStrategy, io.envoyproxy.envoy.type.v3.RateLimitStrategy.Builder, io.envoyproxy.envoy.type.v3.RateLimitStrategyOrBuilder> rateLimitStrategyBuilder_; /** *
         * Configures the local rate limiter for the request matched to the bucket.
         * If not set, allow all requests.
         * 
* * .envoy.type.v3.RateLimitStrategy rate_limit_strategy = 3; * @return Whether the rateLimitStrategy field is set. */ public boolean hasRateLimitStrategy() { return rateLimitStrategyBuilder_ != null || rateLimitStrategy_ != null; } /** *
         * Configures the local rate limiter for the request matched to the bucket.
         * If not set, allow all requests.
         * 
* * .envoy.type.v3.RateLimitStrategy rate_limit_strategy = 3; * @return The rateLimitStrategy. */ public io.envoyproxy.envoy.type.v3.RateLimitStrategy getRateLimitStrategy() { if (rateLimitStrategyBuilder_ == null) { return rateLimitStrategy_ == null ? io.envoyproxy.envoy.type.v3.RateLimitStrategy.getDefaultInstance() : rateLimitStrategy_; } else { return rateLimitStrategyBuilder_.getMessage(); } } /** *
         * Configures the local rate limiter for the request matched to the bucket.
         * If not set, allow all requests.
         * 
* * .envoy.type.v3.RateLimitStrategy rate_limit_strategy = 3; */ public Builder setRateLimitStrategy(io.envoyproxy.envoy.type.v3.RateLimitStrategy value) { if (rateLimitStrategyBuilder_ == null) { if (value == null) { throw new NullPointerException(); } rateLimitStrategy_ = value; onChanged(); } else { rateLimitStrategyBuilder_.setMessage(value); } return this; } /** *
         * Configures the local rate limiter for the request matched to the bucket.
         * If not set, allow all requests.
         * 
* * .envoy.type.v3.RateLimitStrategy rate_limit_strategy = 3; */ public Builder setRateLimitStrategy( io.envoyproxy.envoy.type.v3.RateLimitStrategy.Builder builderForValue) { if (rateLimitStrategyBuilder_ == null) { rateLimitStrategy_ = builderForValue.build(); onChanged(); } else { rateLimitStrategyBuilder_.setMessage(builderForValue.build()); } return this; } /** *
         * Configures the local rate limiter for the request matched to the bucket.
         * If not set, allow all requests.
         * 
* * .envoy.type.v3.RateLimitStrategy rate_limit_strategy = 3; */ public Builder mergeRateLimitStrategy(io.envoyproxy.envoy.type.v3.RateLimitStrategy value) { if (rateLimitStrategyBuilder_ == null) { if (rateLimitStrategy_ != null) { rateLimitStrategy_ = io.envoyproxy.envoy.type.v3.RateLimitStrategy.newBuilder(rateLimitStrategy_).mergeFrom(value).buildPartial(); } else { rateLimitStrategy_ = value; } onChanged(); } else { rateLimitStrategyBuilder_.mergeFrom(value); } return this; } /** *
         * Configures the local rate limiter for the request matched to the bucket.
         * If not set, allow all requests.
         * 
* * .envoy.type.v3.RateLimitStrategy rate_limit_strategy = 3; */ public Builder clearRateLimitStrategy() { if (rateLimitStrategyBuilder_ == null) { rateLimitStrategy_ = null; onChanged(); } else { rateLimitStrategy_ = null; rateLimitStrategyBuilder_ = null; } return this; } /** *
         * Configures the local rate limiter for the request matched to the bucket.
         * If not set, allow all requests.
         * 
* * .envoy.type.v3.RateLimitStrategy rate_limit_strategy = 3; */ public io.envoyproxy.envoy.type.v3.RateLimitStrategy.Builder getRateLimitStrategyBuilder() { onChanged(); return getRateLimitStrategyFieldBuilder().getBuilder(); } /** *
         * Configures the local rate limiter for the request matched to the bucket.
         * If not set, allow all requests.
         * 
* * .envoy.type.v3.RateLimitStrategy rate_limit_strategy = 3; */ public io.envoyproxy.envoy.type.v3.RateLimitStrategyOrBuilder getRateLimitStrategyOrBuilder() { if (rateLimitStrategyBuilder_ != null) { return rateLimitStrategyBuilder_.getMessageOrBuilder(); } else { return rateLimitStrategy_ == null ? io.envoyproxy.envoy.type.v3.RateLimitStrategy.getDefaultInstance() : rateLimitStrategy_; } } /** *
         * Configures the local rate limiter for the request matched to the bucket.
         * If not set, allow all requests.
         * 
* * .envoy.type.v3.RateLimitStrategy rate_limit_strategy = 3; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.type.v3.RateLimitStrategy, io.envoyproxy.envoy.type.v3.RateLimitStrategy.Builder, io.envoyproxy.envoy.type.v3.RateLimitStrategyOrBuilder> getRateLimitStrategyFieldBuilder() { if (rateLimitStrategyBuilder_ == null) { rateLimitStrategyBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.type.v3.RateLimitStrategy, io.envoyproxy.envoy.type.v3.RateLimitStrategy.Builder, io.envoyproxy.envoy.type.v3.RateLimitStrategyOrBuilder>( getRateLimitStrategy(), getParentForChildren(), isClean()); rateLimitStrategy_ = null; } return rateLimitStrategyBuilder_; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction) } // @@protoc_insertion_point(class_scope:envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction) private static final io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction(); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public QuotaAssignmentAction parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new QuotaAssignmentAction(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface AbandonActionOrBuilder extends // @@protoc_insertion_point(interface_extends:envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction) com.google.protobuf.MessageOrBuilder { } /** *
     * Abandon action for the bucket. Indicates that the RLQS server will no longer be
     * sending updates for the given :ref:`bucket_id
     * <envoy_v3_api_field_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.bucket_id>`.
     * If no requests are reported for a bucket, after some time the server considers the bucket
     * inactive. The server stops tracking the bucket, and instructs the the data plane to abandon
     * the bucket via this message.
     * **Abandoning the assignment**
     * The data plane is to erase the bucket (including its usage data) from the memory.
     * It should stop tracking the bucket, and stop reporting its usage. This effectively resets
     * the data plane to the state prior to matching the first request into the bucket.
     * **Restarting the subscription**
     * If a new request is matched into a bucket previously abandoned, the data plane must behave
     * as if it has never tracked the bucket, and it's the first request matched into it:
     * 1. The process of :ref:`subscription and reporting
     *    <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.reporting_interval>`
     *    starts from the beginning.
     * 2. The bucket transitions to the :ref:`"no assignment"
     *    <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.no_assignment_behavior>`
     *    state.
     * 3. Once the new assignment is received, it's applied per
     *    "Applying the first assignment to the bucket" section of the :ref:`QuotaAssignmentAction
     *    <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`.
     * 
* * Protobuf type {@code envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction} */ public static final class AbandonAction extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction) AbandonActionOrBuilder { private static final long serialVersionUID = 0L; // Use AbandonAction.newBuilder() to construct. private AbandonAction(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private AbandonAction() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new AbandonAction(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private AbandonAction( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return io.envoyproxy.envoy.service.rate_limit_quota.v3.RlqsProto.internal_static_envoy_service_rate_limit_quota_v3_RateLimitQuotaResponse_BucketAction_AbandonAction_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return io.envoyproxy.envoy.service.rate_limit_quota.v3.RlqsProto.internal_static_envoy_service_rate_limit_quota_v3_RateLimitQuotaResponse_BucketAction_AbandonAction_fieldAccessorTable .ensureFieldAccessorsInitialized( io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction.class, io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction.Builder.class); } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction)) { return super.equals(obj); } io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction other = (io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction) obj; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
       * Abandon action for the bucket. Indicates that the RLQS server will no longer be
       * sending updates for the given :ref:`bucket_id
       * <envoy_v3_api_field_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.bucket_id>`.
       * If no requests are reported for a bucket, after some time the server considers the bucket
       * inactive. The server stops tracking the bucket, and instructs the the data plane to abandon
       * the bucket via this message.
       * **Abandoning the assignment**
       * The data plane is to erase the bucket (including its usage data) from the memory.
       * It should stop tracking the bucket, and stop reporting its usage. This effectively resets
       * the data plane to the state prior to matching the first request into the bucket.
       * **Restarting the subscription**
       * If a new request is matched into a bucket previously abandoned, the data plane must behave
       * as if it has never tracked the bucket, and it's the first request matched into it:
       * 1. The process of :ref:`subscription and reporting
       *    <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.reporting_interval>`
       *    starts from the beginning.
       * 2. The bucket transitions to the :ref:`"no assignment"
       *    <envoy_v3_api_field_extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.no_assignment_behavior>`
       *    state.
       * 3. Once the new assignment is received, it's applied per
       *    "Applying the first assignment to the bucket" section of the :ref:`QuotaAssignmentAction
       *    <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`.
       * 
* * Protobuf type {@code envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction) io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonActionOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return io.envoyproxy.envoy.service.rate_limit_quota.v3.RlqsProto.internal_static_envoy_service_rate_limit_quota_v3_RateLimitQuotaResponse_BucketAction_AbandonAction_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return io.envoyproxy.envoy.service.rate_limit_quota.v3.RlqsProto.internal_static_envoy_service_rate_limit_quota_v3_RateLimitQuotaResponse_BucketAction_AbandonAction_fieldAccessorTable .ensureFieldAccessorsInitialized( io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction.class, io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction.Builder.class); } // Construct using io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return io.envoyproxy.envoy.service.rate_limit_quota.v3.RlqsProto.internal_static_envoy_service_rate_limit_quota_v3_RateLimitQuotaResponse_BucketAction_AbandonAction_descriptor; } @java.lang.Override public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction getDefaultInstanceForType() { return io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction.getDefaultInstance(); } @java.lang.Override public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction build() { io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction buildPartial() { io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction result = new io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction(this); onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction) { return mergeFrom((io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction other) { if (other == io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction.getDefaultInstance()) return this; this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction) } // @@protoc_insertion_point(class_scope:envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction) private static final io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction(); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public AbandonAction parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new AbandonAction(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } private int bucketActionCase_ = 0; private java.lang.Object bucketAction_; public enum BucketActionCase implements com.google.protobuf.Internal.EnumLite, com.google.protobuf.AbstractMessage.InternalOneOfEnum { QUOTA_ASSIGNMENT_ACTION(2), ABANDON_ACTION(3), BUCKETACTION_NOT_SET(0); private final int value; private BucketActionCase(int value) { this.value = value; } /** * @param value The number of the enum to look for. * @return The enum associated with the given number. * @deprecated Use {@link #forNumber(int)} instead. */ @java.lang.Deprecated public static BucketActionCase valueOf(int value) { return forNumber(value); } public static BucketActionCase forNumber(int value) { switch (value) { case 2: return QUOTA_ASSIGNMENT_ACTION; case 3: return ABANDON_ACTION; case 0: return BUCKETACTION_NOT_SET; default: return null; } } public int getNumber() { return this.value; } }; public BucketActionCase getBucketActionCase() { return BucketActionCase.forNumber( bucketActionCase_); } public static final int BUCKET_ID_FIELD_NUMBER = 1; private io.envoyproxy.envoy.service.rate_limit_quota.v3.BucketId bucketId_; /** *
     * ``BucketId`` for which request the action is applied.
     * 
* * .envoy.service.rate_limit_quota.v3.BucketId bucket_id = 1 [(.validate.rules) = { ... } * @return Whether the bucketId field is set. */ @java.lang.Override public boolean hasBucketId() { return bucketId_ != null; } /** *
     * ``BucketId`` for which request the action is applied.
     * 
* * .envoy.service.rate_limit_quota.v3.BucketId bucket_id = 1 [(.validate.rules) = { ... } * @return The bucketId. */ @java.lang.Override public io.envoyproxy.envoy.service.rate_limit_quota.v3.BucketId getBucketId() { return bucketId_ == null ? io.envoyproxy.envoy.service.rate_limit_quota.v3.BucketId.getDefaultInstance() : bucketId_; } /** *
     * ``BucketId`` for which request the action is applied.
     * 
* * .envoy.service.rate_limit_quota.v3.BucketId bucket_id = 1 [(.validate.rules) = { ... } */ @java.lang.Override public io.envoyproxy.envoy.service.rate_limit_quota.v3.BucketIdOrBuilder getBucketIdOrBuilder() { return getBucketId(); } public static final int QUOTA_ASSIGNMENT_ACTION_FIELD_NUMBER = 2; /** *
     * Apply the quota assignment to the bucket.
     * Commands the data plane to apply a rate limiting strategy to the bucket.
     * The process of applying and expiring the rate limiting strategy is detailed in the
     * :ref:`QuotaAssignmentAction
     * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`
     * message.
     * 
* * .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction quota_assignment_action = 2; * @return Whether the quotaAssignmentAction field is set. */ @java.lang.Override public boolean hasQuotaAssignmentAction() { return bucketActionCase_ == 2; } /** *
     * Apply the quota assignment to the bucket.
     * Commands the data plane to apply a rate limiting strategy to the bucket.
     * The process of applying and expiring the rate limiting strategy is detailed in the
     * :ref:`QuotaAssignmentAction
     * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`
     * message.
     * 
* * .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction quota_assignment_action = 2; * @return The quotaAssignmentAction. */ @java.lang.Override public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction getQuotaAssignmentAction() { if (bucketActionCase_ == 2) { return (io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction) bucketAction_; } return io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.getDefaultInstance(); } /** *
     * Apply the quota assignment to the bucket.
     * Commands the data plane to apply a rate limiting strategy to the bucket.
     * The process of applying and expiring the rate limiting strategy is detailed in the
     * :ref:`QuotaAssignmentAction
     * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`
     * message.
     * 
* * .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction quota_assignment_action = 2; */ @java.lang.Override public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentActionOrBuilder getQuotaAssignmentActionOrBuilder() { if (bucketActionCase_ == 2) { return (io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction) bucketAction_; } return io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.getDefaultInstance(); } public static final int ABANDON_ACTION_FIELD_NUMBER = 3; /** *
     * Abandon the bucket.
     * Commands the data plane to abandon the bucket.
     * The process of abandoning the bucket is described in the :ref:`AbandonAction
     * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
     * message.
     * 
* * .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction abandon_action = 3; * @return Whether the abandonAction field is set. */ @java.lang.Override public boolean hasAbandonAction() { return bucketActionCase_ == 3; } /** *
     * Abandon the bucket.
     * Commands the data plane to abandon the bucket.
     * The process of abandoning the bucket is described in the :ref:`AbandonAction
     * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
     * message.
     * 
* * .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction abandon_action = 3; * @return The abandonAction. */ @java.lang.Override public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction getAbandonAction() { if (bucketActionCase_ == 3) { return (io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction) bucketAction_; } return io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction.getDefaultInstance(); } /** *
     * Abandon the bucket.
     * Commands the data plane to abandon the bucket.
     * The process of abandoning the bucket is described in the :ref:`AbandonAction
     * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
     * message.
     * 
* * .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction abandon_action = 3; */ @java.lang.Override public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonActionOrBuilder getAbandonActionOrBuilder() { if (bucketActionCase_ == 3) { return (io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction) bucketAction_; } return io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction.getDefaultInstance(); } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (bucketId_ != null) { output.writeMessage(1, getBucketId()); } if (bucketActionCase_ == 2) { output.writeMessage(2, (io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction) bucketAction_); } if (bucketActionCase_ == 3) { output.writeMessage(3, (io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction) bucketAction_); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (bucketId_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(1, getBucketId()); } if (bucketActionCase_ == 2) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(2, (io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction) bucketAction_); } if (bucketActionCase_ == 3) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(3, (io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction) bucketAction_); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction)) { return super.equals(obj); } io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction other = (io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction) obj; if (hasBucketId() != other.hasBucketId()) return false; if (hasBucketId()) { if (!getBucketId() .equals(other.getBucketId())) return false; } if (!getBucketActionCase().equals(other.getBucketActionCase())) return false; switch (bucketActionCase_) { case 2: if (!getQuotaAssignmentAction() .equals(other.getQuotaAssignmentAction())) return false; break; case 3: if (!getAbandonAction() .equals(other.getAbandonAction())) return false; break; case 0: default: } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasBucketId()) { hash = (37 * hash) + BUCKET_ID_FIELD_NUMBER; hash = (53 * hash) + getBucketId().hashCode(); } switch (bucketActionCase_) { case 2: hash = (37 * hash) + QUOTA_ASSIGNMENT_ACTION_FIELD_NUMBER; hash = (53 * hash) + getQuotaAssignmentAction().hashCode(); break; case 3: hash = (37 * hash) + ABANDON_ACTION_FIELD_NUMBER; hash = (53 * hash) + getAbandonAction().hashCode(); break; case 0: default: } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * Commands the data plane to apply one of the actions to the bucket with the
     * :ref:`bucket_id <envoy_v3_api_field_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.bucket_id>`.
     * 
* * Protobuf type {@code envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction) io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketActionOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return io.envoyproxy.envoy.service.rate_limit_quota.v3.RlqsProto.internal_static_envoy_service_rate_limit_quota_v3_RateLimitQuotaResponse_BucketAction_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return io.envoyproxy.envoy.service.rate_limit_quota.v3.RlqsProto.internal_static_envoy_service_rate_limit_quota_v3_RateLimitQuotaResponse_BucketAction_fieldAccessorTable .ensureFieldAccessorsInitialized( io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.class, io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.Builder.class); } // Construct using io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); if (bucketIdBuilder_ == null) { bucketId_ = null; } else { bucketId_ = null; bucketIdBuilder_ = null; } bucketActionCase_ = 0; bucketAction_ = null; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return io.envoyproxy.envoy.service.rate_limit_quota.v3.RlqsProto.internal_static_envoy_service_rate_limit_quota_v3_RateLimitQuotaResponse_BucketAction_descriptor; } @java.lang.Override public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction getDefaultInstanceForType() { return io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.getDefaultInstance(); } @java.lang.Override public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction build() { io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction buildPartial() { io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction result = new io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction(this); if (bucketIdBuilder_ == null) { result.bucketId_ = bucketId_; } else { result.bucketId_ = bucketIdBuilder_.build(); } if (bucketActionCase_ == 2) { if (quotaAssignmentActionBuilder_ == null) { result.bucketAction_ = bucketAction_; } else { result.bucketAction_ = quotaAssignmentActionBuilder_.build(); } } if (bucketActionCase_ == 3) { if (abandonActionBuilder_ == null) { result.bucketAction_ = bucketAction_; } else { result.bucketAction_ = abandonActionBuilder_.build(); } } result.bucketActionCase_ = bucketActionCase_; onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction) { return mergeFrom((io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction other) { if (other == io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.getDefaultInstance()) return this; if (other.hasBucketId()) { mergeBucketId(other.getBucketId()); } switch (other.getBucketActionCase()) { case QUOTA_ASSIGNMENT_ACTION: { mergeQuotaAssignmentAction(other.getQuotaAssignmentAction()); break; } case ABANDON_ACTION: { mergeAbandonAction(other.getAbandonAction()); break; } case BUCKETACTION_NOT_SET: { break; } } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private int bucketActionCase_ = 0; private java.lang.Object bucketAction_; public BucketActionCase getBucketActionCase() { return BucketActionCase.forNumber( bucketActionCase_); } public Builder clearBucketAction() { bucketActionCase_ = 0; bucketAction_ = null; onChanged(); return this; } private io.envoyproxy.envoy.service.rate_limit_quota.v3.BucketId bucketId_; private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.service.rate_limit_quota.v3.BucketId, io.envoyproxy.envoy.service.rate_limit_quota.v3.BucketId.Builder, io.envoyproxy.envoy.service.rate_limit_quota.v3.BucketIdOrBuilder> bucketIdBuilder_; /** *
       * ``BucketId`` for which request the action is applied.
       * 
* * .envoy.service.rate_limit_quota.v3.BucketId bucket_id = 1 [(.validate.rules) = { ... } * @return Whether the bucketId field is set. */ public boolean hasBucketId() { return bucketIdBuilder_ != null || bucketId_ != null; } /** *
       * ``BucketId`` for which request the action is applied.
       * 
* * .envoy.service.rate_limit_quota.v3.BucketId bucket_id = 1 [(.validate.rules) = { ... } * @return The bucketId. */ public io.envoyproxy.envoy.service.rate_limit_quota.v3.BucketId getBucketId() { if (bucketIdBuilder_ == null) { return bucketId_ == null ? io.envoyproxy.envoy.service.rate_limit_quota.v3.BucketId.getDefaultInstance() : bucketId_; } else { return bucketIdBuilder_.getMessage(); } } /** *
       * ``BucketId`` for which request the action is applied.
       * 
* * .envoy.service.rate_limit_quota.v3.BucketId bucket_id = 1 [(.validate.rules) = { ... } */ public Builder setBucketId(io.envoyproxy.envoy.service.rate_limit_quota.v3.BucketId value) { if (bucketIdBuilder_ == null) { if (value == null) { throw new NullPointerException(); } bucketId_ = value; onChanged(); } else { bucketIdBuilder_.setMessage(value); } return this; } /** *
       * ``BucketId`` for which request the action is applied.
       * 
* * .envoy.service.rate_limit_quota.v3.BucketId bucket_id = 1 [(.validate.rules) = { ... } */ public Builder setBucketId( io.envoyproxy.envoy.service.rate_limit_quota.v3.BucketId.Builder builderForValue) { if (bucketIdBuilder_ == null) { bucketId_ = builderForValue.build(); onChanged(); } else { bucketIdBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * ``BucketId`` for which request the action is applied.
       * 
* * .envoy.service.rate_limit_quota.v3.BucketId bucket_id = 1 [(.validate.rules) = { ... } */ public Builder mergeBucketId(io.envoyproxy.envoy.service.rate_limit_quota.v3.BucketId value) { if (bucketIdBuilder_ == null) { if (bucketId_ != null) { bucketId_ = io.envoyproxy.envoy.service.rate_limit_quota.v3.BucketId.newBuilder(bucketId_).mergeFrom(value).buildPartial(); } else { bucketId_ = value; } onChanged(); } else { bucketIdBuilder_.mergeFrom(value); } return this; } /** *
       * ``BucketId`` for which request the action is applied.
       * 
* * .envoy.service.rate_limit_quota.v3.BucketId bucket_id = 1 [(.validate.rules) = { ... } */ public Builder clearBucketId() { if (bucketIdBuilder_ == null) { bucketId_ = null; onChanged(); } else { bucketId_ = null; bucketIdBuilder_ = null; } return this; } /** *
       * ``BucketId`` for which request the action is applied.
       * 
* * .envoy.service.rate_limit_quota.v3.BucketId bucket_id = 1 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.service.rate_limit_quota.v3.BucketId.Builder getBucketIdBuilder() { onChanged(); return getBucketIdFieldBuilder().getBuilder(); } /** *
       * ``BucketId`` for which request the action is applied.
       * 
* * .envoy.service.rate_limit_quota.v3.BucketId bucket_id = 1 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.service.rate_limit_quota.v3.BucketIdOrBuilder getBucketIdOrBuilder() { if (bucketIdBuilder_ != null) { return bucketIdBuilder_.getMessageOrBuilder(); } else { return bucketId_ == null ? io.envoyproxy.envoy.service.rate_limit_quota.v3.BucketId.getDefaultInstance() : bucketId_; } } /** *
       * ``BucketId`` for which request the action is applied.
       * 
* * .envoy.service.rate_limit_quota.v3.BucketId bucket_id = 1 [(.validate.rules) = { ... } */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.service.rate_limit_quota.v3.BucketId, io.envoyproxy.envoy.service.rate_limit_quota.v3.BucketId.Builder, io.envoyproxy.envoy.service.rate_limit_quota.v3.BucketIdOrBuilder> getBucketIdFieldBuilder() { if (bucketIdBuilder_ == null) { bucketIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.service.rate_limit_quota.v3.BucketId, io.envoyproxy.envoy.service.rate_limit_quota.v3.BucketId.Builder, io.envoyproxy.envoy.service.rate_limit_quota.v3.BucketIdOrBuilder>( getBucketId(), getParentForChildren(), isClean()); bucketId_ = null; } return bucketIdBuilder_; } private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction, io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.Builder, io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentActionOrBuilder> quotaAssignmentActionBuilder_; /** *
       * Apply the quota assignment to the bucket.
       * Commands the data plane to apply a rate limiting strategy to the bucket.
       * The process of applying and expiring the rate limiting strategy is detailed in the
       * :ref:`QuotaAssignmentAction
       * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`
       * message.
       * 
* * .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction quota_assignment_action = 2; * @return Whether the quotaAssignmentAction field is set. */ @java.lang.Override public boolean hasQuotaAssignmentAction() { return bucketActionCase_ == 2; } /** *
       * Apply the quota assignment to the bucket.
       * Commands the data plane to apply a rate limiting strategy to the bucket.
       * The process of applying and expiring the rate limiting strategy is detailed in the
       * :ref:`QuotaAssignmentAction
       * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`
       * message.
       * 
* * .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction quota_assignment_action = 2; * @return The quotaAssignmentAction. */ @java.lang.Override public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction getQuotaAssignmentAction() { if (quotaAssignmentActionBuilder_ == null) { if (bucketActionCase_ == 2) { return (io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction) bucketAction_; } return io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.getDefaultInstance(); } else { if (bucketActionCase_ == 2) { return quotaAssignmentActionBuilder_.getMessage(); } return io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.getDefaultInstance(); } } /** *
       * Apply the quota assignment to the bucket.
       * Commands the data plane to apply a rate limiting strategy to the bucket.
       * The process of applying and expiring the rate limiting strategy is detailed in the
       * :ref:`QuotaAssignmentAction
       * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`
       * message.
       * 
* * .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction quota_assignment_action = 2; */ public Builder setQuotaAssignmentAction(io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction value) { if (quotaAssignmentActionBuilder_ == null) { if (value == null) { throw new NullPointerException(); } bucketAction_ = value; onChanged(); } else { quotaAssignmentActionBuilder_.setMessage(value); } bucketActionCase_ = 2; return this; } /** *
       * Apply the quota assignment to the bucket.
       * Commands the data plane to apply a rate limiting strategy to the bucket.
       * The process of applying and expiring the rate limiting strategy is detailed in the
       * :ref:`QuotaAssignmentAction
       * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`
       * message.
       * 
* * .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction quota_assignment_action = 2; */ public Builder setQuotaAssignmentAction( io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.Builder builderForValue) { if (quotaAssignmentActionBuilder_ == null) { bucketAction_ = builderForValue.build(); onChanged(); } else { quotaAssignmentActionBuilder_.setMessage(builderForValue.build()); } bucketActionCase_ = 2; return this; } /** *
       * Apply the quota assignment to the bucket.
       * Commands the data plane to apply a rate limiting strategy to the bucket.
       * The process of applying and expiring the rate limiting strategy is detailed in the
       * :ref:`QuotaAssignmentAction
       * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`
       * message.
       * 
* * .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction quota_assignment_action = 2; */ public Builder mergeQuotaAssignmentAction(io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction value) { if (quotaAssignmentActionBuilder_ == null) { if (bucketActionCase_ == 2 && bucketAction_ != io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.getDefaultInstance()) { bucketAction_ = io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.newBuilder((io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction) bucketAction_) .mergeFrom(value).buildPartial(); } else { bucketAction_ = value; } onChanged(); } else { if (bucketActionCase_ == 2) { quotaAssignmentActionBuilder_.mergeFrom(value); } else { quotaAssignmentActionBuilder_.setMessage(value); } } bucketActionCase_ = 2; return this; } /** *
       * Apply the quota assignment to the bucket.
       * Commands the data plane to apply a rate limiting strategy to the bucket.
       * The process of applying and expiring the rate limiting strategy is detailed in the
       * :ref:`QuotaAssignmentAction
       * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`
       * message.
       * 
* * .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction quota_assignment_action = 2; */ public Builder clearQuotaAssignmentAction() { if (quotaAssignmentActionBuilder_ == null) { if (bucketActionCase_ == 2) { bucketActionCase_ = 0; bucketAction_ = null; onChanged(); } } else { if (bucketActionCase_ == 2) { bucketActionCase_ = 0; bucketAction_ = null; } quotaAssignmentActionBuilder_.clear(); } return this; } /** *
       * Apply the quota assignment to the bucket.
       * Commands the data plane to apply a rate limiting strategy to the bucket.
       * The process of applying and expiring the rate limiting strategy is detailed in the
       * :ref:`QuotaAssignmentAction
       * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`
       * message.
       * 
* * .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction quota_assignment_action = 2; */ public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.Builder getQuotaAssignmentActionBuilder() { return getQuotaAssignmentActionFieldBuilder().getBuilder(); } /** *
       * Apply the quota assignment to the bucket.
       * Commands the data plane to apply a rate limiting strategy to the bucket.
       * The process of applying and expiring the rate limiting strategy is detailed in the
       * :ref:`QuotaAssignmentAction
       * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`
       * message.
       * 
* * .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction quota_assignment_action = 2; */ @java.lang.Override public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentActionOrBuilder getQuotaAssignmentActionOrBuilder() { if ((bucketActionCase_ == 2) && (quotaAssignmentActionBuilder_ != null)) { return quotaAssignmentActionBuilder_.getMessageOrBuilder(); } else { if (bucketActionCase_ == 2) { return (io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction) bucketAction_; } return io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.getDefaultInstance(); } } /** *
       * Apply the quota assignment to the bucket.
       * Commands the data plane to apply a rate limiting strategy to the bucket.
       * The process of applying and expiring the rate limiting strategy is detailed in the
       * :ref:`QuotaAssignmentAction
       * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction>`
       * message.
       * 
* * .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction quota_assignment_action = 2; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction, io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.Builder, io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentActionOrBuilder> getQuotaAssignmentActionFieldBuilder() { if (quotaAssignmentActionBuilder_ == null) { if (!(bucketActionCase_ == 2)) { bucketAction_ = io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.getDefaultInstance(); } quotaAssignmentActionBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction, io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction.Builder, io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentActionOrBuilder>( (io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.QuotaAssignmentAction) bucketAction_, getParentForChildren(), isClean()); bucketAction_ = null; } bucketActionCase_ = 2; onChanged();; return quotaAssignmentActionBuilder_; } private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction, io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction.Builder, io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonActionOrBuilder> abandonActionBuilder_; /** *
       * Abandon the bucket.
       * Commands the data plane to abandon the bucket.
       * The process of abandoning the bucket is described in the :ref:`AbandonAction
       * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
       * message.
       * 
* * .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction abandon_action = 3; * @return Whether the abandonAction field is set. */ @java.lang.Override public boolean hasAbandonAction() { return bucketActionCase_ == 3; } /** *
       * Abandon the bucket.
       * Commands the data plane to abandon the bucket.
       * The process of abandoning the bucket is described in the :ref:`AbandonAction
       * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
       * message.
       * 
* * .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction abandon_action = 3; * @return The abandonAction. */ @java.lang.Override public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction getAbandonAction() { if (abandonActionBuilder_ == null) { if (bucketActionCase_ == 3) { return (io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction) bucketAction_; } return io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction.getDefaultInstance(); } else { if (bucketActionCase_ == 3) { return abandonActionBuilder_.getMessage(); } return io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction.getDefaultInstance(); } } /** *
       * Abandon the bucket.
       * Commands the data plane to abandon the bucket.
       * The process of abandoning the bucket is described in the :ref:`AbandonAction
       * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
       * message.
       * 
* * .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction abandon_action = 3; */ public Builder setAbandonAction(io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction value) { if (abandonActionBuilder_ == null) { if (value == null) { throw new NullPointerException(); } bucketAction_ = value; onChanged(); } else { abandonActionBuilder_.setMessage(value); } bucketActionCase_ = 3; return this; } /** *
       * Abandon the bucket.
       * Commands the data plane to abandon the bucket.
       * The process of abandoning the bucket is described in the :ref:`AbandonAction
       * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
       * message.
       * 
* * .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction abandon_action = 3; */ public Builder setAbandonAction( io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction.Builder builderForValue) { if (abandonActionBuilder_ == null) { bucketAction_ = builderForValue.build(); onChanged(); } else { abandonActionBuilder_.setMessage(builderForValue.build()); } bucketActionCase_ = 3; return this; } /** *
       * Abandon the bucket.
       * Commands the data plane to abandon the bucket.
       * The process of abandoning the bucket is described in the :ref:`AbandonAction
       * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
       * message.
       * 
* * .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction abandon_action = 3; */ public Builder mergeAbandonAction(io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction value) { if (abandonActionBuilder_ == null) { if (bucketActionCase_ == 3 && bucketAction_ != io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction.getDefaultInstance()) { bucketAction_ = io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction.newBuilder((io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction) bucketAction_) .mergeFrom(value).buildPartial(); } else { bucketAction_ = value; } onChanged(); } else { if (bucketActionCase_ == 3) { abandonActionBuilder_.mergeFrom(value); } else { abandonActionBuilder_.setMessage(value); } } bucketActionCase_ = 3; return this; } /** *
       * Abandon the bucket.
       * Commands the data plane to abandon the bucket.
       * The process of abandoning the bucket is described in the :ref:`AbandonAction
       * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
       * message.
       * 
* * .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction abandon_action = 3; */ public Builder clearAbandonAction() { if (abandonActionBuilder_ == null) { if (bucketActionCase_ == 3) { bucketActionCase_ = 0; bucketAction_ = null; onChanged(); } } else { if (bucketActionCase_ == 3) { bucketActionCase_ = 0; bucketAction_ = null; } abandonActionBuilder_.clear(); } return this; } /** *
       * Abandon the bucket.
       * Commands the data plane to abandon the bucket.
       * The process of abandoning the bucket is described in the :ref:`AbandonAction
       * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
       * message.
       * 
* * .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction abandon_action = 3; */ public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction.Builder getAbandonActionBuilder() { return getAbandonActionFieldBuilder().getBuilder(); } /** *
       * Abandon the bucket.
       * Commands the data plane to abandon the bucket.
       * The process of abandoning the bucket is described in the :ref:`AbandonAction
       * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
       * message.
       * 
* * .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction abandon_action = 3; */ @java.lang.Override public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonActionOrBuilder getAbandonActionOrBuilder() { if ((bucketActionCase_ == 3) && (abandonActionBuilder_ != null)) { return abandonActionBuilder_.getMessageOrBuilder(); } else { if (bucketActionCase_ == 3) { return (io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction) bucketAction_; } return io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction.getDefaultInstance(); } } /** *
       * Abandon the bucket.
       * Commands the data plane to abandon the bucket.
       * The process of abandoning the bucket is described in the :ref:`AbandonAction
       * <envoy_v3_api_msg_service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction>`
       * message.
       * 
* * .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction abandon_action = 3; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction, io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction.Builder, io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonActionOrBuilder> getAbandonActionFieldBuilder() { if (abandonActionBuilder_ == null) { if (!(bucketActionCase_ == 3)) { bucketAction_ = io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction.getDefaultInstance(); } abandonActionBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction, io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction.Builder, io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonActionOrBuilder>( (io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.AbandonAction) bucketAction_, getParentForChildren(), isClean()); bucketAction_ = null; } bucketActionCase_ = 3; onChanged();; return abandonActionBuilder_; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction) } // @@protoc_insertion_point(class_scope:envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction) private static final io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction(); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public BucketAction parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new BucketAction(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public static final int BUCKET_ACTION_FIELD_NUMBER = 1; private java.util.List bucketAction_; /** *
   * An ordered list of actions to be applied to the buckets. The actions are applied in the
   * given order, from top to bottom.
   * 
* * repeated .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction bucket_action = 1 [(.validate.rules) = { ... } */ @java.lang.Override public java.util.List getBucketActionList() { return bucketAction_; } /** *
   * An ordered list of actions to be applied to the buckets. The actions are applied in the
   * given order, from top to bottom.
   * 
* * repeated .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction bucket_action = 1 [(.validate.rules) = { ... } */ @java.lang.Override public java.util.List getBucketActionOrBuilderList() { return bucketAction_; } /** *
   * An ordered list of actions to be applied to the buckets. The actions are applied in the
   * given order, from top to bottom.
   * 
* * repeated .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction bucket_action = 1 [(.validate.rules) = { ... } */ @java.lang.Override public int getBucketActionCount() { return bucketAction_.size(); } /** *
   * An ordered list of actions to be applied to the buckets. The actions are applied in the
   * given order, from top to bottom.
   * 
* * repeated .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction bucket_action = 1 [(.validate.rules) = { ... } */ @java.lang.Override public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction getBucketAction(int index) { return bucketAction_.get(index); } /** *
   * An ordered list of actions to be applied to the buckets. The actions are applied in the
   * given order, from top to bottom.
   * 
* * repeated .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction bucket_action = 1 [(.validate.rules) = { ... } */ @java.lang.Override public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketActionOrBuilder getBucketActionOrBuilder( int index) { return bucketAction_.get(index); } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { for (int i = 0; i < bucketAction_.size(); i++) { output.writeMessage(1, bucketAction_.get(i)); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; for (int i = 0; i < bucketAction_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(1, bucketAction_.get(i)); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse)) { return super.equals(obj); } io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse other = (io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse) obj; if (!getBucketActionList() .equals(other.getBucketActionList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (getBucketActionCount() > 0) { hash = (37 * hash) + BUCKET_ACTION_FIELD_NUMBER; hash = (53 * hash) + getBucketActionList().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** * Protobuf type {@code envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse) io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponseOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return io.envoyproxy.envoy.service.rate_limit_quota.v3.RlqsProto.internal_static_envoy_service_rate_limit_quota_v3_RateLimitQuotaResponse_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return io.envoyproxy.envoy.service.rate_limit_quota.v3.RlqsProto.internal_static_envoy_service_rate_limit_quota_v3_RateLimitQuotaResponse_fieldAccessorTable .ensureFieldAccessorsInitialized( io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.class, io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.Builder.class); } // Construct using io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { getBucketActionFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); if (bucketActionBuilder_ == null) { bucketAction_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); } else { bucketActionBuilder_.clear(); } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return io.envoyproxy.envoy.service.rate_limit_quota.v3.RlqsProto.internal_static_envoy_service_rate_limit_quota_v3_RateLimitQuotaResponse_descriptor; } @java.lang.Override public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse getDefaultInstanceForType() { return io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.getDefaultInstance(); } @java.lang.Override public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse build() { io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse buildPartial() { io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse result = new io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse(this); int from_bitField0_ = bitField0_; if (bucketActionBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0)) { bucketAction_ = java.util.Collections.unmodifiableList(bucketAction_); bitField0_ = (bitField0_ & ~0x00000001); } result.bucketAction_ = bucketAction_; } else { result.bucketAction_ = bucketActionBuilder_.build(); } onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse) { return mergeFrom((io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse other) { if (other == io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.getDefaultInstance()) return this; if (bucketActionBuilder_ == null) { if (!other.bucketAction_.isEmpty()) { if (bucketAction_.isEmpty()) { bucketAction_ = other.bucketAction_; bitField0_ = (bitField0_ & ~0x00000001); } else { ensureBucketActionIsMutable(); bucketAction_.addAll(other.bucketAction_); } onChanged(); } } else { if (!other.bucketAction_.isEmpty()) { if (bucketActionBuilder_.isEmpty()) { bucketActionBuilder_.dispose(); bucketActionBuilder_ = null; bucketAction_ = other.bucketAction_; bitField0_ = (bitField0_ & ~0x00000001); bucketActionBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getBucketActionFieldBuilder() : null; } else { bucketActionBuilder_.addAllMessages(other.bucketAction_); } } } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private int bitField0_; private java.util.List bucketAction_ = java.util.Collections.emptyList(); private void ensureBucketActionIsMutable() { if (!((bitField0_ & 0x00000001) != 0)) { bucketAction_ = new java.util.ArrayList(bucketAction_); bitField0_ |= 0x00000001; } } private com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction, io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.Builder, io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketActionOrBuilder> bucketActionBuilder_; /** *
     * An ordered list of actions to be applied to the buckets. The actions are applied in the
     * given order, from top to bottom.
     * 
* * repeated .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction bucket_action = 1 [(.validate.rules) = { ... } */ public java.util.List getBucketActionList() { if (bucketActionBuilder_ == null) { return java.util.Collections.unmodifiableList(bucketAction_); } else { return bucketActionBuilder_.getMessageList(); } } /** *
     * An ordered list of actions to be applied to the buckets. The actions are applied in the
     * given order, from top to bottom.
     * 
* * repeated .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction bucket_action = 1 [(.validate.rules) = { ... } */ public int getBucketActionCount() { if (bucketActionBuilder_ == null) { return bucketAction_.size(); } else { return bucketActionBuilder_.getCount(); } } /** *
     * An ordered list of actions to be applied to the buckets. The actions are applied in the
     * given order, from top to bottom.
     * 
* * repeated .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction bucket_action = 1 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction getBucketAction(int index) { if (bucketActionBuilder_ == null) { return bucketAction_.get(index); } else { return bucketActionBuilder_.getMessage(index); } } /** *
     * An ordered list of actions to be applied to the buckets. The actions are applied in the
     * given order, from top to bottom.
     * 
* * repeated .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction bucket_action = 1 [(.validate.rules) = { ... } */ public Builder setBucketAction( int index, io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction value) { if (bucketActionBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureBucketActionIsMutable(); bucketAction_.set(index, value); onChanged(); } else { bucketActionBuilder_.setMessage(index, value); } return this; } /** *
     * An ordered list of actions to be applied to the buckets. The actions are applied in the
     * given order, from top to bottom.
     * 
* * repeated .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction bucket_action = 1 [(.validate.rules) = { ... } */ public Builder setBucketAction( int index, io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.Builder builderForValue) { if (bucketActionBuilder_ == null) { ensureBucketActionIsMutable(); bucketAction_.set(index, builderForValue.build()); onChanged(); } else { bucketActionBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
     * An ordered list of actions to be applied to the buckets. The actions are applied in the
     * given order, from top to bottom.
     * 
* * repeated .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction bucket_action = 1 [(.validate.rules) = { ... } */ public Builder addBucketAction(io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction value) { if (bucketActionBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureBucketActionIsMutable(); bucketAction_.add(value); onChanged(); } else { bucketActionBuilder_.addMessage(value); } return this; } /** *
     * An ordered list of actions to be applied to the buckets. The actions are applied in the
     * given order, from top to bottom.
     * 
* * repeated .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction bucket_action = 1 [(.validate.rules) = { ... } */ public Builder addBucketAction( int index, io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction value) { if (bucketActionBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureBucketActionIsMutable(); bucketAction_.add(index, value); onChanged(); } else { bucketActionBuilder_.addMessage(index, value); } return this; } /** *
     * An ordered list of actions to be applied to the buckets. The actions are applied in the
     * given order, from top to bottom.
     * 
* * repeated .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction bucket_action = 1 [(.validate.rules) = { ... } */ public Builder addBucketAction( io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.Builder builderForValue) { if (bucketActionBuilder_ == null) { ensureBucketActionIsMutable(); bucketAction_.add(builderForValue.build()); onChanged(); } else { bucketActionBuilder_.addMessage(builderForValue.build()); } return this; } /** *
     * An ordered list of actions to be applied to the buckets. The actions are applied in the
     * given order, from top to bottom.
     * 
* * repeated .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction bucket_action = 1 [(.validate.rules) = { ... } */ public Builder addBucketAction( int index, io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.Builder builderForValue) { if (bucketActionBuilder_ == null) { ensureBucketActionIsMutable(); bucketAction_.add(index, builderForValue.build()); onChanged(); } else { bucketActionBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
     * An ordered list of actions to be applied to the buckets. The actions are applied in the
     * given order, from top to bottom.
     * 
* * repeated .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction bucket_action = 1 [(.validate.rules) = { ... } */ public Builder addAllBucketAction( java.lang.Iterable values) { if (bucketActionBuilder_ == null) { ensureBucketActionIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, bucketAction_); onChanged(); } else { bucketActionBuilder_.addAllMessages(values); } return this; } /** *
     * An ordered list of actions to be applied to the buckets. The actions are applied in the
     * given order, from top to bottom.
     * 
* * repeated .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction bucket_action = 1 [(.validate.rules) = { ... } */ public Builder clearBucketAction() { if (bucketActionBuilder_ == null) { bucketAction_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); } else { bucketActionBuilder_.clear(); } return this; } /** *
     * An ordered list of actions to be applied to the buckets. The actions are applied in the
     * given order, from top to bottom.
     * 
* * repeated .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction bucket_action = 1 [(.validate.rules) = { ... } */ public Builder removeBucketAction(int index) { if (bucketActionBuilder_ == null) { ensureBucketActionIsMutable(); bucketAction_.remove(index); onChanged(); } else { bucketActionBuilder_.remove(index); } return this; } /** *
     * An ordered list of actions to be applied to the buckets. The actions are applied in the
     * given order, from top to bottom.
     * 
* * repeated .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction bucket_action = 1 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.Builder getBucketActionBuilder( int index) { return getBucketActionFieldBuilder().getBuilder(index); } /** *
     * An ordered list of actions to be applied to the buckets. The actions are applied in the
     * given order, from top to bottom.
     * 
* * repeated .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction bucket_action = 1 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketActionOrBuilder getBucketActionOrBuilder( int index) { if (bucketActionBuilder_ == null) { return bucketAction_.get(index); } else { return bucketActionBuilder_.getMessageOrBuilder(index); } } /** *
     * An ordered list of actions to be applied to the buckets. The actions are applied in the
     * given order, from top to bottom.
     * 
* * repeated .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction bucket_action = 1 [(.validate.rules) = { ... } */ public java.util.List getBucketActionOrBuilderList() { if (bucketActionBuilder_ != null) { return bucketActionBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(bucketAction_); } } /** *
     * An ordered list of actions to be applied to the buckets. The actions are applied in the
     * given order, from top to bottom.
     * 
* * repeated .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction bucket_action = 1 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.Builder addBucketActionBuilder() { return getBucketActionFieldBuilder().addBuilder( io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.getDefaultInstance()); } /** *
     * An ordered list of actions to be applied to the buckets. The actions are applied in the
     * given order, from top to bottom.
     * 
* * repeated .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction bucket_action = 1 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.Builder addBucketActionBuilder( int index) { return getBucketActionFieldBuilder().addBuilder( index, io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.getDefaultInstance()); } /** *
     * An ordered list of actions to be applied to the buckets. The actions are applied in the
     * given order, from top to bottom.
     * 
* * repeated .envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction bucket_action = 1 [(.validate.rules) = { ... } */ public java.util.List getBucketActionBuilderList() { return getBucketActionFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction, io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.Builder, io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketActionOrBuilder> getBucketActionFieldBuilder() { if (bucketActionBuilder_ == null) { bucketActionBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction, io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketAction.Builder, io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse.BucketActionOrBuilder>( bucketAction_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); bucketAction_ = null; } return bucketActionBuilder_; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse) } // @@protoc_insertion_point(class_scope:envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse) private static final io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse(); } public static io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public RateLimitQuotaResponse parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new RateLimitQuotaResponse(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public io.envoyproxy.envoy.service.rate_limit_quota.v3.RateLimitQuotaResponse getDefaultInstanceForType() { return DEFAULT_INSTANCE; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy